aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd
diff options
context:
space:
mode:
authorBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>2017-10-16 15:51:00 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-12-04 16:41:28 -0500
commitbfe1708c80d5d7cf08b7907b1850d2d3bf688db2 (patch)
tree6ddd5dd449db760e8cedc381d97997cfcd5bdedb /drivers/gpu/drm/amd
parent0858a8f2047007fdb6a50339d72226fa1e242fa2 (diff)
drm/amd/display: Atomic freesync ASSERT fix
Changes to atomic set property for freesync. Now In set property, just set the freesync variables and return 0. Based on the variables call mod_freesync_set_user_enable() inside commit_tail Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd')
-rw-r--r--drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c27
1 files changed, 27 insertions, 0 deletions
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 b2359bc4900d..e99ba554f5b9 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -4154,6 +4154,33 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
4154 mod_freesync_add_stream(adev->dm.freesync_module, 4154 mod_freesync_add_stream(adev->dm.freesync_module,
4155 new_stream, &aconnector->caps); 4155 new_stream, &aconnector->caps);
4156 } 4156 }
4157
4158 list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
4159
4160 struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc);
4161 struct amdgpu_dm_connector *aconnector = NULL;
4162 struct dm_connector_state *conn_state = NULL;
4163 struct dm_crtc_state *acrtc_state = NULL;
4164
4165 acrtc_state = to_dm_crtc_state(acrtc->base.state);
4166
4167
4168 aconnector =
4169 amdgpu_dm_find_first_crtc_matching_connector(
4170 state,
4171 crtc,
4172 false);
4173 if (aconnector) {
4174 conn_state = to_dm_connector_state(aconnector->base.state);
4175
4176 if (new_stream) {
4177 mod_freesync_set_user_enable(adev->dm.freesync_module,
4178 &acrtc_state->stream,
4179 1,
4180 &conn_state->user_enable);
4181 }
4182 }
4183 }
4157 } 4184 }
4158 4185
4159 if (dm_state->context) 4186 if (dm_state->context)