1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* Copyright(c) 2007 - 2011 Realtek Corporation. */ 3 4 #ifndef __RTL8188E_RECV_H__ 5 #define __RTL8188E_RECV_H__ 6 7 #define TX_RPT1_PKT_LEN 8 8 9 #define RECV_BLK_SZ 512 10 #define RECV_BLK_CNT 16 11 #define RECV_BLK_TH RECV_BLK_CNT 12 #define RECV_BULK_IN_ADDR 0x80 13 #define RECV_INT_IN_ADDR 0x81 14 15 #define NR_PREALLOC_RECV_SKB (8) 16 17 #define NR_RECVBUFF (4) 18 19 #define MAX_RECVBUF_SZ (15360) /* 15k < 16k */ 20 21 struct phy_stat { 22 unsigned int phydw0; 23 unsigned int phydw1; 24 unsigned int phydw2; 25 unsigned int phydw3; 26 unsigned int phydw4; 27 unsigned int phydw5; 28 unsigned int phydw6; 29 unsigned int phydw7; 30 }; 31 32 /* Rx smooth factor */ 33 #define Rx_Smooth_Factor (20) 34 35 enum rx_packet_type { 36 NORMAL_RX,/* Normal rx packet */ 37 TX_REPORT1,/* CCX */ 38 TX_REPORT2,/* TX RPT */ 39 HIS_REPORT,/* USB HISR RPT */ 40 }; 41 42 #define INTERRUPT_MSG_FORMAT_LEN 60 43 void rtl8188eu_init_recvbuf(struct adapter *padapter, struct recv_buf *buf); 44 s32 rtl8188eu_init_recv_priv(struct adapter *padapter); 45 void rtl8188eu_free_recv_priv(struct adapter * padapter); 46 void rtl8188eu_recv_hdl(struct adapter * padapter, struct recv_buf *precvbuf); 47 void rtl8188eu_recv_tasklet(unsigned long priv); 48 void rtl8188e_query_rx_phy_status(struct recv_frame *fr, struct phy_stat *phy); 49 void rtl8188e_process_phy_info(struct adapter * padapter, void *prframe); 50 void update_recvframe_phyinfo_88e(struct recv_frame *fra, struct phy_stat *phy); 51 void update_recvframe_attrib_88e(struct recv_frame *fra, struct recv_stat *stat); 52 53 #endif 54