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