drm/amd/display: only fill dirty rectangles when PSR is enabled
authorHamza Mahfooz <hamza.mahfooz@amd.com>
Wed, 9 Nov 2022 17:06:27 +0000 (12:06 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 9 Nov 2022 22:41:42 +0000 (17:41 -0500)
Currently, we are calling fill_dc_dirty_rects() even if PSR isn't
supported by the relevant link in amdgpu_dm_commit_planes(), this is
undesirable especially because when drm.debug is enabled we are printing
messages in fill_dc_dirty_rects() that are only useful for debugging PSR
(and confusing otherwise). So, we can instead limit the filling of dirty
rectangles to only when PSR is enabled.

Reviewed-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index 3db79f0..5114726 100644 (file)
@@ -7684,9 +7684,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
                bundle->surface_updates[planes_count].plane_info =
                        &bundle->plane_infos[planes_count];
 
-               fill_dc_dirty_rects(plane, old_plane_state, new_plane_state,
-                                   new_crtc_state,
-                                   &bundle->flip_addrs[planes_count]);
+               if (acrtc_state->stream->link->psr_settings.psr_feature_enabled)
+                       fill_dc_dirty_rects(plane, old_plane_state,
+                                           new_plane_state, new_crtc_state,
+                                           &bundle->flip_addrs[planes_count]);
 
                /*
                 * Only allow immediate flips for fast updates that don't