Lines Matching full:pipeline

94 static void send_pending_event(struct xen_drm_front_drm_pipeline *pipeline)  in send_pending_event()  argument
96 struct drm_crtc *crtc = &pipeline->pipe.crtc; in send_pending_event()
101 if (pipeline->pending_event) in send_pending_event()
102 drm_crtc_send_vblank_event(crtc, pipeline->pending_event); in send_pending_event()
103 pipeline->pending_event = NULL; in send_pending_event()
111 struct xen_drm_front_drm_pipeline *pipeline = in display_enable() local
120 ret = xen_drm_front_mode_set(pipeline, crtc->x, crtc->y, in display_enable()
127 pipeline->conn_connected = false; in display_enable()
135 struct xen_drm_front_drm_pipeline *pipeline = in display_disable() local
140 ret = xen_drm_front_mode_set(pipeline, 0, 0, 0, 0, 0, in display_disable()
148 pipeline->conn_connected = true; in display_disable()
151 send_pending_event(pipeline); in display_disable()
154 void xen_drm_front_kms_on_frame_done(struct xen_drm_front_drm_pipeline *pipeline, in xen_drm_front_kms_on_frame_done() argument
162 cancel_delayed_work(&pipeline->pflip_to_worker); in xen_drm_front_kms_on_frame_done()
164 send_pending_event(pipeline); in xen_drm_front_kms_on_frame_done()
170 struct xen_drm_front_drm_pipeline *pipeline = in pflip_to_worker() local
176 send_pending_event(pipeline); in pflip_to_worker()
195 struct xen_drm_front_drm_pipeline *pipeline = in display_send_page_flip() local
197 struct xen_drm_front_drm_info *drm_info = pipeline->drm_info; in display_send_page_flip()
200 schedule_delayed_work(&pipeline->pflip_to_worker, in display_send_page_flip()
204 pipeline->index, in display_send_page_flip()
209 pipeline->conn_connected = false; in display_send_page_flip()
247 struct xen_drm_front_drm_pipeline *pipeline = in display_update() local
258 WARN_ON(pipeline->pending_event); in display_update()
263 pipeline->pending_event = event; in display_update()
268 send_pending_event(pipeline); in display_update()
281 send_pending_event(pipeline); in display_update()
290 struct xen_drm_front_drm_pipeline *pipeline = in display_mode_valid() local
294 if (mode->hdisplay != pipeline->width) in display_mode_valid()
297 if (mode->vdisplay != pipeline->height) in display_mode_valid()
313 struct xen_drm_front_drm_pipeline *pipeline) in display_pipe_init() argument
320 pipeline->drm_info = drm_info; in display_pipe_init()
321 pipeline->index = index; in display_pipe_init()
322 pipeline->height = cfg->height; in display_pipe_init()
323 pipeline->width = cfg->width; in display_pipe_init()
325 INIT_DELAYED_WORK(&pipeline->pflip_to_worker, pflip_to_worker); in display_pipe_init()
327 ret = xen_drm_front_conn_init(drm_info, &pipeline->conn); in display_pipe_init()
333 return drm_simple_display_pipe_init(dev, &pipeline->pipe, in display_pipe_init()
336 &pipeline->conn); in display_pipe_init()
355 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_init() local
356 &drm_info->pipeline[i]; in xen_drm_front_kms_init()
358 ret = display_pipe_init(drm_info, i, cfg, pipeline); in xen_drm_front_kms_init()
375 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_fini() local
376 &drm_info->pipeline[i]; in xen_drm_front_kms_fini()
378 cancel_delayed_work_sync(&pipeline->pflip_to_worker); in xen_drm_front_kms_fini()
380 send_pending_event(pipeline); in xen_drm_front_kms_fini()