• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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