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 48