2008-10-30 11:04:29 +00:00
|
|
|
#ifndef __WINBOND_WB35_TX_S_H
|
|
|
|
#define __WINBOND_WB35_TX_S_H
|
|
|
|
|
2008-10-30 11:05:42 +00:00
|
|
|
#include "mds_s.h"
|
2008-10-30 11:04:29 +00:00
|
|
|
|
2008-10-01 12:36:56 +00:00
|
|
|
//====================================
|
|
|
|
// 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
|
|
|
|
//====================================
|
|
|
|
|
|
|
|
|
2009-01-08 16:32:14 +00:00
|
|
|
struct wb35_tx {
|
2008-10-01 12:36:56 +00:00
|
|
|
// For Tx buffer
|
|
|
|
u8 TxBuffer[ MAX_USB_TX_BUFFER_NUMBER ][ MAX_USB_TX_BUFFER ];
|
|
|
|
|
|
|
|
// For Interrupt pipe
|
|
|
|
u8 EP2_buf[MAX_INTERRUPT_LENGTH];
|
|
|
|
|
2008-10-29 18:10:32 +00:00
|
|
|
atomic_t TxResultCount;// For thread control of EP2 931130.4.m
|
|
|
|
atomic_t TxFireCounter;// For thread control of EP4 931130.4.n
|
2008-10-01 12:36:56 +00:00
|
|
|
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
|
2009-01-08 16:32:14 +00:00
|
|
|
};
|
2008-10-01 12:36:56 +00:00
|
|
|
|
2008-10-30 11:04:29 +00:00
|
|
|
#endif
|