blob: 715f87d6ac5bc2005e80a5ed136ab193dc3c9cd9 [file] [log] [blame]
#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