summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWyon Bi <bivvy.bi@rock-chips.com>2019-01-23 10:32:59 +0800
committerTao Huang <huangtao@rock-chips.com>2019-01-23 11:35:18 +0800
commit35c77451c57e4bee4a1c0a43a719aeb47c1f3e0f (patch)
tree2ec59ca07037684c1ef6c162381118a7f8b0245a
parent2847572fdbdbe8411a89b055739adc7a90b5c01f (diff)
Revert "drm/bridge: analogix_dp: Fix unbalanced phy_power_on"
This reverts commit e82ecb98b4c82448ae8fa215c08074b3ad5a2599. Change-Id: Ice373a612fdd7fa457ca0ce18026128b83edcc1f Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
-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");