diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0539-drm-amd-dal-Fix-engine_id-usage-in-update_mst_stream.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0539-drm-amd-dal-Fix-engine_id-usage-in-update_mst_stream.patch | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0539-drm-amd-dal-Fix-engine_id-usage-in-update_mst_stream.patch b/common/recipes-kernel/linux/files/0539-drm-amd-dal-Fix-engine_id-usage-in-update_mst_stream.patch new file mode 100644 index 00000000..3adb8452 --- /dev/null +++ b/common/recipes-kernel/linux/files/0539-drm-amd-dal-Fix-engine_id-usage-in-update_mst_stream.patch @@ -0,0 +1,74 @@ +From 2205d2e6213fc8890b47a8e1b1d7bddeaddf3e41 Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Mon, 30 Nov 2015 16:06:40 -0500 +Subject: [PATCH 0539/1110] drm/amd/dal: Fix engine_id usage in + update_mst_stream_allocation_table + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c | 14 +++++++++++--- + 1 file changed, 11 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c +index bd3962e..91796ac 100644 +--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c ++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_link_encoder.c +@@ -26,6 +26,7 @@ + #include "dal_services.h" + #include "core_types.h" + #include "link_encoder_types.h" ++#include "stream_encoder_types.h" + #include "dce110_link_encoder.h" + #include "i2caux_interface.h" + #include "dce/dce_11_0_d.h" +@@ -1594,6 +1595,7 @@ void dce110_link_encoder_update_mst_stream_allocation_table( + uint32_t value0; + uint32_t value1; + uint32_t retries = 0; ++ struct core_stream *core_stream = NULL; + + /* For CZ, there are only 3 pipes. So Virtual channel is up 3.*/ + +@@ -1605,9 +1607,11 @@ void dce110_link_encoder_update_mst_stream_allocation_table( + value1 = dal_read_reg(enc->ctx, mmDP_MSE_SAT1 + addr_offset); + + if (table->stream_count >= 1) { ++ core_stream = DC_STREAM_TO_CORE(table->stream_allocations[0].engine); ++ + set_reg_field_value( + value0, +- table->stream_allocations[0].engine, ++ core_stream->stream_enc->id, + DP_MSE_SAT0, + DP_MSE_SAT_SRC0); + +@@ -1619,9 +1623,11 @@ void dce110_link_encoder_update_mst_stream_allocation_table( + } + + if (table->stream_count >= 2) { ++ core_stream = DC_STREAM_TO_CORE(table->stream_allocations[1].engine); ++ + set_reg_field_value( + value0, +- table->stream_allocations[1].engine, ++ core_stream->stream_enc->id, + DP_MSE_SAT0, + DP_MSE_SAT_SRC1); + +@@ -1633,9 +1639,11 @@ void dce110_link_encoder_update_mst_stream_allocation_table( + } + + if (table->stream_count >= 3) { ++ core_stream = DC_STREAM_TO_CORE(table->stream_allocations[2].engine); ++ + set_reg_field_value( + value1, +- table->stream_allocations[2].engine, ++ core_stream->stream_enc->id, + DP_MSE_SAT1, + DP_MSE_SAT_SRC2); + +-- +2.7.4 + |