]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/amd/display: stop DML2 from removing pipes based on planes
authorMike Katsnelson <mike.katsnelson@amd.com>
Thu, 13 Feb 2025 16:52:32 +0000 (11:52 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Feb 2025 16:45:11 +0000 (11:45 -0500)
commit8adeff83a3b07fa6d0958ed51e1b38ba7469e448
tree0b6e73bbdf6fc82dfcc1c637683b89d150561abe
parent50f040c53ea9b26b32b8cf06724c24a99a6a4498
drm/amd/display: stop DML2 from removing pipes based on planes

[Why]
Transitioning from low to high resolutions at high refresh rates caused grey corruption.
During the transition state, there is a period where plane size is based on low resultion
state and ODM slices are based on high resoultion state, causing the entire plane to be
contained in one ODM slice. DML2 would turn off the pipe for the ODM slice with no plane,
causing an underflow since the pixel rate for the higher resolution cannot be supported on
one pipe. This change stops DML2 from turning off pipes that are mapped to an ODM slice
with no plane. This is possible to do without negative consequences because pipes can now
take the minimum viewport and draw with zero recout size, removing the need to have the
pipe turned off.

[How]
In map_pipes_from_plane(), remove "check" that skips ODM slices that are not covered by
the plane. This prevents the pipes for those ODM slices from being freed.

Reviewed-by: Ovidiu Bunea <ovidiu.bunea@amd.com>
Signed-off-by: Mike Katsnelson <mike.katsnelson@amd.com>
Signed-off-by: Zaeem Mohamed <zaeem.mohamed@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dml2/dml2_dc_resource_mgmt.c