2008-10-30 05:04:29 -06:00
|
|
|
#ifndef __WINBOND_WB35_TX_S_H
|
|
|
|
#define __WINBOND_WB35_TX_S_H
|
|
|
|
|
2008-10-30 05:05:42 -06:00
|
|
|
#include "mds_s.h"
|
2008-10-30 05:04:29 -06:00
|
|
|
|
2012-09-25 23:32:47 -06:00
|
|
|
/* IS89C35 Tx related definition */
|
2012-09-25 23:33:15 -06:00
|
|
|
#define TX_INTERFACE 0 /* Interface 1 */
|
|
|
|
#define TX_PIPE 3 /* Endpoint 4 */
|
|
|
|
#define TX_INTERRUPT 1 /* Endpoint 2 */
|
2012-09-25 23:32:47 -06:00
|
|
|
#define MAX_INTERRUPT_LENGTH 64 /* It must be 64 for EP2 hardware */
|
2008-10-01 06:36:56 -06:00
|
|
|
|
2012-09-25 23:32:47 -06:00
|
|
|
/* Internal variable for module */
|
2009-01-08 09:32:14 -07:00
|
|
|
struct wb35_tx {
|
2012-09-25 23:32:47 -06:00
|
|
|
/* For Tx buffer */
|
2008-10-01 06:36:56 -06:00
|
|
|
u8 TxBuffer[ MAX_USB_TX_BUFFER_NUMBER ][ MAX_USB_TX_BUFFER ];
|
|
|
|
|
2012-09-25 23:32:47 -06:00
|
|
|
/* For Interrupt pipe */
|
2008-10-01 06:36:56 -06:00
|
|
|
u8 EP2_buf[MAX_INTERRUPT_LENGTH];
|
|
|
|
|
2012-09-25 23:32:47 -06:00
|
|
|
atomic_t TxResultCount; /* For thread control of EP2 931130.4.m */
|
|
|
|
atomic_t TxFireCounter; /* For thread control of EP4 931130.4.n */
|
2012-09-25 23:33:15 -06:00
|
|
|
u32 ByteTransfer;
|
2008-10-01 06:36:56 -06:00
|
|
|
|
2012-09-25 23:33:15 -06:00
|
|
|
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 */
|
2008-10-01 06:36:56 -06:00
|
|
|
|
2012-09-25 23:33:15 -06:00
|
|
|
struct urb *Tx4Urb;
|
|
|
|
struct urb *Tx2Urb;
|
2008-10-01 06:36:56 -06:00
|
|
|
|
|
|
|
int EP2VM_status;
|
|
|
|
int EP4VM_status;
|
|
|
|
|
2012-09-25 23:32:47 -06:00
|
|
|
u32 TxFillCount; /* 20060928 */
|
|
|
|
u32 TxTimer; /* 20060928 Add if sending packet is greater than 13 */
|
2009-01-08 09:32:14 -07:00
|
|
|
};
|
2008-10-01 06:36:56 -06:00
|
|
|
|
2008-10-30 05:04:29 -06:00
|
|
|
#endif
|