[PATCH 0/13] ACPI objects for SATA/PATA

From: Randy Dunlap
Date: Wed Feb 22 2006 - 17:10:30 EST


This patch series is primarily ACPI objects support for SATA/PATA.
It applies to 2.6.16-rc4.

ACPI objects for SATA/PATA add support for the _GTF, _SDD,
_GTM, and _STM ACPI methods. ACPI methods are used to:

PATA: get and set channel timings and modes and taskfiles
SATA: get and set drive data and taskfiles

Taskfile operations are not limited. Examples that I have
seen are (not limited to):
- power management:
. enable or disable drive-initiated power management
- performance:
. enable drive cache; set transfer mode (PIO/DMA)
- security
. lock the disk access password

There is also an addition here to send a Standby Immediate
command to SATA/PATA drives during shutdown. This should be
done (at least for some drives) to cause a safe and orderly
shutdown of the drive heads (i.e., protect data).

Caveat: Some people are reporting good results from these
patches. Unfortunately I have problems with them myself.
My test platforms usually suspend successfully but they
don't resume successfully. Oh, and there may be a BUG
during sleep-shutdown processing where a sleep happens
while a spinlock is held.

These patches definitely need some time in -mm, but be
prepared to revert them or to use
libata.noacpi=1
to disable them. Also, please use
libata.printk=0xff
to enable full debug messages.

If you want to test this without using -mm, you can either
apply the patch series (13 patches) or one rolled-up
(combined) patch. The combined patch is available at:
http://www.xenotime.net/linux/SATA/2.6.16-rc4/libata-rollup-2616-rc4.patch

Still TBD: more calls to ata_acpi_push_timing(), e.g.,
during resume, to set PATA hard drive timing and mode.
And fix the BUG above.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/