158c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger/****************************************************************************** 258c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 358c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. 458c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 558c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * This program is free software; you can redistribute it and/or modify it 658c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * under the terms of version 2 of the GNU General Public License as 758c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * published by the Free Software Foundation. 858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 958c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * This program is distributed in the hope that it will be useful, but WITHOUT 1058c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1158c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 1258c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * more details. 1358c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 1458c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * You should have received a copy of the GNU General Public License along with 1558c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * this program; if not, write to the Free Software Foundation, Inc., 1658c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA 1758c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 1858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger * 1958c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger ******************************************************************************/ 2058c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#ifndef __RTL8188E_RECV_H__ 2158c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define __RTL8188E_RECV_H__ 2258c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 2358c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define TX_RPT1_PKT_LEN 8 2458c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 2558c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define RECV_BLK_SZ 512 2658c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define RECV_BLK_CNT 16 2758c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define RECV_BLK_TH RECV_BLK_CNT 2858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define RECV_BULK_IN_ADDR 0x80 2958c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define RECV_INT_IN_ADDR 0x81 3058c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 3158c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define NR_PREALLOC_RECV_SKB (8) 3258c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 3358c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define NR_RECVBUFF (4) 3458c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 3558c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define MAX_RECVBUF_SZ (15360) /* 15k < 16k */ 3658c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 3758c434013a22fccfdb14abc2bb8408ca29073b76Larry Fingerstruct phy_stat { 3858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw0; 3958c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw1; 4058c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw2; 4158c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw3; 4258c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw4; 4358c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw5; 4458c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw6; 4558c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger unsigned int phydw7; 4658c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger}; 4758c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 4858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger/* Rx smooth factor */ 4958c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define Rx_Smooth_Factor (20) 5058c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 5158c434013a22fccfdb14abc2bb8408ca29073b76Larry Fingerenum rx_packet_type { 5258c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger NORMAL_RX,/* Normal rx packet */ 5358c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger TX_REPORT1,/* CCX */ 5458c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger TX_REPORT2,/* TX RPT */ 5558c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger HIS_REPORT,/* USB HISR RPT */ 5658c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger}; 5758c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 5858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#define INTERRUPT_MSG_FORMAT_LEN 60 5958c434013a22fccfdb14abc2bb8408ca29073b76Larry Fingers32 rtl8188eu_init_recv_priv(struct adapter *padapter); 60c7333c114262dda2db28bf93b03a0ce8644b588aTim Jester-Pfadtvoid rtl8188eu_free_recv_priv(struct adapter *padapter); 61c7333c114262dda2db28bf93b03a0ce8644b588aTim Jester-Pfadtvoid rtl8188eu_recv_hdl(struct adapter *padapter, struct recv_buf *precvbuf); 6258c434013a22fccfdb14abc2bb8408ca29073b76Larry Fingervoid rtl8188eu_recv_tasklet(void *priv); 63f31cca8e920728ab8d3472791dd551c5e993f051Larry Fingervoid rtl8188e_query_rx_phy_status(struct recv_frame *fr, struct phy_stat *phy); 64c7333c114262dda2db28bf93b03a0ce8644b588aTim Jester-Pfadtvoid rtl8188e_process_phy_info(struct adapter *padapter, void *prframe); 65f31cca8e920728ab8d3472791dd551c5e993f051Larry Fingervoid update_recvframe_phyinfo_88e(struct recv_frame *fra, struct phy_stat *phy); 66f31cca8e920728ab8d3472791dd551c5e993f051Larry Fingervoid update_recvframe_attrib_88e(struct recv_frame *fra, 67f31cca8e920728ab8d3472791dd551c5e993f051Larry Finger struct recv_stat *stat); 6858c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger 6958c434013a22fccfdb14abc2bb8408ca29073b76Larry Finger#endif 70