diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-05-17 13:57:43 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-05-17 13:57:43 -0400 |
commit | 6fe70aae0d128339febfabc073ba4c4a03de4f45 (patch) | |
tree | 711dff90df5ca4e07b5bddf11b2819e5cf2b7a93 /drivers/net/wireless/iwlwifi/iwl-debugfs.c | |
parent | 278554bd6579206921f5d8a523649a7a57f8850d (diff) | |
parent | 0c348d7c1422d59a86d6fb37b53d75788043e50b (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-debugfs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-debugfs.c | 66 |
1 files changed, 15 insertions, 51 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-debugfs.c b/drivers/net/wireless/iwlwifi/iwl-debugfs.c index 4aabb542fcb..9659c5d01df 100644 --- a/drivers/net/wireless/iwlwifi/iwl-debugfs.c +++ b/drivers/net/wireless/iwlwifi/iwl-debugfs.c | |||
@@ -1220,46 +1220,6 @@ static ssize_t iwl_dbgfs_chain_noise_read(struct file *file, | |||
1220 | return ret; | 1220 | return ret; |
1221 | } | 1221 | } |
1222 | 1222 | ||
1223 | static ssize_t iwl_dbgfs_tx_power_read(struct file *file, | ||
1224 | char __user *user_buf, | ||
1225 | size_t count, loff_t *ppos) { | ||
1226 | |||
1227 | struct iwl_priv *priv = file->private_data; | ||
1228 | char buf[128]; | ||
1229 | int pos = 0; | ||
1230 | const size_t bufsz = sizeof(buf); | ||
1231 | struct statistics_tx *tx; | ||
1232 | |||
1233 | if (!iwl_is_alive(priv)) | ||
1234 | pos += scnprintf(buf + pos, bufsz - pos, "N/A\n"); | ||
1235 | else { | ||
1236 | tx = &priv->statistics.tx; | ||
1237 | if (tx->tx_power.ant_a || | ||
1238 | tx->tx_power.ant_b || | ||
1239 | tx->tx_power.ant_c) { | ||
1240 | pos += scnprintf(buf + pos, bufsz - pos, | ||
1241 | "tx power: (1/2 dB step)\n"); | ||
1242 | if ((priv->cfg->valid_tx_ant & ANT_A) && | ||
1243 | tx->tx_power.ant_a) | ||
1244 | pos += scnprintf(buf + pos, bufsz - pos, | ||
1245 | "\tantenna A: 0x%X\n", | ||
1246 | tx->tx_power.ant_a); | ||
1247 | if ((priv->cfg->valid_tx_ant & ANT_B) && | ||
1248 | tx->tx_power.ant_b) | ||
1249 | pos += scnprintf(buf + pos, bufsz - pos, | ||
1250 | "\tantenna B: 0x%X\n", | ||
1251 | tx->tx_power.ant_b); | ||
1252 | if ((priv->cfg->valid_tx_ant & ANT_C) && | ||
1253 | tx->tx_power.ant_c) | ||
1254 | pos += scnprintf(buf + pos, bufsz - pos, | ||
1255 | "\tantenna C: 0x%X\n", | ||
1256 | tx->tx_power.ant_c); | ||
1257 | } else | ||
1258 | pos += scnprintf(buf + pos, bufsz - pos, "N/A\n"); | ||
1259 | } | ||
1260 | return simple_read_from_buffer(user_buf, count, ppos, buf, pos); | ||
1261 | } | ||
1262 | |||
1263 | static ssize_t iwl_dbgfs_power_save_status_read(struct file *file, | 1223 | static ssize_t iwl_dbgfs_power_save_status_read(struct file *file, |
1264 | char __user *user_buf, | 1224 | char __user *user_buf, |
1265 | size_t count, loff_t *ppos) | 1225 | size_t count, loff_t *ppos) |
@@ -1571,7 +1531,6 @@ DEBUGFS_READ_FILE_OPS(ucode_tx_stats); | |||
1571 | DEBUGFS_READ_FILE_OPS(ucode_general_stats); | 1531 | DEBUGFS_READ_FILE_OPS(ucode_general_stats); |
1572 | DEBUGFS_READ_FILE_OPS(sensitivity); | 1532 | DEBUGFS_READ_FILE_OPS(sensitivity); |
1573 | DEBUGFS_READ_FILE_OPS(chain_noise); | 1533 | DEBUGFS_READ_FILE_OPS(chain_noise); |
1574 | DEBUGFS_READ_FILE_OPS(tx_power); | ||
1575 | DEBUGFS_READ_FILE_OPS(power_save_status); | 1534 | DEBUGFS_READ_FILE_OPS(power_save_status); |
1576 | DEBUGFS_WRITE_FILE_OPS(clear_ucode_statistics); | 1535 | DEBUGFS_WRITE_FILE_OPS(clear_ucode_statistics); |
1577 | DEBUGFS_WRITE_FILE_OPS(clear_traffic_statistics); | 1536 | DEBUGFS_WRITE_FILE_OPS(clear_traffic_statistics); |
@@ -1618,8 +1577,11 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name) | |||
1618 | DEBUGFS_ADD_FILE(interrupt, dir_data, S_IWUSR | S_IRUSR); | 1577 | DEBUGFS_ADD_FILE(interrupt, dir_data, S_IWUSR | S_IRUSR); |
1619 | DEBUGFS_ADD_FILE(qos, dir_data, S_IRUSR); | 1578 | DEBUGFS_ADD_FILE(qos, dir_data, S_IRUSR); |
1620 | DEBUGFS_ADD_FILE(led, dir_data, S_IRUSR); | 1579 | DEBUGFS_ADD_FILE(led, dir_data, S_IRUSR); |
1621 | DEBUGFS_ADD_FILE(sleep_level_override, dir_data, S_IWUSR | S_IRUSR); | 1580 | if (!priv->cfg->broken_powersave) { |
1622 | DEBUGFS_ADD_FILE(current_sleep_command, dir_data, S_IRUSR); | 1581 | DEBUGFS_ADD_FILE(sleep_level_override, dir_data, |
1582 | S_IWUSR | S_IRUSR); | ||
1583 | DEBUGFS_ADD_FILE(current_sleep_command, dir_data, S_IRUSR); | ||
1584 | } | ||
1623 | DEBUGFS_ADD_FILE(thermal_throttling, dir_data, S_IRUSR); | 1585 | DEBUGFS_ADD_FILE(thermal_throttling, dir_data, S_IRUSR); |
1624 | DEBUGFS_ADD_FILE(disable_ht40, dir_data, S_IWUSR | S_IRUSR); | 1586 | DEBUGFS_ADD_FILE(disable_ht40, dir_data, S_IWUSR | S_IRUSR); |
1625 | DEBUGFS_ADD_FILE(rx_statistics, dir_debug, S_IRUSR); | 1587 | DEBUGFS_ADD_FILE(rx_statistics, dir_debug, S_IRUSR); |
@@ -1627,7 +1589,6 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name) | |||
1627 | DEBUGFS_ADD_FILE(traffic_log, dir_debug, S_IWUSR | S_IRUSR); | 1589 | DEBUGFS_ADD_FILE(traffic_log, dir_debug, S_IWUSR | S_IRUSR); |
1628 | DEBUGFS_ADD_FILE(rx_queue, dir_debug, S_IRUSR); | 1590 | DEBUGFS_ADD_FILE(rx_queue, dir_debug, S_IRUSR); |
1629 | DEBUGFS_ADD_FILE(tx_queue, dir_debug, S_IRUSR); | 1591 | DEBUGFS_ADD_FILE(tx_queue, dir_debug, S_IRUSR); |
1630 | DEBUGFS_ADD_FILE(tx_power, dir_debug, S_IRUSR); | ||
1631 | DEBUGFS_ADD_FILE(power_save_status, dir_debug, S_IRUSR); | 1592 | DEBUGFS_ADD_FILE(power_save_status, dir_debug, S_IRUSR); |
1632 | DEBUGFS_ADD_FILE(clear_ucode_statistics, dir_debug, S_IWUSR); | 1593 | DEBUGFS_ADD_FILE(clear_ucode_statistics, dir_debug, S_IWUSR); |
1633 | DEBUGFS_ADD_FILE(clear_traffic_statistics, dir_debug, S_IWUSR); | 1594 | DEBUGFS_ADD_FILE(clear_traffic_statistics, dir_debug, S_IWUSR); |
@@ -1640,18 +1601,21 @@ int iwl_dbgfs_register(struct iwl_priv *priv, const char *name) | |||
1640 | DEBUGFS_ADD_FILE(ucode_tx_stats, dir_debug, S_IRUSR); | 1601 | DEBUGFS_ADD_FILE(ucode_tx_stats, dir_debug, S_IRUSR); |
1641 | DEBUGFS_ADD_FILE(ucode_general_stats, dir_debug, S_IRUSR); | 1602 | DEBUGFS_ADD_FILE(ucode_general_stats, dir_debug, S_IRUSR); |
1642 | 1603 | ||
1643 | if ((priv->hw_rev & CSR_HW_REV_TYPE_MSK) != CSR_HW_REV_TYPE_3945) { | 1604 | if (priv->cfg->sensitivity_calib_by_driver) |
1644 | DEBUGFS_ADD_FILE(sensitivity, dir_debug, S_IRUSR); | 1605 | DEBUGFS_ADD_FILE(sensitivity, dir_debug, S_IRUSR); |
1606 | if (priv->cfg->chain_noise_calib_by_driver) | ||
1645 | DEBUGFS_ADD_FILE(chain_noise, dir_debug, S_IRUSR); | 1607 | DEBUGFS_ADD_FILE(chain_noise, dir_debug, S_IRUSR); |
1608 | if (priv->cfg->ucode_tracing) | ||
1646 | DEBUGFS_ADD_FILE(ucode_tracing, dir_debug, S_IWUSR | S_IRUSR); | 1609 | DEBUGFS_ADD_FILE(ucode_tracing, dir_debug, S_IWUSR | S_IRUSR); |
1647 | } | ||
1648 | DEBUGFS_ADD_FILE(rxon_flags, dir_debug, S_IWUSR); | 1610 | DEBUGFS_ADD_FILE(rxon_flags, dir_debug, S_IWUSR); |
1649 | DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, S_IWUSR); | 1611 | DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, S_IWUSR); |
1650 | DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, &priv->disable_sens_cal); | 1612 | if (priv->cfg->sensitivity_calib_by_driver) |
1651 | DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf, | 1613 | DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf, |
1652 | &priv->disable_chain_noise_cal); | 1614 | &priv->disable_sens_cal); |
1653 | if (((priv->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_4965) || | 1615 | if (priv->cfg->chain_noise_calib_by_driver) |
1654 | ((priv->hw_rev & CSR_HW_REV_TYPE_MSK) == CSR_HW_REV_TYPE_3945)) | 1616 | DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf, |
1617 | &priv->disable_chain_noise_cal); | ||
1618 | if (priv->cfg->tx_power_by_driver) | ||
1655 | DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf, | 1619 | DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf, |
1656 | &priv->disable_tx_power_cal); | 1620 | &priv->disable_tx_power_cal); |
1657 | return 0; | 1621 | return 0; |