libata: Add atapi_dmadir force flag
authorVincent Pelletier <plr.vincent@gmail.com>
Tue, 21 May 2013 20:30:58 +0000 (22:30 +0200)
committerTejun Heo <tj@kernel.org>
Tue, 21 May 2013 23:34:34 +0000 (08:34 +0900)
commit966fbe193f47c68e70a80ec9991098e88e7959cb
tree1a352f4f241a75b99148ef645c9f56afba863dc9
parente628dc999e43a9dd51fb6bd810772c277f934484
libata: Add atapi_dmadir force flag

Some device require DMADIR to be enabled, but are not detected as such
by atapi_id_dmadir.  One such example is "Asus Serillel 2"
SATA-host-to-PATA-device bridge: the bridge itself requires DMADIR,
even if the bridged device does not.

As atapi_dmadir module parameter can cause problems with some devices
(as per Tejun Heo's memory), enabling it globally may not be possible
depending on the hardware.

This patch adds atapi_dmadir in the form of a "force" horkage value,
allowing global, per-bus and per-device control.

Signed-off-by: Vincent Pelletier <plr.vincent@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Documentation/kernel-parameters.txt
drivers/ata/libata-core.c
include/linux/libata.h