bedata            125 drivers/xen/pvcalls-front.c static inline int get_request(struct pvcalls_bedata *bedata, int *req_id)
bedata            127 drivers/xen/pvcalls-front.c 	*req_id = bedata->ring.req_prod_pvt & (RING_SIZE(&bedata->ring) - 1);
bedata            128 drivers/xen/pvcalls-front.c 	if (RING_FULL(&bedata->ring) ||
bedata            129 drivers/xen/pvcalls-front.c 	    bedata->rsp[*req_id].req_id != PVCALLS_INVALID_ID)
bedata            168 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            177 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&dev->dev);
bedata            178 drivers/xen/pvcalls-front.c 	if (bedata == NULL) {
bedata            184 drivers/xen/pvcalls-front.c 	while (RING_HAS_UNCONSUMED_RESPONSES(&bedata->ring)) {
bedata            185 drivers/xen/pvcalls-front.c 		rsp = RING_GET_RESPONSE(&bedata->ring, bedata->ring.rsp_cons);
bedata            203 drivers/xen/pvcalls-front.c 			dst = (uint8_t *)&bedata->rsp[req_id] +
bedata            212 drivers/xen/pvcalls-front.c 			bedata->rsp[req_id].req_id = req_id;
bedata            216 drivers/xen/pvcalls-front.c 		bedata->ring.rsp_cons++;
bedata            219 drivers/xen/pvcalls-front.c 	RING_FINAL_CHECK_FOR_RESPONSES(&bedata->ring, more);
bedata            223 drivers/xen/pvcalls-front.c 		wake_up(&bedata->inflight_req);
bedata            228 drivers/xen/pvcalls-front.c static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
bedata            235 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            238 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            262 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            282 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata            290 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            292 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata            295 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            307 drivers/xen/pvcalls-front.c 	list_add_tail(&map->list, &bedata->socket_mappings);
bedata            309 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata            317 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata            318 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata            319 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            321 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata            323 drivers/xen/pvcalls-front.c 	wait_event(bedata->inflight_req,
bedata            324 drivers/xen/pvcalls-front.c 		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
bedata            328 drivers/xen/pvcalls-front.c 	ret = bedata->rsp[req_id].ret;
bedata            329 drivers/xen/pvcalls-front.c 	bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID;
bedata            415 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            427 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata            434 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            435 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata            437 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            444 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            450 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata            462 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata            463 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata            464 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            467 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata            469 drivers/xen/pvcalls-front.c 	wait_event(bedata->inflight_req,
bedata            470 drivers/xen/pvcalls-front.c 		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
bedata            474 drivers/xen/pvcalls-front.c 	ret = bedata->rsp[req_id].ret;
bedata            475 drivers/xen/pvcalls-front.c 	bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID;
bedata            662 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            673 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata            675 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            676 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata            678 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            682 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata            694 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata            695 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata            696 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            698 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata            700 drivers/xen/pvcalls-front.c 	wait_event(bedata->inflight_req,
bedata            701 drivers/xen/pvcalls-front.c 		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
bedata            705 drivers/xen/pvcalls-front.c 	ret = bedata->rsp[req_id].ret;
bedata            706 drivers/xen/pvcalls-front.c 	bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID;
bedata            715 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            723 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata            730 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            731 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata            733 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            737 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata            743 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata            744 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata            745 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            747 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata            749 drivers/xen/pvcalls-front.c 	wait_event(bedata->inflight_req,
bedata            750 drivers/xen/pvcalls-front.c 		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
bedata            754 drivers/xen/pvcalls-front.c 	ret = bedata->rsp[req_id].ret;
bedata            755 drivers/xen/pvcalls-front.c 	bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID;
bedata            764 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            773 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata            789 drivers/xen/pvcalls-front.c 		    READ_ONCE(bedata->rsp[req_id].req_id) == req_id) {
bedata            820 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            821 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata            825 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            838 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            842 drivers/xen/pvcalls-front.c 	list_add_tail(&map2->list, &bedata->socket_mappings);
bedata            844 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata            853 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata            854 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata            855 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            857 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata            865 drivers/xen/pvcalls-front.c 	if (wait_event_interruptible(bedata->inflight_req,
bedata            866 drivers/xen/pvcalls-front.c 		READ_ONCE(bedata->rsp[req_id].req_id) == req_id)) {
bedata            877 drivers/xen/pvcalls-front.c 		bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID;
bedata            881 drivers/xen/pvcalls-front.c 		pvcalls_front_free_map(bedata, map2);
bedata            887 drivers/xen/pvcalls-front.c 	ret = bedata->rsp[req_id].ret;
bedata            888 drivers/xen/pvcalls-front.c 	bedata->rsp[req_id].req_id = PVCALLS_INVALID_ID;
bedata            899 drivers/xen/pvcalls-front.c 					       struct pvcalls_bedata *bedata,
bedata            911 drivers/xen/pvcalls-front.c 		    READ_ONCE(bedata->rsp[req_id].req_id) == req_id)
bedata            930 drivers/xen/pvcalls-front.c 		poll_wait(file, &bedata->inflight_req, wait);
bedata            934 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata            935 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata            937 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata            940 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata            945 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata            946 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata            947 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata            949 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata            951 drivers/xen/pvcalls-front.c 	poll_wait(file, &bedata->inflight_req, wait);
bedata            956 drivers/xen/pvcalls-front.c 					      struct pvcalls_bedata *bedata,
bedata            981 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata            988 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata            991 drivers/xen/pvcalls-front.c 		ret = pvcalls_front_poll_active(file, bedata, map, wait);
bedata            993 drivers/xen/pvcalls-front.c 		ret = pvcalls_front_poll_passive(file, bedata, map, wait);
bedata           1000 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata           1015 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata           1017 drivers/xen/pvcalls-front.c 	spin_lock(&bedata->socket_lock);
bedata           1018 drivers/xen/pvcalls-front.c 	ret = get_request(bedata, &req_id);
bedata           1020 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata           1026 drivers/xen/pvcalls-front.c 	req = RING_GET_REQUEST(&bedata->ring, req_id);
bedata           1031 drivers/xen/pvcalls-front.c 	bedata->ring.req_prod_pvt++;
bedata           1032 drivers/xen/pvcalls-front.c 	RING_PUSH_REQUESTS_AND_CHECK_NOTIFY(&bedata->ring, notify);
bedata           1033 drivers/xen/pvcalls-front.c 	spin_unlock(&bedata->socket_lock);
bedata           1035 drivers/xen/pvcalls-front.c 		notify_remote_via_irq(bedata->irq);
bedata           1037 drivers/xen/pvcalls-front.c 	wait_event(bedata->inflight_req,
bedata           1038 drivers/xen/pvcalls-front.c 		   READ_ONCE(bedata->rsp[req_id].req_id) == req_id);
bedata           1057 drivers/xen/pvcalls-front.c 		pvcalls_front_free_map(bedata, map);
bedata           1059 drivers/xen/pvcalls-front.c 		wake_up(&bedata->inflight_req);
bedata           1065 drivers/xen/pvcalls-front.c 		spin_lock(&bedata->socket_lock);
bedata           1067 drivers/xen/pvcalls-front.c 		spin_unlock(&bedata->socket_lock);
bedata           1070 drivers/xen/pvcalls-front.c 			pvcalls_front_free_map(bedata,
bedata           1075 drivers/xen/pvcalls-front.c 	WRITE_ONCE(bedata->rsp[req_id].req_id, PVCALLS_INVALID_ID);
bedata           1088 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata;
bedata           1091 drivers/xen/pvcalls-front.c 	bedata = dev_get_drvdata(&pvcalls_front_dev->dev);
bedata           1094 drivers/xen/pvcalls-front.c 	if (bedata->irq >= 0)
bedata           1095 drivers/xen/pvcalls-front.c 		unbind_from_irqhandler(bedata->irq, dev);
bedata           1097 drivers/xen/pvcalls-front.c 	list_for_each_entry_safe(map, n, &bedata->socket_mappings, list) {
bedata           1108 drivers/xen/pvcalls-front.c 	list_for_each_entry_safe(map, n, &bedata->socket_mappings, list) {
bedata           1111 drivers/xen/pvcalls-front.c 			pvcalls_front_free_map(bedata, map);
bedata           1117 drivers/xen/pvcalls-front.c 	if (bedata->ref != -1)
bedata           1118 drivers/xen/pvcalls-front.c 		gnttab_end_foreign_access(bedata->ref, 0, 0);
bedata           1119 drivers/xen/pvcalls-front.c 	kfree(bedata->ring.sring);
bedata           1120 drivers/xen/pvcalls-front.c 	kfree(bedata);
bedata           1133 drivers/xen/pvcalls-front.c 	struct pvcalls_bedata *bedata = NULL;
bedata           1162 drivers/xen/pvcalls-front.c 	bedata = kzalloc(sizeof(struct pvcalls_bedata), GFP_KERNEL);
bedata           1163 drivers/xen/pvcalls-front.c 	if (!bedata)
bedata           1166 drivers/xen/pvcalls-front.c 	dev_set_drvdata(&dev->dev, bedata);
bedata           1168 drivers/xen/pvcalls-front.c 	init_waitqueue_head(&bedata->inflight_req);
bedata           1169 drivers/xen/pvcalls-front.c 	INIT_LIST_HEAD(&bedata->socket_mappings);
bedata           1170 drivers/xen/pvcalls-front.c 	spin_lock_init(&bedata->socket_lock);
bedata           1171 drivers/xen/pvcalls-front.c 	bedata->irq = -1;
bedata           1172 drivers/xen/pvcalls-front.c 	bedata->ref = -1;
bedata           1175 drivers/xen/pvcalls-front.c 		bedata->rsp[i].req_id = PVCALLS_INVALID_ID;
bedata           1182 drivers/xen/pvcalls-front.c 	FRONT_RING_INIT(&bedata->ring, sring, XEN_PAGE_SIZE);
bedata           1188 drivers/xen/pvcalls-front.c 	bedata->irq = bind_evtchn_to_irqhandler(evtchn,
bedata           1191 drivers/xen/pvcalls-front.c 	if (bedata->irq < 0) {
bedata           1192 drivers/xen/pvcalls-front.c 		ret = bedata->irq;
bedata           1202 drivers/xen/pvcalls-front.c 	bedata->ref = ret;
bedata           1203 drivers/xen/pvcalls-front.c 	gnttab_grant_foreign_access_ref(bedata->ref, dev->otherend_id,
bedata           1215 drivers/xen/pvcalls-front.c 	ret = xenbus_printf(xbt, dev->nodename, "ring-ref", "%d", bedata->ref);