GNU Linux-libre 4.14.313-gnu1
[releases.git] / drivers / media / usb / tm6000 / tm6000-usb-isoc.h
1 /*
2  *  tm6000-buf.c - driver for TM5600/TM6000/TM6010 USB video capture devices
3  *
4  *  Copyright (C) 2006-2007 Mauro Carvalho Chehab <mchehab@infradead.org>
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation version 2
9  *
10  *  This program is distributed in the hope that it will be useful,
11  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *  GNU General Public License for more details.
14  */
15
16 #include <linux/videodev2.h>
17
18 #define TM6000_URB_MSG_LEN 180
19
20 struct usb_isoc_ctl {
21                 /* max packet size of isoc transaction */
22         int                             max_pkt_size;
23
24                 /* number of allocated urbs */
25         int                             num_bufs;
26
27                 /* urb for isoc transfers */
28         struct urb                      **urb;
29
30                 /* transfer buffers for isoc transfer */
31         char                            **transfer_buffer;
32
33                 /* Last buffer command and region */
34         u8                              cmd;
35         int                             pos, size, pktsize;
36
37                 /* Last field: ODD or EVEN? */
38         int                             vfield, field;
39
40                 /* Stores incomplete commands */
41         u32                             tmp_buf;
42         int                             tmp_buf_len;
43
44                 /* Stores already requested buffers */
45         struct tm6000_buffer            *buf;
46 };