[PATCH v3 05/43] drm/bridge: analogix_dp: Don't power bridge in analogix_dp_bind

Marek Szyprowski m.szyprowski at samsung.com
Thu Mar 1 05:37:57 PST 2018


Hi,

On 2018-01-30 21:28, Thierry Escande wrote:
> From: zain wang <wzz at rock-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 at chromium.org>
> Signed-off-by: zain wang <wzz at rock-chips.com>
> Signed-off-by: Caesar Wang <wxt at rock-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 at chromium.org>
> Signed-off-by: Thierry Escande <thierry.escande at collabora.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




More information about the Linux-rockchip mailing list