2009-09-14 16:42:41 +04:00
/*
2010-10-20 13:35:54 +04:00
* tm6000 - buf . c - driver for TM5600 / TM6000 / TM6010 USB video capture devices
*
* Copyright ( C ) 2006 - 2007 Mauro Carvalho Chehab < mchehab @ infradead . org >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation version 2
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program ; if not , write to the Free Software
* Foundation , Inc . , 675 Mass Ave , Cambridge , MA 0213 9 , USA .
2009-09-14 16:42:41 +04:00
*/
# include <linux/videodev2.h>
2008-01-08 17:25:57 +03:00
# define TM6000_URB_MSG_LEN 180
2009-09-14 16:42:41 +04:00
struct usb_isoc_ctl {
/* max packet size of isoc transaction */
int max_pkt_size ;
/* number of allocated urbs */
int num_bufs ;
/* urb for isoc transfers */
struct urb * * urb ;
/* transfer buffers for isoc transfer */
char * * transfer_buffer ;
2008-04-09 15:07:20 +04:00
/* Last buffer command and region */
u8 cmd ;
int pos , size , pktsize ;
2009-09-14 16:42:41 +04:00
/* Last field: ODD or EVEN? */
2011-05-21 10:05:38 +04:00
int vfield , field ;
2007-09-19 23:24:05 +04:00
2007-09-22 09:06:25 +04:00
/* Stores incomplete commands */
2008-04-09 15:07:20 +04:00
u32 tmp_buf ;
int tmp_buf_len ;
2007-09-22 09:06:25 +04:00
/* Stores already requested buffers */
2011-09-23 16:26:22 +04:00
struct tm6000_buffer * buf ;
2009-09-14 16:42:41 +04:00
} ;