summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Chen <ian.chen@amd.com>2025-11-13 13:07:58 +0800
committerAlex Deucher <alexander.deucher@amd.com>2025-12-02 11:01:22 -0500
commit54da09c768ebe85efa043ad0d0695d0ee374c2d7 (patch)
tree3d1154782a3d2e61432760d22344d2bdd3d16f16
parent5fdd03c7e2ec19476d7598e5604c09ca4062764b (diff)
drm/amd/display: fix Smart Power OLED not working after S4
[HOW] Before enable smart power OLED, we need to call set pipe to let DMUB get correct ABM config. Reviewed-by: Robin Chen <robin.chen@amd.com> Signed-off-by: Ian Chen <ian.chen@amd.com> Signed-off-by: Roman Li <roman.li@amd.com> Tested-by: Dan Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 5b8b55c1dc68..8be9cbd43e18 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -6012,6 +6012,12 @@ bool dc_smart_power_oled_enable(const struct dc_link *link, bool enable, uint16_
if (pipe_ctx)
otg_inst = pipe_ctx->stream_res.tg->inst;
+ // before enable smart power OLED, we need to call set pipe for DMUB to set ABM config
+ if (enable) {
+ if (dc->hwss.set_pipe && pipe_ctx)
+ dc->hwss.set_pipe(pipe_ctx);
+ }
+
// fill in cmd
memset(&cmd, 0, sizeof(cmd));