cregit-Linux how code gets into the kernel

Release 4.15 drivers/staging/rtl8723bs/hal/odm_DIG.h

/******************************************************************************
 *
 * 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.
 *
 ******************************************************************************/

#ifndef __ODMDIG_H__

#define __ODMDIG_H__


typedef struct _Dynamic_Initial_Gain_Threshold_ {
	
bool bStopDIG;
	
bool bPSDInProgress;

	
u8 Dig_Enable_Flag;
	
u8 Dig_Ext_Port_Stage;

	
int RssiLowThresh;
	
int RssiHighThresh;

	
u32 FALowThresh;
	
u32 FAHighThresh;

	
u8 CurSTAConnectState;
	
u8 PreSTAConnectState;
	
u8 CurMultiSTAConnectState;

	
u8 PreIGValue;
	
u8 CurIGValue;
	
u8 BackupIGValue;		/* MP DIG */
	
u8 BT30_CurIGI;
	
u8 IGIBackup;

	
s8 BackoffVal;
	
s8 BackoffVal_range_max;
	
s8 BackoffVal_range_min;
	
u8 rx_gain_range_max;
	
u8 rx_gain_range_min;
	
u8 Rssi_val_min;

	
u8 PreCCK_CCAThres;
	
u8 CurCCK_CCAThres;
	
u8 PreCCKPDState;
	
u8 CurCCKPDState;
	
u8 CCKPDBackup;

	
u8 LargeFAHit;
	
u8 ForbiddenIGI;
	
u32 Recover_cnt;

	
u8 DIG_Dynamic_MIN_0;
	
u8 DIG_Dynamic_MIN_1;
	
bool bMediaConnect_0;
	
bool bMediaConnect_1;

	
u32 AntDiv_RSSI_max;
	
u32 RSSI_max;

	
u8 *pbP2pLinkInProgress;


} DIG_T, *pDIG_T;


typedef struct false_ALARM_STATISTICS {
	
u32 Cnt_Parity_Fail;
	
u32 Cnt_Rate_Illegal;
	
u32 Cnt_Crc8_fail;
	
u32 Cnt_Mcs_fail;
	
u32 Cnt_Ofdm_fail;
	
u32 Cnt_Ofdm_fail_pre; /* For RTL8881A */
	
u32 Cnt_Cck_fail;
	
u32 Cnt_all;
	
u32 Cnt_Fast_Fsync;
	
u32 Cnt_SB_Search_fail;
	
u32 Cnt_OFDM_CCA;
	
u32 Cnt_CCK_CCA;
	
u32 Cnt_CCA_all;
	
u32 Cnt_BW_USC; /* Gary */
	
u32 Cnt_BW_LSC; /* Gary */


} false_ALARM_STATISTICS, *Pfalse_ALARM_STATISTICS;


typedef enum tag_Dynamic_Init_Gain_Operation_Type_Definition {
	
DIG_TYPE_THRESH_HIGH = 0,
	
DIG_TYPE_THRESH_LOW = 1,
	
DIG_TYPE_BACKOFF = 2,
	
DIG_TYPE_RX_GAIN_MIN = 3,
	
DIG_TYPE_RX_GAIN_MAX = 4,
	
DIG_TYPE_ENABLE = 5,
	
DIG_TYPE_DISABLE = 6,
	
DIG_OP_TYPE_MAX

} DM_DIG_OP_E;


typedef enum tag_ODM_PauseDIG_Type {
	
ODM_PAUSE_DIG = BIT0,
	
ODM_RESUME_DIG = BIT1

} ODM_Pause_DIG_TYPE;


typedef enum tag_ODM_PauseCCKPD_Type {
	
ODM_PAUSE_CCKPD = BIT0,
	
ODM_RESUME_CCKPD = BIT1

} ODM_Pause_CCKPD_TYPE;


#define		DM_DIG_THRESH_HIGH			40

#define		DM_DIG_THRESH_LOW			35


#define		DMfalseALARM_THRESH_LOW	400

#define		DMfalseALARM_THRESH_HIGH	1000


#define		DM_DIG_MAX_NIC				0x3e

#define		DM_DIG_MIN_NIC				0x1e 
/* 0x22//0x1c */

#define		DM_DIG_MAX_OF_MIN_NIC		0x3e


#define		DM_DIG_MAX_AP					0x3e

#define		DM_DIG_MIN_AP					0x1c

#define		DM_DIG_MAX_OF_MIN			0x2A	
/* 0x32 */

#define		DM_DIG_MIN_AP_DFS				0x20


#define		DM_DIG_MAX_NIC_HP			0x46

#define		DM_DIG_MIN_NIC_HP				0x2e


#define		DM_DIG_MAX_AP_HP				0x42

#define		DM_DIG_MIN_AP_HP				0x30


#define		DM_DIG_FA_TH0				0x200
/* 0x20 */


#define		DM_DIG_FA_TH1					0x300

#define		DM_DIG_FA_TH2					0x400
/* this is for 92d */

#define		DM_DIG_FA_TH0_92D				0x100

#define		DM_DIG_FA_TH1_92D				0x400

#define		DM_DIG_FA_TH2_92D				0x600


#define		DM_DIG_BACKOFF_MAX			12

#define		DM_DIG_BACKOFF_MIN			-4

#define		DM_DIG_BACKOFF_DEFAULT		10


#define			DM_DIG_FA_TH0_LPS				4 
/*  4 in lps */

#define			DM_DIG_FA_TH1_LPS				15 
/*  15 lps */

#define			DM_DIG_FA_TH2_LPS				30 
/*  30 lps */

#define			RSSI_OFFSET_DIG				0x05

void odm_NHMCounterStatisticsInit(void *pDM_VOID);

void odm_NHMCounterStatistics(void *pDM_VOID);

void odm_NHMBBInit(void *pDM_VOID);

void odm_NHMBB(void *pDM_VOID);

void odm_NHMCounterStatisticsReset(void *pDM_VOID);

void odm_GetNHMCounterStatistics(void *pDM_VOID);

void odm_SearchPwdBLowerBound(void *pDM_VOID, u8 IGI_target);

void odm_AdaptivityInit(void *pDM_VOID);

void odm_Adaptivity(void *pDM_VOID, u8 IGI);

void ODM_Write_DIG(void *pDM_VOID, u8 CurrentIGI);

void odm_PauseDIG(void *pDM_VOID, ODM_Pause_DIG_TYPE PauseType, u8 IGIValue);

void odm_DIGInit(void *pDM_VOID);

void odm_DIG(void *pDM_VOID);

void odm_DIGbyRSSI_LPS(void *pDM_VOID);

void odm_FalseAlarmCounterStatistics(void *pDM_VOID);

void odm_FAThresholdCheck(
	void *pDM_VOID,
	bool bDFSBand,
	bool bPerformance,
	u32 RxTp,
	u32 TxTp,
	u32 *dm_FA_thres
);

u8 odm_ForbiddenIGICheck(void *pDM_VOID, u8 DIG_Dynamic_MIN, u8 CurrentIGI);

bool odm_DigAbort(void *pDM_VOID);

void odm_CCKPacketDetectionThresh(void *pDM_VOID);

void ODM_Write_CCK_CCA_Thres(void *pDM_VOID, u8 CurCCK_CCAThres);

#endif

Overall Contributors

PersonTokensPropCommitsCommitProp
Hans de Goede573100.00%1100.00%
Total573100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.