提交 65d1f896 编写于 作者: W Wey-Yi Guy 提交者: Reinette Chatre

iwlwifi: use cfg to configure calibration operation

sensitivity calibration and chain noise calibration are not available
for all the devices; use .cfg to configure the availability of those
calibration functions
Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
上级 6e5c800e
...@@ -261,6 +261,8 @@ struct iwl_cfg iwl1000_bgn_cfg = { ...@@ -261,6 +261,8 @@ struct iwl_cfg iwl1000_bgn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 128, .max_event_log_size = 128,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl1000_bg_cfg = { struct iwl_cfg iwl1000_bg_cfg = {
...@@ -291,6 +293,8 @@ struct iwl_cfg iwl1000_bg_cfg = { ...@@ -291,6 +293,8 @@ struct iwl_cfg iwl1000_bg_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 128, .max_event_log_size = 128,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
MODULE_FIRMWARE(IWL1000_MODULE_FIRMWARE(IWL1000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL1000_MODULE_FIRMWARE(IWL1000_UCODE_API_MAX));
...@@ -2264,6 +2264,8 @@ struct iwl_cfg iwl4965_agn_cfg = { ...@@ -2264,6 +2264,8 @@ struct iwl_cfg iwl4965_agn_cfg = {
.max_event_log_size = 512, .max_event_log_size = 512,
.tx_power_by_driver = true, .tx_power_by_driver = true,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_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
* because the device has off-channel reception on chain A. * because the device has off-channel reception on chain A.
......
...@@ -467,6 +467,8 @@ struct iwl_cfg iwl5300_agn_cfg = { ...@@ -467,6 +467,8 @@ struct iwl_cfg iwl5300_agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl5100_bgn_cfg = { struct iwl_cfg iwl5100_bgn_cfg = {
...@@ -496,6 +498,8 @@ struct iwl_cfg iwl5100_bgn_cfg = { ...@@ -496,6 +498,8 @@ struct iwl_cfg iwl5100_bgn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl5100_abg_cfg = { struct iwl_cfg iwl5100_abg_cfg = {
...@@ -523,6 +527,8 @@ struct iwl_cfg iwl5100_abg_cfg = { ...@@ -523,6 +527,8 @@ struct iwl_cfg iwl5100_abg_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl5100_agn_cfg = { struct iwl_cfg iwl5100_agn_cfg = {
...@@ -552,6 +558,8 @@ struct iwl_cfg iwl5100_agn_cfg = { ...@@ -552,6 +558,8 @@ struct iwl_cfg iwl5100_agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl5350_agn_cfg = { struct iwl_cfg iwl5350_agn_cfg = {
...@@ -581,6 +589,8 @@ struct iwl_cfg iwl5350_agn_cfg = { ...@@ -581,6 +589,8 @@ struct iwl_cfg iwl5350_agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl5150_agn_cfg = { struct iwl_cfg iwl5150_agn_cfg = {
...@@ -610,6 +620,8 @@ struct iwl_cfg iwl5150_agn_cfg = { ...@@ -610,6 +620,8 @@ struct iwl_cfg iwl5150_agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl5150_abg_cfg = { struct iwl_cfg iwl5150_abg_cfg = {
...@@ -637,6 +649,8 @@ struct iwl_cfg iwl5150_abg_cfg = { ...@@ -637,6 +649,8 @@ struct iwl_cfg iwl5150_abg_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX));
......
...@@ -443,6 +443,8 @@ struct iwl_cfg iwl6000g2a_2agn_cfg = { ...@@ -443,6 +443,8 @@ struct iwl_cfg iwl6000g2a_2agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 512, .max_event_log_size = 512,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
/* /*
...@@ -481,6 +483,8 @@ struct iwl_cfg iwl6000i_2agn_cfg = { ...@@ -481,6 +483,8 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 1024, .max_event_log_size = 1024,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl6000i_2abg_cfg = { struct iwl_cfg iwl6000i_2abg_cfg = {
...@@ -514,6 +518,8 @@ struct iwl_cfg iwl6000i_2abg_cfg = { ...@@ -514,6 +518,8 @@ struct iwl_cfg iwl6000i_2abg_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 1024, .max_event_log_size = 1024,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl6000i_2bg_cfg = { struct iwl_cfg iwl6000i_2bg_cfg = {
...@@ -547,6 +553,8 @@ struct iwl_cfg iwl6000i_2bg_cfg = { ...@@ -547,6 +553,8 @@ struct iwl_cfg iwl6000i_2bg_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 1024, .max_event_log_size = 1024,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl6050_2agn_cfg = { struct iwl_cfg iwl6050_2agn_cfg = {
...@@ -582,6 +590,8 @@ struct iwl_cfg iwl6050_2agn_cfg = { ...@@ -582,6 +590,8 @@ struct iwl_cfg iwl6050_2agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 1024, .max_event_log_size = 1024,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl6050_2abg_cfg = { struct iwl_cfg iwl6050_2abg_cfg = {
...@@ -615,6 +625,8 @@ struct iwl_cfg iwl6050_2abg_cfg = { ...@@ -615,6 +625,8 @@ struct iwl_cfg iwl6050_2abg_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 1024, .max_event_log_size = 1024,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
struct iwl_cfg iwl6000_3agn_cfg = { struct iwl_cfg iwl6000_3agn_cfg = {
...@@ -650,6 +662,8 @@ struct iwl_cfg iwl6000_3agn_cfg = { ...@@ -650,6 +662,8 @@ struct iwl_cfg iwl6000_3agn_cfg = {
.monitor_recover_period = IWL_MONITORING_PERIOD, .monitor_recover_period = IWL_MONITORING_PERIOD,
.max_event_log_size = 1024, .max_event_log_size = 1024,
.ucode_tracing = true, .ucode_tracing = true,
.sensitivity_calib_by_driver = true,
.chain_noise_calib_by_driver = true,
}; };
MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));
......
...@@ -321,6 +321,8 @@ struct iwl_cfg { ...@@ -321,6 +321,8 @@ struct iwl_cfg {
u32 max_event_log_size; u32 max_event_log_size;
const bool tx_power_by_driver; const bool tx_power_by_driver;
const bool ucode_tracing; const bool ucode_tracing;
const bool sensitivity_calib_by_driver;
const bool chain_noise_calib_by_driver;
u8 scan_antennas[IEEE80211_NUM_BANDS]; u8 scan_antennas[IEEE80211_NUM_BANDS];
}; };
......
...@@ -1637,17 +1637,20 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name) ...@@ -1637,17 +1637,20 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name)
DEBUGFS_ADD_FILE(ucode_tx_stats, dir_debug, S_IRUSR); DEBUGFS_ADD_FILE(ucode_tx_stats, dir_debug, S_IRUSR);
DEBUGFS_ADD_FILE(ucode_general_stats, dir_debug, S_IRUSR); DEBUGFS_ADD_FILE(ucode_general_stats, dir_debug, S_IRUSR);
if ((priv->hw_rev & CSR_HW_REV_TYPE_MSK) != CSR_HW_REV_TYPE_3945) { if (priv->cfg->sensitivity_calib_by_driver)
DEBUGFS_ADD_FILE(sensitivity, dir_debug, S_IRUSR); DEBUGFS_ADD_FILE(sensitivity, dir_debug, S_IRUSR);
if (priv->cfg->chain_noise_calib_by_driver)
DEBUGFS_ADD_FILE(chain_noise, dir_debug, S_IRUSR); DEBUGFS_ADD_FILE(chain_noise, dir_debug, S_IRUSR);
}
if (priv->cfg->ucode_tracing) if (priv->cfg->ucode_tracing)
DEBUGFS_ADD_FILE(ucode_tracing, dir_debug, S_IWUSR | S_IRUSR); DEBUGFS_ADD_FILE(ucode_tracing, dir_debug, S_IWUSR | S_IRUSR);
DEBUGFS_ADD_FILE(rxon_flags, dir_debug, S_IWUSR); DEBUGFS_ADD_FILE(rxon_flags, dir_debug, S_IWUSR);
DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, S_IWUSR); DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, S_IWUSR);
DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, &priv->disable_sens_cal); if (priv->cfg->sensitivity_calib_by_driver)
DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf, DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf,
&priv->disable_chain_noise_cal); &priv->disable_sens_cal);
if (priv->cfg->chain_noise_calib_by_driver)
DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf,
&priv->disable_chain_noise_cal);
if (priv->cfg->tx_power_by_driver) if (priv->cfg->tx_power_by_driver)
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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册