]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Allow DCN301 to clear update flags
authorIvan Lipski <ivan.lipski@amd.com>
Thu, 17 Jul 2025 17:58:35 +0000 (13:58 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:41:43 +0000 (18:41 +0200)
commit 2d418e4fd9f1eca7dfce80de86dd702d36a06a25 upstream.

[Why & How]
Not letting DCN301 to clear after surface/stream update results
in artifacts when switching between active overlay planes. The issue
is known and has been solved initially. See below:
(https://gitlab.freedesktop.org/drm/amd/-/issues/3441)

Fixes: f354556e29f4 ("drm/amd/display: limit clear_update_flags t dcn32 and above")
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Ivan Lipski <ivan.lipski@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/dc/core/dc.c

index 943ebd5c79e3e36a34d9d2b22f99c885216fded0..0017e9991670bd43b3657199fd05b2cc05fdf6b7 100644 (file)
@@ -5439,7 +5439,8 @@ bool dc_update_planes_and_stream(struct dc *dc,
        else
                ret = update_planes_and_stream_v2(dc, srf_updates,
                        surface_count, stream, stream_update);
-       if (ret && dc->ctx->dce_version >= DCN_VERSION_3_2)
+       if (ret && (dc->ctx->dce_version >= DCN_VERSION_3_2 ||
+               dc->ctx->dce_version == DCN_VERSION_3_01))
                clear_update_flags(srf_updates, surface_count, stream);
 
        return ret;