From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 37/41] drm/rockchip: analogix_dp: Wire the shutdown callback to disable PSR Date: Thu, 9 Mar 2017 23:32:52 -0500 Message-ID: <20170310043305.17216-38-seanpaul@chromium.org> References: <20170310043305.17216-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20170310043305.17216-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+glpar-linux-rockchip=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Heiko Stuebner , David Airlie , Brian Norris , Tomasz Figa , Sean Paul , "Kristian H . Kristensen" , linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Mark Yao List-Id: dri-devel@lists.freedesktop.org From: Tomasz Figa We have to disable PSR before shutdown to avoid any asynchronous PSR code to interfere with Rockchip DRM device shutdown. We use the recently added analogix_dp_shutdown() function and rockchip_dp_cleanup() we already use for unregistering PSR at unbind time. Cc: Kristian H. Kristensen Cc: Brian Norris Signed-off-by: Tomasz Figa Signed-off-by: Sean Paul --- drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c index 0a92d9e3ffac..14f68e792e6f 100644 --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -468,6 +468,11 @@ static int rockchip_dp_remove(struct platform_device *pdev) return 0; } +static void rockchip_dp_shutdown(struct platform_device *pdev) +{ + analogix_dp_shutdown(&pdev->dev); +} + static const struct dev_pm_ops rockchip_dp_pm_ops = { #ifdef CONFIG_PM_SLEEP .suspend = analogix_dp_suspend, @@ -499,6 +504,7 @@ MODULE_DEVICE_TABLE(of, rockchip_dp_dt_ids); static struct platform_driver rockchip_dp_driver = { .probe = rockchip_dp_probe, .remove = rockchip_dp_remove, + .shutdown = rockchip_dp_shutdown, .driver = { .name = "rockchip-dp", .pm = &rockchip_dp_pm_ops, -- 2.12.0.246.ga2ecc84866-goog