libata-acpi: implement _GTF command filtering
authorTejun Heo <htejun@gmail.com>
Sat, 15 Dec 2007 06:05:06 +0000 (15:05 +0900)
committerJeff Garzik <jeff@garzik.org>
Tue, 18 Dec 2007 01:33:15 +0000 (20:33 -0500)
commit3264a8d8f95348e05cc6ac1ce747a8339ed7ab08
tree7d9045e726e7e63d6a7cad426b1c9f000298c886
parent0e8634bf8e48e50aa96c7e7becafcf9d98c1a28d
libata-acpi: implement _GTF command filtering

Implement _GTF command filtering which can be controlled by
libata.acpi_filter kernel parameter.  Currently SETXFER and LOCK
commands are filtered.

libata configures transfer mode by itself and _GTF SETXFER commands
can potentially disrupt device configuration.  _GTM/_STM mechanism
can't handle hotplugging too well and when _GTF is executed,
controller is in PIO0 rather than the mode _STM configured.

Note that detecting SET MAX LOCK requires looking at the previous
command.  This adds a bit to code complexity.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-acpi.c