diff options
author | Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> | 2017-10-16 15:51:00 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-12-04 16:41:28 -0500 |
commit | bfe1708c80d5d7cf08b7907b1850d2d3bf688db2 (patch) | |
tree | 6ddd5dd449db760e8cedc381d97997cfcd5bdedb /drivers/gpu/drm/amd | |
parent | 0858a8f2047007fdb6a50339d72226fa1e242fa2 (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.c | 27 |
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) |