mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-18 06:33:43 -04:00
drm/amd/display: change dc stream color settings only in atomic commit
Don't update DC stream color components during atomic check. The driver will continue validating the new CRTC color state but will not change DC stream color components. The DC stream color state will only be programmed at commit time in the `atomic_setup_commit` stage. It fixes gamma LUT loss reported by KDE users when changing brightness quickly or changing Display settings (such as overscan) with nightlight on and HDR. As KWin can do a test commit with color settings different from those that should be applied in a non-test-only commit, if the driver changes DC stream color state in atomic check, this state can be eventually HW programmed in commit tail, instead of the respective state set by the non-blocking commit. Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4444 Reported-by: Xaver Hugl <xaver.hugl@gmail.com> Signed-off-by: Melissa Wen <mwen@igalia.com> Reviewed-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
2330437da0
commit
51cb93aa0c
@@ -11210,7 +11210,7 @@ skip_modeset:
|
||||
if (dm_new_crtc_state->base.color_mgmt_changed ||
|
||||
dm_old_crtc_state->regamma_tf != dm_new_crtc_state->regamma_tf ||
|
||||
drm_atomic_crtc_needs_modeset(new_crtc_state)) {
|
||||
ret = amdgpu_dm_update_crtc_color_mgmt(dm_new_crtc_state);
|
||||
ret = amdgpu_dm_check_crtc_color_mgmt(dm_new_crtc_state, true);
|
||||
if (ret)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user