Lines Matching defs:evtchnl

90 be_prepare_req(struct xen_drm_front_evtchnl *evtchnl, u8 operation)
94 req = RING_GET_REQUEST(&evtchnl->u.req.ring,
95 evtchnl->u.req.ring.req_prod_pvt);
97 req->id = evtchnl->evt_next_id++;
98 evtchnl->evt_id = req->id;
102 static int be_stream_do_io(struct xen_drm_front_evtchnl *evtchnl,
105 reinit_completion(&evtchnl->u.req.completion);
106 if (unlikely(evtchnl->state != EVTCHNL_STATE_CONNECTED))
109 xen_drm_front_evtchnl_flush(evtchnl);
113 static int be_stream_wait_io(struct xen_drm_front_evtchnl *evtchnl)
115 if (wait_for_completion_timeout(&evtchnl->u.req.completion,
119 return evtchnl->u.req.resp_status;
126 struct xen_drm_front_evtchnl *evtchnl;
133 evtchnl = &front_info->evt_pairs[pipeline->index].req;
134 if (unlikely(!evtchnl))
137 mutex_lock(&evtchnl->u.req.req_io_lock);
140 req = be_prepare_req(evtchnl, XENDISPL_OP_SET_CONFIG);
148 ret = be_stream_do_io(evtchnl, req);
152 ret = be_stream_wait_io(evtchnl);
154 mutex_unlock(&evtchnl->u.req.req_io_lock);
163 struct xen_drm_front_evtchnl *evtchnl;
170 evtchnl = &front_info->evt_pairs[GENERIC_OP_EVT_CHNL].req;
171 if (unlikely(!evtchnl))
191 mutex_lock(&evtchnl->u.req.req_io_lock);
194 req = be_prepare_req(evtchnl, XENDISPL_OP_DBUF_CREATE);
206 ret = be_stream_do_io(evtchnl, req);
212 ret = be_stream_wait_io(evtchnl);
220 mutex_unlock(&evtchnl->u.req.req_io_lock);
224 mutex_unlock(&evtchnl->u.req.req_io_lock);
233 struct xen_drm_front_evtchnl *evtchnl;
239 evtchnl = &front_info->evt_pairs[GENERIC_OP_EVT_CHNL].req;
240 if (unlikely(!evtchnl))
252 mutex_lock(&evtchnl->u.req.req_io_lock);
255 req = be_prepare_req(evtchnl, XENDISPL_OP_DBUF_DESTROY);
258 ret = be_stream_do_io(evtchnl, req);
262 ret = be_stream_wait_io(evtchnl);
271 mutex_unlock(&evtchnl->u.req.req_io_lock);
279 struct xen_drm_front_evtchnl *evtchnl;
285 evtchnl = &front_info->evt_pairs[GENERIC_OP_EVT_CHNL].req;
286 if (unlikely(!evtchnl))
295 mutex_lock(&evtchnl->u.req.req_io_lock);
298 req = be_prepare_req(evtchnl, XENDISPL_OP_FB_ATTACH);
305 ret = be_stream_do_io(evtchnl, req);
309 ret = be_stream_wait_io(evtchnl);
311 mutex_unlock(&evtchnl->u.req.req_io_lock);
318 struct xen_drm_front_evtchnl *evtchnl;
323 evtchnl = &front_info->evt_pairs[GENERIC_OP_EVT_CHNL].req;
324 if (unlikely(!evtchnl))
327 mutex_lock(&evtchnl->u.req.req_io_lock);
330 req = be_prepare_req(evtchnl, XENDISPL_OP_FB_DETACH);
333 ret = be_stream_do_io(evtchnl, req);
337 ret = be_stream_wait_io(evtchnl);
339 mutex_unlock(&evtchnl->u.req.req_io_lock);
346 struct xen_drm_front_evtchnl *evtchnl;
354 evtchnl = &front_info->evt_pairs[conn_idx].req;
356 mutex_lock(&evtchnl->u.req.req_io_lock);
359 req = be_prepare_req(evtchnl, XENDISPL_OP_PG_FLIP);
362 ret = be_stream_do_io(evtchnl, req);
366 ret = be_stream_wait_io(evtchnl);
368 mutex_unlock(&evtchnl->u.req.req_io_lock);