From: Thierry Escande <thierry.escande@collabora.com> To: Archit Taneja <architt@codeaurora.org>, Inki Dae <inki.dae@samsung.com>, Thierry Reding <thierry.reding@gmail.com>, Sandy Huang <hjc@rock-chips.com>, Sean Paul <seanpaul@chromium.org>, David Airlie <airlied@linux.ie>, Tomasz Figa <tfiga@chromium.org>, Enric Balletbo i Serra <enric.balletbo@collabora.com> Cc: "Haixia Shi" <hshi@chromium.org>, "Ørjan Eide" <orjan.eide@arm.com>, "Zain Wang" <wzz@rock-chips.com>, "Yakir Yang" <ykk@rock-chips.com>, "Lin Huang" <hl@rock-chips.com>, "Douglas Anderson" <dianders@chromium.org>, "Mark Yao" <mark.yao@rock-chips.com>, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org Subject: [PATCH v3 19/43] drm/bridge: analogix_dp: Ensure edp is disabled when shutting down the panel Date: Tue, 30 Jan 2018 21:28:49 +0100 [thread overview] Message-ID: <20180130202913.28724-20-thierry.escande@collabora.com> (raw) In-Reply-To: <20180130202913.28724-1-thierry.escande@collabora.com> From: Lin Huang <hl@rock-chips.com> When panel is shut down, we should make sure edp can be disabled to avoid undefined behavior. Cc: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Lin Huang <hl@rock-chips.com> Signed-off-by: zain wang <wzz@rock-chips.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Thierry Escande <thierry.escande@collabora.com> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index c940a5bb80ac..fa4ef28e286f 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1161,6 +1161,12 @@ static int analogix_dp_set_bridge(struct analogix_dp_device *dp) pm_runtime_get_sync(dp->dev); + ret = clk_prepare_enable(dp->clock); + if (ret < 0) { + DRM_ERROR("Failed to prepare_enable the clock clk [%d]\n", ret); + goto out_dp_clk_pre; + } + if (dp->plat_data->power_on) dp->plat_data->power_on(dp->plat_data); @@ -1192,6 +1198,8 @@ static int analogix_dp_set_bridge(struct analogix_dp_device *dp) phy_power_off(dp->phy); if (dp->plat_data->power_off) dp->plat_data->power_off(dp->plat_data); + clk_disable_unprepare(dp->clock); +out_dp_clk_pre: pm_runtime_put_sync(dp->dev); return ret; @@ -1235,10 +1243,13 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge) disable_irq(dp->irq); phy_power_off(dp->phy); + analogix_dp_set_analog_power_down(dp, POWER_ALL, 1); if (dp->plat_data->power_off) dp->plat_data->power_off(dp->plat_data); + clk_disable_unprepare(dp->clock); + pm_runtime_put_sync(dp->dev); ret = analogix_dp_prepare_panel(dp, false, true); -- 2.14.1
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Escande <thierry.escande-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org> To: Archit Taneja <architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>, Inki Dae <inki.dae-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>, Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Sandy Huang <hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org>, Sean Paul <seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>, David Airlie <airlied-cv59FeDIM0c@public.gmane.org>, Tomasz Figa <tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>, Enric Balletbo i Serra <enric.balletbo-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org> Cc: "Zain Wang" <wzz-TNX95d0MmH7DzftRWevZcw@public.gmane.org>, "Lin Huang" <hl-TNX95d0MmH7DzftRWevZcw@public.gmane.org>, "Douglas Anderson" <dianders-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, "Yakir Yang" <ykk-TNX95d0MmH7DzftRWevZcw@public.gmane.org>, "Ørjan Eide" <orjan.eide-5wv7dgnIgG8@public.gmane.org>, "Mark Yao" <mark.yao-TNX95d0MmH7DzftRWevZcw@public.gmane.org>, "Haixia Shi" <hshi-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Subject: [PATCH v3 19/43] drm/bridge: analogix_dp: Ensure edp is disabled when shutting down the panel Date: Tue, 30 Jan 2018 21:28:49 +0100 [thread overview] Message-ID: <20180130202913.28724-20-thierry.escande@collabora.com> (raw) In-Reply-To: <20180130202913.28724-1-thierry.escande-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org> From: Lin Huang <hl@rock-chips.com> When panel is shut down, we should make sure edp can be disabled to avoid undefined behavior. Cc: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Lin Huang <hl@rock-chips.com> Signed-off-by: zain wang <wzz@rock-chips.com> Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Thierry Escande <thierry.escande@collabora.com> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com> --- drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c index c940a5bb80ac..fa4ef28e286f 100644 --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1161,6 +1161,12 @@ static int analogix_dp_set_bridge(struct analogix_dp_device *dp) pm_runtime_get_sync(dp->dev); + ret = clk_prepare_enable(dp->clock); + if (ret < 0) { + DRM_ERROR("Failed to prepare_enable the clock clk [%d]\n", ret); + goto out_dp_clk_pre; + } + if (dp->plat_data->power_on) dp->plat_data->power_on(dp->plat_data); @@ -1192,6 +1198,8 @@ static int analogix_dp_set_bridge(struct analogix_dp_device *dp) phy_power_off(dp->phy); if (dp->plat_data->power_off) dp->plat_data->power_off(dp->plat_data); + clk_disable_unprepare(dp->clock); +out_dp_clk_pre: pm_runtime_put_sync(dp->dev); return ret; @@ -1235,10 +1243,13 @@ static void analogix_dp_bridge_disable(struct drm_bridge *bridge) disable_irq(dp->irq); phy_power_off(dp->phy); + analogix_dp_set_analog_power_down(dp, POWER_ALL, 1); if (dp->plat_data->power_off) dp->plat_data->power_off(dp->plat_data); + clk_disable_unprepare(dp->clock); + pm_runtime_put_sync(dp->dev); ret = analogix_dp_prepare_panel(dp, false, true); -- 2.14.1 _______________________________________________ Linux-rockchip mailing list Linux-rockchip@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2018-01-30 20:29 UTC|newest] Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <CGME20180131083447epcas3p3633663f2f88e637ffe54ab8307ce5d14@epcas3p3.samsung.com> 2018-01-30 20:28 ` [PATCH v3 00/43] DRM Rockchip rk3399 (Kevin) Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 01/43] drm/rockchip: Get rid of unnecessary struct fields Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-02-18 10:50 ` Heiko Stuebner 2018-01-30 20:28 ` [PATCH v3 02/43] drm/rockchip: support prime import sg table Thierry Escande 2018-02-18 10:51 ` Heiko Stuebner 2018-01-30 20:28 ` [PATCH v3 03/43] drm/rockchip: Respect page offset for PRIME mmap calls Thierry Escande 2018-02-18 10:53 ` Heiko Stuebner 2018-01-30 20:28 ` [PATCH v3 04/43] drm/bridge: analogix_dp: set psr activate/deactivate when enable/disable bridge Thierry Escande 2018-01-30 20:28 ` [PATCH v3 05/43] drm/bridge: analogix_dp: Don't power bridge in analogix_dp_bind Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-02-28 14:37 ` Heiko Stübner 2018-02-28 14:37 ` Heiko Stübner 2018-02-28 14:54 ` Marc Zyngier 2018-02-28 14:56 ` Heiko Stübner 2018-02-28 14:56 ` Heiko Stübner 2018-02-28 15:20 ` Heiko Stübner 2018-02-28 15:20 ` Heiko Stübner 2018-03-01 8:19 ` Marek Szyprowski 2018-03-01 8:19 ` Marek Szyprowski 2018-03-01 13:37 ` Marek Szyprowski 2018-03-01 13:37 ` Marek Szyprowski 2018-01-30 20:28 ` [PATCH v3 06/43] drm/rockchip: Don't use atomic constructs for psr Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 07/43] drm/bridge: analogix_dp: detect Sink PSR state after configuring the PSR Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 08/43] drm/rockchip: Remove analogix psr worker Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 09/43] drm/bridge: analogix_dp: Don't change psr while bridge is disabled Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 10/43] drm/rockchip: add mutex vop lock Thierry Escande 2018-01-30 20:28 ` [PATCH v3 11/43] drm/bridge: analogix_dp: add fast link train for eDP Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 12/43] drm/rockchip: Only wait for panel ACK on PSR entry Thierry Escande 2018-01-30 20:28 ` [PATCH v3 13/43] drm/bridge: analogix_dp: Move enable video into config_video() Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 14/43] drm/bridge: analogix_dp: Check AUX_EN status when doing AUX transfer Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 15/43] drm/bridge: analogix_dp: Don't use fast link training when panel just powered up Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 16/43] drm/bridge: analogix_dp: Retry bridge enable when it failed Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 17/43] drm/bridge: analogix_dp: Wait for HPD signal before configuring link Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 18/43] drm/bridge: analogix_dp: Set PD_INC_BG first when powering up edp phy Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` Thierry Escande [this message] 2018-01-30 20:28 ` [PATCH v3 19/43] drm/bridge: analogix_dp: Ensure edp is disabled when shutting down the panel Thierry Escande 2018-01-30 20:28 ` [PATCH v3 20/43] drm/bridge: analogix_dp: Extend hpd check time to 100ms Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 21/43] drm/bridge: analogix_dp: Fix incorrect usage of enhanced mode Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 22/43] drm/bridge: analogix_dp: Check dpcd write/read status Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 23/43] drm/bridge: analogix_dp: Fix AUX_PD bit for Rockchip Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 24/43] drm/bridge: analogix_dp: Reset aux channel if an error occurred Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 25/43] drm/rockchip: Restore psr->state when enable/disable psr failed Thierry Escande 2018-01-30 20:28 ` [PATCH v3 26/43] drm/bridge: analogix_dp: Don't use ANALOGIX_DP_PLL_CTL to control pll Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 27/43] drm/bridge: analogix_dp: Fix timeout of video streamclk config Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 28/43] drm/bridge: analogix_dp: Fix incorrect operations with register ANALOGIX_DP_FUNC_EN_1 Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:28 ` [PATCH v3 29/43] drm/bridge: analogix_dp: Move fast link training detect to set_bridge Thierry Escande 2018-01-30 20:28 ` Thierry Escande 2018-01-30 20:29 ` [PATCH v3 30/43] drm/bridge: analogix_dp: Reorder plat_data->power_off to happen sooner Thierry Escande 2018-01-30 20:29 ` Thierry Escande 2018-01-30 20:29 ` [PATCH v3 31/43] drm/bridge: analogix_dp: Properly log AUX CH errors Thierry Escande 2018-01-30 20:29 ` [PATCH v3 32/43] drm/bridge: analogix_dp: Properly disable aux chan retries on rockchip Thierry Escande 2018-01-30 20:29 ` Thierry Escande 2018-01-30 20:29 ` [PATCH v3 33/43] drm/panel: simple: Change mode for Sharp lq123p1jx31 Thierry Escande 2018-01-30 20:29 ` Thierry Escande 2018-01-31 12:54 ` Lucas Stach 2018-01-31 12:54 ` Lucas Stach 2018-01-31 15:16 ` Sean Paul 2018-01-31 15:16 ` Sean Paul 2018-01-31 16:52 ` Doug Anderson 2018-01-31 16:52 ` Doug Anderson 2018-02-16 12:34 ` Enric Balletbo Serra 2018-02-16 12:34 ` Enric Balletbo Serra 2018-02-16 20:54 ` Doug Anderson 2018-02-16 20:54 ` Doug Anderson 2018-02-19 9:42 ` Enric Balletbo Serra 2018-02-19 9:42 ` Enric Balletbo Serra 2018-01-30 20:29 ` [PATCH v3 34/43] drm/rockchip: pre dither down when output bpc is 8bit Thierry Escande 2018-01-30 20:29 ` Thierry Escande 2018-01-30 20:29 ` [PATCH v3 35/43] drm/bridge: analogix_dp: Split the platform-specific poweron in two parts Thierry Escande 2018-01-30 20:29 ` [PATCH v3 36/43] drm/rockchip: analogix_dp: Do not call Analogix code before bind Thierry Escande 2018-01-30 20:29 ` Thierry Escande 2018-01-30 20:29 ` [PATCH v3 37/43] drm/rockchip: Disable PSR on input events Thierry Escande 2018-01-30 20:29 ` Thierry Escande 2018-01-30 20:29 ` [PATCH v3 38/43] drm/rockchip: Cancel PSR enable work before changing the state Thierry Escande 2018-01-30 20:29 ` [PATCH v3 39/43] drm/rockchip: psr: Avoid redundant calls to .set() callback Thierry Escande 2018-01-30 20:29 ` [PATCH v3 40/43] drm/rockchip: psr: Sanitize semantics of allow/disallow API Thierry Escande 2018-01-30 20:29 ` [PATCH v3 41/43] drm/rockchip: Disable PSR from reboot notifier Thierry Escande 2018-01-30 20:29 ` [PATCH v3 42/43] drm/rockchip: Disallow PSR for the whole atomic commit Thierry Escande 2018-01-30 20:29 ` [PATCH v3 43/43] drm/rockchip: psr: Remove flush by CRTC Thierry Escande 2018-03-01 8:50 ` [PATCH v3 00/43] DRM Rockchip rk3399 (Kevin) Marek Szyprowski 2018-03-01 8:50 ` Marek Szyprowski 2018-03-01 11:06 ` Marek Szyprowski 2018-03-01 11:06 ` Marek Szyprowski 2018-03-01 12:56 ` Marek Szyprowski 2018-03-01 12:56 ` Marek Szyprowski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20180130202913.28724-20-thierry.escande@collabora.com \ --to=thierry.escande@collabora.com \ --cc=airlied@linux.ie \ --cc=architt@codeaurora.org \ --cc=dianders@chromium.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=enric.balletbo@collabora.com \ --cc=hjc@rock-chips.com \ --cc=hl@rock-chips.com \ --cc=hshi@chromium.org \ --cc=inki.dae@samsung.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-rockchip@lists.infradead.org \ --cc=mark.yao@rock-chips.com \ --cc=orjan.eide@arm.com \ --cc=seanpaul@chromium.org \ --cc=tfiga@chromium.org \ --cc=thierry.reding@gmail.com \ --cc=wzz@rock-chips.com \ --cc=ykk@rock-chips.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.