--- /dev/null
+\r
+/******************************************************************************\r
+ *\r
+ * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.\r
+ * \r
+ * This program is free software; you can redistribute it and/or modify it\r
+ * under the terms of version 2 of the GNU General Public License as\r
+ * published by the Free Software Foundation.\r
+ *\r
+ * This program is distributed in the hope that it will be useful, but WITHOUT\r
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for\r
+ * more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License along with\r
+ * this program; if not, write to the Free Software Foundation, Inc.,\r
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA\r
+ *\r
+ *\r
+ ******************************************************************************/\r
+ \r
+#ifndef __PHYDMADAPTIVITY_H__\r
+#define __PHYDMADAPTIVITY_H__\r
+\r
+#define ADAPTIVITY_VERSION "9.0"\r
+\r
+#define PwdBUpperBound 7\r
+#define DFIRloss 5\r
+\r
+#if (DM_ODM_SUPPORT_TYPE & (ODM_WIN))\r
+typedef enum _tag_PhyDM_REGULATION_Type {\r
+ REGULATION_FCC = 0,\r
+ REGULATION_MKK = 1,\r
+ REGULATION_ETSI = 2,\r
+ REGULATION_WW = 3, \r
+ \r
+ MAX_REGULATION_NUM = 4\r
+} PhyDM_REGULATION_TYPE;\r
+#endif\r
+\r
+typedef enum tag_PhyDM_set_LNA {\r
+ PhyDM_disable_LNA = 0,\r
+ PhyDM_enable_LNA = 1,\r
+} PhyDM_set_LNA;\r
+\r
+\r
+typedef enum tag_PhyDM_TRx_MUX_Type\r
+{\r
+ PhyDM_SHUTDOWN = 0,\r
+ PhyDM_STANDBY_MODE = 1,\r
+ PhyDM_TX_MODE = 2,\r
+ PhyDM_RX_MODE = 3\r
+}PhyDM_Trx_MUX_Type;\r
+\r
+typedef enum tag_PhyDM_MACEDCCA_Type\r
+{\r
+ PhyDM_IGNORE_EDCCA = 0,\r
+ PhyDM_DONT_IGNORE_EDCCA = 1\r
+}PhyDM_MACEDCCA_Type;\r
+\r
+typedef struct _ADAPTIVITY_STATISTICS {\r
+ s1Byte TH_L2H_ini_backup;\r
+ s1Byte TH_EDCCA_HL_diff_backup;\r
+ s1Byte IGI_Base;\r
+ u1Byte IGI_target;\r
+ u1Byte NHMWait;\r
+ s1Byte H2L_lb;\r
+ s1Byte L2H_lb;\r
+ BOOLEAN bFirstLink;\r
+ BOOLEAN bCheck;\r
+ BOOLEAN DynamicLinkAdaptivity;\r
+ u1Byte APNumTH;\r
+ u1Byte AdajustIGILevel;\r
+} ADAPTIVITY_STATISTICS, *PADAPTIVITY_STATISTICS;\r
+\r
+VOID\r
+Phydm_CheckAdaptivity(\r
+ IN PVOID pDM_VOID\r
+ );\r
+\r
+VOID\r
+Phydm_CheckEnvironment(\r
+ IN PVOID pDM_VOID\r
+ );\r
+\r
+VOID\r
+Phydm_NHMCounterStatisticsInit(\r
+ IN PVOID pDM_VOID\r
+ );\r
+\r
+VOID\r
+Phydm_NHMCounterStatistics(\r
+ IN PVOID pDM_VOID\r
+ );\r
+\r
+VOID\r
+Phydm_NHMCounterStatisticsReset(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+VOID\r
+Phydm_GetNHMCounterStatistics(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+VOID\r
+Phydm_MACEDCCAState(\r
+ IN PVOID pDM_VOID,\r
+ IN PhyDM_MACEDCCA_Type State\r
+);\r
+\r
+VOID\r
+Phydm_SetEDCCAThreshold(\r
+ IN PVOID pDM_VOID,\r
+ IN s1Byte H2L,\r
+ IN s1Byte L2H\r
+);\r
+\r
+VOID\r
+Phydm_SetTRxMux(\r
+ IN PVOID pDM_VOID,\r
+ IN PhyDM_Trx_MUX_Type txMode,\r
+ IN PhyDM_Trx_MUX_Type rxMode\r
+); \r
+\r
+BOOLEAN\r
+Phydm_CalNHMcnt(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+VOID\r
+Phydm_SearchPwdBLowerBound(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+VOID \r
+Phydm_AdaptivityInit(\r
+ IN PVOID pDM_VOID\r
+ );\r
+\r
+VOID\r
+Phydm_Adaptivity(\r
+ IN PVOID pDM_VOID,\r
+ IN u1Byte IGI\r
+ );\r
+\r
+VOID\r
+phydm_setEDCCAThresholdAPI(\r
+ IN PVOID pDM_VOID,\r
+ IN u1Byte IGI\r
+);\r
+\r
+#if (DM_ODM_SUPPORT_TYPE == ODM_WIN)\r
+VOID\r
+Phydm_DisableEDCCA(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+VOID\r
+Phydm_DynamicEDCCA(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+VOID\r
+Phydm_AdaptivityBSOD(\r
+ IN PVOID pDM_VOID\r
+);\r
+\r
+#endif\r
+\r
+\r
+#endif\r