]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amd/display: Block timing sync for different signals in PMO
authorDillon Varone <dillon.varone@amd.com>
Thu, 22 Aug 2024 21:52:57 +0000 (17:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 2 Sep 2024 17:13:43 +0000 (13:13 -0400)
PMO assumes that like timings can be synchronized, but DC only allows
this if the signal types match.

Reviewed-by: Austin Zheng <austin.zheng@amd.com>
Signed-off-by: Dillon Varone <dillon.varone@amd.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 29d3d6af43135de7bec677f334292ca8dab53d67)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c

index 603036df68ba5a4c68799e1a1384f9934603a1ff..6547cc2c2a773b143d52024ede0f14375763a5a6 100644 (file)
@@ -811,7 +811,8 @@ static void build_synchronized_timing_groups(
                for (j = i + 1; j < display_config->display_config.num_streams; j++) {
                        if (memcmp(master_timing,
                                &display_config->display_config.stream_descriptors[j].timing,
-                               sizeof(struct dml2_timing_cfg)) == 0) {
+                               sizeof(struct dml2_timing_cfg)) == 0 &&
+                               display_config->display_config.stream_descriptors[i].output.output_encoder == display_config->display_config.stream_descriptors[j].output.output_encoder) {
                                set_bit_in_bitfield(&pmo->scratch.pmo_dcn4.synchronized_timing_group_masks[timing_group_idx], j);
                                set_bit_in_bitfield(&stream_mapped_mask, j);
                        }