drm/amd/display: Avoid ABM when ODM combine is enabled for eDP
authorjsg <jsg@openbsd.org>
Thu, 17 Aug 2023 04:05:16 +0000 (04:05 +0000)
committerjsg <jsg@openbsd.org>
Thu, 17 Aug 2023 04:05:16 +0000 (04:05 +0000)
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

index 5d0a44e..8c98430 100644 (file)
@@ -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: