1 /******************************************************************************
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
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.
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
14 ******************************************************************************/
15 #ifndef __RTL8723A_RECV_H__
16 #define __RTL8723A_RECV_H__
18 #include <osdep_service.h>
19 #include <drv_types.h>
21 #define NR_RECVBUFF (4)
23 #define NR_PREALLOC_RECV_SKB (8)
25 #define RECV_BLK_SZ 512
26 #define RECV_BLK_CNT 16
27 #define RECV_BLK_TH RECV_BLK_CNT
29 #define MAX_RECVBUF_SZ (15360) /* 15k < 16k */
31 #define RECV_BULK_IN_ADDR 0x80
32 #define RECV_INT_IN_ADDR 0x81
34 #define PHY_RSSI_SLID_WIN_MAX 100
35 #define PHY_LINKQUALITY_SLID_WIN_MAX 20
50 /* Rx smooth factor */
51 #define Rx_Smooth_Factor (20)
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 */
63 void rtl8723au_init_recvbuf(struct rtw_adapter *padapter, struct recv_buf *precvbuf);
64 int rtl8723au_init_recv_priv(struct rtw_adapter * padapter);
65 void rtl8723au_free_recv_priv(struct rtw_adapter * padapter);
66 void rtl8723a_process_phy_info(struct rtw_adapter *padapter, void *prframe);
67 void update_recvframe_attrib(struct recv_frame *precvframe, struct recv_stat *prxstat);
68 void update_recvframe_phyinfo(struct recv_frame *precvframe, struct phy_stat *pphy_info);