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 <[email protected]>
Acked-by: Uwe Hermann <[email protected]>

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

-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to