simplify IDE cable detection for Asus M2V
authorFlorian Zumbiehl <florz@florz.de>
Tue, 1 Nov 2011 19:17:13 +0000 (20:17 +0100)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Wed, 2 Nov 2011 15:50:04 +0000 (16:50 +0100)
Change-Id: If8e4dcf405e24b744ac34f581c5609fcce96fd07
Signed-off-by: Florian Zumbiehl <florz@florz.de>
Reviewed-on: http://review.coreboot.org/371
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
src/mainboard/asus/m2v/mainboard.c

index 76d3cf6c7a1a7520a3089dd6b0ef721a96a9c53b..2f20fe0bed889cf208ec868df0fc685b8519a818 100644 (file)
@@ -37,10 +37,9 @@ u32 vt8237_ide_80pin_detect(struct device *dev)
        if (!lpc_dev)
                return 0;
 
-       acpi_io_base = pci_read_config16(lpc_dev, 0x88);
-       if (!acpi_io_base || (acpi_io_base & ~1) == 0)
+       acpi_io_base = pci_read_config16(lpc_dev, 0x88) & ~1;
+       if (!acpi_io_base)
                return 0;
-       acpi_io_base &= ~1;
 
        gpio_in = inl(acpi_io_base + 0x48);
        /* bit 9 for primary port, clear if unconnected or 80-pin cable */
@@ -49,9 +48,9 @@ u32 vt8237_ide_80pin_detect(struct device *dev)
        res |= gpio_in & (1<<4) ? 0 : VT8237R_IDE1_80PIN_CABLE;
 
        printk(BIOS_INFO, "Cable on %s PATA port: %d pin\n", "primary",
-               gpio_in & (1<<9) ? 40 : 80);
+               res & VT8237R_IDE0_80PIN_CABLE ? 80 : 40);
        printk(BIOS_INFO, "Cable on %s PATA port: %d pin\n", "secondary",
-               gpio_in & (1<<4) ? 40 : 80);
+               res & VT8237R_IDE1_80PIN_CABLE ? 80 : 40);
 
        return res;
 }