On Monday 16 January 2012 06:41 PM, [email protected] wrote:
> ext Shubhrajyoti D wrote on 2012-01-16:
>> The commit 11dd62:[omap_hsmmc: context save/restore support]
>>
>> does a reset and restores AUTOIDLE settings.
>> This patch saves the register does a reset and restores
>> the same configuration.
> ...
>>      if (pdata->get_context_loss_count) {
>> @@ -700,6 +700,7 @@ static int omap_hsmmc_context_restore(struct 
>> omap_hsmmc_host
>> *host)
>>              && time_before(jiffies, timeout))
>>              ;
>> +    sysc = OMAP_HSMMC_READ(host->base, SYSCONFIG);
>>      /* Do software reset */
>>      OMAP_HSMMC_WRITE(host->base, SYSCONFIG, SOFTRESET);
>>      timeout = jiffies + msecs_to_jiffies(MMC_TIMEOUT_MS);
>> @@ -707,8 +708,7 @@ static int omap_hsmmc_context_restore(struct 
>> omap_hsmmc_host
>> *host)
>>              && time_before(jiffies, timeout))
>>              ;
>> -    OMAP_HSMMC_WRITE(host->base, SYSCONFIG,
>> -                    OMAP_HSMMC_READ(host->base, SYSCONFIG) | AUTOIDLE);
>> +    OMAP_HSMMC_WRITE(host->base, SYSCONFIG, sysc);
> The meaning of the code is to restore the register context after it was lost 
> during transition into low power consumption state. SW reset is needed to 
> bring all the registers in a consistent state before reconfiguring some of 
> them. 
Agreed thanks.
> Saving and restoring the SYSCONFIG register across SW reset is not needed. 
>
> Also re-configuring AUTOIDLE feature is not necessary since SYSCONFIG reset 
> value has is 1 already, according to TRM. I guess it was done to make things 
> more explicit.
However in addition to autoidle there are other bits in the register
like the sidle mode , enable wakeup which will get not get overwritten now.

Do you agree?
> Denis

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

Reply via email to