Lines Matching refs:urbs
96 struct urb_list urbs;
132 /* ufx keeps a list of urbs for efficient bulk transfers */
1141 up(&unode->dev->urbs.limit_sem);
1755 if (dev->urbs.count > 0)
1778 /* When non-active we'll update virtual framebuffer, but no new urbs */
1787 /* this function will wait for all in-flight urbs to complete */
1788 if (dev->urbs.count > 0)
1824 urb->transfer_buffer_length = dev->urbs.size; /* reset to actual */
1826 spin_lock_irqsave(&dev->urbs.lock, flags);
1827 list_add_tail(&unode->entry, &dev->urbs.list);
1828 dev->urbs.available++;
1829 spin_unlock_irqrestore(&dev->urbs.lock, flags);
1836 up(&dev->urbs.limit_sem);
1841 int count = dev->urbs.count;
1848 pr_debug("Waiting for completes and freeing all render urbs\n");
1853 ret = down_interruptible(&dev->urbs.limit_sem);
1857 spin_lock_irqsave(&dev->urbs.lock, flags);
1859 node = dev->urbs.list.next; /* have reserved one with sem */
1862 spin_unlock_irqrestore(&dev->urbs.lock, flags);
1868 usb_free_coherent(urb->dev, dev->urbs.size,
1882 spin_lock_init(&dev->urbs.lock);
1884 dev->urbs.size = size;
1885 INIT_LIST_HEAD(&dev->urbs.list);
1916 list_add_tail(&unode->entry, &dev->urbs.list);
1921 sema_init(&dev->urbs.limit_sem, i);
1922 dev->urbs.count = i;
1923 dev->urbs.available = i;
1925 pr_debug("allocated %d %d byte urbs\n", i, (int) size);
1939 ret = down_timeout(&dev->urbs.limit_sem, GET_URB_TIMEOUT);
1943 ret, dev->urbs.available);
1947 spin_lock_irqsave(&dev->urbs.lock, flags);
1949 BUG_ON(list_empty(&dev->urbs.list)); /* reserved one with limit_sem */
1950 entry = dev->urbs.list.next;
1952 dev->urbs.available--;
1954 spin_unlock_irqrestore(&dev->urbs.lock, flags);
1967 BUG_ON(len > dev->urbs.size);