On 2012-11-28 13:31, Archit Taneja wrote: > When enabling a hwmod, omap_hwmod refers to the register mentioned in the > hwmod struct's member 'prcm.omap4.context_offs' to see whether context was > lost or not. It increments the context lost count for the hwmod and then clears > the register. > > All the DSS hwmods have the same register(RM_DSS_DSS_CONTEXT) as context_offs. > When DSS is enabled, the first hwmod to be enabled is the "dss_core" hwmod since > it's corresponding platform device is the parent platform device("omapdss_dss"). > The dss_core hwmod updates it's context lost count correctly and clears the > register. When the hwmods corresponding to the children platform devices are > enabled, they see that the register is clear, and don't increment their context > lost count. Therefore, all the children platform devices never report a loss in > context. > > The DISPC driver currently gets the context lost count for DSS power domain from > it's corresponding platform device instance("omapdss_dispc"). The DISPC platform > device is one of the child devices, and it's corresponding hwmod("dss_dispc") > doesn't report the context lost count correctly. > > Modify dss_get_ctx_loss_count() such that it always takes the "omapdss_dss" > platform device as it's input, move the function to dss.c so that it has access > to that platform device. > > Signed-off-by: Archit Taneja <archit@xxxxxx> > --- > drivers/video/omap2/dss/core.c | 15 --------------- > drivers/video/omap2/dss/dispc.c | 4 ++-- > drivers/video/omap2/dss/dss.c | 15 +++++++++++++++ > drivers/video/omap2/dss/dss.h | 3 ++- > 4 files changed, 19 insertions(+), 18 deletions(-) I think this looks fine. I'll apply to dss master. Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature