drm/bridge: ti-sn65dsi86: ensure bridge suspend happens during PM sleep
authorHarigovindan P <harigovi@codeaurora.org>
Tue, 9 Jun 2020 12:04:55 +0000 (17:34 +0530)
committerNeil Armstrong <narmstrong@baylibre.com>
Fri, 26 Jun 2020 11:39:59 +0000 (13:39 +0200)
ti-sn65dsi86 bridge is enumerated as a runtime device. When
suspend is triggered, PM core adds a refcount on all the
devices and calls device suspend, since usage count is
already incremented, runtime suspend will not be called
and it kept the bridge regulators and gpios ON which resulted
in platform not entering into XO shutdown.

Add changes to force suspend on the runtime device during pm sleep.

Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200609120455.20458-1-harigovi@codeaurora.org
drivers/gpu/drm/bridge/ti-sn65dsi86.c

index bd3eb0a097327d265136ef8faf9d1b21d8cd0092..0f75bb2d7f56810d018c508186e97777363a1ba4 100644 (file)
@@ -212,6 +212,8 @@ static int __maybe_unused ti_sn_bridge_suspend(struct device *dev)
 
 static const struct dev_pm_ops ti_sn_bridge_pm_ops = {
        SET_RUNTIME_PM_OPS(ti_sn_bridge_suspend, ti_sn_bridge_resume, NULL)
+       SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
+                               pm_runtime_force_resume)
 };
 
 static int status_show(struct seq_file *s, void *data)