Re: [PATCH 2/2] mmc: core: Enable MMC_CAP2_CACHE_CTRL as default

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19 December 2013 15:43, Seungwon Jeon <tgih.jun@xxxxxxxxxxx> wrote:
> 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.hansson@xxxxxxxxxx>
>
> 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.jun@xxxxxxxxxxx>
>
>> ---
>>  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 for your review! Will fix in v2 and add your ack.

Kind regards
Ulf Hansson

>
> 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 majordomo@xxxxxxxxxxxxxxx
>> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux