[coreboot] [PATCH] v3: Geode VPCI disabling

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Thu Feb 14 23:55:52 CET 2008


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 <c-d.hailfinger.devel.2006 at gmx.net>

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/





More information about the coreboot mailing list