net: wireless: rockchip_wlan: add rtl8723bs support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723bs / include / rtl8723b_recv.h
old mode 100755 (executable)
new mode 100644 (file)
index 81c181f..9a748ec
 #ifndef __RTL8723B_RECV_H__\r
 #define __RTL8723B_RECV_H__\r
 \r
-#include <rtl8192c_recv.h>\r
+#define RECV_BLK_SZ 512\r
+#define RECV_BLK_CNT 16\r
+#define RECV_BLK_TH RECV_BLK_CNT\r
+\r
+#if defined(CONFIG_USB_HCI)\r
+\r
+#ifndef MAX_RECVBUF_SZ\r
+#ifdef PLATFORM_OS_CE\r
+#define MAX_RECVBUF_SZ (8192+1024) // 8K+1k\r
+#else\r
+       #ifndef CONFIG_MINIMAL_MEMORY_USAGE\r
+               //#define MAX_RECVBUF_SZ (32768) // 32k\r
+               //#define MAX_RECVBUF_SZ (16384) //16K\r
+               //#define MAX_RECVBUF_SZ (10240) //10K\r
+               #ifdef CONFIG_PLATFORM_MSTAR\r
+                       #define MAX_RECVBUF_SZ (8192) // 8K\r
+               #else\r
+                       #define MAX_RECVBUF_SZ (15360) // 15k < 16k\r
+               #endif\r
+               //#define MAX_RECVBUF_SZ (8192+1024) // 8K+1k\r
+       #else\r
+               #define MAX_RECVBUF_SZ (4000) // about 4K\r
+       #endif\r
+#endif\r
+#endif //!MAX_RECVBUF_SZ\r
+\r
+#elif defined(CONFIG_PCI_HCI)\r
+//#ifndef CONFIG_MINIMAL_MEMORY_USAGE\r
+//     #define MAX_RECVBUF_SZ (9100)\r
+//#else\r
+       #define MAX_RECVBUF_SZ (4000) // about 4K\r
+//#endif\r
+\r
+\r
+#elif defined(CONFIG_SDIO_HCI) || defined(CONFIG_GSPI_HCI)\r
+\r
+#define MAX_RECVBUF_SZ  (RX_DMA_SIZE_8723B - RX_DMA_RESERVED_SIZE_8723B)\r
+\r
+#endif\r
+\r
+// Rx smooth factor\r
+#define        Rx_Smooth_Factor (20)\r
 \r
 #ifdef CONFIG_SDIO_HCI\r
 #ifndef CONFIG_SDIO_RX_COPY\r
 #endif // !CONFIG_SDIO_RX_COPY\r
 #endif // CONFIG_SDIO_HCI\r
 \r
-typedef struct rxreport_8723b\r
-{\r
-       //DWORD 0\r
-       u32 pktlen:14;\r
-       u32 crc32:1;\r
-       u32 icverr:1;\r
-       u32 drvinfosize:4;\r
-       u32 security:3;\r
-       u32 qos:1;\r
-       u32 shift:2;\r
-       u32 physt:1;\r
-       u32 swdec:1;\r
-       u32 rsvd0028:2;\r
-       u32 eor:1;\r
-       u32 rsvd0031:1;\r
-\r
-       //DWORD 1\r
-       u32 macid:7;\r
-       u32 rsvd0407:1;\r
-       u32 tid:4;\r
-       u32 macid_vld:1;\r
-       u32 amsdu:1;\r
-       u32 rxid_match:1;\r
-       u32 paggr:1;\r
-       u32 a1fit:4;\r
-       u32 chkerr:1;  //20\r
-       u32 rx_ipv:1;\r
-       u32 rx_is_tcp_udp:1;\r
-       u32 chk_vld:1;   //23\r
-       u32 pam:1;\r
-       u32 pwr:1;\r
-       u32 md:1;\r
-       u32 mf:1;\r
-       u32 type:2;\r
-       u32 mc:1;\r
-       u32 bc:1;\r
-\r
-       //DWORD 2\r
-       u32 seq:12;\r
-       u32 frag:4;\r
-       u32 rx_is_qos:1;\r
-       u32 rsvd0817:1;\r
-       u32 wlanhd_iv_len:6;\r
-       u32 hwrsvd0824:4;\r
-       u32 c2h_ind:1;\r
-       u32 rsvd0829:2;\r
-       u32 fcs_ok:1;\r
-\r
-       //DWORD 3\r
-       u32 rx_rate:7;\r
-       u32 rsvd1207:3;\r
-       u32 htc:1;\r
-       u32 esop:1;\r
-       u32 bssid_fit:2;\r
-       u32 rsvd1214:2;\r
-       u32 dma_agg_num:8;\r
-       u32 rsvd1224:5;\r
-       u32 patternmatch:1;\r
-       u32 unicastwake:1;\r
-       u32 magicwake:1;\r
-       \r
-       //DWORD 4\r
-       u32 splcp:1;    //Ofdm sgi or cck_splcp\r
-       u32 ldpc:1;\r
-       u32 stbc:1;\r
-       u32 not_sounding:1;\r
-       u32 bw:2;\r
-       u32 rsvd1606:26;\r
-\r
-       //DWORD 5\r
-       u32 tsfl;\r
-} RXREPORT, *PRXREPORT;\r
-\r
-typedef struct phystatus_8723b\r
-{\r
-       u32 rxgain_a:7;\r
-       u32 trsw_a:1;\r
-       u32 rxgain_b:7;\r
-       u32 trsw_b:1;\r
-       u32 chcorr_l:16;\r
-\r
-       u32 sigqualcck:8;\r
-       u32 cfo_a:8;\r
-       u32 cfo_b:8;\r
-       u32 chcorr_h:8;\r
-\r
-       u32 noisepwrdb_h:8;\r
-       u32 cfo_tail_a:8;\r
-       u32 cfo_tail_b:8;\r
-       u32 rsvd0824:8;\r
-\r
-       u32 rsvd1200:8;\r
-       u32 rxevm_a:8;\r
-       u32 rxevm_b:8;\r
-       u32 rxsnr_a:8;\r
-\r
-       u32 rxsnr_b:8;\r
-       u32 noisepwrdb_l:8;\r
-       u32 rsvd1616:8;\r
-       u32 postsnr_a:8;\r
-\r
-       u32 postsnr_b:8;\r
-       u32 csi_a:8;\r
-       u32 csi_b:8;\r
-       u32 targetcsi_a:8;\r
-\r
-       u32 targetcsi_b:8;\r
-       u32 sigevm:8;\r
-       u32 maxexpwr:8;\r
-       u32 exintflag:1;\r
-       u32 sgien:1;\r
-       u32 rxsc:2;\r
-       u32 idlelong:1;\r
-       u32 anttrainen:1;\r
-       u32 antselb:1;\r
-       u32 antsel:1;\r
-} PHYSTATUS, *PPHYSTATUS;\r
-\r
 #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_GSPI_HCI)\r
 s32 rtl8723bs_init_recv_priv(PADAPTER padapter);\r
 void rtl8723bs_free_recv_priv(PADAPTER padapter);\r
 #endif\r
 \r
-void rtl8723b_query_rx_phy_status(union recv_frame *prframe, struct phy_stat *pphy_stat);\r
-void rtl8723b_process_phy_info(PADAPTER padapter, void *prframe);\r
 #ifdef CONFIG_USB_HCI\r
-void update_recvframe_attrib(PADAPTER padapter, union recv_frame *precvframe, struct recv_stat *prxstat);\r
-void update_recvframe_phyinfo(union recv_frame *precvframe, struct phy_stat *pphy_info);\r
-int    rtl8723bu_init_recv_priv(_adapter *padapter);\r
+int rtl8723bu_init_recv_priv(_adapter *padapter);\r
 void rtl8723bu_free_recv_priv (_adapter *padapter);\r
 void rtl8723bu_init_recvbuf(_adapter *padapter, struct recv_buf *precvbuf);\r
 #endif\r
+\r
+#ifdef CONFIG_PCI_HCI\r
+s32 rtl8723be_init_recv_priv(PADAPTER padapter);\r
+void rtl8723be_free_recv_priv(PADAPTER padapter);\r
 #endif\r
 \r
+void rtl8723b_query_rx_desc_status(union recv_frame *precvframe, u8 *pdesc);\r
+\r
+#endif /* __RTL8723B_RECV_H__ */\r
+\r