162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* Copyright(c) 2009-2012 Realtek Corporation.*/ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#ifndef __RTL_92S_DM_H__ 562306a36Sopenharmony_ci#define __RTL_92S_DM_H__ 662306a36Sopenharmony_ci 762306a36Sopenharmony_cienum dm_dig_alg { 862306a36Sopenharmony_ci DIG_ALGO_BY_FALSE_ALARM = 0, 962306a36Sopenharmony_ci DIG_ALGO_BY_RSSI = 1, 1062306a36Sopenharmony_ci DIG_ALGO_BEFORE_CONNECT_BY_RSSI_AND_ALARM = 2, 1162306a36Sopenharmony_ci DIG_ALGO_BY_TOW_PORT = 3, 1262306a36Sopenharmony_ci DIG_ALGO_MAX 1362306a36Sopenharmony_ci}; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cienum dm_dig_two_port_alg { 1662306a36Sopenharmony_ci DIG_TWO_PORT_ALGO_RSSI = 0, 1762306a36Sopenharmony_ci DIG_TWO_PORT_ALGO_FALSE_ALARM = 1, 1862306a36Sopenharmony_ci}; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_cienum dm_dig_dbg { 2162306a36Sopenharmony_ci DM_DBG_OFF = 0, 2262306a36Sopenharmony_ci DM_DBG_ON = 1, 2362306a36Sopenharmony_ci DM_DBG_MAX 2462306a36Sopenharmony_ci}; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_cienum dm_dig_sta { 2762306a36Sopenharmony_ci DM_STA_DIG_OFF = 0, 2862306a36Sopenharmony_ci DM_STA_DIG_ON, 2962306a36Sopenharmony_ci DM_STA_DIG_MAX 3062306a36Sopenharmony_ci}; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_cienum dm_ratr_sta { 3362306a36Sopenharmony_ci DM_RATR_STA_HIGH = 0, 3462306a36Sopenharmony_ci DM_RATR_STA_MIDDLEHIGH = 1, 3562306a36Sopenharmony_ci DM_RATR_STA_MIDDLE = 2, 3662306a36Sopenharmony_ci DM_RATR_STA_MIDDLELOW = 3, 3762306a36Sopenharmony_ci DM_RATR_STA_LOW = 4, 3862306a36Sopenharmony_ci DM_RATR_STA_ULTRALOW = 5, 3962306a36Sopenharmony_ci DM_RATR_STA_MAX 4062306a36Sopenharmony_ci}; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci#define DM_TYPE_BYFW 0 4362306a36Sopenharmony_ci#define DM_TYPE_BYDRIVER 1 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci#define TX_HIGH_PWR_LEVEL_NORMAL 0 4662306a36Sopenharmony_ci#define TX_HIGH_PWR_LEVEL_LEVEL1 1 4762306a36Sopenharmony_ci#define TX_HIGH_PWR_LEVEL_LEVEL2 2 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci#define HAL_DM_DIG_DISABLE BIT(0) /* Disable Dig */ 5062306a36Sopenharmony_ci#define HAL_DM_HIPWR_DISABLE BIT(1) /* Disable High Power */ 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci#define TX_HIGHPWR_LEVEL_NORMAL 0 5362306a36Sopenharmony_ci#define TX_HIGHPWR_LEVEL_NORMAL1 1 5462306a36Sopenharmony_ci#define TX_HIGHPWR_LEVEL_NORMAL2 2 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci#define TX_POWER_NEAR_FIELD_THRESH_LVL2 74 5762306a36Sopenharmony_ci#define TX_POWER_NEAR_FIELD_THRESH_LVL1 67 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci#define DM_DIG_HIGH_PWR_THRESH_HIGH 75 6062306a36Sopenharmony_ci#define DM_DIG_HIGH_PWR_THRESH_LOW 70 6162306a36Sopenharmony_ci#define DM_DIG_MIN_NETCORE 0x12 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_civoid rtl92s_dm_watchdog(struct ieee80211_hw *hw); 6462306a36Sopenharmony_civoid rtl92s_dm_init(struct ieee80211_hw *hw); 6562306a36Sopenharmony_civoid rtl92s_dm_init_edca_turbo(struct ieee80211_hw *hw); 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci#endif 68