Lines Matching refs:pipeline
92 static void send_pending_event(struct xen_drm_front_drm_pipeline *pipeline) in send_pending_event() argument
94 struct drm_crtc *crtc = &pipeline->pipe.crtc; in send_pending_event()
99 if (pipeline->pending_event) in send_pending_event()
100 drm_crtc_send_vblank_event(crtc, pipeline->pending_event); in send_pending_event()
101 pipeline->pending_event = NULL; in send_pending_event()
109 struct xen_drm_front_drm_pipeline *pipeline = in display_enable() local
118 ret = xen_drm_front_mode_set(pipeline, crtc->x, crtc->y, in display_enable()
125 pipeline->conn_connected = false; in display_enable()
133 struct xen_drm_front_drm_pipeline *pipeline = in display_disable() local
138 ret = xen_drm_front_mode_set(pipeline, 0, 0, 0, 0, 0, in display_disable()
146 pipeline->conn_connected = true; in display_disable()
149 send_pending_event(pipeline); in display_disable()
152 void xen_drm_front_kms_on_frame_done(struct xen_drm_front_drm_pipeline *pipeline, in xen_drm_front_kms_on_frame_done() argument
160 cancel_delayed_work(&pipeline->pflip_to_worker); in xen_drm_front_kms_on_frame_done()
162 send_pending_event(pipeline); in xen_drm_front_kms_on_frame_done()
168 struct xen_drm_front_drm_pipeline *pipeline = in pflip_to_worker() local
174 send_pending_event(pipeline); in pflip_to_worker()
193 struct xen_drm_front_drm_pipeline *pipeline = in display_send_page_flip() local
195 struct xen_drm_front_drm_info *drm_info = pipeline->drm_info; in display_send_page_flip()
198 schedule_delayed_work(&pipeline->pflip_to_worker, in display_send_page_flip()
202 pipeline->index, in display_send_page_flip()
207 pipeline->conn_connected = false; in display_send_page_flip()
245 struct xen_drm_front_drm_pipeline *pipeline = in display_update() local
256 WARN_ON(pipeline->pending_event); in display_update()
261 pipeline->pending_event = event; in display_update()
266 send_pending_event(pipeline); in display_update()
279 send_pending_event(pipeline); in display_update()
288 struct xen_drm_front_drm_pipeline *pipeline = in display_mode_valid() local
292 if (mode->hdisplay != pipeline->width) in display_mode_valid()
295 if (mode->vdisplay != pipeline->height) in display_mode_valid()
311 struct xen_drm_front_drm_pipeline *pipeline) in display_pipe_init() argument
318 pipeline->drm_info = drm_info; in display_pipe_init()
319 pipeline->index = index; in display_pipe_init()
320 pipeline->height = cfg->height; in display_pipe_init()
321 pipeline->width = cfg->width; in display_pipe_init()
323 INIT_DELAYED_WORK(&pipeline->pflip_to_worker, pflip_to_worker); in display_pipe_init()
325 ret = xen_drm_front_conn_init(drm_info, &pipeline->conn); in display_pipe_init()
331 return drm_simple_display_pipe_init(dev, &pipeline->pipe, in display_pipe_init()
334 &pipeline->conn); in display_pipe_init()
353 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_init() local
354 &drm_info->pipeline[i]; in xen_drm_front_kms_init()
356 ret = display_pipe_init(drm_info, i, cfg, pipeline); in xen_drm_front_kms_init()
373 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_fini() local
374 &drm_info->pipeline[i]; in xen_drm_front_kms_fini()
376 cancel_delayed_work_sync(&pipeline->pflip_to_worker); in xen_drm_front_kms_fini()
378 send_pending_event(pipeline); in xen_drm_front_kms_fini()