/****************************************************************************** * * 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 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, * Hsinchu 300, Taiwan. * * Larry Finger * *****************************************************************************/ #ifndef __PHYDM_CCK_PD_H__ #define __PHYDM_CCK_PD_H__ #define CCK_PD_VERSION "1.0" /* 2017.05.09 Dino, Add phydm_cck_pd.h*/ /* * 1 ============================================================ * 1 Definition * 1 ============================================================ */ #define AAA_BASE 4 #define AAA_STEP 2 #define CCK_FA_MA_RESET 0xffffffff #define EXTEND_CCK_CCATH_AAA_IC (ODM_RTL8197F | ODM_RTL8821C | ODM_RTL8723D | ODM_RTL8710B) #define EXTEND_CCK_CCATH_92F_IC ODM_RTL8192F /* * 1 ============================================================ * 1 structure * 1 ============================================================ */ #ifdef PHYDM_SUPPORT_CCKPD struct phydm_cckpd_struct { u8 cur_cck_cca_thres; /*0xA0A*/ u8 cck_cca_th_aaa; /*0xAAA*/ u8 cur_cck_pd_20m_1r; u8 cur_cck_pd_20m_2r; u8 cur_cck_pd_40m_1r; u8 cur_cck_pd_40m_2r; u8 cur_cck_cs_ratio_20m_1r; u8 cur_cck_cs_ratio_20m_2r; u8 cur_cck_cs_ratio_40m_1r; u8 cur_cck_cs_ratio_40m_2r; u32 cck_fa_ma; u8 cckpd_bkp; u32 rvrt_val[2]; u8 pause_lv; }; #endif /* * 1 ============================================================ * 1 enumeration * 1 ============================================================ */ /* * 1 ============================================================ * 1 function prototype * 1 ============================================================ */ void phydm_set_cckpd_val(void *dm_void, u32 *val_buf, u8 val_len); void phydm_cck_pd_th(void *dm_void); void odm_pause_cck_packet_detection(void *dm_void, enum phydm_pause_type pause_type, enum phydm_pause_level pause_level, u8 cck_pd_threshold); void phydm_cck_pd_init(void *dm_void); #endif