summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/bridge
diff options
context:
space:
mode:
authorPin-yen Lin <treapking@chromium.org>2023-03-15 11:55:07 +0800
committerDouglas Anderson <dianders@chromium.org>2023-03-23 13:55:38 -0700
commit845e730eaf36d2199e25860259611ffda8e07f6c (patch)
tree8922af2493ef5b6e417ddc1af99bcf0605b1bd33 /drivers/gpu/drm/bridge
parent901cdf66e86a9db8443abe3d5c6028975be175df (diff)
downloadlinux-stable-845e730eaf36d2199e25860259611ffda8e07f6c.tar.gz
linux-stable-845e730eaf36d2199e25860259611ffda8e07f6c.tar.bz2
linux-stable-845e730eaf36d2199e25860259611ffda8e07f6c.zip
drm/bridge: ps8640: Skip redundant bridge enable
Skip the drm_bridge_chain_pre_enable call when the bridge is already pre_enabled. This make pre_enable and post_disable (thus pm_runtime_get/put) symmetric. Fixes: 46f206304db0 ("drm/bridge: ps8640: Rework power state handling") Signed-off-by: Pin-yen Lin <treapking@chromium.org> Reviewed-by: Robert Foss <rfoss@kernel.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20230315035508.2874915-1-treapking@chromium.org
Diffstat (limited to 'drivers/gpu/drm/bridge')
-rw-r--r--drivers/gpu/drm/bridge/parade-ps8640.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/bridge/parade-ps8640.c b/drivers/gpu/drm/bridge/parade-ps8640.c
index 4b361d7d5e44..08de501c436e 100644
--- a/drivers/gpu/drm/bridge/parade-ps8640.c
+++ b/drivers/gpu/drm/bridge/parade-ps8640.c
@@ -557,7 +557,8 @@ static struct edid *ps8640_bridge_get_edid(struct drm_bridge *bridge,
* EDID, for this chip, we need to do a full poweron, otherwise it will
* fail.
*/
- drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state);
+ if (poweroff)
+ drm_atomic_bridge_chain_pre_enable(bridge, connector->state->state);
edid = drm_get_edid(connector,
ps_bridge->page[PAGE0_DP_CNTL]->adapter);