summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJonathan Gray <jsg@cvs.openbsd.org>2023-08-17 04:05:17 +0000
committerJonathan Gray <jsg@cvs.openbsd.org>2023-08-17 04:05:17 +0000
commitbbfd0d91450f6b13a95fb2bcd1e57951becd2dc4 (patch)
treee539d551b81d3233630dae14c915cf02f009fdf5 /sys
parent844a11c508f71bc4765eb4f8d076e9d7a7a9ab38 (diff)
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
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/drm/amd/display/dc/core/amdgpu_dc.c12
1 files changed, 11 insertions, 1 deletions
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: