Home
last modified time | relevance | path

Searched full:urbs (Results 1 – 25 of 456) sorted by relevance

12345678910>>...19

/kernel/linux/linux-6.6/drivers/gpu/drm/udl/
Dudl_main.c95 * Need to ensure a channel is selected before submitting URBs
138 urb->transfer_buffer_length = udl->urbs.size; /* reset to actual */ in udl_urb_completion()
140 spin_lock_irqsave(&udl->urbs.lock, flags); in udl_urb_completion()
141 list_add_tail(&unode->entry, &udl->urbs.list); in udl_urb_completion()
142 udl->urbs.available++; in udl_urb_completion()
143 spin_unlock_irqrestore(&udl->urbs.lock, flags); in udl_urb_completion()
145 wake_up(&udl->urbs.sleep); in udl_urb_completion()
154 DRM_DEBUG("Waiting for completes and freeing all render urbs\n"); in udl_free_urb_list()
157 while (udl->urbs.count) { in udl_free_urb_list()
158 spin_lock_irq(&udl->urbs.lock); in udl_free_urb_list()
[all …]
/kernel/linux/linux-5.10/drivers/gpu/drm/udl/
Dudl_main.c97 * Need to ensure a channel is selected before submitting URBs
127 up(&unode->dev->urbs.limit_sem); in udl_release_urb_work()
146 urb->transfer_buffer_length = udl->urbs.size; /* reset to actual */ in udl_urb_completion()
148 spin_lock_irqsave(&udl->urbs.lock, flags); in udl_urb_completion()
149 list_add_tail(&unode->entry, &udl->urbs.list); in udl_urb_completion()
150 udl->urbs.available++; in udl_urb_completion()
151 spin_unlock_irqrestore(&udl->urbs.lock, flags); in udl_urb_completion()
162 up(&udl->urbs.limit_sem); in udl_urb_completion()
168 int count = udl->urbs.count; in udl_free_urb_list()
173 DRM_DEBUG("Waiting for completes and freeing all render urbs\n"); in udl_free_urb_list()
[all …]
/kernel/linux/linux-6.6/Documentation/driver-api/usb/
Danchors.rst9 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
52 This function unlinks all URBs associated with an anchor. The URBs
[all …]
/kernel/linux/linux-5.10/Documentation/driver-api/usb/
Danchors.rst9 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
52 This function unlinks all URBs associated with an anchor. The URBs
[all …]
/kernel/linux/linux-5.10/drivers/usb/usbip/
Dstub_rx.c199 * process coming urbs. Even if the urb is unlinked, its completion
253 ret = usb_unlink_urb(priv->urbs[i]); in stub_recv_cmd_unlink()
255 dev_err(&priv->urbs[i]->dev->dev, in stub_recv_cmd_unlink()
447 ret = usbip_recv_xbuff(ud, priv->urbs[i]); in stub_recv_xbuff()
502 * a single SG request into several URBs and map in stub_recv_cmd_submit()
509 * several URBs. Later, priv->sgl is used by in stub_recv_cmd_submit()
511 * reassemble the divied URBs. in stub_recv_cmd_submit()
528 priv->urbs = kmalloc_array(num_urbs, sizeof(*priv->urbs), GFP_KERNEL); in stub_recv_cmd_submit()
529 if (!priv->urbs) in stub_recv_cmd_submit()
537 priv->urbs[0] = usb_alloc_urb(np, GFP_KERNEL); in stub_recv_cmd_submit()
[all …]
/kernel/linux/linux-6.6/drivers/usb/usbip/
Dstub_rx.c199 * process coming urbs. Even if the urb is unlinked, its completion
253 ret = usb_unlink_urb(priv->urbs[i]); in stub_recv_cmd_unlink()
255 dev_err(&priv->urbs[i]->dev->dev, in stub_recv_cmd_unlink()
447 ret = usbip_recv_xbuff(ud, priv->urbs[i]); in stub_recv_xbuff()
502 * a single SG request into several URBs and map in stub_recv_cmd_submit()
509 * several URBs. Later, priv->sgl is used by in stub_recv_cmd_submit()
511 * reassemble the divied URBs. in stub_recv_cmd_submit()
528 priv->urbs = kmalloc_array(num_urbs, sizeof(*priv->urbs), GFP_KERNEL); in stub_recv_cmd_submit()
529 if (!priv->urbs) in stub_recv_cmd_submit()
537 priv->urbs[0] = usb_alloc_urb(np, GFP_KERNEL); in stub_recv_cmd_submit()
[all …]
/kernel/linux/linux-6.6/sound/usb/caiaq/
Daudio.c700 struct urb **urbs; in alloc_urbs() local
708 urbs = kmalloc_array(N_URBS, sizeof(*urbs), GFP_KERNEL); in alloc_urbs()
709 if (!urbs) { in alloc_urbs()
715 urbs[i] = usb_alloc_urb(FRAMES_PER_URB, GFP_KERNEL); in alloc_urbs()
716 if (!urbs[i]) { in alloc_urbs()
718 return urbs; in alloc_urbs()
721 urbs[i]->transfer_buffer = in alloc_urbs()
724 if (!urbs[i]->transfer_buffer) { in alloc_urbs()
726 return urbs; in alloc_urbs()
731 &urbs[i]->iso_frame_desc[frame]; in alloc_urbs()
[all …]
/kernel/linux/linux-5.10/sound/usb/caiaq/
Daudio.c700 struct urb **urbs; in alloc_urbs() local
708 urbs = kmalloc_array(N_URBS, sizeof(*urbs), GFP_KERNEL); in alloc_urbs()
709 if (!urbs) { in alloc_urbs()
715 urbs[i] = usb_alloc_urb(FRAMES_PER_URB, GFP_KERNEL); in alloc_urbs()
716 if (!urbs[i]) { in alloc_urbs()
718 return urbs; in alloc_urbs()
721 urbs[i]->transfer_buffer = in alloc_urbs()
724 if (!urbs[i]->transfer_buffer) { in alloc_urbs()
726 return urbs; in alloc_urbs()
731 &urbs[i]->iso_frame_desc[frame]; in alloc_urbs()
[all …]
/kernel/linux/linux-6.6/drivers/net/can/usb/
Ducan.c261 /* Context Information for transmission URBs */
860 static void ucan_cleanup_rx_urbs(struct ucan_priv *up, struct urb **urbs) in ucan_cleanup_rx_urbs() argument
865 if (urbs[i]) { in ucan_cleanup_rx_urbs()
866 usb_unanchor_urb(urbs[i]); in ucan_cleanup_rx_urbs()
869 urbs[i]->transfer_buffer, in ucan_cleanup_rx_urbs()
870 urbs[i]->transfer_dma); in ucan_cleanup_rx_urbs()
871 usb_free_urb(urbs[i]); in ucan_cleanup_rx_urbs()
875 memset(urbs, 0, sizeof(*urbs) * UCAN_MAX_RX_URBS); in ucan_cleanup_rx_urbs()
879 struct urb **urbs) in ucan_prepare_and_anchor_rx_urbs() argument
883 memset(urbs, 0, sizeof(*urbs) * UCAN_MAX_RX_URBS); in ucan_prepare_and_anchor_rx_urbs()
[all …]
/kernel/linux/linux-5.10/drivers/net/can/usb/
Ducan.c259 /* Context Information for transmission URBs */
858 static void ucan_cleanup_rx_urbs(struct ucan_priv *up, struct urb **urbs) in ucan_cleanup_rx_urbs() argument
863 if (urbs[i]) { in ucan_cleanup_rx_urbs()
864 usb_unanchor_urb(urbs[i]); in ucan_cleanup_rx_urbs()
867 urbs[i]->transfer_buffer, in ucan_cleanup_rx_urbs()
868 urbs[i]->transfer_dma); in ucan_cleanup_rx_urbs()
869 usb_free_urb(urbs[i]); in ucan_cleanup_rx_urbs()
873 memset(urbs, 0, sizeof(*urbs) * UCAN_MAX_RX_URBS); in ucan_cleanup_rx_urbs()
877 struct urb **urbs) in ucan_prepare_and_anchor_rx_urbs() argument
881 memset(urbs, 0, sizeof(*urbs) * UCAN_MAX_RX_URBS); in ucan_prepare_and_anchor_rx_urbs()
[all …]
/kernel/linux/linux-6.6/drivers/net/wireless/purelifi/plfxlc/
Dusb.c203 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 …]
/kernel/linux/linux-5.10/sound/usb/
Dendpoint.c30 * There are functions to activate and deactivate the streaming URBs and
49 * only the first user will effectively start the URBs, and only the last
50 * one to stop it will tear the URBs down again.
321 * Send output urbs that have been prepared previously. URBs are dequeued
326 * The reason why the functionality of sending and preparing URBs is separated
331 * driven by dedicated sync endpoints, URBs are immediately re-submitted
379 * complete callback for urbs
535 * wait until all urbs are processed.
552 "timeout: still %d active urbs on EP #%x\n", in wait_clear_urbs()
574 * unlink active urbs.
[all …]
/kernel/linux/linux-6.6/drivers/media/usb/gspca/
Dbenq.c77 /* 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()
/kernel/linux/linux-5.10/drivers/media/usb/gspca/
Dbenq.c77 /* 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()
/kernel/linux/linux-5.10/sound/usb/line6/
Dpcm.c96 Unlink all currently active URBs.
106 usb_unlink_urb(pcms->urbs[i]); in line6_unlink_audio_urbs()
112 Wait until unlinking of all currently active URBs has been finished.
134 "timeout: still %d active urbs..\n", alive); in line6_wait_clear_audio_urbs()
193 /* Submit all currently available URBs */ in line6_stream_start()
206 /* stop a PCM stream; this doesn't sync with the unlinked URBs */
456 if (pcms->urbs == NULL) in cleanup_urbs()
460 if (pcms->urbs[i]) { in cleanup_urbs()
461 usb_kill_urb(pcms->urbs[i]); in cleanup_urbs()
462 usb_free_urb(pcms->urbs[i]); in cleanup_urbs()
[all …]
Dcapture.c36 urb_in = line6pcm->in.urbs[index]; in submit_audio_in_urb()
65 Submit all currently available capture URBs.
156 if (urb == line6pcm->in.urbs[index]) in audio_in_callback()
262 line6pcm->in.urbs = kcalloc(line6->iso_buffers, sizeof(struct urb *), in line6_create_audio_in_urbs()
264 if (line6pcm->in.urbs == NULL) in line6_create_audio_in_urbs()
267 /* create audio URBs and fill in constant values: */ in line6_create_audio_in_urbs()
272 urb = line6pcm->in.urbs[i] = in line6_create_audio_in_urbs()
/kernel/linux/linux-6.6/sound/usb/line6/
Dpcm.c96 Unlink all currently active URBs.
106 usb_unlink_urb(pcms->urbs[i]); in line6_unlink_audio_urbs()
112 Wait until unlinking of all currently active URBs has been finished.
134 "timeout: still %d active urbs..\n", alive); in line6_wait_clear_audio_urbs()
193 /* Submit all currently available URBs */ in line6_stream_start()
206 /* stop a PCM stream; this doesn't sync with the unlinked URBs */
456 if (pcms->urbs == NULL) in cleanup_urbs()
460 if (pcms->urbs[i]) { in cleanup_urbs()
461 usb_kill_urb(pcms->urbs[i]); in cleanup_urbs()
462 usb_free_urb(pcms->urbs[i]); in cleanup_urbs()
[all …]
Dcapture.c36 urb_in = line6pcm->in.urbs[index]; in submit_audio_in_urb()
65 Submit all currently available capture URBs.
156 if (urb == line6pcm->in.urbs[index]) in audio_in_callback()
262 line6pcm->in.urbs = kcalloc(line6->iso_buffers, sizeof(struct urb *), in line6_create_audio_in_urbs()
264 if (line6pcm->in.urbs == NULL) in line6_create_audio_in_urbs()
267 /* create audio URBs and fill in constant values: */ in line6_create_audio_in_urbs()
272 urb = line6pcm->in.urbs[i] = in line6_create_audio_in_urbs()
/kernel/linux/linux-6.6/drivers/video/fbdev/
Dudlfb.c81 /* dlfb keeps a list of urbs for efficient bulk transfers */
410 * rendering can be done directly to output buffers (e.g. USB URBs).
1793 /* When non-active we'll update virtual framebuffer, but no new urbs */ in dlfb_usb_disconnect()
1796 /* this function will wait for all in-flight urbs to complete */ in dlfb_usb_disconnect()
1839 urb->transfer_buffer_length = dlfb->urbs.size; /* reset to actual */ in dlfb_urb_completion()
1841 spin_lock_irqsave(&dlfb->urbs.lock, flags); in dlfb_urb_completion()
1842 list_add_tail(&unode->entry, &dlfb->urbs.list); in dlfb_urb_completion()
1843 dlfb->urbs.available++; in dlfb_urb_completion()
1844 spin_unlock_irqrestore(&dlfb->urbs.lock, flags); in dlfb_urb_completion()
1846 up(&dlfb->urbs.limit_sem); in dlfb_urb_completion()
[all …]
Dsmscufx.c96 struct urb_list urbs; member
132 /* ufx keeps a list of urbs for efficient bulk transfers */
1142 up(&unode->dev->urbs.limit_sem); in ufx_release_urb_work()
1756 if (dev->urbs.count > 0) in ufx_usb_probe()
1779 /* When non-active we'll update virtual framebuffer, but no new urbs */ in ufx_usb_disconnect()
1788 /* this function will wait for all in-flight urbs to complete */ in ufx_usb_disconnect()
1789 if (dev->urbs.count > 0) in ufx_usb_disconnect()
1825 urb->transfer_buffer_length = dev->urbs.size; /* reset to actual */ in ufx_urb_completion()
1827 spin_lock_irqsave(&dev->urbs.lock, flags); in ufx_urb_completion()
1828 list_add_tail(&unode->entry, &dev->urbs.list); in ufx_urb_completion()
[all …]
/kernel/linux/linux-5.10/drivers/video/fbdev/
Dudlfb.c81 /* dlfb keeps a list of urbs for efficient bulk transfers */
407 * rendering can be done directly to output buffers (e.g. USB URBs).
1800 /* When non-active we'll update virtual framebuffer, but no new urbs */ in dlfb_usb_disconnect()
1803 /* this function will wait for all in-flight urbs to complete */ in dlfb_usb_disconnect()
1846 urb->transfer_buffer_length = dlfb->urbs.size; /* reset to actual */ in dlfb_urb_completion()
1848 spin_lock_irqsave(&dlfb->urbs.lock, flags); in dlfb_urb_completion()
1849 list_add_tail(&unode->entry, &dlfb->urbs.list); in dlfb_urb_completion()
1850 dlfb->urbs.available++; in dlfb_urb_completion()
1851 spin_unlock_irqrestore(&dlfb->urbs.lock, flags); in dlfb_urb_completion()
1853 up(&dlfb->urbs.limit_sem); in dlfb_urb_completion()
[all …]
Dsmscufx.c96 struct urb_list urbs; member
132 /* ufx keeps a list of urbs for efficient bulk transfers */
1141 up(&unode->dev->urbs.limit_sem); in ufx_release_urb_work()
1755 if (dev->urbs.count > 0) in ufx_usb_probe()
1778 /* When non-active we'll update virtual framebuffer, but no new urbs */ in ufx_usb_disconnect()
1787 /* this function will wait for all in-flight urbs to complete */ in ufx_usb_disconnect()
1788 if (dev->urbs.count > 0) in ufx_usb_disconnect()
1824 urb->transfer_buffer_length = dev->urbs.size; /* reset to actual */ in ufx_urb_completion()
1826 spin_lock_irqsave(&dev->urbs.lock, flags); in ufx_urb_completion()
1827 list_add_tail(&unode->entry, &dev->urbs.list); in ufx_urb_completion()
[all …]
/kernel/linux/linux-6.6/sound/usb/
Dendpoint.c53 * 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.
446 * Send output urbs that have been prepared previously. URBs are dequeued
451 * The reason why the functionality of sending and preparing URBs is separated
531 * complete callback for urbs
984 * wait until all urbs are processed.
1004 "timeout: still %d active urbs on EP #%x\n", in wait_clear_urbs()
1025 * Stop active urbs
1062 * release an endpoint's urbs
[all …]
/kernel/linux/linux-5.10/drivers/usb/core/
Durb.c106 * for urbs.
123 * This can be called to have access to URBs which are to be executed
242 * URBs may be submitted in interrupt context.
260 * interrupt and isochronous urbs, as part of successful URB submission
262 * (normally some power of two units). And for isochronous urbs,
295 * URBs may be submitted to endpoints before previous ones complete, to
596 * This routine cancels an in-progress request. URBs complete only once
633 * Host Controller Drivers (HCDs) place all the URBs for a particular
638 * will not restart until all its unlinked URBs have been fully retired,
658 * unlinking all pending URBs at the first fault.
[all …]
/kernel/linux/linux-6.6/drivers/usb/core/
Durb.c107 * for urbs.
124 * This can be called to have access to URBs which are to be executed
243 * URBs may be submitted in interrupt context.
261 * interrupt and isochronous urbs, as part of successful URB submission
263 * (normally some power of two units). And for isochronous urbs,
296 * URBs may be submitted to endpoints before previous ones complete, to
592 * This routine cancels an in-progress request. URBs complete only once
629 * Host Controller Drivers (HCDs) place all the URBs for a particular
634 * will not restart until all its unlinked URBs have been fully retired,
654 * unlinking all pending URBs at the first fault.
[all …]

12345678910>>...19