[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180115171614.14474-34-thierry.escande@collabora.com>
Date: Mon, 15 Jan 2018 18:16:07 +0100
From: Thierry Escande <thierry.escande@...labora.com>
To: Archit Taneja <architt@...eaurora.org>,
Inki Dae <inki.dae@...sung.com>,
Thierry Reding <thierry.reding@...il.com>,
Sandy Huang <hjc@...k-chips.com>,
Sean Paul <seanpaul@...omium.org>,
David Airlie <airlied@...ux.ie>
Cc: Tomasz Figa <tfiga@...omium.org>, Haixia Shi <hshi@...omium.org>,
Ørjan Eide <orjan.eide@....com>,
zain wang <wzz@...k-chips.com>,
Yakir Yang <ykk@...k-chips.com>, Lin Huang <hl@...k-chips.com>,
Douglas Anderson <dianders@...omium.org>,
Mark Yao <mark.yao@...k-chips.com>,
linux-kernel@...r.kernel.org, linux-rockchip@...ts.infradead.org,
dri-devel@...ts.freedesktop.org
Subject: [PATCH 33/40] drm/rockchip: analogix_dp: Wire the shutdown callback to disable PSR
From: Tomasz Figa <tfiga@...omium.org>
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 <hoegsberg@...omium.org>
Cc: Brian Norris <briannorris@...omium.org>
Signed-off-by: Tomasz Figa <tfiga@...omium.org>
Signed-off-by: Sean Paul <seanpaul@...omium.org>
Signed-off-by: Thierry Escande <thierry.escande@...labora.com>
---
drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
index 8c884f9ce713..bd2ff2c429e9 100644
--- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
+++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c
@@ -415,6 +415,13 @@ static int rockchip_dp_resume(struct device *dev)
}
#endif
+static void rockchip_dp_shutdown(struct platform_device *pdev)
+{
+ struct rockchip_dp_device *dp = dev_get_drvdata(&pdev->dev);
+
+ analogix_dp_shutdown(dp->adp);
+}
+
static const struct dev_pm_ops rockchip_dp_pm_ops = {
#ifdef CONFIG_PM_SLEEP
.suspend = rockchip_dp_suspend,
@@ -446,6 +453,7 @@ MODULE_DEVICE_TABLE(of, rockchip_dp_dt_ids);
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.14.1
Powered by blists - more mailing lists