Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 102764
b: refs/heads/master
c: 445c2df
h: refs/heads/master
v: v3
  • Loading branch information
Tomas Winkler authored and John W. Linville committed May 22, 2008
1 parent 8dd48f6 commit 0c39070
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: da6833cb05cd76f4367fa7e4a783bf358c096faf
refs/heads/master: 445c2dff409ef9de5d2f964d20917ab238fd266f
9 changes: 9 additions & 0 deletions trunk/drivers/net/wireless/iwlwifi/iwl-calib.c
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,9 @@ void iwl_init_sensitivity(struct iwl_priv *priv)
struct iwl_sensitivity_data *data = NULL;
const struct iwl_sensitivity_ranges *ranges = priv->hw_params.sens;

if (priv->disable_sens_cal)
return;

IWL_DEBUG_CALIB("Start iwl_init_sensitivity\n");

/* Clear driver's sensitivity algo data */
Expand Down Expand Up @@ -486,6 +489,9 @@ void iwl_sensitivity_calibration(struct iwl_priv *priv,
unsigned long flags;
struct statistics_general_data statis;

if (priv->disable_sens_cal)
return;

data = &(priv->sensitivity_data);

if (!iwl_is_associated(priv)) {
Expand Down Expand Up @@ -608,6 +614,9 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv,
unsigned long flags;
struct statistics_rx_non_phy *rx_info = &(stat_resp->rx.general);

if (priv->disable_chain_noise_cal)
return;

data = &(priv->chain_noise_data);

/* Accumulate just the first 20 beacons after the first association,
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/net/wireless/iwlwifi/iwl-calib.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,9 @@ void iwl_init_sensitivity(struct iwl_priv *priv);

static inline void iwl_chain_noise_reset(struct iwl_priv *priv)
{
if (priv->cfg->ops->utils->chain_noise_reset)

if (!priv->disable_chain_noise_cal &&
priv->cfg->ops->utils->chain_noise_reset)
priv->cfg->ops->utils->chain_noise_reset(priv);
}
#else
Expand Down
9 changes: 8 additions & 1 deletion trunk/drivers/net/wireless/iwlwifi/iwl-debug.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,20 @@ struct iwl_debugfs {
const char *name;
struct dentry *dir_drv;
struct dentry *dir_data;
struct dir_data_files{
struct dentry *dir_rf;
struct dir_data_files {
struct dentry *file_sram;
struct dentry *file_eeprom;
struct dentry *file_stations;
struct dentry *file_rx_statistics;
struct dentry *file_tx_statistics;
} dbgfs_data_files;
struct dir_rf_files {
#ifdef CONFIG_IWLWIFI_RUN_TIME_CALIB
struct dentry *file_disable_sensitivity;
struct dentry *file_disable_chain_noise;
#endif /* CONFIG_IWLWIFI_RUN_TIME_CALIB */
} dbgfs_rf_files;
u32 sram_offset;
u32 sram_len;
};
Expand Down
20 changes: 19 additions & 1 deletion trunk/drivers/net/wireless/iwlwifi/iwl-debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@
goto err; \
} while (0)

#define DEBUGFS_ADD_BOOL(name, parent, ptr) do { \
dbgfs->dbgfs_##parent##_files.file_##name = \
debugfs_create_bool(#name, 0644, dbgfs->dir_##parent, ptr); \
if (IS_ERR(dbgfs->dbgfs_##parent##_files.file_##name)) \
goto err; \
} while (0)

#define DEBUGFS_REMOVE(name) do { \
debugfs_remove(name); \
name = NULL; \
Expand Down Expand Up @@ -344,12 +351,17 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name)
}

DEBUGFS_ADD_DIR(data, dbgfs->dir_drv);
DEBUGFS_ADD_DIR(rf, dbgfs->dir_drv);
DEBUGFS_ADD_FILE(eeprom, data);
DEBUGFS_ADD_FILE(sram, data);
DEBUGFS_ADD_FILE(stations, data);
DEBUGFS_ADD_FILE(rx_statistics, data);
DEBUGFS_ADD_FILE(tx_statistics, data);

#ifdef CONFIG_IWLWIFI_RUN_TIME_CALIB
DEBUGFS_ADD_BOOL(disable_sensitivity, rf, &priv->disable_sens_cal);
DEBUGFS_ADD_BOOL(disable_chain_noise, rf,
&priv->disable_chain_noise_cal);
#endif /* CONFIG_IWLWIFI_RUN_TIME_CALIB */
return 0;

err:
Expand All @@ -374,10 +386,16 @@ void iwl_dbgfs_unregister(struct iwl_priv *priv)
DEBUGFS_REMOVE(priv->dbgfs->dbgfs_data_files.file_sram);
DEBUGFS_REMOVE(priv->dbgfs->dbgfs_data_files.file_stations);
DEBUGFS_REMOVE(priv->dbgfs->dir_data);
#ifdef CONFIG_IWLWIFI_RUN_TIME_CALIB
DEBUGFS_REMOVE(priv->dbgfs->dbgfs_rf_files.file_disable_sensitivity);
DEBUGFS_REMOVE(priv->dbgfs->dbgfs_rf_files.file_disable_chain_noise);
#endif /* CONFIG_IWLWIFI_RUN_TIME_CALIB */
DEBUGFS_REMOVE(priv->dbgfs->dir_rf);
DEBUGFS_REMOVE(priv->dbgfs->dir_drv);
kfree(priv->dbgfs);
priv->dbgfs = NULL;
}
EXPORT_SYMBOL(iwl_dbgfs_unregister);



6 changes: 5 additions & 1 deletion trunk/drivers/net/wireless/iwlwifi/iwl-dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -1212,9 +1212,13 @@ struct iwl_priv {
#endif /* CONFIG_IWLWIFI_DEBUG */

struct work_struct txpower_work;
#ifdef CONFIG_IWLWIFI_RUN_TIME_CALIB
u32 disable_sens_cal;
u32 disable_chain_noise_cal;
#endif /* CONFIG_IWLWIFI_RUN_TIME_CALIB */
#ifdef CONFIG_IWL4965_RUN_TIME_CALIB
struct work_struct sensitivity_work;
#endif
#endif /* CONFIG_IWL4965_RUN_TIME_CALIB */
struct timer_list statistics_periodic;
}; /*iwl_priv */

Expand Down

0 comments on commit 0c39070

Please sign in to comment.