Lines Matching refs:work

177 	struct armada_frame_work *work)  in armada_drm_crtc_queue_frame_work()  argument
191 dcrtc->frame_work = work; in armada_drm_crtc_queue_frame_work()
205 struct armada_frame_work *work = dcrtc->frame_work; in armada_drm_crtc_complete_frame_work() local
209 armada_drm_crtc_update_regs(dcrtc, work->regs); in armada_drm_crtc_complete_frame_work()
211 if (work->event) in armada_drm_crtc_complete_frame_work()
212 drm_send_vblank_event(dev, dcrtc->num, work->event); in armada_drm_crtc_complete_frame_work()
217 __armada_drm_queue_unref_work(dcrtc->crtc.dev, work->old_fb); in armada_drm_crtc_complete_frame_work()
218 kfree(work); in armada_drm_crtc_complete_frame_work()
224 struct armada_frame_work *work; in armada_drm_crtc_finish_fb() local
235 work = kmalloc(sizeof(*work), GFP_KERNEL); in armada_drm_crtc_finish_fb()
236 if (work) { in armada_drm_crtc_finish_fb()
238 work->event = NULL; in armada_drm_crtc_finish_fb()
239 work->old_fb = fb; in armada_drm_crtc_finish_fb()
240 armada_reg_queue_end(work->regs, i); in armada_drm_crtc_finish_fb()
242 if (armada_drm_crtc_queue_frame_work(dcrtc, work) == 0) in armada_drm_crtc_finish_fb()
245 kfree(work); in armada_drm_crtc_finish_fb()
924 struct armada_frame_work *work; in armada_drm_crtc_page_flip() local
934 work = kmalloc(sizeof(*work), GFP_KERNEL); in armada_drm_crtc_page_flip()
935 if (!work) in armada_drm_crtc_page_flip()
938 work->event = event; in armada_drm_crtc_page_flip()
939 work->old_fb = dcrtc->crtc.primary->fb; in armada_drm_crtc_page_flip()
941 i = armada_drm_crtc_calc_fb(fb, crtc->x, crtc->y, work->regs, in armada_drm_crtc_page_flip()
943 armada_reg_queue_end(work->regs, i); in armada_drm_crtc_page_flip()
951 ret = armada_drm_crtc_queue_frame_work(dcrtc, work); in armada_drm_crtc_page_flip()
955 kfree(work); in armada_drm_crtc_page_flip()