diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2023-08-17 04:05:17 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2023-08-17 04:05:17 +0000 |
commit | bbfd0d91450f6b13a95fb2bcd1e57951becd2dc4 (patch) | |
tree | e539d551b81d3233630dae14c915cf02f009fdf5 /sys | |
parent | 844a11c508f71bc4765eb4f8d076e9d7a7a9ab38 (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.c | 12 |
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: |