From: Tomeu Vizoso Date: Mon, 6 Jun 2016 14:53:33 +0000 (+0200) Subject: drm/rockchip: Resume DP early X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=fe64ba5c6323538ef0a74c7213fe5e18117b1c85;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Cc: Caesar Wang Cc: Douglas Anderson Cc: Heiko Stuebner Cc: Yakir Yang Signed-off-by: Daniel Vetter Link: http://patchwork.freedesktop.org/patch/msgid/1465224813-7359-2-git-send-email-tomeu.vizoso@collabora.com --- diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 7f6a55cae27a..c120172add5c 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 = { #ifdef CONFIG_PM_SLEEP -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, #endif - -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[] = {