On 14.02.2008 23:32, ron minnich wrote:
> On Thu, Feb 14, 2008 at 2:32 PM, Carl-Daniel Hailfinger
>   
>>  Indeed. That would solve the problem very nicely without putting hacks
>>  into the dts.
>>
>>     
>
> OK, so we put nodes under the 5536, and specify 'disabled', and the
> 5536 code knows to actually call VSA when it sees that they are
> disabled. This is nice. It would use the device tree in a sensible
> way.
>   

Factor out Geode LX VPCI device disabling into a separate function which
consumes one device at a time. This helps avoid array handling in the
dts and allows us to use generic disabling infrastructure.

Signed-off-by: Carl-Daniel Hailfinger <[EMAIL PROTECTED]>

Index: LinuxBIOSv3-unwantedvpci/southbridge/amd/cs5536/cs5536.c
===================================================================
--- LinuxBIOSv3-unwantedvpci/southbridge/amd/cs5536/cs5536.c    (Revision 599)
+++ LinuxBIOSv3-unwantedvpci/southbridge/amd/cs5536/cs5536.c    (Arbeitskopie)
@@ -570,6 +570,14 @@
 }
 
 
+static void disable_vpci(u32 vpci)
+{
+       /* Disable unwanted virtual PCI device. */
+       printk(BIOS_DEBUG, "Disabling VPCI device: 0x%08X\n", vpci);
+       outl(vpci + 0x7C, 0xCF8);
+       outl(0xDEADBEEF, 0xCFC);
+}
+
 /**
  * TODO.
  *
@@ -608,16 +616,6 @@
        if (sb->enable_ide)
                ide_init(dev);
 
-#warning Add back in unwanted VPCI support
-#if 0
-       /* Disable unwanted virtual PCI devices. */
-       for (i = 0; (i < MAX_UNWANTED_VPCI) && (0 != sb->unwanted_vpci[i]); 
i++) {
-               printk(BIOS_DEBUG, "Disabling VPCI device: 0x%08X\n",
-                      sb->unwanted_vpci[i]);
-               outl(sb->unwanted_vpci[i] + 0x7C, 0xCF8);
-               outl(0xDEADBEEF, 0xCFC);
-       }
-#endif
        printk(BIOS_SPEW, "cs5536: %s() Exit\n", __FUNCTION__);
 }
 


-- 
http://www.hailfinger.org/


-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to