Messages in this thread | | | Subject | Re: [PATCH v3 05/43] drm/bridge: analogix_dp: Don't power bridge in analogix_dp_bind | From | Marek Szyprowski <> | Date | Thu, 01 Mar 2018 14:37:57 +0100 |
| |
Hi,
On 2018-01-30 21:28, Thierry Escande wrote: > From: zain wang <wzz@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@chromium.org> > Signed-off-by: zain wang <wzz@rock-chips.com> > Signed-off-by: Caesar Wang <wxt@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@chromium.org> > Signed-off-by: Thierry Escande <thierry.escande@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
| |