Merge commit '305b07680f' into orion/master
[linux-2.6] / drivers / staging / winbond / wb35tx_s.h
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