| /linux/Documentation/driver-api/usb/ |
| H A D | anchors.rst | 9 driver has to keep track of the URBs it has submitted 12 keeping track of URBs and provides methods to deal with 13 multiple URBs. 25 Once it has no more URBs associated with it, the anchor can be 28 Association and disassociation of URBs with anchors 31 An association of URBs to an anchor is made by an explicit 35 all URBs associated with an anchor. 38 Operations on multitudes of URBs 44 This function kills all URBs associated with an anchor. The URBs 51 All URBs of an anchor are unanchored en masse. [all …]
|
| H A D | dma.rst | 21 - URBs have an additional "transfer_dma" field, as well as a transfer_flags 27 don't manage dma mappings for URBs. 98 into URBs:: 109 to submit URBs in PIO way as long as the page in scatterlists is not in the
|
| H A D | callbacks.rst | 8 structure and through the completion handler of URBs a driver submits. 106 If you are called due to a physical disconnection, all your URBs will be 123 outstanding URBs to complete, and save any device state you need to 124 restore. No more URBs may be submitted until the post_reset method
|
| H A D | URB.rst | 60 // (IN) all urbs need completion routines 95 URBs are allocated by calling :c:func:`usb_alloc_urb`:: 159 URBs to the same endpoint with the ``URB_ISO_ASAP`` flag, using 286 In Linux 2.6, unlike earlier versions, interrupt URBs are not automagically 288 called, just like other URBs. If you want an interrupt URB to be restarted,
|
| /linux/drivers/net/can/usb/ |
| H A D | ucan.c | 261 /* Context Information for transmission URBs */ 862 static void ucan_cleanup_rx_urbs(struct ucan_priv *up, struct urb **urbs) in ucan_cleanup_rx_urbs() argument 867 if (urbs[i]) { in ucan_cleanup_rx_urbs() 868 usb_unanchor_urb(urbs[i]); in ucan_cleanup_rx_urbs() 871 urbs[i]->transfer_buffer, in ucan_cleanup_rx_urbs() 872 urbs[i]->transfer_dma); in ucan_cleanup_rx_urbs() 873 usb_free_urb(urbs[i]); in ucan_cleanup_rx_urbs() 877 memset(urbs, 0, sizeof(*urbs) * UCAN_MAX_RX_URBS); in ucan_cleanup_rx_urbs() 881 struct urb **urbs) in ucan_prepare_and_anchor_rx_urbs() argument 929 ucan_submit_rx_urbs(struct ucan_priv * up,struct urb ** urbs) ucan_submit_rx_urbs() argument 968 struct urb *urbs[UCAN_MAX_RX_URBS]; ucan_open() local [all...] |
| /linux/drivers/net/wireless/purelifi/plfxlc/ |
| H A D | usb.c | 203 struct urb **urbs; in __lf_x_usb_enable_rx() local 207 urbs = kcalloc(RX_URBS_COUNT, sizeof(struct urb *), GFP_KERNEL); in __lf_x_usb_enable_rx() 208 if (!urbs) in __lf_x_usb_enable_rx() 212 urbs[i] = alloc_rx_urb(usb); in __lf_x_usb_enable_rx() 213 if (!urbs[i]) in __lf_x_usb_enable_rx() 221 if (rx->urbs) { in __lf_x_usb_enable_rx() 226 rx->urbs = urbs; in __lf_x_usb_enable_rx() 231 r = usb_submit_urb(urbs[i], GFP_KERNEL); in __lf_x_usb_enable_rx() 240 usb_kill_urb(urbs[i]); in __lf_x_usb_enable_rx() 242 rx->urbs = NULL; in __lf_x_usb_enable_rx() [all …]
|
| /linux/drivers/media/usb/gspca/ |
| H A D | benq.c | 77 /* create 4 URBs - 2 on endpoint 0x83 and 2 on 0x082 */ in sd_start() 79 #error "Not enough URBs in the gspca table" in sd_start() 164 /* scan both received URBs */ in sd_isoc_irq() 191 * The images are received in URBs of different endpoints in sd_isoc_irq() 193 * Image pieces in URBs of ep 0x83 are continuated in URBs of in sd_isoc_irq() 195 * The packets in the URBs of endpoint 0x83 start with: in sd_isoc_irq() 228 /* resubmit the URBs */ in sd_isoc_irq()
|
| H A D | gspca.h | 40 #define MAX_NURBS 4 /* max number of URBs */ 57 u8 no_urb_create; /* don't create transfer URBs */ 58 u8 bulk_nurbs; /* number of URBs in bulk mode 109 cam_op start; /* called on stream on after URBs creation */
|
| /linux/drivers/video/fbdev/ |
| H A D | udlfb.c | 81 /* dlfb keeps a list of urbs for efficient bulk transfers */ 412 * rendering can be done directly to output buffers (e.g. USB URBs). 1750 /* When non-active we'll update virtual framebuffer, but no new urbs */ in dlfb_usb_disconnect() 1753 /* this function will wait for all in-flight urbs to complete */ in dlfb_usb_disconnect() 1796 urb->transfer_buffer_length = dlfb->urbs.size; /* reset to actual */ in dlfb_urb_completion() 1798 spin_lock_irqsave(&dlfb->urbs.lock, flags); in dlfb_urb_completion() 1799 list_add_tail(&unode->entry, &dlfb->urbs.list); in dlfb_urb_completion() 1800 dlfb->urbs.available++; in dlfb_urb_completion() 1801 spin_unlock_irqrestore(&dlfb->urbs.lock, flags); in dlfb_urb_completion() 1803 up(&dlfb->urbs.limit_sem); in dlfb_urb_completion() [all …]
|
| H A D | smscufx.c | 96 struct urb_list urbs; member 132 /* ufx keeps a list of urbs for efficient bulk transfers */ 1086 up(&unode->dev->urbs.limit_sem); in ufx_release_urb_work() 1717 if (dev->urbs.count > 0) in ufx_usb_probe() 1740 /* When non-active we'll update virtual framebuffer, but no new urbs */ in ufx_usb_disconnect() 1749 /* this function will wait for all in-flight urbs to complete */ in ufx_usb_disconnect() 1750 if (dev->urbs.count > 0) in ufx_usb_disconnect() 1786 urb->transfer_buffer_length = dev->urbs.size; /* reset to actual */ in ufx_urb_completion() 1788 spin_lock_irqsave(&dev->urbs.lock, flags); in ufx_urb_completion() 1789 list_add_tail(&unode->entry, &dev->urbs.list); in ufx_urb_completion() [all …]
|
| /linux/sound/usb/ |
| H A D | endpoint.c | 53 * There are functions to activate and deactivate the streaming URBs and 72 * only the first user will effectively start the URBs, and only the last 73 * one to stop it will tear the URBs down again. 445 * Send output urbs that have been prepared previously. URBs are dequeued 450 * The reason why the functionality of sending and preparing URBs is separated 528 * complete callback for urbs 979 * wait until all urbs are processed. 999 "timeout: still %d active urbs on EP #%x\n", in wait_clear_urbs() 1020 * Stop active urbs 1056 * release an endpoint's urbs [all …]
|
| H A D | card.h | 9 #define SYNC_URBS 4 /* always four urbs for sync */ 100 unsigned int nurbs; /* # urbs */ 101 unsigned long active_mask; /* bitmask of active urbs */ 102 unsigned long unlink_mask; /* bitmask of unlinked urbs */ 103 atomic_t submitted_urbs; /* currently submitted urbs */ 104 char *syncbuf; /* sync buffer for all sync URBs */
|
| /linux/drivers/usb/misc/ |
| H A D | usbtest.c | 90 * urbs and buffers are allocated dynamically, 115 /* set up all urbs so they can be used with either bulk or interrupt */ 247 * These just package urbs as requests that can be easily canceled. 1220 /* allocate and init the urbs we'll queue. in test_ctrl_queue() 1385 /* queue the urbs */ in test_ctrl_queue() 1479 /* we can't unlink urbs while they're completing in unlink1() 1531 struct urb **urbs; member 1541 if (urb == ctx->urbs[ctx->num - 4] || urb == ctx->urbs[ctx->num - 2]) { in unlink_queued_callback() 1574 /* Allocate and init the urbs we'll queue */ in unlink_queued() 1575 ctx.urbs = kcalloc(num, sizeof(struct urb *), GFP_KERNEL); in unlink_queued() [all …]
|
| /linux/drivers/net/wireless/zydas/zd1211rw/ |
| H A D | zd_usb.c | 750 struct urb **urbs; in __zd_usb_enable_rx() local 755 urbs = kcalloc(RX_URBS_COUNT, sizeof(struct urb *), GFP_KERNEL); in __zd_usb_enable_rx() 756 if (!urbs) in __zd_usb_enable_rx() 759 urbs[i] = alloc_rx_urb(usb); in __zd_usb_enable_rx() 760 if (!urbs[i]) in __zd_usb_enable_rx() 766 if (rx->urbs) { in __zd_usb_enable_rx() 771 rx->urbs = urbs; in __zd_usb_enable_rx() 776 r = usb_submit_urb(urbs[i], GFP_KERNEL); in __zd_usb_enable_rx() 784 usb_kill_urb(urbs[i]); in __zd_usb_enable_rx() 787 rx->urbs = NULL; in __zd_usb_enable_rx() [all …]
|
| H A D | zd_usb.h | 180 struct urb **urbs; member 188 * @submitted: anchor for URBs sent to device 189 * @submitted_urbs: atomic integer that counts the URBs having sent to the
|
| /linux/sound/usb/line6/ |
| H A D | pcm.h | 88 /* allocated URBs */ 89 struct urb **urbs; member 117 /* Bit mask of active URBs */ 120 /* Bit mask of URBs currently being unlinked */
|
| H A D | playback.c | 163 urb_out = line6pcm->out.urbs[index]; in submit_audio_out_urb() 283 Submit all currently available playback URBs. 321 if (urb == line6pcm->out.urbs[index]) in audio_out_callback() 407 line6pcm->out.urbs = kcalloc(line6->iso_buffers, sizeof(struct urb *), in line6_create_audio_out_urbs() 409 if (line6pcm->out.urbs == NULL) in line6_create_audio_out_urbs() 412 /* create audio URBs and fill in constant values: */ in line6_create_audio_out_urbs() 417 urb = line6pcm->out.urbs[i] = in line6_create_audio_out_urbs()
|
| /linux/drivers/usb/core/ |
| H A D | message.c | 355 * users are forced to abuse this routine by using it to submit URBs for 396 if (io->urbs) { in sg_clean() 398 usb_free_urb(io->urbs[io->entries]); in sg_clean() 399 kfree(io->urbs); in sg_clean() 400 io->urbs = NULL; in sg_clean() 415 * device driver code (like this routine) unlink queued urbs first, in sg_complete() 441 /* the previous urbs, and this one, completed already. in sg_complete() 442 * unlink pending urbs so they won't rx/tx bad data. in sg_complete() 447 if (!io->urbs[i]) in sg_complete() 450 usb_block_urb(io->urbs[i]); in sg_complete() [all …]
|
| /linux/drivers/media/usb/au0828/ |
| H A D | au0828-dvb.c | 176 if (dev->urbs[i]) { in stop_urb_transfer() 177 usb_kill_urb(dev->urbs[i]); in stop_urb_transfer() 179 kfree(dev->urbs[i]->transfer_buffer); in stop_urb_transfer() 181 usb_free_urb(dev->urbs[i]); in stop_urb_transfer() 202 dev->urbs[i] = usb_alloc_urb(0, GFP_KERNEL); in start_urb_transfer() 203 if (!dev->urbs[i]) in start_urb_transfer() 206 purb = dev->urbs[i]; in start_urb_transfer() 216 dev->urbs[i] = NULL; in start_urb_transfer() 236 ret = usb_submit_urb(dev->urbs[i], GFP_ATOMIC); in start_urb_transfer()
|
| /linux/drivers/usb/atm/ |
| H A D | usbatm.c | 38 * - unlink all active send urbs of a vcc that is being closed. 105 "Number of urbs used for reception (range: 0-" 111 "Number of urbs used for transmission (range: 0-" 193 ** urbs ** 938 /* submit all rx URBs */ in usbatm_atm_init() 940 usbatm_submit_urb(instance->urbs[i]); in usbatm_atm_init() 1021 size = struct_size(instance, urbs, in usbatm_usb_probe() 1120 /* initialize urbs */ in usbatm_usb_probe() 1135 instance->urbs[i] = urb; in usbatm_usb_probe() 1157 /* put all tx URBs on the list of spares */ in usbatm_usb_probe() [all …]
|
| /linux/drivers/greybus/ |
| H A D | es2.c | 47 * Number of CPort IN urbs in flight at any point in time. 48 * Adjust if we are having stalls in the USB buffer due to not enough urbs in 53 /* Number of CPort OUT urbs in flight at any point in time. 54 * Adjust if we get messages saying we are out of urbs in the system log. 59 * Number of ARPC in urbs in flight at any point in time. 65 * @urb: array of urbs for the CPort in messages 66 * @buffer: array of buffers for the @cport_in_urb urbs 80 * @cport_in: endpoint, urbs and buffer for cport in messages 82 * @cport_out_urb: array of urbs for the CPort out messages 93 * @arpc_urb: array of urbs for the ARPC in messages [all …]
|
| /linux/drivers/net/usb/ |
| H A D | cdc-phonet.c | 39 struct urb *urbs[]; member 228 pnd->urbs[i] = req; in usbpn_open() 244 struct urb *req = pnd->urbs[i]; in usbpn_close() 250 pnd->urbs[i] = NULL; in usbpn_close() 354 dev = alloc_netdev(struct_size(pnd, urbs, rxq_size), ifname, in usbpn_probe()
|
| /linux/drivers/usb/usbip/ |
| H A D | stub_main.c | 294 urb = priv->urbs[i]; in stub_free_priv_and_urb() 320 kfree(priv->urbs); in stub_free_priv_and_urb() 352 dev_dbg(&sdev->udev->dev, "Stub device cleaning up urbs\n"); in stub_device_cleanup_urbs() 356 usb_kill_urb(priv->urbs[i]); in stub_device_cleanup_urbs()
|
| /linux/drivers/media/usb/dvb-usb-v2/ |
| H A D | usb_urb.c | 127 /* free the URBs */ in usb_urb_free_urbs() 140 /* allocate the URBs */ in usb_urb_alloc_bulk_urbs() 167 /* allocate the URBs */ in usb_urb_alloc_isoc_urbs() 294 dev_dbg(&stream->udev->dev, "%s: re-alloc urbs\n", __func__); in usb_urb_reconfig()
|
| /linux/drivers/usb/host/ |
| H A D | uhci-q.c | 153 * We insert Isochronous URBs directly into the frame list at the beginning 369 * Fix up the data toggles for URBs in a queue, when one of them 390 /* Fix up the toggle for the URBs in the queue. Normally this in uhci_fixup_toggles() 893 * to do that is to put URBs on the low-speed queue while the device in uhci_submit_control() 1029 * more than 2 or 3 URBs, so we will ignore the URB_NO_INTERRUPT in uhci_submit_common() 1079 * Drivers can submit URBs of any length, but longer ones will need in uhci_submit_interrupt() 1143 * fix up the toggles of the following URBs on the queue in uhci_fixup_short_transfer() 1569 * Scan the URBs in a QH's queue 1592 /* Dequeued but completed URBs can't be given back unless in uhci_scan_qh() 1613 /* Otherwise give back each of the dequeued URBs */ in uhci_scan_qh() [all …]
|