]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/amd/display: Add debug option to skip PSR CRTC disable
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Fri, 25 Nov 2022 16:30:38 +0000 (11:30 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:53:54 +0000 (11:53 +0200)
[ Upstream commit 00812bfc7bcb02faf127ee05f6ac27a5581eb701 ]

[Why]
It's currently tied to Z10 support, and is required for Z10, but
we can still support Z10 display off without PSR.

We currently need to skip the PSR CRTC disable to prevent stuttering
and underflow from occuring during PSR-SU.

[How]
Add a debug option to allow specifying this separately.

Reviewed-by: Robin Chen <robin.chen@amd.com>
Acked-by: Stylon Wang <stylon.wang@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Stable-dep-of: d893f39320e1 ("drm/amd/display: Lowering min Z8 residency time")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/dc/core/dc_link.c
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/dcn314/dcn314_resource.c

index bf7fcd268cb4734f9d2d4de941f402ee085836c8..6299130663a3d7c6e18a39303c0eac26d505b4cf 100644 (file)
@@ -3381,7 +3381,7 @@ bool dc_link_setup_psr(struct dc_link *link,
                case FAMILY_YELLOW_CARP:
                case AMDGPU_FAMILY_GC_10_3_6:
                case AMDGPU_FAMILY_GC_11_0_1:
-                       if (dc->debug.disable_z10)
+                       if (dc->debug.disable_z10 || dc->debug.psr_skip_crtc_disable)
                                psr_context->psr_level.bits.SKIP_CRTC_DISABLE = true;
                        break;
                default:
index 6d64d3b0dc2115d08ec009c2acf26604e2695190..e038a180b941d3336d519b127d4832f785c11f45 100644 (file)
@@ -829,6 +829,7 @@ struct dc_debug_options {
        int crb_alloc_policy_min_disp_count;
        bool disable_z10;
        bool enable_z9_disable_interface;
+       bool psr_skip_crtc_disable;
        union dpia_debug_options dpia_debug;
        bool disable_fixed_vs_aux_timeout_wa;
        bool force_disable_subvp;
index 94a90c8f3abbe6563e4f0275ffb1cc630bd4aab1..58931df853f1e2907e186c2b43822188b86f46a8 100644 (file)
@@ -884,6 +884,7 @@ static const struct dc_plane_cap plane_cap = {
 static const struct dc_debug_options debug_defaults_drv = {
        .disable_z10 = false,
        .enable_z9_disable_interface = true,
+       .psr_skip_crtc_disable = true,
        .disable_dmcu = true,
        .force_abm_enable = false,
        .timing_trace = false,