summaryrefslogtreecommitdiffstats
path: root/drivers/ata/pata_amd.c
diff options
context:
space:
mode:
authorAlan Cox2007-07-26 19:37:28 +0200
committerJeff Garzik2007-10-12 20:55:34 +0200
commite708eb9bc0515f36d77477877e74b6b9056b5879 (patch)
tree04fddbab3eb45a5067d6c4ae603b9a6841236d52 /drivers/ata/pata_amd.c
parent[libata] add ACPI cable detect API (diff)
downloadkernel-qcow2-linux-e708eb9bc0515f36d77477877e74b6b9056b5879.tar.gz
kernel-qcow2-linux-e708eb9bc0515f36d77477877e74b6b9056b5879.tar.xz
kernel-qcow2-linux-e708eb9bc0515f36d77477877e74b6b9056b5879.zip
libata pata_amd: ACPI checks for 80wire cable
We can make use of this on the pata_amd driver as many Nvidia devices don't have reliable cable detect. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/pata_amd.c')
-rw-r--r--drivers/ata/pata_amd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c
index 46f829c838b3..c95922f8cc5e 100644
--- a/drivers/ata/pata_amd.c
+++ b/drivers/ata/pata_amd.c
@@ -270,6 +270,9 @@ static int nv_cable_detect(struct ata_port *ap)
pci_read_config_word(pdev, 0x62 - 2 * ap->port_no, &udma);
if ((udma & 0xC4) == 0xC4 || (udma & 0xC400) == 0xC400)
cbl = ATA_CBL_PATA80;
+ /* And a triple check across suspend/resume with ACPI around */
+ if (ata_acpi_cbl_80wire(ap))
+ cbl = ATA_CBL_PATA80;
return cbl;
}