From: Ivan Lipski <ivan.lip...@amd.com>

[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: e1bd5e0bb4ca ("drm/amd/display: limit clear_update_flags t dcn32
and above")

Reviewed-by: Mario Limonciello <mario.limoncie...@amd.com>
Signed-off-by: Ivan Lipski <ivan.lip...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index d8e4bdef76a3..cf3893a2f8ce 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -5334,7 +5334,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;
-- 
2.43.0

Reply via email to