pata_amd: update mode selection for NV PATAs
authorTejun Heo <htejun@gmail.com>
Tue, 18 Dec 2007 07:33:07 +0000 (16:33 +0900)
committerJeff Garzik <jeff@garzik.org>
Wed, 23 Jan 2008 10:24:12 +0000 (05:24 -0500)
commitce54d1616302117fa98513ae916bb3333e1c02ea
tree408a33e3857188287e1ba240d82d0518eff7ffd7
parent021ee9a6da1cfc57f6a6c769c3c898bdd4753108
pata_amd: update mode selection for NV PATAs

Cable detection on NV PATA hosts isn't implemented and the CBLID-
cable isn't wired according to the sepc either, so both host-side and
generic drive-side cable detections are broken.  Till now,
nv_cable_detect() relied on peeking BIOS and ACPI configurations to
upgrade to 80C but this often results in misdetection of 40C cable as
80C.  Also, the original implementation was broken in that by the time
BIOS configuration is read it has already been cleared by programming
PIO0 during reset.

This patch reimplements NV mode selection such that...

* BIOS configuration value is stored during driver attach and restored
  on detach.

* Cable type is fixed to ATA_CBL_PATA_IGN and mode selection is soley
  done by nv_mode_filter() which peeks both BIOS and ACPI
  configurations and filter accordingly.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/pata_amd.c