Skip to contentSkip to conversation

Longhaul - Proper register access

PATCH New Rafał Bilski 1 participant 1 message Jun 7, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Longhaul - Proper register access

In previous commit I used u32 for u16 register. This code will work only when ACPI block address is set. For now it is only for VT8235 and VT8237.

---
 arch/i386/kernel/cpu/cpufreq/longhaul.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
arch/i386/kernel/cpu/cpufreq/longhaul.c +6 -6
index 2841735..8eca59d 100644
@@ -247,7 +247,7 @@ static void longhaul_setstate(unsigned int table_index)
 	struct cpufreq_freqs freqs;
 	unsigned long flags;
 	unsigned int pic1_mask, pic2_mask;
-	u32 bm_status = 0;
+	u16 bm_status = 0;
 	u32 bm_timeout = 1000;
 	unsigned int dir = 0;
 
@@ -281,14 +281,14 @@ static void longhaul_setstate(unsigned int table_index)
 	outb(0xFE,0x21);	/* TMR0 only */
 
 	/* Wait while PCI bus is busy. */
-	if (longhaul_flags & USE_NORTHBRIDGE
-	    || ((pr != NULL) && pr->flags.bm_control)) {
-		bm_status = inl(acpi_regs_addr);
+	if (acpi_regs_addr && (longhaul_flags & USE_NORTHBRIDGE
+	    || ((pr != NULL) && pr->flags.bm_control))) {
+		bm_status = inw(acpi_regs_addr);
 		bm_status &= 1 << 4;
 		while (bm_status && bm_timeout) {
-			outl(1 << 4, acpi_regs_addr);
+			outw(1 << 4, acpi_regs_addr);
 			bm_timeout--;
-			bm_status = inl(acpi_regs_addr);
+			bm_status = inw(acpi_regs_addr);
 			bm_status &= 1 << 4;
 		}
 	}
Signature · 2 lines
----------------------------------------------------------------------
Kasia Cichopek eksponuje biust  
Quoted 1 line
Quoted 1 line
Quoted 1 line

http://link.interia.pl/f1a6f