fedata 55 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 75 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 87 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata, fedata 249 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 253 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 265 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 300 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata, fedata 314 drivers/xen/pvcalls-back.c map->fedata = fedata; fedata 319 drivers/xen/pvcalls-back.c ret = xenbus_map_ring_valloc(fedata->dev, &ref, 1, &page); fedata 331 drivers/xen/pvcalls-back.c ret = xenbus_map_ring_valloc(fedata->dev, map->ring->ref, fedata 337 drivers/xen/pvcalls-back.c ret = bind_interdomain_evtchn_to_irqhandler(fedata->dev->otherend_id, fedata 356 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 357 drivers/xen/pvcalls-back.c list_add_tail(&map->list, &fedata->socket_mappings); fedata 358 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 369 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 371 drivers/xen/pvcalls-back.c pvcalls_back_release_active(fedata->dev, fedata, map); fedata 372 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 379 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 386 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 402 drivers/xen/pvcalls-back.c map = pvcalls_new_active_socket(fedata, fedata 413 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 423 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata, fedata 448 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata, fedata 468 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 474 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 476 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 477 drivers/xen/pvcalls-back.c list_for_each_entry_safe(map, n, &fedata->socket_mappings, list) { fedata 480 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 481 drivers/xen/pvcalls-back.c ret = pvcalls_back_release_active(dev, fedata, map); fedata 485 drivers/xen/pvcalls-back.c mappass = radix_tree_lookup(&fedata->socketpass_mappings, fedata 488 drivers/xen/pvcalls-back.c radix_tree_delete(&fedata->socketpass_mappings, mappass->id); fedata 489 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 490 drivers/xen/pvcalls-back.c ret = pvcalls_back_release_passive(dev, fedata, mappass); fedata 492 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 495 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 509 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 517 drivers/xen/pvcalls-back.c fedata = mappass->fedata; fedata 544 drivers/xen/pvcalls-back.c map = pvcalls_new_active_socket(fedata, fedata 562 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 567 drivers/xen/pvcalls-back.c RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&fedata->ring, notify); fedata 569 drivers/xen/pvcalls-back.c notify_remote_via_irq(fedata->irq); fedata 577 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 585 drivers/xen/pvcalls-back.c fedata = mappass->fedata; fedata 588 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata 589 drivers/xen/pvcalls-back.c fedata->ring.rsp_prod_pvt++); fedata 598 drivers/xen/pvcalls-back.c RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&fedata->ring, notify); fedata 600 drivers/xen/pvcalls-back.c notify_remote_via_irq(mappass->fedata->irq); fedata 610 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 615 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 640 drivers/xen/pvcalls-back.c map->fedata = fedata; fedata 643 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 644 drivers/xen/pvcalls-back.c ret = radix_tree_insert(&fedata->socketpass_mappings, map->id, fedata 646 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 664 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 675 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 680 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 682 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 683 drivers/xen/pvcalls-back.c map = radix_tree_lookup(&fedata->socketpass_mappings, req->u.listen.id); fedata 684 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 691 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 702 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 708 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 710 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 711 drivers/xen/pvcalls-back.c mappass = radix_tree_lookup(&fedata->socketpass_mappings, fedata 713 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 736 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 747 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 756 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 758 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 759 drivers/xen/pvcalls-back.c mappass = radix_tree_lookup(&fedata->socketpass_mappings, fedata 761 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 792 drivers/xen/pvcalls-back.c rsp = RING_GET_RESPONSE(&fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 829 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 832 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 834 drivers/xen/pvcalls-back.c &fedata->ring, fedata->ring.rsp_prod_pvt++); fedata 844 drivers/xen/pvcalls-back.c static void pvcalls_back_work(struct pvcalls_fedata *fedata) fedata 848 drivers/xen/pvcalls-back.c struct xenbus_device *dev = fedata->dev; fedata 851 drivers/xen/pvcalls-back.c while (RING_HAS_UNCONSUMED_REQUESTS(&fedata->ring)) { fedata 852 drivers/xen/pvcalls-back.c RING_COPY_REQUEST(&fedata->ring, fedata 853 drivers/xen/pvcalls-back.c fedata->ring.req_cons++, fedata 858 drivers/xen/pvcalls-back.c &fedata->ring, notify); fedata 864 drivers/xen/pvcalls-back.c notify_remote_via_irq(fedata->irq); fedata 868 drivers/xen/pvcalls-back.c RING_FINAL_CHECK_FOR_REQUESTS(&fedata->ring, more); fedata 875 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata = NULL; fedata 880 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 881 drivers/xen/pvcalls-back.c if (fedata == NULL) fedata 884 drivers/xen/pvcalls-back.c pvcalls_back_work(fedata); fedata 910 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata = NULL; fedata 912 drivers/xen/pvcalls-back.c fedata = kzalloc(sizeof(struct pvcalls_fedata), GFP_KERNEL); fedata 913 drivers/xen/pvcalls-back.c if (!fedata) fedata 916 drivers/xen/pvcalls-back.c fedata->irq = -1; fedata 937 drivers/xen/pvcalls-back.c fedata->irq = err; fedata 939 drivers/xen/pvcalls-back.c err = request_threaded_irq(fedata->irq, NULL, pvcalls_back_event, fedata 945 drivers/xen/pvcalls-back.c (void **)&fedata->sring); fedata 949 drivers/xen/pvcalls-back.c BACK_RING_INIT(&fedata->ring, fedata->sring, XEN_PAGE_SIZE * 1); fedata 950 drivers/xen/pvcalls-back.c fedata->dev = dev; fedata 952 drivers/xen/pvcalls-back.c INIT_LIST_HEAD(&fedata->socket_mappings); fedata 953 drivers/xen/pvcalls-back.c INIT_RADIX_TREE(&fedata->socketpass_mappings, GFP_KERNEL); fedata 954 drivers/xen/pvcalls-back.c sema_init(&fedata->socket_lock, 1); fedata 955 drivers/xen/pvcalls-back.c dev_set_drvdata(&dev->dev, fedata); fedata 958 drivers/xen/pvcalls-back.c list_add_tail(&fedata->list, &pvcalls_back_global.frontends); fedata 964 drivers/xen/pvcalls-back.c if (fedata->irq >= 0) fedata 965 drivers/xen/pvcalls-back.c unbind_from_irqhandler(fedata->irq, dev); fedata 966 drivers/xen/pvcalls-back.c if (fedata->sring != NULL) fedata 967 drivers/xen/pvcalls-back.c xenbus_unmap_ring_vfree(dev, fedata->sring); fedata 968 drivers/xen/pvcalls-back.c kfree(fedata); fedata 974 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata; fedata 981 drivers/xen/pvcalls-back.c fedata = dev_get_drvdata(&dev->dev); fedata 983 drivers/xen/pvcalls-back.c down(&fedata->socket_lock); fedata 984 drivers/xen/pvcalls-back.c list_for_each_entry_safe(map, n, &fedata->socket_mappings, list) { fedata 986 drivers/xen/pvcalls-back.c pvcalls_back_release_active(dev, fedata, map); fedata 989 drivers/xen/pvcalls-back.c radix_tree_for_each_slot(slot, &fedata->socketpass_mappings, &iter, 0) { fedata 997 drivers/xen/pvcalls-back.c radix_tree_delete(&fedata->socketpass_mappings, fedata 999 drivers/xen/pvcalls-back.c pvcalls_back_release_passive(dev, fedata, mappass); fedata 1002 drivers/xen/pvcalls-back.c up(&fedata->socket_lock); fedata 1004 drivers/xen/pvcalls-back.c unbind_from_irqhandler(fedata->irq, dev); fedata 1005 drivers/xen/pvcalls-back.c xenbus_unmap_ring_vfree(dev, fedata->sring); fedata 1007 drivers/xen/pvcalls-back.c list_del(&fedata->list); fedata 1008 drivers/xen/pvcalls-back.c kfree(fedata); fedata 1211 drivers/xen/pvcalls-back.c struct pvcalls_fedata *fedata, *nfedata; fedata 1214 drivers/xen/pvcalls-back.c list_for_each_entry_safe(fedata, nfedata, fedata 1216 drivers/xen/pvcalls-back.c backend_disconnect(fedata->dev);