1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5  *
6  ******************************************************************************/
7 #ifndef __RTL8188E_RECV_H__
8 #define __RTL8188E_RECV_H__
9 
10 #define TX_RPT1_PKT_LEN 8
11 
12 #define RECV_BLK_SZ 512
13 #define RECV_BLK_CNT 16
14 #define RECV_BLK_TH RECV_BLK_CNT
15 #define RECV_BULK_IN_ADDR		0x80
16 #define RECV_INT_IN_ADDR		0x81
17 
18 #define NR_PREALLOC_RECV_SKB (8)
19 
20 #define NR_RECVBUFF (4)
21 
22 #define MAX_RECVBUF_SZ (15360) /*  15k < 16k */
23 
24 struct phy_stat {
25 	unsigned int phydw0;
26 	unsigned int phydw1;
27 	unsigned int phydw2;
28 	unsigned int phydw3;
29 	unsigned int phydw4;
30 	unsigned int phydw5;
31 	unsigned int phydw6;
32 	unsigned int phydw7;
33 };
34 
35 /*  Rx smooth factor */
36 #define	Rx_Smooth_Factor (20)
37 
38 enum rx_packet_type {
39 	NORMAL_RX,/* Normal rx packet */
40 	TX_REPORT1,/* CCX */
41 	TX_REPORT2,/* TX RPT */
42 	HIS_REPORT,/*  USB HISR RPT */
43 };
44 
45 #define INTERRUPT_MSG_FORMAT_LEN 60
46 void rtl8188eu_recv_tasklet(void *priv);
47 void rtl8188e_process_phy_info(struct adapter *padapter,
48 			       struct recv_frame *prframe);
49 void update_recvframe_phyinfo_88e(struct recv_frame *fra, struct phy_stat *phy);
50 void update_recvframe_attrib_88e(struct recv_frame *fra,
51 				 struct recv_stat *stat);
52 
53 #endif
54