[coreboot] [commit] r5805 - in trunk/src: devices southbridge/amd/sb700

repository service svn at coreboot.org
Mon Sep 13 16:43:02 CEST 2010


Author: myles
Date: Mon Sep 13 16:43:02 2010
New Revision: 5805
URL: https://tracker.coreboot.org/trac/coreboot/changeset/5805

Log:
Print an error and correct pci scan limits.  Skip sb700 ISA DMA init if needed.

Signed-off-by: Juhana Helovuo <juhe at iki.fi>
Acked-by: Myles Watson <mylesgw at gmail.com>

Modified:
   trunk/src/devices/pci_device.c
   trunk/src/southbridge/amd/sb700/Kconfig
   trunk/src/southbridge/amd/sb700/sb700_lpc.c

Modified: trunk/src/devices/pci_device.c
==============================================================================
--- trunk/src/devices/pci_device.c	Mon Sep 13 15:23:20 2010	(r5804)
+++ trunk/src/devices/pci_device.c	Mon Sep 13 16:43:02 2010	(r5805)
@@ -1019,6 +1019,14 @@
 	printk(BIOS_DEBUG, "PCI: pci_scan_bus for bus %02x\n", bus->secondary);
 #endif
 
+	// Maximum sane devfn is 0xFF
+	if (max_devfn > 0xff) {
+		printk(BIOS_ERR, "PCI: pci_scan_bus limits devfn %x - devfn %x\n",
+			   min_devfn, max_devfn );
+		printk(BIOS_ERR, "PCI: pci_scan_bus upper limit too big. Using 0xff.\n");
+		max_devfn=0xff;
+	}
+
 	old_devices = bus->children;
 	bus->children = NULL;
 

Modified: trunk/src/southbridge/amd/sb700/Kconfig
==============================================================================
--- trunk/src/southbridge/amd/sb700/Kconfig	Mon Sep 13 15:23:20 2010	(r5804)
+++ trunk/src/southbridge/amd/sb700/Kconfig	Mon Sep 13 16:43:02 2010	(r5805)
@@ -20,3 +20,9 @@
 config SOUTHBRIDGE_AMD_SB700
 	bool
 	select IOAPIC
+
+config SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT
+	bool
+	default n
+	depends on SOUTHBRIDGE_AMD_SB700
+

Modified: trunk/src/southbridge/amd/sb700/sb700_lpc.c
==============================================================================
--- trunk/src/southbridge/amd/sb700/sb700_lpc.c	Mon Sep 13 15:23:20 2010	(r5804)
+++ trunk/src/southbridge/amd/sb700/sb700_lpc.c	Mon Sep 13 16:43:02 2010	(r5805)
@@ -42,7 +42,11 @@
 	pci_write_config32(sm_dev, 0x64, dword);
 
 	/* Initialize isa dma */
+#if CONFIG_SOUTHBRIDGE_AMD_SB700_SKIP_ISA_DMA_INIT
+	printk(BIOS_DEBUG, "Skipping isa_dma_init() to avoid getting stuck.\n");
+#else
 	isa_dma_init();
+#endif
 
 	/* Enable DMA transaction on the LPC bus */
 	byte = pci_read_config8(dev, 0x40);




More information about the coreboot mailing list