summaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-core.c
diff options
context:
space:
mode:
authorKristen Carlson Accardi2006-09-28 20:29:01 +0200
committerJeff Garzik2007-02-16 19:32:41 +0100
commit11ef697b37e3c85ce1ac21f7711babf1f5b12784 (patch)
tree7b118d54bc8fc24ca8cbc626d603013d07ed8c2a /drivers/ata/libata-core.c
parentMerge branch 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32 (diff)
downloadkernel-qcow2-linux-11ef697b37e3c85ce1ac21f7711babf1f5b12784.tar.gz
kernel-qcow2-linux-11ef697b37e3c85ce1ac21f7711babf1f5b12784.tar.xz
kernel-qcow2-linux-11ef697b37e3c85ce1ac21f7711babf1f5b12784.zip
[PATCH] libata: ACPI and _GTF support
_GTF is an acpi method that is used to reinitialize the drive. It returns a task file containing ata commands that are sent back to the drive to restore it to boot up defaults. Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org> (cherry picked from 9c69cab24b51a89664f4c0dfaf8a436d32117624 commit)
Diffstat (limited to 'drivers/ata/libata-core.c')
-rw-r--r--drivers/ata/libata-core.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 2cf8251728d2..785bf50488e9 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -93,6 +93,10 @@ static int ata_probe_timeout = ATA_TMOUT_INTERNAL / HZ;
module_param(ata_probe_timeout, int, 0444);
MODULE_PARM_DESC(ata_probe_timeout, "Set ATA probing timeout (seconds)");
+int noacpi;
+module_param(noacpi, int, 0444);
+MODULE_PARM_DESC(noacpi, "Disables the use of ACPI in suspend/resume when set");
+
MODULE_AUTHOR("Jeff Garzik");
MODULE_DESCRIPTION("Library module for ATA devices");
MODULE_LICENSE("GPL");
@@ -1778,6 +1782,9 @@ int ata_bus_probe(struct ata_port *ap)
/* reset and determine device classes */
ap->ops->phy_reset(ap);
+ /* retrieve and execute the ATA task file of _GTF */
+ ata_acpi_exec_tfs(ap);
+
for (i = 0; i < ATA_MAX_DEVICES; i++) {
dev = &ap->device[i];