Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6
[pandora-kernel.git] / 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 struct wb35_tx {
22         // For Tx buffer
23         u8      TxBuffer[ MAX_USB_TX_BUFFER_NUMBER ][ MAX_USB_TX_BUFFER ];
24
25         // For Interrupt pipe
26         u8      EP2_buf[MAX_INTERRUPT_LENGTH];
27
28         atomic_t        TxResultCount;// For thread control of EP2 931130.4.m
29         atomic_t        TxFireCounter;// For thread control of EP4 931130.4.n
30         u32                     ByteTransfer;
31
32         u32         TxSendIndex;// The next index of Mds array to be sent
33         u32         EP2vm_state; // for EP2vm state
34         u32         EP4vm_state; // for EP4vm state
35         u32         tx_halt; // Stopping VM
36
37         struct urb *                            Tx4Urb;
38         struct urb *                            Tx2Urb;
39
40         int             EP2VM_status;
41         int             EP4VM_status;
42
43         u32     TxFillCount; // 20060928
44         u32     TxTimer; // 20060928 Add if sending packet not great than 13
45 };
46
47 #endif