• Marek Vasut's avatar
    drm/lcdif: Do not disable clocks on already suspended hardware · 172695f1
    Marek Vasut authored
    In case the LCDIF is enabled in DT but unused, the clocks used by the
    LCDIF are not enabled. Those clocks may even have a use count of 0 in
    case there are no other users of those clocks. This can happen e.g. in
    case the LCDIF drives HDMI bridge which has no panel plugged into the
    HDMI connector.
    
    Do not attempt to disable clocks in the suspend callback and re-enable
    clocks in the resume callback unless the LCDIF is enabled and was in
    use before the system entered suspend, otherwise the driver might end
    up trying to disable clocks which are already disabled with use count
    0, and would trigger a warning from clock core about this condition.
    
    Note that the lcdif_rpm_suspend() and lcdif_rpm_resume() functions
    internally perform the clocks disable and enable operations and act
    as runtime PM hooks too.
    Reviewed-by: default avatarLiu Ying <victor.liu@nxp.com>
    Fixes: 9db35bb3 ("drm: lcdif: Add support for i.MX8MP LCDIF variant")
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240226082644.32603-1-marex@denx.de
    172695f1
lcdif_drv.c 9.01 KB