On Wed, December 18, 2013 Ulf Hansson wrote: 
> 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.hans...@linaro.org>

When cache feature was introduced for the first time, there was stability issue 
in some devices.
So host should have decided whether to select that feature.
Now, your change makes sense. But just check minor one below.

Acked-by: Seungwon Jeon <tgih....@samsung.com>

> ---
>  drivers/mmc/core/core.c  |    3 ---
>  drivers/mmc/core/mmc.c   |    3 +--
>  include/linux/mmc/host.h |    1 -
>  3 files changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
> index df591a9..66ec347 100644
> --- a/drivers/mmc/core/core.c
> +++ b/drivers/mmc/core/core.c
> @@ -2585,9 +2585,6 @@ int mmc_flush_cache(struct mmc_card *card)
>       struct mmc_host *host = card->host;
Also, 'host' can be removed.  No use.

Thanks,
Seungwon Jeon

>       int err = 0;
> 
> -     if (!(host->caps2 & MMC_CAP2_CACHE_CTRL))
> -             return err;
> -
>       if (mmc_card_mmc(card) &&
>                       (card->ext_csd.cache_size > 0) &&
>                       (card->ext_csd.cache_ctrl & 1)) {
> diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c
> index ef1cc73..7ab3e9c 100644
> --- a/drivers/mmc/core/mmc.c
> +++ b/drivers/mmc/core/mmc.c
> @@ -1287,8 +1287,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
>        * If cache size is higher than 0, this indicates
>        * the existence of cache and it can be turned on.
>        */
> -     if ((host->caps2 & MMC_CAP2_CACHE_CTRL) &&
> -                     card->ext_csd.cache_size > 0) {
> +     if (card->ext_csd.cache_size > 0) {
>               err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
>                               EXT_CSD_CACHE_CTRL, 1,
>                               card->ext_csd.generic_cmd6_time);
> diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
> index f539bc7..8383e3f 100644
> --- a/include/linux/mmc/host.h
> +++ b/include/linux/mmc/host.h
> @@ -264,7 +264,6 @@ struct mmc_host {
>       u32                     caps2;          /* More host capabilities */
> 
>  #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_NO_MULTI_READ       (1 << 3)        /* Multiblock reads 
> don't work */
>  #define MMC_CAP2_NO_SLEEP_CMD        (1 << 4)        /* Don't allow sleep 
> command */
> --
> 1.7.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to