OSDN Git Service

Add rtl8812au driver version 5.2.6.2
[android-x86/external-kernel-drivers.git] / rtl8812au / hal / phydm / phydm_ccx.h
diff --git a/rtl8812au/hal/phydm/phydm_ccx.h b/rtl8812au/hal/phydm/phydm_ccx.h
new file mode 100644 (file)
index 0000000..5641b73
--- /dev/null
@@ -0,0 +1,102 @@
+#ifndef        __PHYDMCCX_H__
+#define    __PHYDMCCX_H__
+
+#define CCX_EN 1
+
+#define SET_NHM_SETTING                0
+#define STORE_NHM_SETTING              1
+#define RESTORE_NHM_SETTING    2
+
+/*
+#define NHM_EXCLUDE_CCA                        0
+#define NHM_INCLUDE_CCA                        1
+#define NHM_EXCLUDE_TXON                       0
+#define NHM_INCLUDE_TXON                       1
+*/
+
+enum nhm_inexclude_cca {
+       NHM_EXCLUDE_CCA,
+       NHM_INCLUDE_CCA
+};
+
+enum nhm_inexclude_txon {
+       NHM_EXCLUDE_TXON,
+       NHM_INCLUDE_TXON
+};
+
+
+struct _CCX_INFO {
+
+       /*Settings*/
+       u8                                      NHM_th[11];
+       u16                                     NHM_period;                             /* 4us per unit */
+       u16                                     CLM_period;                             /* 4us per unit */
+       enum nhm_inexclude_txon         nhm_inexclude_txon;
+       enum nhm_inexclude_cca          nhm_inexclude_cca;
+
+       /*Previous Settings*/
+       u8                                      NHM_th_restore[11];
+       u16                                     NHM_period_restore;                             /* 4us per unit */
+       u16                                     CLM_period_restore;                             /* 4us per unit */
+       enum nhm_inexclude_txon         NHM_inexclude_txon_restore;
+       enum nhm_inexclude_cca          NHM_inexclude_cca_restore;
+
+       /*Report*/
+       u8              NHM_result[12];
+       u16             NHM_duration;
+       u16             CLM_result;
+
+
+       boolean         echo_NHM_en;
+       boolean         echo_CLM_en;
+       u8              echo_IGI;
+
+};
+
+/*NHM*/
+
+void
+phydm_nhm_setting(
+       void            *p_dm_void,
+       u8      nhm_setting
+);
+
+void
+phydm_nhm_trigger(
+       void            *p_dm_void
+);
+
+void
+phydm_get_nhm_result(
+       void            *p_dm_void
+);
+
+boolean
+phydm_check_nhm_ready(
+       void            *p_dm_void
+);
+
+/*CLM*/
+
+void
+phydm_clm_setting(
+       void                    *p_dm_void
+);
+
+void
+phydm_clm_trigger(
+       void                    *p_dm_void
+);
+
+boolean
+phydm_check_cl_mready(
+       void                    *p_dm_void
+);
+
+void
+phydm_get_cl_mresult(
+       void                    *p_dm_void
+);
+
+
+#endif