[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-id: <9a8ee029-79cf-f07e-0a56-f5a0671588dc@samsung.com>
Date: Thu, 01 Mar 2018 14:37:57 +0100
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Thierry Escande <thierry.escande@...labora.com>,
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>,
Tomasz Figa <tfiga@...omium.org>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>
Cc: Zain Wang <wzz@...k-chips.com>, Lin Huang <hl@...k-chips.com>,
Douglas Anderson <dianders@...omium.org>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-rockchip@...ts.infradead.org,
Yakir Yang <ykk@...k-chips.com>,
Ørjan Eide <orjan.eide@....com>,
Mark Yao <mark.yao@...k-chips.com>,
Haixia Shi <hshi@...omium.org>
Subject: Re: [PATCH v3 05/43] drm/bridge: analogix_dp: Don't power bridge in
analogix_dp_bind
Hi,
On 2018-01-30 21:28, Thierry Escande wrote:
> From: zain wang <wzz@...k-chips.com>
>
> The bridge does not need to be powered in analogix_dp_bind(), so
> remove the calls to pm_runtime_get()/phy_power_on()/analogix_dp_init_dp()
> as well as their power-off counterparts.
>
> Cc: Stéphane Marchesin <marcheu@...omium.org>
> Signed-off-by: zain wang <wzz@...k-chips.com>
> Signed-off-by: Caesar Wang <wxt@...k-chips.com>
> [the patch originally just removed the power_on portion, seanpaul removed
> the power off code as well as improved the commit message]
> Signed-off-by: Sean Paul <seanpaul@...omium.org>
> Signed-off-by: Thierry Escande <thierry.escande@...labora.com>
> ---
> drivers/gpu/drm/bridge/analogix/analogix_dp_core.c | 10 ----------
> 1 file changed, 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> index cb5e18d6ba04..1477ea9ba85d 100644
> --- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> +++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
> @@ -1382,11 +1382,6 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
>
> pm_runtime_enable(dev);
>
> - pm_runtime_get_sync(dev);
> - phy_power_on(dp->phy);
> -
> - analogix_dp_init_dp(dp);
> -
> ret = devm_request_threaded_irq(&pdev->dev, dp->irq,
> analogix_dp_hardirq,
> analogix_dp_irq_thread,
> @@ -1414,15 +1409,10 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
> goto err_disable_pm_runtime;
> }
>
> - phy_power_off(dp->phy);
> - pm_runtime_put(dev);
> -
> return dp;
>
> err_disable_pm_runtime:
>
> - phy_power_off(dp->phy);
> - pm_runtime_put(dev);
> pm_runtime_disable(dev);
>
> return ERR_PTR(ret);
Once this change is applied, there is also no need to keep dp->clock
prepared & enabled between bind/unbind.
analogix_dp_set_bridge() and analogix_dp_bridge_disable() properly manage
dp->clock on their own.
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists