1 #ifndef __WINBOND_35RX_S_H 2 #define __WINBOND_35RX_S_H 3 4 /* Definition for this module used */ 5 #define MAX_USB_RX_BUFFER 4096 /* This parameter must be 4096 931130.4.f */ 6 #define MAX_USB_RX_BUFFER_NUMBER ETHERNET_RX_DESCRIPTORS /* Maximum 254, 255 is RESERVED ID */ 7 #define RX_INTERFACE 0 /* Interface 1 */ 8 #define RX_PIPE 2 /* Pipe 3 */ 9 #define MAX_PACKET_SIZE 1600 /* 1568 = 8 + 1532 + 4 + 24(IV EIV MIC ICV CRC) for check DMA data 931130.4.g */ 10 #define RX_END_TAG 0x0badbeef 11 12 13 /* 14 * Internal variable for module 15 */ 16 struct wb35_rx { 17 u32 ByteReceived; /* For calculating throughput of BulkIn */ 18 atomic_t RxFireCounter;/* Does Wb35Rx module fire? */ 19 20 u8 RxBuffer[MAX_USB_RX_BUFFER_NUMBER][((MAX_USB_RX_BUFFER+3) & ~0x03)]; 21 u16 RxBufferSize[((MAX_USB_RX_BUFFER_NUMBER+1) & ~0x01)]; 22 u8 RxOwner[((MAX_USB_RX_BUFFER_NUMBER+3) & ~0x03)]; /* Ownership of buffer 0:SW 1:HW */ 23 24 u32 RxProcessIndex; /* The next index to process */ 25 u32 RxBufferId; 26 u32 EP3vm_state; 27 28 u32 rx_halt; /* For VM stopping */ 29 30 u16 MoreDataSize; 31 u16 PacketSize; 32 33 u32 CurrentRxBufferId; /* For complete routine usage */ 34 u32 Rx3UrbCancel; 35 36 u32 LastR1; /* For RSSI reporting */ 37 struct urb *RxUrb; 38 u32 Ep3ErrorCount2; /* 20060625.1 Usbd for Rx DMA error count */ 39 40 int EP3VM_status; 41 u8 *pDRx; 42 }; 43 44 #endif /* __WINBOND_35RX_S_H */ 45