net: wireless: rockchip_wlan: add rtl8723ds support
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rtl8723ds / hal / phydm / phydm_edcaturbocheck.h
1 /******************************************************************************\r
2  *\r
3  * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
4  *                                        \r
5  * This program is free software; you can redistribute it and/or modify it\r
6  * under the terms of version 2 of the GNU General Public License as\r
7  * published by the Free Software Foundation.\r
8  *\r
9  * This program is distributed in the hope that it will be useful, but WITHOUT\r
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
12  * more details.\r
13  *\r
14  * You should have received a copy of the GNU General Public License along with\r
15  * this program; if not, write to the Free Software Foundation, Inc.,\r
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
17  *\r
18  *\r
19  ******************************************************************************/\r
20  \r
21 #ifndef __PHYDMEDCATURBOCHECK_H__\r
22 #define    __PHYDMEDCATURBOCHECK_H__\r
23 \r
24 /*#define EDCATURBO_VERSION     "2.1"*/\r
25 #define EDCATURBO_VERSION       "2.3"   /*2015.07.29 by YuChen*/\r
26 \r
27 typedef struct _EDCA_TURBO_\r
28 {\r
29         BOOLEAN bCurrentTurboEDCA;\r
30         BOOLEAN bIsCurRDLState;\r
31 \r
32         #if(DM_ODM_SUPPORT_TYPE == ODM_CE       )\r
33         u4Byte  prv_traffic_idx; // edca turbo\r
34         #endif\r
35 \r
36 }EDCA_T,*pEDCA_T;\r
37 \r
38 #if (DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE))\r
39 static u4Byte edca_setting_UL[HT_IOT_PEER_MAX] = \r
40 // UNKNOWN              REALTEK_90      REALTEK_92SE    BROADCOM                RALINK          ATHEROS         CISCO           MERU        MARVELL     92U_AP          SELF_AP(DownLink/Tx)\r
41 { 0x5e4322,             0xa44f,                 0x5e4322,               0x5ea32b,               0x5ea422,       0x5ea322,       0x3ea430,       0x5ea42b, 0x5ea44f,     0x5e4322,       0x5e4322};\r
42 \r
43 \r
44 static u4Byte edca_setting_DL[HT_IOT_PEER_MAX] = \r
45 // UNKNOWN              REALTEK_90      REALTEK_92SE    BROADCOM                RALINK          ATHEROS         CISCO           MERU,       MARVELL     92U_AP          SELF_AP(UpLink/Rx)\r
46 { 0xa44f,               0x5ea44f,       0x5e4322,               0x5ea42b,               0xa44f,                 0xa630,                 0x5ea630,       0x5ea42b, 0xa44f,               0xa42b,         0xa42b};\r
47 \r
48 static u4Byte edca_setting_DL_GMode[HT_IOT_PEER_MAX] = \r
49 // UNKNOWN              REALTEK_90      REALTEK_92SE    BROADCOM                RALINK          ATHEROS         CISCO           MERU,       MARVELL     92U_AP          SELF_AP\r
50 { 0x4322,               0xa44f,                 0x5e4322,               0xa42b,                         0x5e4322,       0x4322,                 0xa42b,         0x5ea42b, 0xa44f,               0x5e4322,       0x5ea42b};\r
51 \r
52 #endif\r
53 \r
54 \r
55 \r
56 VOID\r
57 odm_EdcaTurboCheck(\r
58         IN      PVOID           pDM_VOID\r
59         );\r
60 VOID\r
61 ODM_EdcaTurboInit(\r
62         IN      PVOID           pDM_VOID\r
63 );\r
64 \r
65 #if(DM_ODM_SUPPORT_TYPE==ODM_WIN)\r
66 VOID\r
67 odm_EdcaTurboCheckMP(\r
68         IN      PVOID           pDM_VOID\r
69         );\r
70 \r
71 //check if edca turbo is disabled\r
72 BOOLEAN\r
73 odm_IsEdcaTurboDisable(\r
74         IN      PVOID           pDM_VOID\r
75 );\r
76 //choose edca paramter for special IOT case\r
77 VOID \r
78 ODM_EdcaParaSelByIot(\r
79         IN              PVOID                                   pDM_VOID,\r
80         OUT     u4Byte          *EDCA_BE_UL,\r
81         OUT u4Byte              *EDCA_BE_DL\r
82         );\r
83 //check if it is UL or DL\r
84 VOID\r
85 odm_EdcaChooseTrafficIdx( \r
86         IN      PVOID           pDM_VOID,\r
87         IN      u8Byte                          cur_tx_bytes,  \r
88         IN      u8Byte                          cur_rx_bytes, \r
89         IN      BOOLEAN                 bBiasOnRx,\r
90         OUT BOOLEAN             *pbIsCurRDLState\r
91         );\r
92 \r
93 #elif (DM_ODM_SUPPORT_TYPE==ODM_CE)\r
94 VOID\r
95 odm_EdcaTurboCheckCE(\r
96         IN      PVOID           pDM_VOID\r
97         );\r
98 #endif\r
99 \r
100 #endif\r