Lines Matching refs:urb
112 struct urb urb;
170 static void playback_urb_complete(struct urb *usb_urb)
172 struct ua101_urb *urb = (struct ua101_urb *)usb_urb;
173 struct ua101 *ua = urb->urb.context;
176 if (unlikely(urb->urb.status == -ENOENT || /* unlinked */
177 urb->urb.status == -ENODEV || /* device removed */
178 urb->urb.status == -ECONNRESET || /* unlinked */
179 urb->urb.status == -ESHUTDOWN)) { /* device disabled */
188 list_add_tail(&urb->ready_list, &ua->ready_playback_urbs);
192 urb->urb.iso_frame_desc[0].length /
198 static void first_playback_urb_complete(struct urb *urb)
200 struct ua101 *ua = urb->context;
202 urb->complete = playback_urb_complete;
203 playback_urb_complete(urb);
210 static bool copy_playback_data(struct ua101_stream *stream, struct urb *urb,
221 memcpy(urb->transfer_buffer, source, frames * frame_bytes);
225 memcpy(urb->transfer_buffer, source, frames1 * frame_bytes);
226 memcpy(urb->transfer_buffer + frames1 * frame_bytes,
254 struct ua101_urb *urb;
281 urb = list_first_entry(&ua->ready_playback_urbs,
283 list_del(&urb->ready_list);
286 urb->urb.iso_frame_desc[0].length =
290 &urb->urb,
293 memset(urb->urb.transfer_buffer, 0,
294 urb->urb.iso_frame_desc[0].length);
297 err = usb_submit_urb(&urb->urb, GFP_ATOMIC);
314 static bool copy_capture_data(struct ua101_stream *stream, struct urb *urb,
325 memcpy(dest, urb->transfer_buffer, frames * frame_bytes);
329 memcpy(dest, urb->transfer_buffer, frames1 * frame_bytes);
331 urb->transfer_buffer + frames1 * frame_bytes,
346 static void capture_urb_complete(struct urb *urb)
348 struct ua101 *ua = urb->context;
355 if (unlikely(urb->status == -ENOENT || /* unlinked */
356 urb->status == -ENODEV || /* device removed */
357 urb->status == -ECONNRESET || /* unlinked */
358 urb->status == -ESHUTDOWN)) /* device disabled */
361 if (urb->status >= 0 && urb->iso_frame_desc[0].status >= 0)
362 frames = urb->iso_frame_desc[0].actual_length /
370 do_period_elapsed = copy_capture_data(stream, urb, frames);
375 err = usb_submit_urb(urb, GFP_ATOMIC);
420 static void first_capture_urb_complete(struct urb *urb)
422 struct ua101 *ua = urb->context;
424 urb->complete = capture_urb_complete;
425 capture_urb_complete(urb);
436 int err = usb_submit_urb(&stream->urbs[i]->urb, GFP_KERNEL);
452 usb_kill_urb(&stream->urbs[i]->urb);
517 ua->capture.urbs[0]->urb.complete = first_capture_urb_complete;
542 struct urb *urb;
559 ua->playback.urbs[0]->urb.complete =
589 urb = &ua->playback.urbs[i]->urb;
590 urb->iso_frame_desc[0].length =
592 memset(urb->transfer_buffer, 0,
593 urb->iso_frame_desc[0].length);
1071 void (*urb_complete)(struct urb *))
1074 struct ua101_urb *urb;
1085 urb = kmalloc(sizeof(*urb), GFP_KERNEL);
1086 if (!urb)
1088 usb_init_urb(&urb->urb);
1089 urb->urb.dev = ua->dev;
1090 urb->urb.pipe = stream->usb_pipe;
1091 urb->urb.transfer_flags = URB_NO_TRANSFER_DMA_MAP;
1092 urb->urb.transfer_buffer = addr;
1093 urb->urb.transfer_dma = dma;
1094 urb->urb.transfer_buffer_length = max_packet_size;
1095 urb->urb.number_of_packets = 1;
1096 urb->urb.interval = 1;
1097 urb->urb.context = ua;
1098 urb->urb.complete = urb_complete;
1099 urb->urb.iso_frame_desc[0].offset = 0;
1100 urb->urb.iso_frame_desc[0].length = max_packet_size;
1101 stream->urbs[u++] = urb;