blob: f70f4339559155a4d1942095c63a443909965e4c [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 not great than 13
};
#endif