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
