Lines Matching full:pipeline

93 static void send_pending_event(struct xen_drm_front_drm_pipeline *pipeline)  in send_pending_event()  argument
95 struct drm_crtc *crtc = &pipeline->pipe.crtc; in send_pending_event()
100 if (pipeline->pending_event) in send_pending_event()
101 drm_crtc_send_vblank_event(crtc, pipeline->pending_event); in send_pending_event()
102 pipeline->pending_event = NULL; in send_pending_event()
110 struct xen_drm_front_drm_pipeline *pipeline = in display_enable() local
119 ret = xen_drm_front_mode_set(pipeline, crtc->x, crtc->y, in display_enable()
126 pipeline->conn_connected = false; in display_enable()
134 struct xen_drm_front_drm_pipeline *pipeline = in display_disable() local
139 ret = xen_drm_front_mode_set(pipeline, 0, 0, 0, 0, 0, in display_disable()
147 pipeline->conn_connected = true; in display_disable()
150 send_pending_event(pipeline); in display_disable()
153 void xen_drm_front_kms_on_frame_done(struct xen_drm_front_drm_pipeline *pipeline, in xen_drm_front_kms_on_frame_done() argument
161 cancel_delayed_work(&pipeline->pflip_to_worker); in xen_drm_front_kms_on_frame_done()
163 send_pending_event(pipeline); in xen_drm_front_kms_on_frame_done()
169 struct xen_drm_front_drm_pipeline *pipeline = in pflip_to_worker() local
175 send_pending_event(pipeline); in pflip_to_worker()
194 struct xen_drm_front_drm_pipeline *pipeline = in display_send_page_flip() local
196 struct xen_drm_front_drm_info *drm_info = pipeline->drm_info; in display_send_page_flip()
199 schedule_delayed_work(&pipeline->pflip_to_worker, in display_send_page_flip()
203 pipeline->index, in display_send_page_flip()
208 pipeline->conn_connected = false; in display_send_page_flip()
246 struct xen_drm_front_drm_pipeline *pipeline = in display_update() local
257 WARN_ON(pipeline->pending_event); in display_update()
262 pipeline->pending_event = event; in display_update()
267 send_pending_event(pipeline); in display_update()
280 send_pending_event(pipeline); in display_update()
289 struct xen_drm_front_drm_pipeline *pipeline = in display_mode_valid() local
293 if (mode->hdisplay != pipeline->width) in display_mode_valid()
296 if (mode->vdisplay != pipeline->height) in display_mode_valid()
312 struct xen_drm_front_drm_pipeline *pipeline) in display_pipe_init() argument
319 pipeline->drm_info = drm_info; in display_pipe_init()
320 pipeline->index = index; in display_pipe_init()
321 pipeline->height = cfg->height; in display_pipe_init()
322 pipeline->width = cfg->width; in display_pipe_init()
324 INIT_DELAYED_WORK(&pipeline->pflip_to_worker, pflip_to_worker); in display_pipe_init()
326 ret = xen_drm_front_conn_init(drm_info, &pipeline->conn); in display_pipe_init()
332 return drm_simple_display_pipe_init(dev, &pipeline->pipe, in display_pipe_init()
335 &pipeline->conn); in display_pipe_init()
354 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_init() local
355 &drm_info->pipeline[i]; in xen_drm_front_kms_init()
357 ret = display_pipe_init(drm_info, i, cfg, pipeline); in xen_drm_front_kms_init()
374 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_fini() local
375 &drm_info->pipeline[i]; in xen_drm_front_kms_fini()
377 cancel_delayed_work_sync(&pipeline->pflip_to_worker); in xen_drm_front_kms_fini()
379 send_pending_event(pipeline); in xen_drm_front_kms_fini()