Lines Matching refs:ip

336 static void usbtv_iso_cb(struct urb *ip)  in usbtv_iso_cb()  argument
340 struct usbtv *usbtv = (struct usbtv *)ip->context; in usbtv_iso_cb()
342 switch (ip->status) { in usbtv_iso_cb()
358 for (i = 0; i < ip->number_of_packets; i++) { in usbtv_iso_cb()
359 int size = ip->iso_frame_desc[i].actual_length; in usbtv_iso_cb()
360 unsigned char *data = ip->transfer_buffer + in usbtv_iso_cb()
361 ip->iso_frame_desc[i].offset; in usbtv_iso_cb()
370 ret = usb_submit_urb(ip, GFP_ATOMIC); in usbtv_iso_cb()
377 struct urb *ip; in usbtv_setup_iso_transfer() local
381 ip = usb_alloc_urb(USBTV_ISOC_PACKETS, GFP_KERNEL); in usbtv_setup_iso_transfer()
382 if (ip == NULL) in usbtv_setup_iso_transfer()
385 ip->dev = usbtv->udev; in usbtv_setup_iso_transfer()
386 ip->context = usbtv; in usbtv_setup_iso_transfer()
387 ip->pipe = usb_rcvisocpipe(usbtv->udev, USBTV_VIDEO_ENDP); in usbtv_setup_iso_transfer()
388 ip->interval = 1; in usbtv_setup_iso_transfer()
389 ip->transfer_flags = URB_ISO_ASAP; in usbtv_setup_iso_transfer()
390 ip->transfer_buffer = kzalloc(size * USBTV_ISOC_PACKETS, in usbtv_setup_iso_transfer()
392 ip->complete = usbtv_iso_cb; in usbtv_setup_iso_transfer()
393 ip->number_of_packets = USBTV_ISOC_PACKETS; in usbtv_setup_iso_transfer()
394 ip->transfer_buffer_length = size * USBTV_ISOC_PACKETS; in usbtv_setup_iso_transfer()
396 ip->iso_frame_desc[i].offset = size * i; in usbtv_setup_iso_transfer()
397 ip->iso_frame_desc[i].length = size; in usbtv_setup_iso_transfer()
400 return ip; in usbtv_setup_iso_transfer()
410 struct urb *ip = usbtv->isoc_urbs[i]; in usbtv_stop() local
412 if (ip == NULL) in usbtv_stop()
414 usb_kill_urb(ip); in usbtv_stop()
415 kfree(ip->transfer_buffer); in usbtv_stop()
416 usb_free_urb(ip); in usbtv_stop()
453 struct urb *ip; in usbtv_start() local
455 ip = usbtv_setup_iso_transfer(usbtv); in usbtv_start()
456 if (ip == NULL) { in usbtv_start()
460 usbtv->isoc_urbs[i] = ip; in usbtv_start()
462 ret = usb_submit_urb(ip, GFP_KERNEL); in usbtv_start()