OMAPDSS: use sync versions of pm_runtime_put
omapdss doesn't work properly on system suspend. The problem seems to be the fact that omapdss uses pm_runtime_put() functions when turning off the hardware, and when system suspend is in process only sync versions are allowed. Using non-sync versions normally and sync versions when suspending would need rather ugly hacks to convey the information of suspending/not-suspending to different functions. Optimally the driver wouldn't even need to care about this, and the PM layer would handle syncing when suspend is in process. This patch changes all omapdss's pm_runtime_put calls to pm_runtime_put_sync. This fixes the suspend problem, and probably the performance penalty of always using sync versions is negligible. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Acked-by: Kevin Hilman <khilman@ti.com>
This commit is contained in:
parent
f787f32e67
commit
0eaf9f52e9
@ -401,7 +401,7 @@ void dispc_runtime_put(void)
|
||||
|
||||
DSSDBG("dispc_runtime_put\n");
|
||||
|
||||
r = pm_runtime_put(&dispc.pdev->dev);
|
||||
r = pm_runtime_put_sync(&dispc.pdev->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
@ -1079,7 +1079,7 @@ void dsi_runtime_put(struct platform_device *dsidev)
|
||||
|
||||
DSSDBG("dsi_runtime_put\n");
|
||||
|
||||
r = pm_runtime_put(&dsi->pdev->dev);
|
||||
r = pm_runtime_put_sync(&dsi->pdev->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
@ -720,7 +720,7 @@ void dss_runtime_put(void)
|
||||
|
||||
DSSDBG("dss_runtime_put\n");
|
||||
|
||||
r = pm_runtime_put(&dss.pdev->dev);
|
||||
r = pm_runtime_put_sync(&dss.pdev->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
@ -176,7 +176,7 @@ static void hdmi_runtime_put(void)
|
||||
|
||||
DSSDBG("hdmi_runtime_put\n");
|
||||
|
||||
r = pm_runtime_put(&hdmi.pdev->dev);
|
||||
r = pm_runtime_put_sync(&hdmi.pdev->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
@ -140,7 +140,7 @@ static void rfbi_runtime_put(void)
|
||||
|
||||
DSSDBG("rfbi_runtime_put\n");
|
||||
|
||||
r = pm_runtime_put(&rfbi.pdev->dev);
|
||||
r = pm_runtime_put_sync(&rfbi.pdev->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
@ -401,7 +401,7 @@ static void venc_runtime_put(void)
|
||||
|
||||
DSSDBG("venc_runtime_put\n");
|
||||
|
||||
r = pm_runtime_put(&venc.pdev->dev);
|
||||
r = pm_runtime_put_sync(&venc.pdev->dev);
|
||||
WARN_ON(r < 0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user