From 5b2a66f6cc39ea1d214d2f0cc54c72d60790c9b9 Mon Sep 17 00:00:00 2001 From: jsg Date: Thu, 17 Aug 2023 04:05:16 +0000 Subject: [PATCH] drm/amd/display: Avoid ABM when ODM combine is enabled for eDP From Rodrigo Siqueira e93ae6e6b6605bfac458950920292311f7cf4a82 in linux-6.1.y/6.1.46 7fffb03b4045c862f904a88b852dc509c4e46406 in mainline linux --- sys/dev/pci/drm/amd/display/dc/core/amdgpu_dc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sys/dev/pci/drm/amd/display/dc/core/amdgpu_dc.c b/sys/dev/pci/drm/amd/display/dc/core/amdgpu_dc.c index 5d0a44e2ef9..8c984300917 100644 --- a/sys/dev/pci/drm/amd/display/dc/core/amdgpu_dc.c +++ b/sys/dev/pci/drm/amd/display/dc/core/amdgpu_dc.c @@ -1996,9 +1996,19 @@ enum dc_status dc_commit_streams(struct dc *dc, res = dc_commit_state_no_check(dc, context); for (i = 0; i < stream_count; i++) { - for (j = 0; j < context->stream_count; j++) + for (j = 0; j < context->stream_count; j++) { if (streams[i]->stream_id == context->streams[j]->stream_id) streams[i]->out.otg_offset = context->stream_status[j].primary_otg_inst; + + if (dc_is_embedded_signal(streams[i]->signal)) { + struct dc_stream_status *status = dc_stream_get_status_from_state(context, streams[i]); + + if (dc->hwss.is_abm_supported) + status->is_abm_supported = dc->hwss.is_abm_supported(dc, context, streams[i]); + else + status->is_abm_supported = true; + } + } } fail: -- 2.20.1