]> 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>
Thu, 28 Aug 2025 14:28:25 +0000 (16:28 +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 fe96bab7d05d7bc8a71e864ba3c1fb2a54ca7d6d..67972d25366e59fc332b265076c4f77d3f48c9de 100644 (file)
@@ -124,8 +124,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);