Author: ruik Date: Sun Oct 10 21:55:32 2010 New Revision: 5932 URL: https://tracker.coreboot.org/trac/coreboot/changeset/5932
Log: Following patch fixes the boot_switch_sata_ide logic. It can swap primary / secondary IDE channel with SATA (in IDE mode).
The bug was that setup was done in wrong device.
Signed-off-by: Rudolf Marek r.marek@assembler.cz Acked-by: Uwe Hermann uwe@hermann-uwe.de
Modified: trunk/src/southbridge/amd/sb700/sb700_ide.c
Modified: trunk/src/southbridge/amd/sb700/sb700_ide.c ============================================================================== --- trunk/src/southbridge/amd/sb700/sb700_ide.c Sun Oct 10 21:54:15 2010 (r5931) +++ trunk/src/southbridge/amd/sb700/sb700_ide.c Sun Oct 10 21:55:32 2010 (r5932) @@ -51,10 +51,13 @@
/* set ide as primary, if you want to boot from IDE, you'd better set it * in $vendor/$mainboard/devicetree.cb */ + + if (conf->boot_switch_sata_ide == 1) { - byte = pci_read_config8(dev, 0xAD); + struct device *sm_dev = dev_find_slot(0, PCI_DEVFN(0x14, 0)); + byte = pci_read_config8(sm_dev, 0xAD); byte |= 1 << 4; - pci_write_config8(dev, 0xAD, byte); + pci_write_config8(sm_dev, 0xAD, byte); }
#if CONFIG_PCI_ROM_RUN == 1