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: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Seungwon Jeon <tgih.jun@samsung.com> Signed-off-by: Chris Ball <chris@printf.net>
This commit is contained in:
parent
10e5d96524
commit
7536d3f83a
@ -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,
|
|||||||
* 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 {
|
|||||||
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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user