aboutsummaryrefslogtreecommitdiffstats
path: root/block/ll_rw_blk.c
diff options
context:
space:
mode:
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r--block/ll_rw_blk.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
index 5ccec8aa964b..3d0422f48453 100644
--- a/block/ll_rw_blk.c
+++ b/block/ll_rw_blk.c
@@ -760,6 +760,30 @@ void blk_queue_dma_alignment(struct request_queue *q, int mask)
760EXPORT_SYMBOL(blk_queue_dma_alignment); 760EXPORT_SYMBOL(blk_queue_dma_alignment);
761 761
762/** 762/**
763 * blk_queue_update_dma_alignment - update dma length and memory alignment
764 * @q: the request queue for the device
765 * @mask: alignment mask
766 *
767 * description:
768 * update required memory and length aligment for direct dma transactions.
769 * If the requested alignment is larger than the current alignment, then
770 * the current queue alignment is updated to the new value, otherwise it
771 * is left alone. The design of this is to allow multiple objects
772 * (driver, device, transport etc) to set their respective
773 * alignments without having them interfere.
774 *
775 **/
776void blk_queue_update_dma_alignment(struct request_queue *q, int mask)
777{
778 BUG_ON(mask > PAGE_SIZE);
779
780 if (mask > q->dma_alignment)
781 q->dma_alignment = mask;
782}
783
784EXPORT_SYMBOL(blk_queue_update_dma_alignment);
785
786/**
763 * blk_queue_find_tag - find a request by its tag and queue 787 * blk_queue_find_tag - find a request by its tag and queue
764 * @q: The request queue for the device 788 * @q: The request queue for the device
765 * @tag: The tag of the request 789 * @tag: The tag of the request