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 *  You should have received a copy of the GNU General Public License
16 *  along with this program; if not, write to the Free Software
17 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20#include <linux/videodev2.h>
21
22#define TM6000_URB_MSG_LEN 180
23
24struct usb_isoc_ctl {
25		/* max packet size of isoc transaction */
26	int				max_pkt_size;
27
28		/* number of allocated urbs */
29	int				num_bufs;
30
31		/* urb for isoc transfers */
32	struct urb			**urb;
33
34		/* transfer buffers for isoc transfer */
35	char				**transfer_buffer;
36
37		/* Last buffer command and region */
38	u8				cmd;
39	int				pos, size, pktsize;
40
41		/* Last field: ODD or EVEN? */
42	int				vfield, field;
43
44		/* Stores incomplete commands */
45	u32				tmp_buf;
46	int				tmp_buf_len;
47
48		/* Stores already requested buffers */
49	struct tm6000_buffer		*buf;
50};
51