diff options
| author | Konstantin Dorfman <kdorfman@codeaurora.org> | 2013-02-05 15:45:53 +0200 |
|---|---|---|
| committer | Subhash Jadavani <subhashj@codeaurora.org> | 2016-05-31 15:25:44 -0700 |
| commit | aa4228ea9d4dcf1eb307c4f0b9c7732fdaf315ee (patch) | |
| tree | c31dda070e1574e79476ed83644d56b6fa5dbd28 | |
| parent | fec8ffcb2b32902a07fb298453f254bebdc503d0 (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.c | 17 |
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++; |
