]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: remove output_tf_change flag
authorMelissa Wen <mwen@igalia.com>
Mon, 1 Sep 2025 21:51:05 +0000 (18:51 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Oct 2025 11:48:33 +0000 (13:48 +0200)
[ Upstream commit 41b1f9fcba62b06195e625bb88c1031102892439 ]

Remove this flag as the driver stopped managing it individually since
commit a4056c2a6344 ("drm/amd/display: use HW hdr mult for brightness
boost"). After some back and forth it was reintroduced as a condition to
`set_output_transfer_func()` in [1]. Without direct management, this
flag only changes value when all surface update flags are set true on
UPDATE_TYPE_FULL with no output TF status meaning.

Fixes: bb622e0c0044 ("drm/amd/display: program output tf when required") [1]
Signed-off-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 752e6f283ec59ae007aa15a93d5a4b2eefa8cec9)
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c

index 7dfbfb18593c12a73b07fe0ac2554ac403177c88..f037f2d83400b9959aa7cf4940bac64af61672dd 100644 (file)
@@ -1292,7 +1292,6 @@ union surface_update_flags {
                uint32_t in_transfer_func_change:1;
                uint32_t input_csc_change:1;
                uint32_t coeff_reduction_change:1;
-               uint32_t output_tf_change:1;
                uint32_t pixel_format_change:1;
                uint32_t plane_size_change:1;
                uint32_t gamut_remap_change:1;
index 454e362ff096aa2648c215908887d94be60245db..c0127d8b5b39618ac0f22dacc7563054caf0f949 100644 (file)
@@ -1990,10 +1990,8 @@ static void dcn20_program_pipe(
         * updating on slave planes
         */
        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 &&
-                       pipe_ctx->plane_state->update_flags.bits.output_tf_change))
+           pipe_ctx->update_flags.bits.plane_changed ||
+           pipe_ctx->stream->update_flags.bits.out_tf)
                hws->funcs.set_output_transfer_func(dc, pipe_ctx, pipe_ctx->stream);
 
        /* If the pipe has been enabled or has a different opp, we
index c4177a9a662facb404c3f252d3bb99244595b3e6..c68d01f3786026f8d2f532a2f63dd5b2674f27a1 100644 (file)
@@ -2289,10 +2289,8 @@ void dcn401_program_pipe(
         * updating on slave planes
         */
        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 &&
-                       pipe_ctx->plane_state->update_flags.bits.output_tf_change))
+           pipe_ctx->update_flags.bits.plane_changed ||
+           pipe_ctx->stream->update_flags.bits.out_tf)
                hws->funcs.set_output_transfer_func(dc, pipe_ctx, pipe_ctx->stream);
 
        /* If the pipe has been enabled or has a different opp, we