]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Avoid configuring PSR granularity if PSR-SU not supported
authorMario Limonciello <mario.limonciello@amd.com>
Sun, 6 Jul 2025 13:38:05 +0000 (08:38 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Aug 2025 16:30:40 +0000 (18:30 +0200)
[ Upstream commit a5ce8695d6d1b40d6960d2d298b579042c158f25 ]

[Why]
If PSR-SU is disabled on the link, then configuring su_y granularity in
mod_power_calc_psr_configs() can lead to assertions in
psr_su_set_dsc_slice_height().

[How]
Check the PSR version in amdgpu_dm_link_setup_psr() to determine whether
or not to configure granularity.

Reviewed-by: Sun peng (Leo) Li <sunpeng.li@amd.com>
Signed-off-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: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c

index e140b7a04d7246952d7b4512ad267113449bd642..d63038ec4ec70c74b3f01af0d3fb93fa30fc5057 100644 (file)
@@ -127,8 +127,10 @@ bool amdgpu_dm_link_setup_psr(struct dc_stream_state *stream)
                psr_config.allow_multi_disp_optimizations =
                        (amdgpu_dc_feature_mask & DC_PSR_ALLOW_MULTI_DISP_OPT);
 
-               if (!psr_su_set_dsc_slice_height(dc, link, stream, &psr_config))
-                       return false;
+               if (link->psr_settings.psr_version == DC_PSR_VERSION_SU_1) {
+                       if (!psr_su_set_dsc_slice_height(dc, link, stream, &psr_config))
+                               return false;
+               }
 
                ret = dc_link_setup_psr(link, stream, &psr_config, &psr_context);