From bbfd0d91450f6b13a95fb2bcd1e57951becd2dc4 Mon Sep 17 00:00:00 2001 From: Jonathan Gray Date: Thu, 17 Aug 2023 04:05:17 +0000 Subject: 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(-) (limited to 'sys') 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: -- cgit v1.2.3