From: Tomasz Siemek <[email protected]> [why] Only the top pipe had the output transfer function programmed.
[how] Program the current pipe from the MPC chain during fast sequence build. Reviewed-by: Martin Leung <[email protected]> Reviewed-by: Alvin Lee <[email protected]> Signed-off-by: Tomasz Siemek <[email protected]> Signed-off-by: Fangzhi Zuo <[email protected]> Tested-by: Dan Wheeler <[email protected]> --- drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c index 8b54bab98283..11411fa94665 100644 --- a/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c +++ b/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c @@ -1111,7 +1111,7 @@ void hwss_build_fast_sequence(struct dc *dc, (*num_steps)++; } } - if (current_mpc_pipe->stream->update_flags.bits.out_tf) { + if (hws->funcs.set_output_transfer_func && current_mpc_pipe->stream->update_flags.bits.out_tf) { struct set_output_transfer_func_params *otf_params = &block_sequence[*num_steps].params.set_output_transfer_func_params; @@ -1119,7 +1119,7 @@ void hwss_build_fast_sequence(struct dc *dc, otf_params->xfm = current_mpc_pipe->plane_res.xfm; otf_params->mpc = dc->res_pool->mpc; otf_params->mpcc_id = current_mpc_pipe->plane_res.hubp->inst; - otf_params->is_top_pipe = resource_is_pipe_type(pipe_ctx, OPP_HEAD); + otf_params->is_top_pipe = resource_is_pipe_type(current_mpc_pipe, OPP_HEAD); otf_params->stream = current_mpc_pipe->stream; block_sequence[*num_steps].func = DPP_SET_OUTPUT_TRANSFER_FUNC; (*num_steps)++; -- 2.53.0
