• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __WINBOND_WB35_TX_S_H
2 #define __WINBOND_WB35_TX_S_H
3 
4 #include "mds_s.h"
5 
6 //====================================
7 // IS89C35 Tx related definition
8 //====================================
9 #define TX_INTERFACE			0	// Interface 1
10 #define TX_PIPE					3	// endpoint 4
11 #define TX_INTERRUPT			1	// endpoint 2
12 #define MAX_INTERRUPT_LENGTH	64	// It must be 64 for EP2 hardware
13 
14 
15 
16 //====================================
17 // Internal variable for module
18 //====================================
19 
20 
21 typedef struct _WB35TX
22 {
23 	// For Tx buffer
24 	u8	TxBuffer[ MAX_USB_TX_BUFFER_NUMBER ][ MAX_USB_TX_BUFFER ];
25 
26 	// For Interrupt pipe
27 	u8	EP2_buf[MAX_INTERRUPT_LENGTH];
28 
29 	atomic_t	TxResultCount;// For thread control of EP2 931130.4.m
30 	atomic_t	TxFireCounter;// For thread control of EP4 931130.4.n
31 	u32			ByteTransfer;
32 
33 	u32	    TxSendIndex;// The next index of Mds array to be sent
34 	u32	    EP2vm_state; // for EP2vm state
35 	u32	    EP4vm_state; // for EP4vm state
36 	u32	    tx_halt; // Stopping VM
37 
38 	struct urb *				Tx4Urb;
39 	struct urb *				Tx2Urb;
40 
41 	int		EP2VM_status;
42 	int		EP4VM_status;
43 
44 	u32	TxFillCount; // 20060928
45 	u32	TxTimer; // 20060928 Add if sending packet not great than 13
46 
47 } WB35TX, *PWB35TX;
48 
49 #endif
50