summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/card
diff options
context:
space:
mode:
authorKyungmin Park <kyungmin.park@samsung.com>2011-10-18 02:34:04 +0200
committerChris Ball <cjb@laptop.org>2011-10-26 22:32:27 +0200
commitb3bf915308ca2b50f3beec6cc824083870f0f4b5 (patch)
tree955978242b333e1388358b4b50b5f8f4a5abca04 /drivers/mmc/card
parentmmc: core: mmc sanitize feature support for v4.5 (diff)
downloadlinux-b3bf915308ca2b50f3beec6cc824083870f0f4b5.tar.xz
linux-b3bf915308ca2b50f3beec6cc824083870f0f4b5.zip
mmc: core: new discard feature support at eMMC v4.5
MMC v4.5 supports the DISCARD feature (CMD38). It's different from trim and there's no check bit. Currently it's only supported at v4.5. Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/card')
-rw-r--r--drivers/mmc/card/block.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index e85816e1634a..370472797fff 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -756,7 +756,9 @@ static int mmc_blk_issue_discard_rq(struct mmc_queue *mq, struct request *req)
from = blk_rq_pos(req);
nr = blk_rq_sectors(req);
- if (mmc_can_trim(card))
+ if (mmc_can_discard(card))
+ arg = MMC_DISCARD_ARG;
+ else if (mmc_can_trim(card))
arg = MMC_TRIM_ARG;
else
arg = MMC_ERASE_ARG;