Lines Matching refs:kms
20 struct msm_kms *kms = priv->kms; in msm_atomic_prepare_fb() local
27 return msm_framebuffer_prepare(new_state->fb, kms->aspace); in msm_atomic_prepare_fb()
30 static void msm_atomic_async_commit(struct msm_kms *kms, int crtc_idx) in msm_atomic_async_commit() argument
36 mutex_lock(&kms->commit_lock); in msm_atomic_async_commit()
38 if (!(kms->pending_crtc_mask & crtc_mask)) { in msm_atomic_async_commit()
39 mutex_unlock(&kms->commit_lock); in msm_atomic_async_commit()
43 kms->pending_crtc_mask &= ~crtc_mask; in msm_atomic_async_commit()
45 kms->funcs->enable_commit(kms); in msm_atomic_async_commit()
51 kms->funcs->flush_commit(kms, crtc_mask); in msm_atomic_async_commit()
52 mutex_unlock(&kms->commit_lock); in msm_atomic_async_commit()
58 kms->funcs->wait_flush(kms, crtc_mask); in msm_atomic_async_commit()
61 mutex_lock(&kms->commit_lock); in msm_atomic_async_commit()
62 kms->funcs->complete_commit(kms, crtc_mask); in msm_atomic_async_commit()
63 mutex_unlock(&kms->commit_lock); in msm_atomic_async_commit()
64 kms->funcs->disable_commit(kms); in msm_atomic_async_commit()
74 struct msm_drm_private *priv = timer->kms->dev->dev_private; in msm_atomic_pending_timer()
86 msm_atomic_async_commit(timer->kms, timer->crtc_idx); in msm_atomic_pending_work()
90 struct msm_kms *kms, int crtc_idx) in msm_atomic_init_pending_timer() argument
92 timer->kms = kms; in msm_atomic_init_pending_timer()
146 struct msm_kms *kms = priv->kms; in msm_atomic_commit_tail() local
149 bool async = kms->funcs->vsync_time && in msm_atomic_commit_tail()
154 kms->funcs->enable_commit(kms); in msm_atomic_commit_tail()
161 kms->funcs->wait_flush(kms, crtc_mask); in msm_atomic_commit_tail()
164 mutex_lock(&kms->commit_lock); in msm_atomic_commit_tail()
170 kms->funcs->prepare_commit(kms, state); in msm_atomic_commit_tail()
181 &kms->pending_timers[drm_crtc_index(async_crtc)]; in msm_atomic_commit_tail()
190 if (!(kms->pending_crtc_mask & crtc_mask)) { in msm_atomic_commit_tail()
193 kms->pending_crtc_mask |= crtc_mask; in msm_atomic_commit_tail()
195 vsync_time = kms->funcs->vsync_time(kms, async_crtc); in msm_atomic_commit_tail()
202 kms->funcs->disable_commit(kms); in msm_atomic_commit_tail()
203 mutex_unlock(&kms->commit_lock); in msm_atomic_commit_tail()
222 kms->pending_crtc_mask &= ~crtc_mask; in msm_atomic_commit_tail()
228 kms->funcs->flush_commit(kms, crtc_mask); in msm_atomic_commit_tail()
229 mutex_unlock(&kms->commit_lock); in msm_atomic_commit_tail()
235 kms->funcs->wait_flush(kms, crtc_mask); in msm_atomic_commit_tail()
238 mutex_lock(&kms->commit_lock); in msm_atomic_commit_tail()
239 kms->funcs->complete_commit(kms, crtc_mask); in msm_atomic_commit_tail()
240 mutex_unlock(&kms->commit_lock); in msm_atomic_commit_tail()
241 kms->funcs->disable_commit(kms); in msm_atomic_commit_tail()