Commit 4e7033ef authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by Reinette Chatre

iwlwifi: remove device type checking for tx power in debugfs

Instead of checking device type for enable/disable tx power control,
move it to .cfg for better control and more flexibilities.
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
parent 92445c95
...@@ -1714,6 +1714,11 @@ static int iwl3945_hw_reg_comp_txpower_temp(struct iwl_priv *priv) ...@@ -1714,6 +1714,11 @@ static int iwl3945_hw_reg_comp_txpower_temp(struct iwl_priv *priv)
int ref_temp; int ref_temp;
int temperature = priv->temperature; int temperature = priv->temperature;
if (priv->disable_tx_power_cal ||
test_bit(STATUS_SCANNING, &priv->status)) {
/* do not perform tx power calibration */
return 0;
}
/* set up new Tx power info for each and every channel, 2.4 and 5.x */ /* set up new Tx power info for each and every channel, 2.4 and 5.x */
for (i = 0; i < priv->channel_count; i++) { for (i = 0; i < priv->channel_count; i++) {
ch_info = &priv->channel_info[i]; ch_info = &priv->channel_info[i];
...@@ -2842,6 +2847,7 @@ static struct iwl_cfg iwl3945_bg_cfg = { ...@@ -2842,6 +2847,7 @@ static struct iwl_cfg iwl3945_bg_cfg = {
.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.tx_power_by_driver = true,
}; };
static struct iwl_cfg iwl3945_abg_cfg = { static struct iwl_cfg iwl3945_abg_cfg = {
...@@ -2862,6 +2868,7 @@ static struct iwl_cfg iwl3945_abg_cfg = { ...@@ -2862,6 +2868,7 @@ static struct iwl_cfg iwl3945_abg_cfg = {
.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.tx_power_by_driver = true,
}; };
DEFINE_PCI_DEVICE_TABLE(iwl3945_hw_card_ids) = { DEFINE_PCI_DEVICE_TABLE(iwl3945_hw_card_ids) = {
......
...@@ -2262,6 +2262,7 @@ struct iwl_cfg iwl4965_agn_cfg = { ...@@ -2262,6 +2262,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.temperature_kelvin = true, .temperature_kelvin = true,
.max_event_log_size = 512, .max_event_log_size = 512,
.tx_power_by_driver = true,
/* /*
* Force use of chains B and C for scan RX on 5 GHz band * Force use of chains B and C for scan RX on 5 GHz band
......
...@@ -319,6 +319,7 @@ struct iwl_cfg { ...@@ -319,6 +319,7 @@ struct iwl_cfg {
u32 monitor_recover_period; u32 monitor_recover_period;
bool temperature_kelvin; bool temperature_kelvin;
u32 max_event_log_size; u32 max_event_log_size;
const bool tx_power_by_driver;
u8 scan_antennas[IEEE80211_NUM_BANDS]; u8 scan_antennas[IEEE80211_NUM_BANDS];
}; };
......
...@@ -1647,8 +1647,7 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name) ...@@ -1647,8 +1647,7 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name)
DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, &priv->disable_sens_cal); DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, &priv->disable_sens_cal);
DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf, DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf,
&priv->disable_chain_noise_cal); &priv->disable_chain_noise_cal);
if (((priv->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_4965) || if (priv->cfg->tx_power_by_driver)
((priv->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_3945))
DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf, DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf,
&priv->disable_tx_power_cal); &priv->disable_tx_power_cal);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment