提交 bfe1708c 编写于 作者: B Bhawanpreet Lakha 提交者: Alex Deucher

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: NBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Reviewed-by: NTony Cheng <Tony.Cheng@amd.com>
Acked-by: NHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
上级 0858a8f2
...@@ -4154,6 +4154,33 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) ...@@ -4154,6 +4154,33 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
mod_freesync_add_stream(adev->dm.freesync_module, mod_freesync_add_stream(adev->dm.freesync_module,
new_stream, &aconnector->caps); new_stream, &aconnector->caps);
} }
list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc);
struct amdgpu_dm_connector *aconnector = NULL;
struct dm_connector_state *conn_state = NULL;
struct dm_crtc_state *acrtc_state = NULL;
acrtc_state = to_dm_crtc_state(acrtc->base.state);
aconnector =
amdgpu_dm_find_first_crtc_matching_connector(
state,
crtc,
false);
if (aconnector) {
conn_state = to_dm_connector_state(aconnector->base.state);
if (new_stream) {
mod_freesync_set_user_enable(adev->dm.freesync_module,
&acrtc_state->stream,
1,
&conn_state->user_enable);
}
}
}
} }
if (dm_state->context) if (dm_state->context)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册