|
@@ -302,11 +302,10 @@ EXPORT_SYMBOL(blk_queue_stack_limits);
|
|
|
* @q: the request queue for the device
|
|
|
* @mask: pad mask
|
|
|
*
|
|
|
- * Set pad mask. Direct IO requests are padded to the mask specified.
|
|
|
+ * Set dma pad mask.
|
|
|
*
|
|
|
- * Appending pad buffer to a request modifies ->data_len such that it
|
|
|
- * includes the pad buffer. The original requested data length can be
|
|
|
- * obtained using blk_rq_raw_data_len().
|
|
|
+ * Appending pad buffer to a request modifies the last entry of a
|
|
|
+ * scatter list such that it includes the pad buffer.
|
|
|
**/
|
|
|
void blk_queue_dma_pad(struct request_queue *q, unsigned int mask)
|
|
|
{
|
|
@@ -314,6 +313,23 @@ void blk_queue_dma_pad(struct request_queue *q, unsigned int mask)
|
|
|
}
|
|
|
EXPORT_SYMBOL(blk_queue_dma_pad);
|
|
|
|
|
|
+/**
|
|
|
+ * blk_queue_update_dma_pad - update pad mask
|
|
|
+ * @q: the request queue for the device
|
|
|
+ * @mask: pad mask
|
|
|
+ *
|
|
|
+ * Update dma pad mask.
|
|
|
+ *
|
|
|
+ * Appending pad buffer to a request modifies the last entry of a
|
|
|
+ * scatter list such that it includes the pad buffer.
|
|
|
+ **/
|
|
|
+void blk_queue_update_dma_pad(struct request_queue *q, unsigned int mask)
|
|
|
+{
|
|
|
+ if (mask > q->dma_pad_mask)
|
|
|
+ q->dma_pad_mask = mask;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(blk_queue_update_dma_pad);
|
|
|
+
|
|
|
/**
|
|
|
* blk_queue_dma_drain - Set up a drain buffer for excess dma.
|
|
|
* @q: the request queue for the device
|