summaryrefslogblamecommitdiffstats
path: root/drivers/staging/winbond/wb35tx_s.h
blob: dc120085d52863717fcb657f77696fd8bba24d7d (plain) (tree)
1
2
3
4
5
6
7
8
9


                             
                  
 
                                   


                                                         
                                                                            
 
                                  
                
                           
                                                                      
 
                                

                                              

                                                                                 
                                     
 



                                                                         
 

                                



                                     

                                                                                
  
 
      
#ifndef __WINBOND_WB35_TX_S_H
#define __WINBOND_WB35_TX_S_H

#include "mds_s.h"

/* IS89C35 Tx related definition */
#define TX_INTERFACE		0	/* Interface 1 */
#define TX_PIPE			3	/* Endpoint 4 */
#define TX_INTERRUPT		1	/* Endpoint 2 */
#define MAX_INTERRUPT_LENGTH	64	/* It must be 64 for EP2 hardware */

/* Internal variable for module */
struct wb35_tx {
	/* For Tx buffer */
	u8	TxBuffer[MAX_USB_TX_BUFFER_NUMBER][MAX_USB_TX_BUFFER];

	/* For Interrupt pipe */
	u8	EP2_buf[MAX_INTERRUPT_LENGTH];

	atomic_t	TxResultCount; /* For thread control of EP2 931130.4.m */
	atomic_t	TxFireCounter; /* For thread control of EP4 931130.4.n */
	u32		ByteTransfer;

	u32	TxSendIndex; /* The next index of Mds array to be sent */
	u32	EP2vm_state; /* for EP2vm state */
	u32	EP4vm_state; /* for EP4vm state */
	u32	tx_halt; /* Stopping VM */

	struct urb	*Tx4Urb;
	struct urb	*Tx2Urb;

	int		EP2VM_status;
	int		EP4VM_status;

	u32	TxFillCount; /* 20060928 */
	u32	TxTimer; /* 20060928 Add if sending packet is greater than 13 */
};

#endif