diff options
authorTomeu Vizoso <tomeu.vizoso@collabora.com>2016-06-06 16:53:33 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2016-06-10 17:13:24 +0200
commitfe64ba5c6323538ef0a74c7213fe5e18117b1c85 (patch)
parent5a5873830972e7d8983dd205b3686f728047d556 (diff)
drm/rockchip: Resume DP early
The DP needs to have resumed once the DRM driver calls drm_atomic_helper_resume, otherwise the DP clock is still disabled when the DRM core enables the DP bridge. Would be nice to use device_pm_wait_for_dev to synchronize these devices, but the DRM device doesn't know what specific implementation this bridge has. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Cc: Caesar Wang <wxt@rock-chips.com> Cc: Douglas Anderson <dianders@chromium.org> Cc: Heiko Stuebner <heiko@sntech.de> Cc: Yakir Yang <ykk@rock-chips.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1465224813-7359-2-git-send-email-tomeu.vizoso@collabora.com
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
index 7f6a55c..c120172 100644
--- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
+++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
@@ -349,20 +349,11 @@ static int rockchip_dp_remove(struct platform_device *pdev)
return 0;
+static const struct dev_pm_ops rockchip_dp_pm_ops = {
-static int rockchip_dp_suspend(struct device *dev)
- return analogix_dp_suspend(dev);
-static int rockchip_dp_resume(struct device *dev)
- return analogix_dp_resume(dev);
+ .suspend = analogix_dp_suspend,
+ .resume_early = analogix_dp_resume,
-static const struct dev_pm_ops rockchip_dp_pm_ops = {
- SET_SYSTEM_SLEEP_PM_OPS(rockchip_dp_suspend, rockchip_dp_resume)
static const struct of_device_id rockchip_dp_dt_ids[] = {