Thanks for comment. I will test and send the patch within this week. Best Regards, Jaehoon Chung On 07/12/2012 03:00 PM, Adrian Hunter wrote: > On 12/07/12 08:02, Jaehoon Chung wrote: >> Hi, Adrian, >> >> On 06/14/2012 10:46 PM, Adrian Hunter wrote: >> >>> On 08/06/12 07:39, Jaehoon Chung wrote: >>>> Enable eMMC background operations (BKOPS) feature. >>>> >>>> If URGENT_BKOPS is set after a response, note that BKOPS >>>> are required. After all I/O requests are finished, run >>>> BKOPS if required. Should read/write operations be requested >>>> during BKOPS, first issue HPI to interrupt the ongoing BKOPS >>>> and then service the request. >>>> If BKOPS-STATUS is upper than LEVEL2, need to check until clear >>>> the BKOPS-STATUS vaule. >>>> >>>> If you want to enable this feature, set MMC_CAP2_BKOPS. >>>> And if you want to set the BKOPS_EN bit in ext_csd register, >>>> use the MMC_CAP2_INIT_BKOPS. >>>> >>>> Future considerations >>>> * Check BKOPS_LEVEL=1 and start BKOPS in a preventive manner. >>>> * Interrupt ongoing BKOPS before powering off the card. >>>> * How get BKOPS_STATUS value.(periodically send ext_csd command?) >>>> >>>> Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> >>>> Signed-off-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> >>>> Signed-off-by: Konstantin Dorfman <kdorfman@xxxxxxxxxxxxxx> >>>> Signed-off-by: Maya Erez <merez@xxxxxxxxxxxxxx> >>>> --- >>> >>> I would not expect this to work nicely with runtime PM. I expect that BKOPS >>> would need to be stopped beforehand. But that would limit the time >>> available for BKOPS since runtime PM would always kick in and stop it. How >>> is runtime PM to be handled? >> >> I think that add some function like the mmc_runtime_pm_suspend(). >> int mmc_runtime_pm_suspend() >> { >> if running bkops { >> waiting for limit time..=> (when upper than Level2) >> otherwise don't wait >> stop-bkops >> } else >> nothing.. >> } >> Almost runtime PM is controlled at host side. >> So it's not very good that add the bkops control code at host side. >> How about this? i want to get your opinion. > > Possibly, but ideally it should be controlled through the runtime PM API. > For example, sdhci uses pm_runtime_get / put which must be paired. > -- > 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