| From 0d4cd5a4fc1ee7d8da948e01009129fded554498 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 26 Sep 2024 17:29:09 +0800 |
| Subject: drm/bridge: it6505: Drop EDID cache on bridge power off |
| |
| From: Pin-yen Lin <treapking@chromium.org> |
| |
| [ Upstream commit 574c558ddb68591c9a4b7a95e45e935ab22c0fc6 ] |
| |
| 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: 11feaef69d0c ("drm/bridge: it6505: Add caching for EDID") |
| 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-3-treapking@chromium.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/bridge/ite-it6505.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| diff --git a/drivers/gpu/drm/bridge/ite-it6505.c b/drivers/gpu/drm/bridge/ite-it6505.c |
| index 87b8545fccc0a..e3a9832c742cb 100644 |
| --- a/drivers/gpu/drm/bridge/ite-it6505.c |
| +++ b/drivers/gpu/drm/bridge/ite-it6505.c |
| @@ -3107,6 +3107,8 @@ static __maybe_unused int it6505_bridge_suspend(struct device *dev) |
| { |
| struct it6505 *it6505 = dev_get_drvdata(dev); |
| |
| + it6505_remove_edid(it6505); |
| + |
| return it6505_poweroff(it6505); |
| } |
| |
| -- |
| 2.43.0 |
| |