drm/amd/display: program output tf when required
authorDillon Varone <Dillon.Varone@amd.com>
Fri, 18 Nov 2022 01:04:46 +0000 (20:04 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 29 Nov 2022 16:03:38 +0000 (11:03 -0500)
[Description]
Output transfer function must be programmed per pipe as part of a front end
update when the plane changes, or output transfer function changes for a
given plane.

Reviewed-by: Alvin Lee <Alvin.Lee2@amd.com>
Acked-by: Jasdeep Dhillon <jdhillon@amd.com>
Signed-off-by: Dillon Varone <Dillon.Varone@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c

index db57b17061ae41df47a06da613486b387fd44a42..bc4a303cd86472bf14a46443ab08dcb89a608d8d 100644 (file)
@@ -1741,7 +1741,10 @@ static void dcn20_program_pipe(
         * only do gamma programming for powering on, internal memcmp to avoid
         * updating on slave planes
         */
-       if (pipe_ctx->update_flags.bits.enable || pipe_ctx->stream->update_flags.bits.out_tf)
+       if (pipe_ctx->update_flags.bits.enable ||
+                       pipe_ctx->update_flags.bits.plane_changed ||
+                       pipe_ctx->stream->update_flags.bits.out_tf ||
+                       pipe_ctx->plane_state->update_flags.bits.output_tf_change)
                hws->funcs.set_output_transfer_func(dc, pipe_ctx, pipe_ctx->stream);
 
        /* If the pipe has been enabled or has a different opp, we