• Archit Taneja's avatar
    OMAPDSS: Use only "omapdss_dss" platform device to get context lost count · bdb736ab
    Archit Taneja authored
    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: default avatarArchit Taneja <archit@ti.com>
    Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
    bdb736ab
dss.c 22.3 KB