diff options
author | Haijun Zhang <Haijun.Zhang@freescale.com> | 2014-05-07 10:14:39 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-05-08 13:50:20 (GMT) |
commit | 851b67e8e805acc3e049b558b85b57246d8f8e44 (patch) | |
tree | 93c7e081b63e1014e2098c086bf98db102c6f174 /drivers/mmc/core | |
parent | 44cc9789d535e01339a68b63e633057f55704246 (diff) | |
download | linux-fsl-qoriq-851b67e8e805acc3e049b558b85b57246d8f8e44.tar.xz |
mmc:esdhc: disable trim feature on T4240QDS
The timeout value got from eMMC card on T4240QDS is
incorrect. Disable trim and use erase instead.
Remove quirk SDHCI_QUIRK_BROKEN_ADMA to enable ADMA on
T4240QDS.
Calculate the timeout based SD clock when we have qurik
SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK.
Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com>
Change-Id: I2eca7c1d00c89db8b2e257f60b6ef62971536f90
Reviewed-on: http://git.am.freescale.net:8181/11981
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Xiaobo Xie <X.Xie@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r-- | drivers/mmc/core/core.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 59cf22a..9785bd1 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -2102,8 +2102,11 @@ EXPORT_SYMBOL(mmc_can_erase); int mmc_can_trim(struct mmc_card *card) { - if (card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN) + if ((card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN) && + !(card->host->caps2 & MMC_CAP2_NO_TRIM)) { return 1; + } + return 0; } EXPORT_SYMBOL(mmc_can_trim); |