Commit 7536d3f8 authored by Ulf Hansson's avatar Ulf Hansson Committed by Chris Ball

mmc: core: Enable MMC_CAP2_CACHE_CTRL as default

There are no reason to why the use of a non-volatile internal eMMC
cache should be controlled by a host cap. Instead let's just enable it
if the eMMC card supports it.
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Acked-by: default avatarSeungwon Jeon <tgih.jun@samsung.com>
Signed-off-by: default avatarChris Ball <chris@printf.net>
parent 10e5d965
...@@ -2562,12 +2562,8 @@ EXPORT_SYMBOL(mmc_power_restore_host); ...@@ -2562,12 +2562,8 @@ EXPORT_SYMBOL(mmc_power_restore_host);
*/ */
int mmc_flush_cache(struct mmc_card *card) int mmc_flush_cache(struct mmc_card *card)
{ {
struct mmc_host *host = card->host;
int err = 0; int err = 0;
if (!(host->caps2 & MMC_CAP2_CACHE_CTRL))
return err;
if (mmc_card_mmc(card) && if (mmc_card_mmc(card) &&
(card->ext_csd.cache_size > 0) && (card->ext_csd.cache_size > 0) &&
(card->ext_csd.cache_ctrl & 1)) { (card->ext_csd.cache_ctrl & 1)) {
......
...@@ -1287,8 +1287,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, ...@@ -1287,8 +1287,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
* If cache size is higher than 0, this indicates * If cache size is higher than 0, this indicates
* the existence of cache and it can be turned on. * the existence of cache and it can be turned on.
*/ */
if ((host->caps2 & MMC_CAP2_CACHE_CTRL) && if (card->ext_csd.cache_size > 0) {
card->ext_csd.cache_size > 0) {
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_CACHE_CTRL, 1, EXT_CSD_CACHE_CTRL, 1,
card->ext_csd.generic_cmd6_time); card->ext_csd.generic_cmd6_time);
......
...@@ -264,7 +264,6 @@ struct mmc_host { ...@@ -264,7 +264,6 @@ struct mmc_host {
u32 caps2; /* More host capabilities */ u32 caps2; /* More host capabilities */
#define MMC_CAP2_BOOTPART_NOACC (1 << 0) /* Boot partition no access */ #define MMC_CAP2_BOOTPART_NOACC (1 << 0) /* Boot partition no access */
#define MMC_CAP2_CACHE_CTRL (1 << 1) /* Allow cache control */
#define MMC_CAP2_FULL_PWR_CYCLE (1 << 2) /* Can do full power cycle */ #define MMC_CAP2_FULL_PWR_CYCLE (1 << 2) /* Can do full power cycle */
#define MMC_CAP2_NO_MULTI_READ (1 << 3) /* Multiblock reads don't work */ #define MMC_CAP2_NO_MULTI_READ (1 << 3) /* Multiblock reads don't work */
#define MMC_CAP2_HS200_1_8V_SDR (1 << 5) /* can support */ #define MMC_CAP2_HS200_1_8V_SDR (1 << 5) /* can support */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment