Lines Matching refs:crtc_mask

21 static void vblank_get(struct msm_kms *kms, unsigned crtc_mask)  in vblank_get()  argument
25 for_each_crtc_mask(kms->dev, crtc, crtc_mask) { in vblank_get()
32 static void vblank_put(struct msm_kms *kms, unsigned crtc_mask) in vblank_put() argument
36 for_each_crtc_mask(kms->dev, crtc, crtc_mask) { in vblank_put()
43 static void lock_crtcs(struct msm_kms *kms, unsigned int crtc_mask) in lock_crtcs() argument
48 for_each_crtc_mask(kms->dev, crtc, crtc_mask) { in lock_crtcs()
54 static void unlock_crtcs(struct msm_kms *kms, unsigned int crtc_mask) in unlock_crtcs() argument
58 for_each_crtc_mask_reverse(kms->dev, crtc, crtc_mask) in unlock_crtcs()
64 unsigned crtc_mask = BIT(crtc_idx); in msm_atomic_async_commit() local
66 trace_msm_atomic_async_commit_start(crtc_mask); in msm_atomic_async_commit()
68 lock_crtcs(kms, crtc_mask); in msm_atomic_async_commit()
70 if (!(kms->pending_crtc_mask & crtc_mask)) { in msm_atomic_async_commit()
71 unlock_crtcs(kms, crtc_mask); in msm_atomic_async_commit()
75 kms->pending_crtc_mask &= ~crtc_mask; in msm_atomic_async_commit()
79 vblank_get(kms, crtc_mask); in msm_atomic_async_commit()
84 trace_msm_atomic_flush_commit(crtc_mask); in msm_atomic_async_commit()
85 kms->funcs->flush_commit(kms, crtc_mask); in msm_atomic_async_commit()
90 trace_msm_atomic_wait_flush_start(crtc_mask); in msm_atomic_async_commit()
91 kms->funcs->wait_flush(kms, crtc_mask); in msm_atomic_async_commit()
92 trace_msm_atomic_wait_flush_finish(crtc_mask); in msm_atomic_async_commit()
94 vblank_put(kms, crtc_mask); in msm_atomic_async_commit()
96 kms->funcs->complete_commit(kms, crtc_mask); in msm_atomic_async_commit()
97 unlock_crtcs(kms, crtc_mask); in msm_atomic_async_commit()
101 trace_msm_atomic_async_commit_finish(crtc_mask); in msm_atomic_async_commit()
219 unsigned crtc_mask = get_crtc_mask(state); in msm_atomic_commit_tail() local
222 trace_msm_atomic_commit_tail_start(async, crtc_mask); in msm_atomic_commit_tail()
230 lock_crtcs(kms, crtc_mask); in msm_atomic_commit_tail()
231 trace_msm_atomic_wait_flush_start(crtc_mask); in msm_atomic_commit_tail()
232 kms->funcs->wait_flush(kms, crtc_mask); in msm_atomic_commit_tail()
233 trace_msm_atomic_wait_flush_finish(crtc_mask); in msm_atomic_commit_tail()
256 WARN_ON(crtc_mask != drm_crtc_mask(async_crtc)); in msm_atomic_commit_tail()
262 if (!(kms->pending_crtc_mask & crtc_mask)) { in msm_atomic_commit_tail()
265 kms->pending_crtc_mask |= crtc_mask; in msm_atomic_commit_tail()
277 unlock_crtcs(kms, crtc_mask); in msm_atomic_commit_tail()
286 trace_msm_atomic_commit_tail_finish(async, crtc_mask); in msm_atomic_commit_tail()
296 kms->pending_crtc_mask &= ~crtc_mask; in msm_atomic_commit_tail()
298 vblank_get(kms, crtc_mask); in msm_atomic_commit_tail()
303 trace_msm_atomic_flush_commit(crtc_mask); in msm_atomic_commit_tail()
304 kms->funcs->flush_commit(kms, crtc_mask); in msm_atomic_commit_tail()
305 unlock_crtcs(kms, crtc_mask); in msm_atomic_commit_tail()
309 trace_msm_atomic_wait_flush_start(crtc_mask); in msm_atomic_commit_tail()
310 kms->funcs->wait_flush(kms, crtc_mask); in msm_atomic_commit_tail()
311 trace_msm_atomic_wait_flush_finish(crtc_mask); in msm_atomic_commit_tail()
313 vblank_put(kms, crtc_mask); in msm_atomic_commit_tail()
315 lock_crtcs(kms, crtc_mask); in msm_atomic_commit_tail()
316 kms->funcs->complete_commit(kms, crtc_mask); in msm_atomic_commit_tail()
317 unlock_crtcs(kms, crtc_mask); in msm_atomic_commit_tail()
323 trace_msm_atomic_commit_tail_finish(async, crtc_mask); in msm_atomic_commit_tail()