summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/bridge/analogix/analogix_dp_core.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
index 907846f88d14..c34d716aa64c 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
@@ -861,14 +861,10 @@ static int analogix_dp_loader_protect(struct drm_connector *connector, bool on)
if (dp->plat_data->panel)
drm_panel_loader_protect(dp->plat_data->panel, on);
-
- if (on) {
+ if (on)
pm_runtime_get_sync(dp->dev);
- phy_power_on(dp->phy);
- } else {
- phy_power_off(dp->phy);
+ else
pm_runtime_put(dp->dev);
- }
return 0;
}
@@ -1213,7 +1209,7 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
dp->phy = devm_phy_get(dp->dev, "dp");
if (IS_ERR(dp->phy)) {
- dev_dbg(dp->dev, "no DP phy configured\n");
+ dev_err(dp->dev, "no DP phy configured\n");
ret = PTR_ERR(dp->phy);
if (ret) {
/*
@@ -1260,6 +1256,8 @@ analogix_dp_bind(struct device *dev, struct drm_device *drm_dev,
return ERR_PTR(-ENODEV);
}
+ phy_power_on(dp->phy);
+
if (dp->plat_data->panel) {
if (drm_panel_prepare(dp->plat_data->panel)) {
DRM_ERROR("failed to setup the panel\n");