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 RECV_BULK_IN_ADDR 0x80 32 #define RECV_INT_IN_ADDR 0x81 33 34 #define PHY_RSSI_SLID_WIN_MAX 100 35 #define PHY_LINKQUALITY_SLID_WIN_MAX 20 36 37 38 struct phy_stat 39 { 40 unsigned int phydw0; 41 unsigned int phydw1; 42 unsigned int phydw2; 43 unsigned int phydw3; 44 unsigned int phydw4; 45 unsigned int phydw5; 46 unsigned int phydw6; 47 unsigned int phydw7; 48 }; 49 50 /* Rx smooth factor */ 51 #define Rx_Smooth_Factor 20 52 53 struct interrupt_msg_format { 54 unsigned int C2H_MSG0; 55 unsigned int C2H_MSG1; 56 unsigned int C2H_MSG2; 57 unsigned int C2H_MSG3; 58 unsigned int HISR; /* from HISR Reg0x124, read to clear */ 59 unsigned int HISRE;/* from HISRE Reg0x12c, read to clear */ 60 unsigned int MSG_EX; 61 }; 62 63 int rtl8723au_init_recv_priv(struct rtw_adapter * padapter); 64 void rtl8723au_free_recv_priv(struct rtw_adapter * padapter); 65 void rtl8723a_process_phy_info(struct rtw_adapter *padapter, void *prframe); 66 void update_recvframe_attrib(struct recv_frame *precvframe, struct recv_stat *prxstat); 67 void update_recvframe_phyinfo(struct recv_frame *precvframe, struct phy_stat *pphy_info); 68 69 #endif 70