summaryrefslogtreecommitdiff
path: root/drivers/mmc/core/mmc.c
diff options
context:
space:
mode:
authorKyungmin Park <kyungmin.park@samsung.com>2011-10-18 00:34:04 (GMT)
committerChris Ball <cjb@laptop.org>2011-10-26 20:32:27 (GMT)
commitb3bf915308ca2b50f3beec6cc824083870f0f4b5 (patch)
tree955978242b333e1388358b4b50b5f8f4a5abca04 /drivers/mmc/core/mmc.c
parentd9ddd62943ee07a75d0428ffcf52f1a747a28c39 (diff)
downloadlinux-fsl-qoriq-b3bf915308ca2b50f3beec6cc824083870f0f4b5.tar.xz
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/core/mmc.c')
-rw-r--r--drivers/mmc/core/mmc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
index f8ea938..5408876 100644
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
@@ -452,6 +452,10 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
card->ext_csd.rst_n_function = ext_csd[EXT_CSD_RST_N_FUNCTION];
}
+ /* eMMC v4.5 or later */
+ if (card->ext_csd.rev >= 6)
+ card->ext_csd.feature_support |= MMC_DISCARD_FEATURE;
+
card->ext_csd.raw_erased_mem_count = ext_csd[EXT_CSD_ERASED_MEM_CONT];
if (ext_csd[EXT_CSD_ERASED_MEM_CONT])
card->erased_byte = 0xFF;