Lines Matching refs:pipeline

97 static void send_pending_event(struct xen_drm_front_drm_pipeline *pipeline)  in send_pending_event()  argument
99 struct drm_crtc *crtc = &pipeline->pipe.crtc; in send_pending_event()
104 if (pipeline->pending_event) in send_pending_event()
105 drm_crtc_send_vblank_event(crtc, pipeline->pending_event); in send_pending_event()
106 pipeline->pending_event = NULL; in send_pending_event()
114 struct xen_drm_front_drm_pipeline *pipeline = in display_enable() local
123 ret = xen_drm_front_mode_set(pipeline, crtc->x, crtc->y, in display_enable()
130 pipeline->conn_connected = false; in display_enable()
138 struct xen_drm_front_drm_pipeline *pipeline = in display_disable() local
143 ret = xen_drm_front_mode_set(pipeline, 0, 0, 0, 0, 0, in display_disable()
151 pipeline->conn_connected = true; in display_disable()
154 send_pending_event(pipeline); in display_disable()
157 void xen_drm_front_kms_on_frame_done(struct xen_drm_front_drm_pipeline *pipeline, in xen_drm_front_kms_on_frame_done() argument
165 cancel_delayed_work(&pipeline->pflip_to_worker); in xen_drm_front_kms_on_frame_done()
167 send_pending_event(pipeline); in xen_drm_front_kms_on_frame_done()
173 struct xen_drm_front_drm_pipeline *pipeline = in pflip_to_worker() local
179 send_pending_event(pipeline); in pflip_to_worker()
198 struct xen_drm_front_drm_pipeline *pipeline = in display_send_page_flip() local
200 struct xen_drm_front_drm_info *drm_info = pipeline->drm_info; in display_send_page_flip()
203 schedule_delayed_work(&pipeline->pflip_to_worker, in display_send_page_flip()
207 pipeline->index, in display_send_page_flip()
212 pipeline->conn_connected = false; in display_send_page_flip()
232 struct xen_drm_front_drm_pipeline *pipeline = in display_update() local
243 WARN_ON(pipeline->pending_event); in display_update()
248 pipeline->pending_event = event; in display_update()
253 send_pending_event(pipeline); in display_update()
266 send_pending_event(pipeline); in display_update()
274 struct xen_drm_front_drm_pipeline *pipeline = in display_mode_valid() local
278 if (mode->hdisplay != pipeline->width) in display_mode_valid()
281 if (mode->vdisplay != pipeline->height) in display_mode_valid()
297 struct xen_drm_front_drm_pipeline *pipeline) in display_pipe_init() argument
304 pipeline->drm_info = drm_info; in display_pipe_init()
305 pipeline->index = index; in display_pipe_init()
306 pipeline->height = cfg->height; in display_pipe_init()
307 pipeline->width = cfg->width; in display_pipe_init()
309 INIT_DELAYED_WORK(&pipeline->pflip_to_worker, pflip_to_worker); in display_pipe_init()
311 ret = xen_drm_front_conn_init(drm_info, &pipeline->conn); in display_pipe_init()
317 return drm_simple_display_pipe_init(dev, &pipeline->pipe, in display_pipe_init()
320 &pipeline->conn); in display_pipe_init()
339 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_init() local
340 &drm_info->pipeline[i]; in xen_drm_front_kms_init()
342 ret = display_pipe_init(drm_info, i, cfg, pipeline); in xen_drm_front_kms_init()
359 struct xen_drm_front_drm_pipeline *pipeline = in xen_drm_front_kms_fini() local
360 &drm_info->pipeline[i]; in xen_drm_front_kms_fini()
362 cancel_delayed_work_sync(&pipeline->pflip_to_worker); in xen_drm_front_kms_fini()
364 send_pending_event(pipeline); in xen_drm_front_kms_fini()