OSDN Git Service

Add rtl8723bu driver version 4.4.5
[android-x86/external-kernel-drivers.git] / rtl8723bu / hal / phydm / phydm_edcaturbocheck.h
diff --git a/rtl8723bu/hal/phydm/phydm_edcaturbocheck.h b/rtl8723bu/hal/phydm/phydm_edcaturbocheck.h
new file mode 100644 (file)
index 0000000..6d1e7cf
--- /dev/null
@@ -0,0 +1,100 @@
+/******************************************************************************
+ *
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
+ *
+ *
+ ******************************************************************************/
+
+#ifndef        __PHYDMEDCATURBOCHECK_H__
+#define    __PHYDMEDCATURBOCHECK_H__
+
+/*#define EDCATURBO_VERSION    "2.1"*/
+#define EDCATURBO_VERSION      "2.2"   /*2015.01.13*/
+
+typedef struct _EDCA_TURBO_
+{
+       BOOLEAN bCurrentTurboEDCA;
+       BOOLEAN bIsCurRDLState;
+
+       #if(DM_ODM_SUPPORT_TYPE == ODM_CE       )
+       u4Byte  prv_traffic_idx; // edca turbo
+       #endif
+
+}EDCA_T,*pEDCA_T;
+
+#if (DM_ODM_SUPPORT_TYPE & (ODM_WIN|ODM_CE))
+static u4Byte edca_setting_UL[HT_IOT_PEER_MAX] =
+// UNKNOWN             REALTEK_90      REALTEK_92SE    BROADCOM                RALINK          ATHEROS         CISCO           MERU        MARVELL     92U_AP          SELF_AP(DownLink/Tx)
+{ 0x5e4322,            0xa44f,                 0x5e4322,               0x5ea32b,               0x5ea422,       0x5ea322,       0x3ea430,       0x5ea42b, 0x5ea44f,     0x5e4322,       0x5e4322};
+
+
+static u4Byte edca_setting_DL[HT_IOT_PEER_MAX] =
+// UNKNOWN             REALTEK_90      REALTEK_92SE    BROADCOM                RALINK          ATHEROS         CISCO           MERU,       MARVELL     92U_AP          SELF_AP(UpLink/Rx)
+{ 0xa44f,              0x5ea44f,       0x5e4322,               0x5ea42b,               0xa44f,                 0xa630,                 0x5ea630,       0x5ea42b, 0xa44f,               0xa42b,         0xa42b};
+
+static u4Byte edca_setting_DL_GMode[HT_IOT_PEER_MAX] =
+// UNKNOWN             REALTEK_90      REALTEK_92SE    BROADCOM                RALINK          ATHEROS         CISCO           MERU,       MARVELL     92U_AP          SELF_AP
+{ 0x4322,              0xa44f,                 0x5e4322,               0xa42b,                         0x5e4322,       0x4322,                 0xa42b,         0x5ea42b, 0xa44f,               0x5e4322,       0x5ea42b};
+
+#endif
+
+
+
+VOID
+odm_EdcaTurboCheck(
+       IN      PVOID           pDM_VOID
+       );
+VOID
+ODM_EdcaTurboInit(
+       IN      PVOID           pDM_VOID
+);
+
+#if(DM_ODM_SUPPORT_TYPE==ODM_WIN)
+VOID
+odm_EdcaTurboCheckMP(
+       IN      PVOID           pDM_VOID
+       );
+
+//check if edca turbo is disabled
+BOOLEAN
+odm_IsEdcaTurboDisable(
+       IN      PVOID           pDM_VOID
+);
+//choose edca paramter for special IOT case
+VOID
+ODM_EdcaParaSelByIot(
+       IN              PVOID                                   pDM_VOID,
+       OUT     u4Byte          *EDCA_BE_UL,
+       OUT u4Byte              *EDCA_BE_DL
+       );
+//check if it is UL or DL
+VOID
+odm_EdcaChooseTrafficIdx(
+       IN      PVOID           pDM_VOID,
+       IN      u8Byte                          cur_tx_bytes,
+       IN      u8Byte                          cur_rx_bytes,
+       IN      BOOLEAN                 bBiasOnRx,
+       OUT BOOLEAN             *pbIsCurRDLState
+       );
+
+#elif (DM_ODM_SUPPORT_TYPE==ODM_CE)
+VOID
+odm_EdcaTurboCheckCE(
+       IN      PVOID           pDM_VOID
+       );
+#endif
+
+#endif