[coreboot] [commit] r5581 - trunk/src/southbridge/amd/cs5536

Myles Watson mylesgw at gmail.com
Mon May 24 15:25:32 CEST 2010



> -----Original Message-----
> From: coreboot-bounces at coreboot.org [mailto:coreboot-bounces at coreboot.org]
> On Behalf Of repository service
> Sent: Saturday, May 22, 2010 10:51 PM
> To: coreboot at coreboot.org
> Subject: [coreboot] [commit] r5581 - trunk/src/southbridge/amd/cs5536
> 
> Author: stuge
> Date: Sun May 23 06:50:41 2010
> New Revision: 5581
> URL: https://tracker.coreboot.org/trac/coreboot/changeset/5581
> 
> Log:
> Fix bug from r5476 re CS5536 device search during GeodeLX PCI domain
> enable
> 
> cs5536.c:chipsetinit() is called during northbridge pci_domain_enable()
> which happens before scan_bus() so the device tree does not have PCI
> vendor/device ids yet. Let's use dev_find_slot() for now. This works
> only as long as the CS5536 has PCI device id 0xf in all mainboards,
> and a better solution is needed in case that ever changes!

It seems like you could check the device ID of 0xf once you get it, so that
someone with a board like that would know why it's failing.

> -	dev = dev_find_device(PCI_VENDOR_ID_AMD,
> -			PCI_DEVICE_ID_AMD_CS5536_ISA, 0);
> +	dev = dev_find_slot(0, PCI_DEVFN(0xf, 0));
	if (pci_read_32(PCI_DEV(0,0xf,0), PCI_VENDOR_ID !=
	    ((PCI_DEVICE_ID_AMD_CS5536_ISA << 16) |
	     (PCI_VENDOR_ID_AMD))) {
  		printk(BIOS_ERR, "CS5536 not at 0xf.\n");
...

Thanks,
Myles





More information about the coreboot mailing list