The new resource allocator helped me find a bug in SB600 diagnostics.
The SB600 SATA code printed that two BARs had the same address because it didn't mask the correct number of bits in the BAR. Functionality was not affected, but the debug output was incorrect. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Zheng Bao <zheng.bao@amd.com> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4591 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
parent
0d0ede5f13
commit
5a5b8f5ba9
|
@ -86,10 +86,10 @@ static void sata_init(struct device *dev)
|
|||
/* get base addresss */
|
||||
sata_bar5 = (u8 *) (pci_read_config32(dev, 0x24) & ~0x3FF);
|
||||
sata_bar0 = pci_read_config16(dev, 0x10) & ~0x7;
|
||||
sata_bar1 = pci_read_config16(dev, 0x14) & ~0x7;
|
||||
sata_bar1 = pci_read_config16(dev, 0x14) & ~0x3;
|
||||
sata_bar2 = pci_read_config16(dev, 0x18) & ~0x7;
|
||||
sata_bar3 = pci_read_config16(dev, 0x1C) & ~0x7;
|
||||
sata_bar4 = pci_read_config16(dev, 0x20) & ~0x7;
|
||||
sata_bar3 = pci_read_config16(dev, 0x1C) & ~0x3;
|
||||
sata_bar4 = pci_read_config16(dev, 0x20) & ~0xf;
|
||||
|
||||
printk_spew("sata_bar0=%x\n", sata_bar0); /* 3030 */
|
||||
printk_spew("sata_bar1=%x\n", sata_bar1); /* 3070 */
|
||||
|
|
Loading…
Reference in New Issue