#ifndef __WINBOND_35RX_S_H #define __WINBOND_35RX_S_H /* Definition for this module used */ #define MAX_USB_RX_BUFFER 4096 /* This parameter must be 4096 931130.4.f */ #define MAX_USB_RX_BUFFER_NUMBER ETHERNET_RX_DESCRIPTORS /* Maximum 254, 255 is RESERVED ID */ #define RX_INTERFACE 0 /* Interface 1 */ #define RX_PIPE 2 /* Pipe 3 */ #define MAX_PACKET_SIZE 1600 /* 1568 = 8 + 1532 + 4 + 24(IV EIV MIC ICV CRC) for check DMA data 931130.4.g */ #define RX_END_TAG 0x0badbeef /* * Internal variable for module */ struct wb35_rx { u32 ByteReceived; /* For calculating throughput of BulkIn */ atomic_t RxFireCounter;/* Does Wb35Rx module fire? */ u8 RxBuffer[MAX_USB_RX_BUFFER_NUMBER][((MAX_USB_RX_BUFFER+3) & ~0x03)]; u16 RxBufferSize[((MAX_USB_RX_BUFFER_NUMBER+1) & ~0x01)]; u8 RxOwner[((MAX_USB_RX_BUFFER_NUMBER+3) & ~0x03)]; /* Ownership of buffer 0:SW 1:HW */ u32 RxProcessIndex; /* The next index to process */ u32 RxBufferId; u32 EP3vm_state; u32 rx_halt; /* For VM stopping */ u16 MoreDataSize; u16 PacketSize; u32 CurrentRxBufferId; /* For complete routine usage */ u32 Rx3UrbCancel; u32 LastR1; /* For RSSI reporting */ struct urb *RxUrb; u32 Ep3ErrorCount2; /* 20060625.1 Usbd for Rx DMA error count */ int EP3VM_status; u8 *pDRx; }; #endif /* __WINBOND_35RX_S_H */