1
linux/drivers
Tejun Heo 9116300634 libata: automatically use DMADIR if drive/bridge requires it
Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.

That's nice, but most SATA devices which need it will tell us about it
in their IDENTIFY PACKET response, as bit-15 of word-62 of the
returned data (as per ATA7, ATA8 specifications).

So for those which specify it, we should automatically use the DMADIR bit.
Otherwise, disc writing will fail by default on many SATA-ATAPI drives.

This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it
if atapi_dmadir is set or identify data indicates DMADIR is necessary.
atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting
DMADIR.

Original patch is from Mark Lord.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-02-24 00:27:33 -05:00
..
acorn/char
acpi Merge branches 'release', 'bugzilla-9916', 'bugzilla-9982', 'bugzilla-9989', 'misc', 'suspend', 'thermal', 'thinkpad' and 'tsc' into release 2008-02-21 02:41:58 -05:00
amba
ata libata: automatically use DMADIR if drive/bridge requires it 2008-02-24 00:27:33 -05:00
atm
auxdisplay
base Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-21 16:33:19 -08:00
block NBD: make nbd default to deadline I/O scheduler 2008-02-23 17:12:15 -08:00
bluetooth hci_ldisc: fix null pointer deref 2008-02-12 17:54:16 -08:00
cdrom
char i915: fix AR register restore. 2008-02-22 16:50:29 -08:00
clocksource
connector
cpufreq cpufreq: fix kobject reference count handling 2008-02-21 15:27:06 -08:00
cpuidle ACPI, cpuidle: Clarify C-state description in sysfs 2008-02-14 00:09:55 -05:00
crypto [HIFN]: Fix invalid config ifdefs for RNG support 2008-02-15 19:15:05 +08:00
dca
dio
dma
edac
eisa
firewire
firmware dmi: prevent linked list corruption 2008-02-23 17:12:15 -08:00
gpio
hid HID: add USB IDs for MacBook 3rd generation 2008-02-13 17:08:04 +01:00
hwmon hwmon: normal_i2c arrays should be const 2008-02-18 21:58:15 -05:00
i2c [ARM] 4827/1: fix two warnings in drivers/i2c/busses/i2c-pxa.c 2008-02-17 10:42:07 +00:00
ide PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
ieee1394
infiniband IB/mthca: Free correct MPT on error exit from mthca_fmr_alloc() 2008-02-19 10:42:50 -08:00
input
isdn isdn: fix section mismatch warning for ISACVer 2008-02-09 23:29:28 -08:00
leds
lguest lguest: accept guest _PAGE_PWT page table entries 2008-02-09 23:24:09 +01:00
macintosh PM: Introduce PM_EVENT_HIBERNATE callback state 2008-02-23 10:40:04 -08:00
mca
md dm-raid1.c: fix NULL dereferences 2008-02-19 15:52:27 -08:00
media V4L/DVB (7219): zoran: Fix namespace conflicts with Zoran 'GPIO_MAX' enum 2008-02-18 12:18:28 -03:00
memstick drivers/memstick/host/tifm_ms.c breakage 2008-02-13 08:16:35 -08:00
message [SCSI] mptbase: fix use-after-free's 2008-02-22 09:08:13 -06:00
mfd
misc Merge branches 'release', 'bugzilla-9916', 'bugzilla-9982', 'bugzilla-9989', 'misc', 'suspend', 'thermal', 'thinkpad' and 'tsc' into release 2008-02-21 02:41:58 -05:00
mmc
mtd Introduce path_put() 2008-02-14 21:13:33 -08:00
net Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-02-21 16:18:05 -08:00
nubus
of
oprofile d_path: Make get_dcookie() use a struct path argument 2008-02-14 21:17:08 -08:00
parisc
parport parport: section fixup 2008-02-13 16:21:19 -08:00
pci copyright owner and author clean up for intel iommu and related files 2008-02-23 17:12:14 -08:00
pcmcia PCI: drivers/pcmcia/i82092.c: fix up after pci_bus_region changes 2008-02-21 15:34:35 -08:00
pnp Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-14 21:29:46 -08:00
power
ps3 [POWERPC] PS3: Update sys-manager button events 2008-02-14 22:11:01 +11:00
rapidio
rtc rtc-cmos: display HPET emulation mode 2008-02-23 17:12:14 -08:00
s390 [S390] qdio: FCP/SCSI write I/O stagnates on LPAR 2008-02-19 15:29:35 +01:00
sbus
scsi fix vmsas.c file permissions 2008-02-23 19:49:34 -08:00
serial atmel_serial: fix interrupt handler return value 2008-02-23 17:12:14 -08:00
sh maple: improve detection of attached peripherals 2008-02-14 14:22:11 +09:00
sn
spi spi: pxa2xx_spi clock polarity fix 2008-02-23 17:12:14 -08:00
ssb
tc
telephony
thermal thermal: use ERR_PTR for returning error 2008-02-15 18:21:30 -05:00
uio UIO: fix Greg's stupid changes 2008-02-21 15:27:07 -08:00
usb Fix u132-hcd.c compile error 2008-02-23 20:29:09 -08:00
video drivers/video/uvesafb.c: fix section mismatch warning in param_set_scroll() 2008-02-23 17:12:15 -08:00
virtio
w1
watchdog [WATCHDOG] HP ProLiant WatchDog driver 2008-02-18 17:06:21 +00:00
xen
zorro
Kconfig memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00
Makefile memstick: initial commit for Sony MemoryStick support 2008-02-09 11:08:34 -08:00