[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <b8675afb-a674-e4c9-4030-d527d0e5c456@samsung.com>
Date: Thu, 01 Mar 2018 09:19:54 +0100
From: Marek Szyprowski <m.szyprowski@...sung.com>
To: Heiko Stübner <heiko@...ech.de>,
linux-rockchip@...ts.infradead.org
Cc: 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>,
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,
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 Heiko,
Thanks for adding me to this thread.
On 2018-02-28 16:20, Heiko Stübner wrote:
> Am Dienstag, 30. Januar 2018, 21:28:35 CET schrieb Thierry Escande:
>> 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);
> In general, this patch seems to also create the opposite than
> "drm/bridge: analogix_dp: Keep PHY powered between driver bind/unbind" [0]
>
> posted on monday?
>
> [0] https://patchwork.kernel.org/patch/10242493/
Well, my patch was a quick workaround to avoid board freeze.
This patch looks like a proper fix. Besides removing runtime pm and phy
power calls from dp_bind, it also removes dp register access done in
analogix_dp_init_dp, as there is really no need to touch registers in bind
operation.
The patchset however suffers from other issues on Exynos hardware. I
will post
them in that thread.
Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland
Powered by blists - more mailing lists