• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  ******************************************************************************/
15 #ifndef __RTL8723A_RECV_H__
16 #define __RTL8723A_RECV_H__
17 
18 #include <osdep_service.h>
19 #include <drv_types.h>
20 
21 #define NR_RECVBUFF			4
22 
23 #define NR_PREALLOC_RECV_SKB		8
24 
25 #define RECV_BLK_SZ			512
26 #define RECV_BLK_CNT			16
27 #define RECV_BLK_TH			RECV_BLK_CNT
28 
29 #define MAX_RECVBUF_SZ			15360 /*  15k < 16k */
30 
31 #define PHY_RSSI_SLID_WIN_MAX		100
32 #define PHY_LINKQUALITY_SLID_WIN_MAX	20
33 
34 
35 struct phy_stat {
36 	unsigned int phydw0;
37 	unsigned int phydw1;
38 	unsigned int phydw2;
39 	unsigned int phydw3;
40 	unsigned int phydw4;
41 	unsigned int phydw5;
42 	unsigned int phydw6;
43 	unsigned int phydw7;
44 };
45 
46 /*  Rx smooth factor */
47 #define	Rx_Smooth_Factor		20
48 
49 struct interrupt_msg_format {
50 	unsigned int C2H_MSG0;
51 	unsigned int C2H_MSG1;
52 	unsigned int C2H_MSG2;
53 	unsigned int C2H_MSG3;
54 	unsigned int HISR; /*  from HISR Reg0x124, read to clear */
55 	unsigned int HISRE;/*  from HISRE Reg0x12c, read to clear */
56 	unsigned int  MSG_EX;
57 };
58 
59 int rtl8723au_init_recv_priv(struct rtw_adapter *padapter);
60 void rtl8723au_free_recv_priv(struct rtw_adapter *padapter);
61 void rtl8723a_process_phy_info(struct rtw_adapter *padapter, void *prframe);
62 void update_recvframe_attrib(struct recv_frame *precvframe, struct recv_stat *prxstat);
63 void update_recvframe_phyinfo(struct recv_frame *precvframe, struct phy_stat *pphy_info);
64 
65 #endif
66