diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0721-drm-amd-display-Move-pix_clk_params-into-stream_res.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/0721-drm-amd-display-Move-pix_clk_params-into-stream_res.patch | 253 |
1 files changed, 253 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0721-drm-amd-display-Move-pix_clk_params-into-stream_res.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0721-drm-amd-display-Move-pix_clk_params-into-stream_res.patch new file mode 100644 index 00000000..0d716a51 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/0721-drm-amd-display-Move-pix_clk_params-into-stream_res.patch @@ -0,0 +1,253 @@ +From c4effccb825332a6b6725f30526c2d7eb9642dea Mon Sep 17 00:00:00 2001 +From: Harry Wentland <harry.wentland@amd.com> +Date: Sun, 30 Jul 2017 15:17:43 -0400 +Subject: [PATCH 0721/4131] drm/amd/display: Move pix_clk_params into + stream_res + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i +'s/pipes->pix_clk_params/pipes->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i +'s/pipe_with_clk_src->pix_clk_params/pipe_with_clk_src->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i +'s/ctx->pix_clk_params->/ctx->stream_res\.pix_clk_params->/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i 's/pipe->pix_clk_params/pipe->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i +'s/pipe_ctx->pix_clk_params/pipe_ctx->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/pipe_ctx\[pipe_offset\]\.pix_clk_params/pipe_ctx\[pipe_offset\]\.stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/grouped_pipes\[i\]->pix_clk_params/grouped_pipes\[i\]->stream_^Cs\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/grouped_pipes\[0\]->pix_clk_params/grouped_pipes\[0\]->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/grouped_pipes\[1\]->pix_clk_params/grouped_pipes\[1\]->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/pipe_ctx\[i\]->pix_clk_params/pipe_ctx\[i\]->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/pipe_ctx_old->pix_clk_params/pipe_ctx_old->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/pipe_set\[j\]->pix_clk_params/pipe_set\[j\]->stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/pipe_ctx\[i\]\.pix_clk_params/pipe_ctx\[i\]\.stream_res\.pix_clk_params/g' + +find -name Makefile -o -name Kconfig -o -name "*.c" -o -name "*.h" \ +-o -name "*.cpp" -o -name "*.hpp" | \ +xargs sed -i \ +'s/pipes\[i\]\.pix_clk_params/pipes\[i\]\.stream_res\.pix_clk_params/g' + +Signed-off-by: Harry Wentland <harry.wentland@amd.com> +Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> +Acked-by: Harry Wentland <Harry.Wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 ++-- + drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c | 4 ++-- + .../gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c | 14 +++++++------- + drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 4 ++-- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 4 ++-- + drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 4 ++-- + drivers/gpu/drm/amd/display/dc/inc/core_types.h | 3 ++- + 7 files changed, 19 insertions(+), 18 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +index 9665fc1..1279eb1 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -1620,8 +1620,8 @@ static struct fixed31_32 get_pbn_from_timing(struct pipe_ctx *pipe_ctx) + uint32_t numerator; + uint32_t denominator; + +- bpc = get_color_depth(pipe_ctx->pix_clk_params.color_depth); +- kbps = pipe_ctx->pix_clk_params.requested_pix_clk * bpc * 3; ++ bpc = get_color_depth(pipe_ctx->stream_res.pix_clk_params.color_depth); ++ kbps = pipe_ctx->stream_res.pix_clk_params.requested_pix_clk * bpc * 3; + + /* + * margin 5300ppm + 300ppm ~ 0.6% as per spec, factor is 1.006 +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c +index 7d52c6c..8225687 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_hwss.c +@@ -77,11 +77,11 @@ void dp_enable_link_phy( + if (pipes[i].clock_source != NULL && + pipes[i].clock_source->id != CLOCK_SOURCE_ID_DP_DTO) { + pipes[i].clock_source = dp_cs; +- pipes[i].pix_clk_params.requested_pix_clk = ++ pipes[i].stream_res.pix_clk_params.requested_pix_clk = + pipes[i].stream->timing.pix_clk_khz; + pipes[i].clock_source->funcs->program_pix_clk( + pipes[i].clock_source, +- &pipes[i].pix_clk_params, ++ &pipes[i].stream_res.pix_clk_params, + &pipes[i].pll_settings); + } + } +diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c +index ef5d496..93161a9 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c ++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c +@@ -870,20 +870,20 @@ static void build_audio_output( + stream->timing.display_color_depth; + + audio_output->crtc_info.requested_pixel_clock = +- pipe_ctx->pix_clk_params.requested_pix_clk; ++ pipe_ctx->stream_res.pix_clk_params.requested_pix_clk; + + audio_output->crtc_info.calculated_pixel_clock = +- pipe_ctx->pix_clk_params.requested_pix_clk; ++ pipe_ctx->stream_res.pix_clk_params.requested_pix_clk; + + /*for HDMI, audio ACR is with deep color ratio factor*/ + if (dc_is_hdmi_signal(pipe_ctx->stream->signal) && + audio_output->crtc_info.requested_pixel_clock == + stream->timing.pix_clk_khz) { +- if (pipe_ctx->pix_clk_params.pixel_encoding == PIXEL_ENCODING_YCBCR420) { ++ if (pipe_ctx->stream_res.pix_clk_params.pixel_encoding == PIXEL_ENCODING_YCBCR420) { + audio_output->crtc_info.requested_pixel_clock = + audio_output->crtc_info.requested_pixel_clock/2; + audio_output->crtc_info.calculated_pixel_clock = +- pipe_ctx->pix_clk_params.requested_pix_clk/2; ++ pipe_ctx->stream_res.pix_clk_params.requested_pix_clk/2; + + } + } +@@ -1003,7 +1003,7 @@ static enum dc_status dce110_prog_pixclk_crtc_otg( + + if (false == pipe_ctx->clock_source->funcs->program_pix_clk( + pipe_ctx->clock_source, +- &pipe_ctx->pix_clk_params, ++ &pipe_ctx->stream_res.pix_clk_params, + &pipe_ctx->pll_settings)) { + BREAK_TO_DEBUGGER(); + return DC_ERROR_UNEXPECTED; +@@ -1425,9 +1425,9 @@ static uint32_t get_max_pixel_clock_for_all_paths( + if (pipe_ctx->top_pipe) + continue; + +- if (pipe_ctx->pix_clk_params.requested_pix_clk > max_pix_clk) ++ if (pipe_ctx->stream_res.pix_clk_params.requested_pix_clk > max_pix_clk) + max_pix_clk = +- pipe_ctx->pix_clk_params.requested_pix_clk; ++ pipe_ctx->stream_res.pix_clk_params.requested_pix_clk; + } + + if (max_pix_clk == 0) +diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c +index 94058ee..c677f98 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c +@@ -748,10 +748,10 @@ static void get_pixel_clock_parameters( + + enum dc_status dce110_resource_build_pipe_hw_param(struct pipe_ctx *pipe_ctx) + { +- get_pixel_clock_parameters(pipe_ctx, &pipe_ctx->pix_clk_params); ++ get_pixel_clock_parameters(pipe_ctx, &pipe_ctx->stream_res.pix_clk_params); + pipe_ctx->clock_source->funcs->get_pix_clk_dividers( + pipe_ctx->clock_source, +- &pipe_ctx->pix_clk_params, ++ &pipe_ctx->stream_res.pix_clk_params, + &pipe_ctx->pll_settings); + resource_build_bit_depth_reduction_params(pipe_ctx->stream, + &pipe_ctx->stream->bit_depth_params); +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +index 16ac963..e698398 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +@@ -703,7 +703,7 @@ static enum dc_status dcn10_prog_pixclk_crtc_otg( + + if (false == pipe_ctx->clock_source->funcs->program_pix_clk( + pipe_ctx->clock_source, +- &pipe_ctx->pix_clk_params, ++ &pipe_ctx->stream_res.pix_clk_params, + &pipe_ctx->pll_settings)) { + BREAK_TO_DEBUGGER(); + return DC_ERROR_UNEXPECTED; +@@ -1910,7 +1910,7 @@ static void update_dchubp_dpp( + enable_dppclk( + dc->hwseq, + pipe_ctx->pipe_idx, +- pipe_ctx->pix_clk_params.requested_pix_clk, ++ pipe_ctx->stream_res.pix_clk_params.requested_pix_clk, + context->bw.dcn.calc_clk.dppclk_div); + dc->current_context->bw.dcn.cur_clk.dppclk_div = + context->bw.dcn.calc_clk.dppclk_div; +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c +index bb9a42d..ff2dcb7 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c +@@ -806,11 +806,11 @@ static void build_clamping_params(struct dc_stream_state *stream) + static enum dc_status build_pipe_hw_param(struct pipe_ctx *pipe_ctx) + { + +- get_pixel_clock_parameters(pipe_ctx, &pipe_ctx->pix_clk_params); ++ get_pixel_clock_parameters(pipe_ctx, &pipe_ctx->stream_res.pix_clk_params); + + pipe_ctx->clock_source->funcs->get_pix_clk_dividers( + pipe_ctx->clock_source, +- &pipe_ctx->pix_clk_params, ++ &pipe_ctx->stream_res.pix_clk_params, + &pipe_ctx->pll_settings); + + pipe_ctx->stream->clamping.pixel_encoding = pipe_ctx->stream->timing.pixel_encoding; +diff --git a/drivers/gpu/drm/amd/display/dc/inc/core_types.h b/drivers/gpu/drm/amd/display/dc/inc/core_types.h +index 6f09653..9688351 100644 +--- a/drivers/gpu/drm/amd/display/dc/inc/core_types.h ++++ b/drivers/gpu/drm/amd/display/dc/inc/core_types.h +@@ -157,6 +157,8 @@ struct stream_resource { + struct timing_generator *tg; + struct stream_encoder *stream_enc; + struct audio *audio; ++ ++ struct pixel_clk_params pix_clk_params; + }; + + struct plane_resource { +@@ -177,7 +179,6 @@ struct pipe_ctx { + struct display_clock *dis_clk; + struct clock_source *clock_source; + +- struct pixel_clk_params pix_clk_params; + struct pll_settings pll_settings; + + /*fmt*/ +-- +2.7.4 + |