diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0529-drm-amd-dal-reduce-input-for-mem_input_program_surfa.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0529-drm-amd-dal-reduce-input-for-mem_input_program_surfa.patch | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0529-drm-amd-dal-reduce-input-for-mem_input_program_surfa.patch b/common/recipes-kernel/linux/files/0529-drm-amd-dal-reduce-input-for-mem_input_program_surfa.patch new file mode 100644 index 00000000..d06a6164 --- /dev/null +++ b/common/recipes-kernel/linux/files/0529-drm-amd-dal-reduce-input-for-mem_input_program_surfa.patch @@ -0,0 +1,95 @@ +From 16e662ce24e63c45a5070c1391e52d7db0a749b6 Mon Sep 17 00:00:00 2001 +From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Date: Thu, 26 Nov 2015 17:06:19 -0500 +Subject: [PATCH 0529/1110] drm/amd/dal: reduce input for + mem_input_program_surface_config + +Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +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_hw_sequencer.c | 5 ++++- + drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.c | 12 +++++++----- + drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h | 5 ++++- + drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c | 2 +- + 4 files changed, 16 insertions(+), 8 deletions(-) + +diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c +index cb2e3d0..cf893c3 100644 +--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c ++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c +@@ -1624,7 +1624,10 @@ static bool set_plane_config( + + dce110_mem_input_program_surface_config( + mi, +- &surface->public); ++ surface->public.format, ++ &surface->public.tiling_info, ++ &surface->public.plane_size, ++ surface->public.rotation); + + pipe_control_lock( + ctx, +diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.c +index e1d7e27..889c02d 100644 +--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.c ++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.c +@@ -461,15 +461,17 @@ bool dce110_mem_input_program_surface_flip_and_addr( + + bool dce110_mem_input_program_surface_config( + struct mem_input *mem_input, +- const struct dc_surface *surface) ++ enum surface_pixel_format format, ++ union plane_tiling_info *tiling_info, ++ union plane_size *plane_size, ++ enum dc_rotation_angle rotation) + { + struct dce110_mem_input *mem_input110 = TO_DCE110_MEM_INPUT(mem_input); + + enable(mem_input110); +- program_tiling(mem_input110, &surface->tiling_info, surface->format); +- program_size_and_rotation( +- mem_input110, surface->rotation, &surface->plane_size); +- program_pixel_format(mem_input110, surface->format); ++ program_tiling(mem_input110, tiling_info, format); ++ program_size_and_rotation(mem_input110, rotation, plane_size); ++ program_pixel_format(mem_input110, format); + + return true; + } +diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h +index 88697be..7392750 100644 +--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h ++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_mem_input.h +@@ -108,7 +108,10 @@ bool dce110_mem_input_program_surface_flip_and_addr( + */ + bool dce110_mem_input_program_surface_config( + struct mem_input *mem_input, +- const struct dc_surface *surface); ++ enum surface_pixel_format format, ++ union plane_tiling_info *tiling_info, ++ union plane_size *plane_size, ++ enum dc_rotation_angle rotation); + + + #endif +diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c +index ebae5e3..126ebd2 100644 +--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c ++++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_resource.c +@@ -625,11 +625,11 @@ bool dce110_construct_resource_pool( + + for (i = 0; i < pool->stream_enc_count; i++) { + struct stream_enc_init_data enc_init_data = { 0 }; +- /* TODO: rework fragile code*/ + enc_init_data.stream_engine_id = i; + enc_init_data.ctx = dc->ctx; + enc_init_data.bp = dal_adapter_service_get_bios_parser( + adapter_serv); ++ /* TODO: rework fragile code*/ + if (pool->stream_engines.u_all & 1 << i) { + pool->stream_enc[i] = dce110_stream_encoder_create( + &enc_init_data); +-- +2.7.4 + |