| From cb93b8a2ceb57b5b8c58fff43b0262714a67d4b1 Mon Sep 17 00:00:00 2001 |
| From: David Francis <David.Francis@amd.com> |
| Date: Mon, 4 Mar 2019 10:31:31 -0500 |
| Subject: drm/amd/display: Update ABM crtc state on non-modeset |
| |
| [ Upstream commit b05e2c5e81f9a0be4a145e0926b1dfe62f6347d4 ] |
| |
| [Why] |
| Somewhere in the atomic check reshuffle ABM got lost. |
| ABM is a crtc property (copied from a connector property). |
| It can change without a modeset, just like underscan. |
| |
| [How] |
| In the skip_modeset branch of atomic check crtc updates, |
| copy over the abm property. |
| |
| Signed-off-by: David Francis <David.Francis@amd.com> |
| Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com> |
| Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@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.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |
| index 66f19d1864b17..c212bff457eec 100644 |
| --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |
| +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |
| @@ -5661,6 +5661,9 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm, |
| update_stream_scaling_settings( |
| &new_crtc_state->mode, dm_new_conn_state, dm_new_crtc_state->stream); |
| |
| + /* ABM settings */ |
| + dm_new_crtc_state->abm_level = dm_new_conn_state->abm_level; |
| + |
| /* |
| * Color management settings. We also update color properties |
| * when a modeset is needed, to ensure it gets reprogrammed. |
| -- |
| 2.20.1 |
| |