suse man page for blk_queue_dma_drain

Query: blk_queue_dma_drain

OS: suse

Section: 9

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

BLK_QUEUE_DMA_DRAIN(9)						   Block Devices					    BLK_QUEUE_DMA_DRAIN(9)

NAME
blk_queue_dma_drain - Set up a drain buffer for excess dma.
SYNOPSIS
int blk_queue_dma_drain(struct request_queue * q, dma_drain_needed_fn * dma_drain_needed, void * buf, unsigned int size);
ARGUMENTS
q the request queue for the device dma_drain_needed fn which returns non-zero if drain is necessary buf physically contiguous buffer size size of the buffer in bytes
DESCRIPTION
Some devices have excess DMA problems and can't simply discard (or zero fill) the unwanted piece of the transfer. They have to have a real area of memory to transfer it into. The use case for this is ATAPI devices in DMA mode. If the packet command causes a transfer bigger than the transfer size some HBAs will lock up if there aren't DMA elements to contain the excess transfer. What this API does is adjust the queue so that the buf is always appended silently to the scatterlist.
NOTE
This routine adjusts max_hw_segments to make room for appending the drain buffer. If you call blk_queue_max_segments after calling this routine, you must set the limit to one fewer than your device can support otherwise there won't be room for the drain buffer.
COPYRIGHT
Kernel Hackers Manual 2.6. July 2010 BLK_QUEUE_DMA_DRAIN(9)
Related Man Pages
struct_usb_request(9) - centos
usb_buffer_map_sg(9) - centos
physio(9) - netbsd
ddi_iomin(9f) - linux
ddi_iomin(9f) - posix
Similar Topics in the Unix Linux Community
Is UNIX an open source OS ?
Change directory error
Getting command output to putty window title.
Grant unprivileged user rights to see the output of echo|format but not modify disks
Shopt -s histappend