Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd
[firefly-linux-kernel-4.4.55.git] / drivers / staging / winbond / wb35rx_s.h
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 */