summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPin-yen Lin <treapking@chromium.org>2024-09-26 12:29:08 +0300
committerDouglas Anderson <dianders@chromium.org>2024-10-03 23:23:51 +0300
commit00ae002116a14c2e6a342c4c9ae080cdbb9b4b21 (patch)
tree12119f4bdfbe58c08742433d47d7e0c4bb30af42
parent231bb9b4c42398db3114c087ba39ba00c4b7ac2c (diff)
downloadlinux-00ae002116a14c2e6a342c4c9ae080cdbb9b4b21.tar.xz
drm/bridge: anx7625: Drop EDID cache on bridge power off
The bridge might miss the display change events when it's powered off. This happens when a user changes the external monitor when the system is suspended and the embedded controller doesn't not wake AP up. It's also observed that one DP-to-HDMI bridge doesn't work correctly when there is no EDID read after it is powered on. Drop the cache to force an EDID read after system resume to fix this. Fixes: 8bdfc5dae4e3 ("drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP") Signed-off-by: Pin-yen Lin <treapking@chromium.org> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240926092931.3870342-2-treapking@chromium.org
-rw-r--r--drivers/gpu/drm/bridge/analogix/anx7625.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/bridge/analogix/anx7625.c b/drivers/gpu/drm/bridge/analogix/anx7625.c
index a2e9bb485c36..a2675b121fe4 100644
--- a/drivers/gpu/drm/bridge/analogix/anx7625.c
+++ b/drivers/gpu/drm/bridge/analogix/anx7625.c
@@ -2551,6 +2551,8 @@ static int __maybe_unused anx7625_runtime_pm_suspend(struct device *dev)
mutex_lock(&ctx->lock);
anx7625_stop_dp_work(ctx);
+ if (!ctx->pdata.panel_bridge)
+ anx7625_remove_edid(ctx);
anx7625_power_standby(ctx);
mutex_unlock(&ctx->lock);