summaryrefslogtreecommitdiff
path: root/drivers/mmc/core
diff options
context:
space:
mode:
authorHaijun Zhang <Haijun.Zhang@freescale.com>2014-05-07 10:14:39 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-05-08 13:50:20 (GMT)
commit851b67e8e805acc3e049b558b85b57246d8f8e44 (patch)
tree93c7e081b63e1014e2098c086bf98db102c6f174 /drivers/mmc/core
parent44cc9789d535e01339a68b63e633057f55704246 (diff)
downloadlinux-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.c5
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);