James Bottomley
dde2020754
libata: eliminate the home grown dma padding in favour of
...
that provided by the block layer
ATA requires that all DMA transfers begin and end on word boundaries.
Because of this, a large amount of machinery grew up in ide to adjust
scatterlists on this basis. However, as of 2.5, the block layer has a
dma_alignment variable which ensures both the beginning and length of a
DMA transfer are aligned on the dma_alignment boundary. Although the
block layer does adjust the beginning of the transfer to ensure this
happens, it doesn't actually adjust the length, it merely makes sure
that space is allocated for transfers beyond the declared length. The
upshot of this is that scatterlists may be padded to any size between
the actual length and the length adjusted to the dma_alignment safely
knowing that memory is allocated in this region.
Right at the moment, SCSI takes the default dma_aligment which is on a
512 byte boundary. Note that this aligment only applies to transfers
coming in from user space. However, since all kernel allocations are
automatically aligned on a minimum of 32 byte boundaries, it is safe to
adjust them in this manner as well.
tj: * Adjusting sg after padding is done in block layer. Make libata
set queue alignment correctly for ATAPI devices and drop broken
sg mangling from ata_sg_setup().
* Use request->raw_data_len for ATAPI transfer chunk size.
* Killed qc->raw_nbytes.
* Separated out killing qc->n_iter.
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-02-19 11:36:56 +01:00
..
acorn /char
acpi
Merge branches 'release', 'dmi', 'idle' and 'misc' into release
2008-02-14 02:44:28 -05:00
amba
ata
libata: eliminate the home grown dma padding in favour of
2008-02-19 11:36:56 +01:00
atm
auxdisplay
base
Driver core: Revert "Fix Firmware class name collision"
2008-02-07 11:31:46 -08:00
block
Fix compile of swim3 as module
2008-02-14 20:58:04 -08:00
bluetooth
hci_ldisc: fix null pointer deref
2008-02-12 17:54:16 -08:00
cdrom
Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
2008-02-07 09:02:26 -08:00
char
[POWERPC] hvc_rtas_init() must be __init
2008-02-14 22:11:02 +11:00
clocksource
connector
cpufreq
[CPUFREQ] fix configuration help message
2008-02-06 22:57:58 -05: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
DCA: convert struct class_device to struct device.
2008-02-08 15:33:33 -08:00
dio
dio: ARRAY_SIZE() cleanup
2008-02-05 09:44:23 -08:00
dma
async_tx: replace 'int_en' with operation preparation flags
2008-02-06 10:12:18 -07:00
edac
drivers/edac/i3000: document type promotion
2008-02-07 08:42:23 -08:00
eisa
firewire
firewire: fw-sbp2: Use sbp2 device-provided mgt orb timeout for logins
2008-01-30 22:22:29 +01:00
firmware
SMBIOS/DMI: add type 41 = Onboard Devices Extended Information
2008-02-08 09:22:37 -08:00
gpio
gpio: handle pca953{4,5,6,7,8} too
2008-02-06 10:41:15 -08:00
hid
HID: add USB IDs for MacBook 3rd generation
2008-02-13 17:08:04 +01:00
hwmon
hwmon: (lm80) Add individual alarm files
2008-02-07 20:39:45 -05:00
i2c
hwmon: Discard useless I2C driver IDs
2008-02-07 20:39:44 -05:00
ide
ide-cd: fix missing residual count setting in DMA mode
2008-02-19 01:41:26 +01:00
ieee1394
ieee1394: sbp2: fix bogus s/g access change
2008-02-02 13:48:16 +01:00
infiniband
RDMA/nes: Fix possible array overrun
2008-02-18 10:33:59 -08:00
input
mn10300: add the MN10300/AM33 architecture to the kernel
2008-02-08 09:22:30 -08:00
isdn
isdn: fix section mismatch warning for ISACVer
2008-02-09 23:29:28 -08:00
leds
PWM LED driver
2008-02-08 09:22:38 -08:00
lguest
lguest: accept guest _PAGE_PWT page table entries
2008-02-09 23:24:09 +01:00
macintosh
Fix compile of swim3 as module
2008-02-14 20:58:04 -08:00
mca
md
d_path: Make d_path() use a struct path
2008-02-14 21:17:09 -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] mpt fusion: Request I/O resources only when required
2008-02-11 10:20:54 -06:00
mfd
ASIC3 driver
2008-02-07 08:42:23 -08:00
misc
thinkpad_acpi: static
2008-02-14 01:01:28 -05:00
mmc
mmc: extend ricoh_mmc to support Ricoh RL5c476
2008-02-08 09:02:47 +01:00
mtd
Introduce path_put()
2008-02-14 21:13:33 -08:00
net
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
2008-02-15 07:33:07 -08:00
nubus
nubus: kill drivers/nubus/nubus_syms.c
2008-02-05 09:44:23 -08:00
of
[POWERPC] Create and hook up of_platform_device_shutdown
2008-02-06 16:29:59 +11:00
oprofile
d_path: Make get_dcookie() use a struct path argument
2008-02-14 21:17:08 -08:00
parisc
iommu sg merging: parisc: make iommu respect the segment size limits
2008-02-05 09:44:10 -08:00
parport
parport: section fixup
2008-02-13 16:21:19 -08:00
pci
mn10300: add the MN10300/AM33 architecture to the kernel
2008-02-08 09:22:30 -08:00
pcmcia
ide: introduce HAVE_IDE
2008-02-09 10:46:40 +01: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
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6
2008-02-07 09:45:58 -08:00
ps3
[POWERPC] PS3: Update sys-manager button events
2008-02-14 22:11:01 +11:00
rapidio
Merge branch 'linux-2.6'
2008-01-31 11:25:51 +11:00
rtc
rtc-r9701.c: silence compiler warning
2008-02-09 23:27:01 -08:00
s390
claw/lcs/netiucv: check s390dbf level before sprints
2008-02-11 11:14:50 -05:00
sbus
scsi
libata: eliminate the home grown dma padding in favour of
2008-02-19 11:36:56 +01:00
serial
serial: sh-sci: Fix up SH-5 build.
2008-02-14 14:22:12 +09:00
sh
maple: improve detection of attached peripherals
2008-02-14 14:22:11 +09:00
sn
spi
spi: remove more dev->power.power_state usage
2008-02-06 10:41:11 -08:00
ssb
drivers/ssb/: Spelling fixes
2008-02-03 17:30:25 +02:00
tc
telephony
thermal
ACPI: thermal: syntax, spelling, kernel-doc
2008-02-07 23:48:04 -05:00
uio
uio: nopage
2008-02-06 10:41:07 -08:00
usb
d_path: Make d_path() use a struct path
2008-02-14 21:17:09 -08:00
video
mn10300: add the MN10300/AM33 architecture to the kernel
2008-02-08 09:22:30 -08:00
virtio
virtio: add missing #include <linux/delay.h>
2008-02-06 10:41:21 -08:00
w1
DS1WM: decouple host IRQ and INTR active state settings
2008-02-07 08:42:06 -08:00
watchdog
drivers/watchdog/: Spelling fixes
2008-02-03 17:32:52 +02: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