On Fri, Jun 15, 2012 at 9:38 AM, Saugata Das <saugata.das@xxxxxxxxxxxxxx> wrote: > From: Saugata Das <saugata.das@xxxxxxxxxx> > > This is a rework of the existing POWER OFF NOTIFY patch. The current problem > with the patch comes from the ambiguity on the usage of POWER OFF NOTIFY > together with SLEEP and misunderstanding on the usage of MMC_POWER_OFF > power_mode from mmc_set_ios in different host controller drivers. > > This new patch works around this problem by adding a new host CAP, > MMC_CAP2_POWER_OFF_VCCQ_DURING_SUSPEND, which when set sends a > POWER OFF NOTIFY from mmc_suspend instead of SLEEP. It is expected that host > controller drivers will set this CAP, if they switch off both Vcc and Vccq > from MMC_POWER_OFF condition within mmc_set_ios. However, note that there > is no harm in sending MMC_POWER_NOTIFY even if Vccq is not switched off. > > This patch also sends POWER OFF NOTIFY from power management routines (e.g. > mmc_power_save_host, mmc_pm_notify/PM_SUSPEND_PREPARE, mmc_stop_host), which > does reinitialization of the eMMC on the return path of the power management > routines (e.g. mmc_power_restore_host, mmc_pm_notify/PM_POST_RESTORE, > mmc_start_host). > > This patch sets POWER_OFF_NOTIFICATION to POWER_OFF_SHORT if it is sent from > the suspend sequence. If it is sent from shutdown sequence then it is set to > POWER_OFF_LONG. > > Earlier implementation of PowerOff Notify as a core function is replaced as > a device's bus operation. > > For the cards that cannot cut vccq can sleep during suspend. But the after > suspend->sleep->poweroff the ios values are modified. which results in > malfunction of card after resume. This patch fixes that issue by saving the > ios before sleep and restoring the saved values before resume. > > Signed-off-by: Saugata Das <saugata.das@xxxxxxxxxx> > Signed-off-by: Girish K S <girish.shivananjappa@xxxxxxxxxx> > Signed-off-by: Asutosh Das <asutoshd@xxxxxxxxxxxxxx> > Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> > I just had a chance to test this on OMAP. I only have v4.41 card on this one, so it doesn't do Power Off Notify, but suspend resume works with just CMD5, and hasn't caused a regression. FWIW, Partially Tested-by: Venkatraman S<svenkatr@xxxxxx> -- 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