Lines Matching refs:front_info
26 struct xen_drm_front_info *front_info = evtchnl->front_info; in evtchnl_interrupt_ctrl() local
34 spin_lock_irqsave(&front_info->io_lock, flags); in evtchnl_interrupt_ctrl()
77 spin_unlock_irqrestore(&front_info->io_lock, flags); in evtchnl_interrupt_ctrl()
84 struct xen_drm_front_info *front_info = evtchnl->front_info; in evtchnl_interrupt_evt() local
92 spin_lock_irqsave(&front_info->io_lock, flags); in evtchnl_interrupt_evt()
109 xen_drm_front_on_frame_done(front_info, evtchnl->index, in evtchnl_interrupt_evt()
119 spin_unlock_irqrestore(&front_info->io_lock, flags); in evtchnl_interrupt_evt()
123 static void evtchnl_free(struct xen_drm_front_info *front_info, in evtchnl_free() argument
147 xenbus_free_evtchn(front_info->xb_dev, evtchnl->port); in evtchnl_free()
155 static int evtchnl_alloc(struct xen_drm_front_info *front_info, int index, in evtchnl_alloc() argument
159 struct xenbus_device *xb_dev = front_info->xb_dev; in evtchnl_alloc()
167 evtchnl->front_info = front_info; in evtchnl_alloc()
207 int xen_drm_front_evtchnl_create_all(struct xen_drm_front_info *front_info) in xen_drm_front_evtchnl_create_all() argument
212 cfg = &front_info->cfg; in xen_drm_front_evtchnl_create_all()
214 front_info->evt_pairs = in xen_drm_front_evtchnl_create_all()
218 if (!front_info->evt_pairs) { in xen_drm_front_evtchnl_create_all()
224 ret = evtchnl_alloc(front_info, conn, in xen_drm_front_evtchnl_create_all()
225 &front_info->evt_pairs[conn].req, in xen_drm_front_evtchnl_create_all()
232 ret = evtchnl_alloc(front_info, conn, in xen_drm_front_evtchnl_create_all()
233 &front_info->evt_pairs[conn].evt, in xen_drm_front_evtchnl_create_all()
240 front_info->num_evt_pairs = cfg->num_connectors; in xen_drm_front_evtchnl_create_all()
244 xen_drm_front_evtchnl_free_all(front_info); in xen_drm_front_evtchnl_create_all()
253 struct xenbus_device *xb_dev = evtchnl->front_info->xb_dev; in evtchnl_publish()
273 int xen_drm_front_evtchnl_publish_all(struct xen_drm_front_info *front_info) in xen_drm_front_evtchnl_publish_all() argument
279 plat_data = &front_info->cfg; in xen_drm_front_evtchnl_publish_all()
284 xenbus_dev_fatal(front_info->xb_dev, ret, in xen_drm_front_evtchnl_publish_all()
290 ret = evtchnl_publish(xbt, &front_info->evt_pairs[conn].req, in xen_drm_front_evtchnl_publish_all()
297 ret = evtchnl_publish(xbt, &front_info->evt_pairs[conn].evt, in xen_drm_front_evtchnl_publish_all()
310 xenbus_dev_fatal(front_info->xb_dev, ret, in xen_drm_front_evtchnl_publish_all()
321 xenbus_dev_fatal(front_info->xb_dev, ret, "writing Xen store"); in xen_drm_front_evtchnl_publish_all()
335 void xen_drm_front_evtchnl_set_state(struct xen_drm_front_info *front_info, in xen_drm_front_evtchnl_set_state() argument
341 if (!front_info->evt_pairs) in xen_drm_front_evtchnl_set_state()
344 spin_lock_irqsave(&front_info->io_lock, flags); in xen_drm_front_evtchnl_set_state()
345 for (i = 0; i < front_info->num_evt_pairs; i++) { in xen_drm_front_evtchnl_set_state()
346 front_info->evt_pairs[i].req.state = state; in xen_drm_front_evtchnl_set_state()
347 front_info->evt_pairs[i].evt.state = state; in xen_drm_front_evtchnl_set_state()
349 spin_unlock_irqrestore(&front_info->io_lock, flags); in xen_drm_front_evtchnl_set_state()
352 void xen_drm_front_evtchnl_free_all(struct xen_drm_front_info *front_info) in xen_drm_front_evtchnl_free_all() argument
356 if (!front_info->evt_pairs) in xen_drm_front_evtchnl_free_all()
359 for (i = 0; i < front_info->num_evt_pairs; i++) { in xen_drm_front_evtchnl_free_all()
360 evtchnl_free(front_info, &front_info->evt_pairs[i].req); in xen_drm_front_evtchnl_free_all()
361 evtchnl_free(front_info, &front_info->evt_pairs[i].evt); in xen_drm_front_evtchnl_free_all()
364 kfree(front_info->evt_pairs); in xen_drm_front_evtchnl_free_all()
365 front_info->evt_pairs = NULL; in xen_drm_front_evtchnl_free_all()