Browse Source

libata-acpi: allow _GTF on SATA, but disable on PATA for now

The ACPI specification states, and BIOS implementations depend on,
_STM being called before _GTF.

SATA does this, but PATA does not.  So for now, simply
prevent execution of _GTF on PATA devices.  Longer term we
should implement ACPI support for PATA devices in libata.

Signed-off-by: Kristen Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Kristen Accardi 18 years ago
parent
commit
df33c77e39
1 changed files with 7 additions and 0 deletions
  1. 7 0
      drivers/ata/libata-acpi.c

+ 7 - 0
drivers/ata/libata-acpi.c

@@ -561,6 +561,13 @@ int ata_acpi_exec_tfs(struct ata_port *ap)
 
 	if (noacpi)
 		return 0;
+	/*
+	 * TBD - implement PATA support.  For now,
+	 * we should not run GTF on PATA devices since some
+	 * PATA require execution of GTM/STM before GTF.
+	 */
+	if (!(ap->cbl == ATA_CBL_SATA))
+		return 0;
 
 	for (ix = 0; ix < ATA_MAX_DEVICES; ix++) {
 		if (!ata_dev_enabled(&ap->device[ix]))