]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/amd/display: Defer transitions from minimal state to final state
authorJoshua Aberback <joshua.aberback@amd.com>
Fri, 21 Nov 2025 20:46:17 +0000 (15:46 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 8 Dec 2025 19:22:37 +0000 (14:22 -0500)
commit6b2e9b41b785dc97ae8c9a2c93869e3a710bd6e0
tree3d6c46891d7f63b0179b0a7f5955615756a511b3
parent820b3d376e8a102c6aeab737ec6edebbbb710e04
drm/amd/display: Defer transitions from minimal state to final state

[Why]
In non-seamless pipe transitions, it can take several frames to process
a single flip. One of the reasons is the 2-step transition implementation
where first the minimal transition state is applied, then the final state
is applied, all within the same flip. This delay is noticeable to the user
in some video playback scenarios, which makes for a bad user experience.

[How]
 - in applicable non-seamless cases, complete the flip with the minimal
   state applied, start a counter, and create all new contexts as minimal
 - if another pipe transition occurs while counting, reset the counter
 - when the counter finishes, promote the current flip to a full update
   and restore creation of optimized contexts
 - when creating minimal states from new context, apply stream updates

Reviewed-by: Aric Cyr <aric.cyr@amd.com>
Signed-off-by: Joshua Aberback <joshua.aberback@amd.com>
Signed-off-by: Chenyu Chen <chen-yu.chen@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/core/dc.c
drivers/gpu/drm/amd/display/dc/dc.h