Skip to content

Commit 83f7774

Browse files
peter50216robertfoss
authored andcommitted
drm/bridge: anx7625: Synchronously run runtime suspend.
Originally when using pm_runtime_put, there's a chance that the runtime suspend hook will be run after the following anx7625_bridge_mode_set call, resulting in the display_timing_valid field to be cleared, and the following power on fail. Change all pm_runtime_put to pm_runtime_put_sync, so all power off operations are guaranteed to be done after the call returns. Fixes: 55ca8f1 ("drm/bridge: anx7625: refactor power control to use runtime PM framework") Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org> Tested-by: Tzung-Bi Shih <tzungbi@google.com> Reviewed-by: Robert Foss <robert.foss@linaro.org> Signed-off-by: Robert Foss <robert.foss@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20210520064508.3121211-1-pihsun@chromium.org
1 parent d91b010 commit 83f7774

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/gpu/drm/bridge/analogix/anx7625.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1255,7 +1255,7 @@ static struct edid *anx7625_get_edid(struct anx7625_data *ctx)
12551255

12561256
pm_runtime_get_sync(dev);
12571257
edid_num = sp_tx_edid_read(ctx, p_edid->edid_raw_data);
1258-
pm_runtime_put(dev);
1258+
pm_runtime_put_sync(dev);
12591259

12601260
if (edid_num < 1) {
12611261
DRM_DEV_ERROR(dev, "Fail to read EDID: %d\n", edid_num);
@@ -1573,7 +1573,7 @@ static void anx7625_bridge_disable(struct drm_bridge *bridge)
15731573

15741574
anx7625_dp_stop(ctx);
15751575

1576-
pm_runtime_put(dev);
1576+
pm_runtime_put_sync(dev);
15771577
}
15781578

15791579
static enum drm_connector_status

0 commit comments

Comments
 (0)