diff options
author | Tejun Heo <htejun@gmail.com> | 2007-12-18 02:33:06 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-01-23 05:24:12 -0500 |
commit | 021ee9a6da1cfc57f6a6c769c3c898bdd4753108 (patch) | |
tree | bb8c0246ded5a1d99320055343c7d277208fadd8 /drivers/ata/pata_via.c | |
parent | a0f79b929acaba10d4780acd2543eff20bf4b5b0 (diff) |
libata: reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask()
Reimplement ata_acpi_cbl_80wire() using ata_acpi_gtm_xfermask() and
while at it relocate the function below ata_acpi_gtm_xfermask().
New ata_acpi_cbl_80wire() implementation takes @gtm, in both pata_via
and pata_amd, use the initial GTM value. Both are trying to peek
initial BIOS configuration, so using initial caching value makes
sense. This fixes ACPI part of cable detection in pata_amd which
previously always returned 0 because configuring PIO0 during reset
clears DMA configuration.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata/pata_via.c')
-rw-r--r-- | drivers/ata/pata_via.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c index 453d72bf2598..39627ab684bf 100644 --- a/drivers/ata/pata_via.c +++ b/drivers/ata/pata_via.c | |||
@@ -185,7 +185,8 @@ static int via_cable_detect(struct ata_port *ap) { | |||
185 | if (ata66 & (0x10100000 >> (16 * ap->port_no))) | 185 | if (ata66 & (0x10100000 >> (16 * ap->port_no))) |
186 | return ATA_CBL_PATA80; | 186 | return ATA_CBL_PATA80; |
187 | /* Check with ACPI so we can spot BIOS reported SATA bridges */ | 187 | /* Check with ACPI so we can spot BIOS reported SATA bridges */ |
188 | if (ata_acpi_cbl_80wire(ap)) | 188 | if (ata_acpi_init_gtm(ap) && |
189 | ata_acpi_cbl_80wire(ap, ata_acpi_init_gtm(ap))) | ||
189 | return ATA_CBL_PATA80; | 190 | return ATA_CBL_PATA80; |
190 | return ATA_CBL_PATA40; | 191 | return ATA_CBL_PATA40; |
191 | } | 192 | } |