Lines Matching refs:urbs

99 	struct urb_list urbs;
136 /* ufx keeps a list of urbs for efficient bulk transfers */
1115 /* this function will wait for all in-flight urbs to complete */
1116 if (dev->urbs.count > 0)
1129 up(&unode->dev->urbs.limit_sem);
1776 /* When non-active we'll update virtual framebuffer, but no new urbs */
1817 urb->transfer_buffer_length = dev->urbs.size; /* reset to actual */
1819 spin_lock_irqsave(&dev->urbs.lock, flags);
1820 list_add_tail(&unode->entry, &dev->urbs.list);
1821 dev->urbs.available++;
1822 spin_unlock_irqrestore(&dev->urbs.lock, flags);
1829 up(&dev->urbs.limit_sem);
1834 int count = dev->urbs.count;
1841 pr_debug("Waiting for completes and freeing all render urbs\n");
1846 ret = down_interruptible(&dev->urbs.limit_sem);
1850 spin_lock_irqsave(&dev->urbs.lock, flags);
1852 node = dev->urbs.list.next; /* have reserved one with sem */
1855 spin_unlock_irqrestore(&dev->urbs.lock, flags);
1861 usb_free_coherent(urb->dev, dev->urbs.size,
1875 spin_lock_init(&dev->urbs.lock);
1877 dev->urbs.size = size;
1878 INIT_LIST_HEAD(&dev->urbs.list);
1909 list_add_tail(&unode->entry, &dev->urbs.list);
1914 sema_init(&dev->urbs.limit_sem, i);
1915 dev->urbs.count = i;
1916 dev->urbs.available = i;
1918 pr_debug("allocated %d %d byte urbs\n", i, (int) size);
1932 ret = down_timeout(&dev->urbs.limit_sem, GET_URB_TIMEOUT);
1936 ret, dev->urbs.available);
1940 spin_lock_irqsave(&dev->urbs.lock, flags);
1942 BUG_ON(list_empty(&dev->urbs.list)); /* reserved one with limit_sem */
1943 entry = dev->urbs.list.next;
1945 dev->urbs.available--;
1947 spin_unlock_irqrestore(&dev->urbs.lock, flags);
1960 BUG_ON(len > dev->urbs.size);