drm/amd/display: Use current mpc pipe in set output transfer func

[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 <martin.leung@amd.com>
Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Signed-off-by: Tomasz Siemek <tomasz.siemek@amd.com>
Signed-off-by: Fangzhi Zuo <jerry.zuo@amd.com>
Tested-by: Dan Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Tomasz Siemek 2026-07-15 13:37:52 +02:00 committed by Alex Deucher
parent 563c7e12b9
commit 86507b581f

View File

@ -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)++;