I found one line which wasn't were it should be. Probably this will not 
fix Your problem with powersave governor, but it is a bit related. 
Looks like Longhaul isn't skipping frequency transtition when it is asked 
to set f which is already set. Now after first transition it will not 
try to set same frequency again. Second part contains some magic 
because I don't have CN400 datasheet. It is NDA protected :-( Should 
print You one byte in hex and will try to set one register. I don't 
know if anything will change but it is worth testing.

Fingers crossed
Rafał

---
 arch/i386/kernel/cpu/cpufreq/longhaul.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c 
b/arch/i386/kernel/cpu/cpufreq/longhaul.c
index 2b030d6..5548e5b 100644
--- a/arch/i386/kernel/cpu/cpufreq/longhaul.c
+++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c
@@ -88,6 +88,7 @@ static int clock_ratio[32];
 static int eblcr_table[32];
 static int longhaul_version;
 static struct cpufreq_frequency_table *longhaul_table;
+static unsigned int old_ratio = -1;
 
 #ifdef CONFIG_CPU_FREQ_DEBUG
 static char speedbuffer[8];
@@ -252,7 +253,6 @@ static void longhaul_setstate(unsigned int 
clock_ratio_index)
 {
        int speed, mult;
        struct cpufreq_freqs freqs;
-       static unsigned int old_ratio=-1;
        unsigned long flags;
        unsigned int pic1_mask, pic2_mask;
 
@@ -603,7 +603,12 @@ static int enable_arbiter_disable(void)
                /* Find CN400 V-Link host bridge */
                if (dev == NULL)
                        dev = pci_find_device(PCI_VENDOR_ID_VIA, 0x7259, NULL);
-
+               if (dev != NULL) {
+                       pci_read_config_byte(dev, 0x47, &pci_cmd);
+                       printk(KERN_INFO PFX "%#02x\n", pci_cmd);
+                       pci_cmd |= 0xf;
+                       pci_write_config_byte(dev, 0x47, pci_cmd);
+               }
        }
        if (dev != NULL) {
                /* Enable access to port 0x22 */
-- 



----------------------------------------------------------------------
Po meczu.....kurde...:)
>>> http://link.interia.pl/f1a72

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to