Commit | Line | Data |
---|---|---|
3d20e8e8 AM |
1 | #ifndef __WINBOND_35RX_S_H |
2 | #define __WINBOND_35RX_S_H | |
66101de1 | 3 | |
3d20e8e8 AM |
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 | |
66101de1 | 11 | |
66101de1 | 12 | |
3d20e8e8 AM |
13 | /* |
14 | * Internal variable for module | |
15 | */ | |
eb62f3ea | 16 | struct wb35_rx { |
3d20e8e8 AM |
17 | u32 ByteReceived; /* For calculating throughput of BulkIn */ |
18 | atomic_t RxFireCounter;/* Does Wb35Rx module fire? */ | |
66101de1 | 19 | |
3d20e8e8 AM |
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 */ | |
66101de1 | 23 | |
3d20e8e8 AM |
24 | u32 RxProcessIndex; /* The next index to process */ |
25 | u32 RxBufferId; | |
26 | u32 EP3vm_state; | |
66101de1 | 27 | |
3d20e8e8 | 28 | u32 rx_halt; /* For VM stopping */ |
66101de1 | 29 | |
3d20e8e8 AM |
30 | u16 MoreDataSize; |
31 | u16 PacketSize; | |
66101de1 | 32 | |
3d20e8e8 AM |
33 | u32 CurrentRxBufferId; /* For complete routine usage */ |
34 | u32 Rx3UrbCancel; | |
66101de1 | 35 | |
3d20e8e8 AM |
36 | u32 LastR1; /* For RSSI reporting */ |
37 | struct urb *RxUrb; | |
38 | u32 Ep3ErrorCount2; /* 20060625.1 Usbd for Rx DMA error count */ | |
66101de1 PM |
39 | |
40 | int EP3VM_status; | |
3d20e8e8 | 41 | u8 *pDRx; |
eb62f3ea | 42 | }; |
3d20e8e8 AM |
43 | |
44 | #endif /* __WINBOND_35RX_S_H */ |