summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Dorfman <kdorfman@codeaurora.org>2013-02-05 15:45:53 +0200
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:25:44 -0700
commitaa4228ea9d4dcf1eb307c4f0b9c7732fdaf315ee (patch)
treec31dda070e1574e79476ed83644d56b6fa5dbd28
parentfec8ffcb2b32902a07fb298453f254bebdc503d0 (diff)
mmc: block: add mmc_blk_disable_wr_packing() disables packing mode
The function disables packing mode. Right now the only reason is change in data direction. Change-Id: I0f4edba3da93fde28cf47ac95754a95e411fa2af Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
-rw-r--r--drivers/mmc/card/block.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 9faf3284e322..dd45524b8813 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -1903,6 +1903,20 @@ static inline u8 mmc_calc_packed_hdr_segs(struct request_queue *q,
return nr_segs;
}
+/**
+ * mmc_blk_disable_wr_packing() - disables packing mode
+ * @mq: MMC queue.
+ *
+ */
+void mmc_blk_disable_wr_packing(struct mmc_queue *mq)
+{
+ if (mq) {
+ mq->wr_packing_enabled = false;
+ mq->num_of_potential_packed_wr_reqs = 0;
+ }
+}
+EXPORT_SYMBOL(mmc_blk_disable_wr_packing);
+
static void mmc_blk_write_packing_control(struct mmc_queue *mq,
struct request *req)
{
@@ -1937,8 +1951,7 @@ static void mmc_blk_write_packing_control(struct mmc_queue *mq,
data_dir = rq_data_dir(req);
if (data_dir == READ) {
- mq->num_of_potential_packed_wr_reqs = 0;
- mq->wr_packing_enabled = false;
+ mmc_blk_disable_wr_packing(mq);
return;
} else if (data_dir == WRITE) {
mq->num_of_potential_packed_wr_reqs++;