Lines Matching refs:rings
57 struct xen_9pfs_dataring *rings;
134 ring = &priv->rings[num];
282 struct xen_9pfs_dataring *ring = &priv->rings[i];
286 if (!priv->rings[i].intf)
288 if (priv->rings[i].irq > 0)
289 unbind_from_irqhandler(priv->rings[i].irq, priv->dev);
290 if (priv->rings[i].data.in) {
292 j < (1 << priv->rings[i].intf->ring_order);
296 ref = priv->rings[i].intf->ref[j];
299 free_pages_exact(priv->rings[i].data.in,
300 1UL << (priv->rings[i].intf->ring_order +
303 gnttab_end_foreign_access(priv->rings[i].ref, NULL);
304 free_page((unsigned long)priv->rings[i].intf);
306 kfree(priv->rings);
400 max_rings = xenbus_read_unsigned(dev->otherend, "max-rings", 0);
410 priv->rings = kcalloc(XEN_9PFS_NUM_RINGS, sizeof(*priv->rings),
412 if (!priv->rings) {
418 priv->rings[i].priv = priv;
419 ret = xen_9pfs_front_alloc_dataring(dev, &priv->rings[i],
434 ret = xenbus_printf(xbt, dev->nodename, "num-rings", "%u",
445 priv->rings[i].ref);
451 priv->rings[i].evtchn);