]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[CPUFREQ] Longhaul - Proper register access
authorRafał Bilski <rafalbilski@interia.pl>
Thu, 7 Jun 2007 20:31:24 +0000 (22:31 +0200)
committerDave Jones <davej@redhat.com>
Thu, 21 Jun 2007 16:57:53 +0000 (12:57 -0400)
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.

Signed-off-by: Rafal Bilski <rafalbilski@interia.pl>
Signed-off-by: Dave Jones <davej@redhat.com>
arch/i386/kernel/cpu/cpufreq/longhaul.c

index 2841735e3febfbb4467290a1b57c9191bfe39d79..8eca59d4c8f4c7a937b9d27694c0e413401072d5 100644 (file)
@@ -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;
                }
        }