mirror of
https://github.com/Mange/rtl8192eu-linux-driver
synced 2025-12-10 00:04:17 +00:00
Add version v5.6.4
This commit is contained in:
@@ -1,62 +1,190 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* 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 __PHYDM_DFS_H__
|
||||
#define __PHYDM_DFS_H__
|
||||
|
||||
#define DFS_VERSION "0.0"
|
||||
|
||||
/* ============================================================
|
||||
Definition
|
||||
============================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
============================================================
|
||||
1 structure
|
||||
============================================================
|
||||
*/
|
||||
|
||||
/* ============================================================
|
||||
enumeration
|
||||
============================================================
|
||||
*/
|
||||
|
||||
typedef enum _tag_PhyDM_DFS_REGION_DOMAIN {
|
||||
PHYDM_DFS_DOMAIN_UNKNOWN = 0,
|
||||
PHYDM_DFS_DOMAIN_FCC = 1,
|
||||
PHYDM_DFS_DOMAIN_MKK = 2,
|
||||
PHYDM_DFS_DOMAIN_ETSI = 3,
|
||||
} PHYDM_DFS_REGION_DOMAIN;
|
||||
|
||||
/*
|
||||
============================================================
|
||||
function prototype
|
||||
============================================================
|
||||
*/
|
||||
#if defined(CONFIG_PHYDM_DFS_MASTER)
|
||||
VOID phydm_radar_detect_reset(PVOID pDM_VOID);
|
||||
VOID phydm_radar_detect_disable(PVOID pDM_VOID);
|
||||
VOID phydm_radar_detect_enable(PVOID pDM_VOID);
|
||||
BOOLEAN phydm_radar_detect(PVOID pDM_VOID);
|
||||
#endif /* defined(CONFIG_PHYDM_DFS_MASTER) */
|
||||
|
||||
#endif /*#ifndef __PHYDM_DFS_H__ */
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Copyright(c) 2007 - 2017 Realtek Corporation.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* The full GNU General Public License is included in this distribution in the
|
||||
* file called LICENSE.
|
||||
*
|
||||
* Contact Information:
|
||||
* wlanfae <wlanfae@realtek.com>
|
||||
* Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
|
||||
* Hsinchu 300, Taiwan.
|
||||
*
|
||||
* Larry Finger <Larry.Finger@lwfinger.net>
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef __PHYDM_DFS_H__
|
||||
#define __PHYDM_DFS_H__
|
||||
|
||||
#define DFS_VERSION "1.1"
|
||||
|
||||
/*@
|
||||
* ============================================================
|
||||
* Definition
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
/*@
|
||||
* ============================================================
|
||||
* 1 structure
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
struct _DFS_STATISTICS {
|
||||
u8 mask_idx;
|
||||
u8 igi_cur;
|
||||
u8 igi_pre;
|
||||
u8 st_l2h_cur;
|
||||
u16 fa_count_pre;
|
||||
u16 fa_inc_hist[5];
|
||||
u16 vht_crc_ok_cnt_pre;
|
||||
u16 ht_crc_ok_cnt_pre;
|
||||
u16 leg_crc_ok_cnt_pre;
|
||||
u16 short_pulse_cnt_pre;
|
||||
u16 long_pulse_cnt_pre;
|
||||
u8 pwdb_th;
|
||||
u8 pwdb_th_cur;
|
||||
u8 pwdb_scalar_factor;
|
||||
u8 peak_th;
|
||||
u8 short_pulse_cnt_th;
|
||||
u8 long_pulse_cnt_th;
|
||||
u8 peak_window;
|
||||
u8 three_peak_opt;
|
||||
u8 three_peak_th2;
|
||||
u8 fa_mask_th;
|
||||
u8 det_flag_offset;
|
||||
u8 st_l2h_max;
|
||||
u8 st_l2h_min;
|
||||
u8 mask_hist_checked;
|
||||
boolean pulse_flag_hist[5];
|
||||
boolean pulse_type_hist[5];
|
||||
boolean radar_det_mask_hist[5];
|
||||
boolean idle_mode;
|
||||
boolean force_TP_mode;
|
||||
boolean dbg_mode;
|
||||
boolean sw_trigger_mode;
|
||||
boolean det_print;
|
||||
boolean det_print2;
|
||||
boolean radar_type;
|
||||
/*@dfs histogram*/
|
||||
boolean print_hist_rpt;
|
||||
boolean hist_cond_on;
|
||||
boolean pri_cond1;
|
||||
boolean pri_cond2;
|
||||
boolean pri_cond3;
|
||||
boolean pri_cond4;
|
||||
boolean pri_cond5;
|
||||
boolean pw_cond1;
|
||||
boolean pw_cond2;
|
||||
boolean pw_cond3;
|
||||
boolean pri_type3_4_cond1; /*@for ETSI*/
|
||||
boolean pri_type3_4_cond2; /*@for ETSI*/
|
||||
boolean pw_long_cond1; /*@for long radar*/
|
||||
boolean pw_long_cond2; /*@for long radar*/
|
||||
boolean pri_long_cond1; /*@for long radar*/
|
||||
boolean pw_flag;
|
||||
boolean pri_flag;
|
||||
boolean pri_type3_4_flag; /*@for ETSI*/
|
||||
boolean long_radar_flag;
|
||||
u16 pri_hold_sum[6];
|
||||
u16 pw_hold_sum[6];
|
||||
u16 pri_long_hold_sum[6];
|
||||
u16 pw_long_hold_sum[6];
|
||||
u8 hist_idx;
|
||||
u8 hist_long_idx;
|
||||
u8 pw_hold[4][6];
|
||||
u8 pri_hold[4][6];
|
||||
u8 pw_long_hold[300][6];
|
||||
u8 pri_long_hold[300][6];
|
||||
u16 pw_std; /*@The std(var) of reasonable num of pw group*/
|
||||
u16 pri_std;/*@The std(var) of reasonable num of pri group*/
|
||||
/*@dfs histogram threshold*/
|
||||
u8 pri_hist_th;
|
||||
u8 pri_sum_g1_th;
|
||||
u8 pri_sum_g5_th;
|
||||
u8 pri_sum_g1_fcc_th;
|
||||
u8 pri_sum_g3_fcc_th;
|
||||
u8 pri_sum_safe_fcc_th;
|
||||
u8 pri_sum_type4_th;
|
||||
u8 pri_sum_type6_th;
|
||||
u8 pri_sum_safe_th;
|
||||
u8 pri_sum_g5_under_g1_th;
|
||||
u8 pri_pw_diff_th;
|
||||
u8 pri_pw_diff_fcc_th;
|
||||
u8 pri_pw_diff_fcc_idle_th;
|
||||
u8 pri_pw_diff_w53_th;
|
||||
u8 pri_type1_low_fcc_th;
|
||||
u8 pri_type1_upp_fcc_th;
|
||||
u8 pri_type1_cen_fcc_th;
|
||||
u8 pw_g0_th;
|
||||
u8 pw_long_lower_20m_th;
|
||||
u8 pw_long_lower_th;
|
||||
u8 pri_long_upper_th;
|
||||
u8 pw_long_sum_upper_th;
|
||||
u8 pw_std_th;
|
||||
u8 pw_std_idle_th;
|
||||
u8 pri_std_th;
|
||||
u8 pri_std_idle_th;
|
||||
u8 type4_pw_max_cnt;
|
||||
u8 type4_safe_pri_sum_th;
|
||||
};
|
||||
|
||||
/*@
|
||||
* ============================================================
|
||||
* enumeration
|
||||
* ============================================================
|
||||
*/
|
||||
|
||||
enum phydm_dfs_region_domain {
|
||||
PHYDM_DFS_DOMAIN_UNKNOWN = 0,
|
||||
PHYDM_DFS_DOMAIN_FCC = 1,
|
||||
PHYDM_DFS_DOMAIN_MKK = 2,
|
||||
PHYDM_DFS_DOMAIN_ETSI = 3,
|
||||
};
|
||||
|
||||
/*@
|
||||
* ============================================================
|
||||
* function prototype
|
||||
* ============================================================
|
||||
*/
|
||||
#if defined(CONFIG_PHYDM_DFS_MASTER)
|
||||
void phydm_radar_detect_reset(void *dm_void);
|
||||
void phydm_radar_detect_disable(void *dm_void);
|
||||
void phydm_radar_detect_enable(void *dm_void);
|
||||
boolean phydm_radar_detect(void *dm_void);
|
||||
void phydm_dfs_histogram_radar_distinguish(void *dm_void);
|
||||
boolean phydm_dfs_hist_log(void *dm_void, u8 index);
|
||||
void phydm_dfs_parameter_init(void *dm_void);
|
||||
void phydm_dfs_hist_dbg(void *dm_void, char input[][16], u32 *_used,
|
||||
char *output, u32 *_out_len);
|
||||
void phydm_dfs_debug(void *dm_void, char input[][16], u32 *_used,
|
||||
char *output, u32 *_out_len);
|
||||
u8 phydm_dfs_polling_time(void *dm_void);
|
||||
#endif /* @defined(CONFIG_PHYDM_DFS_MASTER) */
|
||||
|
||||
boolean
|
||||
phydm_dfs_is_meteorology_channel(void *dm_void);
|
||||
|
||||
boolean
|
||||
phydm_is_dfs_band(void *dm_void);
|
||||
|
||||
boolean
|
||||
phydm_dfs_master_enabled(void *dm_void);
|
||||
|
||||
#if (DM_ODM_SUPPORT_TYPE & ODM_WIN)
|
||||
#ifdef PHYDM_IC_JGR3_SERIES_SUPPORT
|
||||
void phydm_dfs_ap_reset_radar_detect_counter_and_flag(void *dm_void);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /*@#ifndef __PHYDM_DFS_H__ */
|
||||
|
||||
Reference in New Issue
Block a user