summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlegacy/3945-debug.c698
-rw-r--r--drivers/net/wireless/iwlegacy/3945-mac.c1143
-rw-r--r--drivers/net/wireless/iwlegacy/3945-rs.c252
-rw-r--r--drivers/net/wireless/iwlegacy/3945.c920
-rw-r--r--drivers/net/wireless/iwlegacy/3945.h115
-rw-r--r--drivers/net/wireless/iwlegacy/4965-calib.c354
-rw-r--r--drivers/net/wireless/iwlegacy/4965-debug.c1178
-rw-r--r--drivers/net/wireless/iwlegacy/4965-mac.c2173
-rw-r--r--drivers/net/wireless/iwlegacy/4965-rs.c1094
-rw-r--r--drivers/net/wireless/iwlegacy/4965.c741
-rw-r--r--drivers/net/wireless/iwlegacy/4965.h184
-rw-r--r--drivers/net/wireless/iwlegacy/commands.h123
-rw-r--r--drivers/net/wireless/iwlegacy/common.c1927
-rw-r--r--drivers/net/wireless/iwlegacy/common.h934
-rw-r--r--drivers/net/wireless/iwlegacy/csr.h69
-rw-r--r--drivers/net/wireless/iwlegacy/debug.c965
-rw-r--r--drivers/net/wireless/iwlegacy/prph.h25
17 files changed, 6439 insertions, 6456 deletions
diff --git a/drivers/net/wireless/iwlegacy/3945-debug.c b/drivers/net/wireless/iwlegacy/3945-debug.c
index 1a690a046b5..382af2e958e 100644
--- a/drivers/net/wireless/iwlegacy/3945-debug.c
+++ b/drivers/net/wireless/iwlegacy/3945-debug.c
@@ -29,39 +29,37 @@
#include "common.h"
#include "3945.h"
-static int il3945_stats_flag(struct il_priv *il, char *buf, int bufsz)
+static int
+il3945_stats_flag(struct il_priv *il, char *buf, int bufsz)
{
int p = 0;
p += scnprintf(buf + p, bufsz - p, "Statistics Flag(0x%X):\n",
le32_to_cpu(il->_3945.stats.flag));
- if (le32_to_cpu(il->_3945.stats.flag) &
- UCODE_STATS_CLEAR_MSK)
+ if (le32_to_cpu(il->_3945.stats.flag) & UCODE_STATS_CLEAR_MSK)
p += scnprintf(buf + p, bufsz - p,
"\tStatistics have been cleared\n");
p += scnprintf(buf + p, bufsz - p, "\tOperational Frequency: %s\n",
(le32_to_cpu(il->_3945.stats.flag) &
- UCODE_STATS_FREQUENCY_MSK)
- ? "2.4 GHz" : "5.2 GHz");
+ UCODE_STATS_FREQUENCY_MSK) ? "2.4 GHz" : "5.2 GHz");
p += scnprintf(buf + p, bufsz - p, "\tTGj Narrow Band: %s\n",
(le32_to_cpu(il->_3945.stats.flag) &
- UCODE_STATS_NARROW_BAND_MSK)
- ? "enabled" : "disabled");
+ UCODE_STATS_NARROW_BAND_MSK) ? "enabled" : "disabled");
return p;
}
-ssize_t il3945_ucode_rx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+ssize_t
+il3945_ucode_rx_stats_read(struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0;
char *buf;
- int bufsz = sizeof(struct iwl39_stats_rx_phy) * 40 +
- sizeof(struct iwl39_stats_rx_non_phy) * 40 + 400;
+ int bufsz =
+ sizeof(struct iwl39_stats_rx_phy) * 40 +
+ sizeof(struct iwl39_stats_rx_non_phy) * 40 + 400;
ssize_t ret;
- struct iwl39_stats_rx_phy *ofdm, *accum_ofdm, *delta_ofdm,
- *max_ofdm;
+ struct iwl39_stats_rx_phy *ofdm, *accum_ofdm, *delta_ofdm, *max_ofdm;
struct iwl39_stats_rx_phy *cck, *accum_cck, *delta_cck, *max_cck;
struct iwl39_stats_rx_non_phy *general, *accum_general;
struct iwl39_stats_rx_non_phy *delta_general, *max_general;
@@ -94,240 +92,230 @@ ssize_t il3945_ucode_rx_stats_read(struct file *file,
max_general = &il->_3945.max_delta.rx.general;
pos += il3945_stats_flag(il, buf, bufsz);
- pos += scnprintf(buf + pos, bufsz - pos, "%-32s current"
- "acumulative delta max\n",
- "Statistics_Rx - OFDM:");
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "ina_cnt:", le32_to_cpu(ofdm->ina_cnt),
- accum_ofdm->ina_cnt,
- delta_ofdm->ina_cnt, max_ofdm->ina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "fina_cnt:",
- le32_to_cpu(ofdm->fina_cnt), accum_ofdm->fina_cnt,
- delta_ofdm->fina_cnt, max_ofdm->fina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n", "plcp_err:",
- le32_to_cpu(ofdm->plcp_err), accum_ofdm->plcp_err,
- delta_ofdm->plcp_err, max_ofdm->plcp_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n", "crc32_err:",
- le32_to_cpu(ofdm->crc32_err), accum_ofdm->crc32_err,
- delta_ofdm->crc32_err, max_ofdm->crc32_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n", "overrun_err:",
- le32_to_cpu(ofdm->overrun_err),
- accum_ofdm->overrun_err, delta_ofdm->overrun_err,
- max_ofdm->overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "early_overrun_err:",
- le32_to_cpu(ofdm->early_overrun_err),
- accum_ofdm->early_overrun_err,
- delta_ofdm->early_overrun_err,
- max_ofdm->early_overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "crc32_good:", le32_to_cpu(ofdm->crc32_good),
- accum_ofdm->crc32_good, delta_ofdm->crc32_good,
- max_ofdm->crc32_good);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n", "false_alarm_cnt:",
- le32_to_cpu(ofdm->false_alarm_cnt),
- accum_ofdm->false_alarm_cnt,
- delta_ofdm->false_alarm_cnt,
- max_ofdm->false_alarm_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "fina_sync_err_cnt:",
- le32_to_cpu(ofdm->fina_sync_err_cnt),
- accum_ofdm->fina_sync_err_cnt,
- delta_ofdm->fina_sync_err_cnt,
- max_ofdm->fina_sync_err_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sfd_timeout:",
- le32_to_cpu(ofdm->sfd_timeout),
- accum_ofdm->sfd_timeout,
- delta_ofdm->sfd_timeout,
- max_ofdm->sfd_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "fina_timeout:",
- le32_to_cpu(ofdm->fina_timeout),
- accum_ofdm->fina_timeout,
- delta_ofdm->fina_timeout,
- max_ofdm->fina_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "unresponded_rts:",
- le32_to_cpu(ofdm->unresponded_rts),
- accum_ofdm->unresponded_rts,
- delta_ofdm->unresponded_rts,
- max_ofdm->unresponded_rts);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "rxe_frame_lmt_ovrun:",
- le32_to_cpu(ofdm->rxe_frame_limit_overrun),
- accum_ofdm->rxe_frame_limit_overrun,
- delta_ofdm->rxe_frame_limit_overrun,
- max_ofdm->rxe_frame_limit_overrun);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sent_ack_cnt:",
- le32_to_cpu(ofdm->sent_ack_cnt),
- accum_ofdm->sent_ack_cnt,
- delta_ofdm->sent_ack_cnt,
- max_ofdm->sent_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sent_cts_cnt:",
- le32_to_cpu(ofdm->sent_cts_cnt),
- accum_ofdm->sent_cts_cnt,
- delta_ofdm->sent_cts_cnt, max_ofdm->sent_cts_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%-32s current"
+ "acumulative delta max\n",
+ "Statistics_Rx - OFDM:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "ina_cnt:",
+ le32_to_cpu(ofdm->ina_cnt), accum_ofdm->ina_cnt,
+ delta_ofdm->ina_cnt, max_ofdm->ina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "fina_cnt:",
+ le32_to_cpu(ofdm->fina_cnt), accum_ofdm->fina_cnt,
+ delta_ofdm->fina_cnt, max_ofdm->fina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "plcp_err:",
+ le32_to_cpu(ofdm->plcp_err), accum_ofdm->plcp_err,
+ delta_ofdm->plcp_err, max_ofdm->plcp_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "crc32_err:",
+ le32_to_cpu(ofdm->crc32_err), accum_ofdm->crc32_err,
+ delta_ofdm->crc32_err, max_ofdm->crc32_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "overrun_err:",
+ le32_to_cpu(ofdm->overrun_err), accum_ofdm->overrun_err,
+ delta_ofdm->overrun_err, max_ofdm->overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "early_overrun_err:",
+ le32_to_cpu(ofdm->early_overrun_err),
+ accum_ofdm->early_overrun_err,
+ delta_ofdm->early_overrun_err,
+ max_ofdm->early_overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "crc32_good:",
+ le32_to_cpu(ofdm->crc32_good), accum_ofdm->crc32_good,
+ delta_ofdm->crc32_good, max_ofdm->crc32_good);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "false_alarm_cnt:",
+ le32_to_cpu(ofdm->false_alarm_cnt),
+ accum_ofdm->false_alarm_cnt, delta_ofdm->false_alarm_cnt,
+ max_ofdm->false_alarm_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "fina_sync_err_cnt:",
+ le32_to_cpu(ofdm->fina_sync_err_cnt),
+ accum_ofdm->fina_sync_err_cnt,
+ delta_ofdm->fina_sync_err_cnt,
+ max_ofdm->fina_sync_err_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sfd_timeout:",
+ le32_to_cpu(ofdm->sfd_timeout), accum_ofdm->sfd_timeout,
+ delta_ofdm->sfd_timeout, max_ofdm->sfd_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "fina_timeout:",
+ le32_to_cpu(ofdm->fina_timeout), accum_ofdm->fina_timeout,
+ delta_ofdm->fina_timeout, max_ofdm->fina_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "unresponded_rts:",
+ le32_to_cpu(ofdm->unresponded_rts),
+ accum_ofdm->unresponded_rts, delta_ofdm->unresponded_rts,
+ max_ofdm->unresponded_rts);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n",
+ "rxe_frame_lmt_ovrun:",
+ le32_to_cpu(ofdm->rxe_frame_limit_overrun),
+ accum_ofdm->rxe_frame_limit_overrun,
+ delta_ofdm->rxe_frame_limit_overrun,
+ max_ofdm->rxe_frame_limit_overrun);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sent_ack_cnt:",
+ le32_to_cpu(ofdm->sent_ack_cnt), accum_ofdm->sent_ack_cnt,
+ delta_ofdm->sent_ack_cnt, max_ofdm->sent_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sent_cts_cnt:",
+ le32_to_cpu(ofdm->sent_cts_cnt), accum_ofdm->sent_cts_cnt,
+ delta_ofdm->sent_cts_cnt, max_ofdm->sent_cts_cnt);
- pos += scnprintf(buf + pos, bufsz - pos, "%-32s current"
- "acumulative delta max\n",
- "Statistics_Rx - CCK:");
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "ina_cnt:",
- le32_to_cpu(cck->ina_cnt), accum_cck->ina_cnt,
- delta_cck->ina_cnt, max_cck->ina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "fina_cnt:",
- le32_to_cpu(cck->fina_cnt), accum_cck->fina_cnt,
- delta_cck->fina_cnt, max_cck->fina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "plcp_err:",
- le32_to_cpu(cck->plcp_err), accum_cck->plcp_err,
- delta_cck->plcp_err, max_cck->plcp_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "crc32_err:",
- le32_to_cpu(cck->crc32_err), accum_cck->crc32_err,
- delta_cck->crc32_err, max_cck->crc32_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "overrun_err:",
- le32_to_cpu(cck->overrun_err),
- accum_cck->overrun_err,
- delta_cck->overrun_err, max_cck->overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "early_overrun_err:",
- le32_to_cpu(cck->early_overrun_err),
- accum_cck->early_overrun_err,
- delta_cck->early_overrun_err,
- max_cck->early_overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "crc32_good:",
- le32_to_cpu(cck->crc32_good), accum_cck->crc32_good,
- delta_cck->crc32_good,
- max_cck->crc32_good);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "false_alarm_cnt:",
- le32_to_cpu(cck->false_alarm_cnt),
- accum_cck->false_alarm_cnt,
- delta_cck->false_alarm_cnt, max_cck->false_alarm_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "fina_sync_err_cnt:",
- le32_to_cpu(cck->fina_sync_err_cnt),
- accum_cck->fina_sync_err_cnt,
- delta_cck->fina_sync_err_cnt,
- max_cck->fina_sync_err_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sfd_timeout:",
- le32_to_cpu(cck->sfd_timeout),
- accum_cck->sfd_timeout,
- delta_cck->sfd_timeout, max_cck->sfd_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "fina_timeout:",
- le32_to_cpu(cck->fina_timeout),
- accum_cck->fina_timeout,
- delta_cck->fina_timeout, max_cck->fina_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "unresponded_rts:",
- le32_to_cpu(cck->unresponded_rts),
- accum_cck->unresponded_rts,
- delta_cck->unresponded_rts,
- max_cck->unresponded_rts);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "rxe_frame_lmt_ovrun:",
- le32_to_cpu(cck->rxe_frame_limit_overrun),
- accum_cck->rxe_frame_limit_overrun,
- delta_cck->rxe_frame_limit_overrun,
- max_cck->rxe_frame_limit_overrun);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sent_ack_cnt:",
- le32_to_cpu(cck->sent_ack_cnt),
- accum_cck->sent_ack_cnt,
- delta_cck->sent_ack_cnt,
- max_cck->sent_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sent_cts_cnt:",
- le32_to_cpu(cck->sent_cts_cnt),
- accum_cck->sent_cts_cnt,
- delta_cck->sent_cts_cnt,
- max_cck->sent_cts_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%-32s current"
+ "acumulative delta max\n",
+ "Statistics_Rx - CCK:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "ina_cnt:",
+ le32_to_cpu(cck->ina_cnt), accum_cck->ina_cnt,
+ delta_cck->ina_cnt, max_cck->ina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "fina_cnt:",
+ le32_to_cpu(cck->fina_cnt), accum_cck->fina_cnt,
+ delta_cck->fina_cnt, max_cck->fina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "plcp_err:",
+ le32_to_cpu(cck->plcp_err), accum_cck->plcp_err,
+ delta_cck->plcp_err, max_cck->plcp_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "crc32_err:",
+ le32_to_cpu(cck->crc32_err), accum_cck->crc32_err,
+ delta_cck->crc32_err, max_cck->crc32_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "overrun_err:",
+ le32_to_cpu(cck->overrun_err), accum_cck->overrun_err,
+ delta_cck->overrun_err, max_cck->overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "early_overrun_err:",
+ le32_to_cpu(cck->early_overrun_err),
+ accum_cck->early_overrun_err,
+ delta_cck->early_overrun_err, max_cck->early_overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "crc32_good:",
+ le32_to_cpu(cck->crc32_good), accum_cck->crc32_good,
+ delta_cck->crc32_good, max_cck->crc32_good);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "false_alarm_cnt:",
+ le32_to_cpu(cck->false_alarm_cnt),
+ accum_cck->false_alarm_cnt, delta_cck->false_alarm_cnt,
+ max_cck->false_alarm_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "fina_sync_err_cnt:",
+ le32_to_cpu(cck->fina_sync_err_cnt),
+ accum_cck->fina_sync_err_cnt,
+ delta_cck->fina_sync_err_cnt, max_cck->fina_sync_err_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sfd_timeout:",
+ le32_to_cpu(cck->sfd_timeout), accum_cck->sfd_timeout,
+ delta_cck->sfd_timeout, max_cck->sfd_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "fina_timeout:",
+ le32_to_cpu(cck->fina_timeout), accum_cck->fina_timeout,
+ delta_cck->fina_timeout, max_cck->fina_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "unresponded_rts:",
+ le32_to_cpu(cck->unresponded_rts),
+ accum_cck->unresponded_rts, delta_cck->unresponded_rts,
+ max_cck->unresponded_rts);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n",
+ "rxe_frame_lmt_ovrun:",
+ le32_to_cpu(cck->rxe_frame_limit_overrun),
+ accum_cck->rxe_frame_limit_overrun,
+ delta_cck->rxe_frame_limit_overrun,
+ max_cck->rxe_frame_limit_overrun);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sent_ack_cnt:",
+ le32_to_cpu(cck->sent_ack_cnt), accum_cck->sent_ack_cnt,
+ delta_cck->sent_ack_cnt, max_cck->sent_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sent_cts_cnt:",
+ le32_to_cpu(cck->sent_cts_cnt), accum_cck->sent_cts_cnt,
+ delta_cck->sent_cts_cnt, max_cck->sent_cts_cnt);
- pos += scnprintf(buf + pos, bufsz - pos, "%-32s current"
- "acumulative delta max\n",
- "Statistics_Rx - GENERAL:");
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "bogus_cts:",
- le32_to_cpu(general->bogus_cts),
- accum_general->bogus_cts,
- delta_general->bogus_cts, max_general->bogus_cts);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "bogus_ack:",
- le32_to_cpu(general->bogus_ack),
- accum_general->bogus_ack,
- delta_general->bogus_ack, max_general->bogus_ack);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "non_bssid_frames:",
- le32_to_cpu(general->non_bssid_frames),
- accum_general->non_bssid_frames,
- delta_general->non_bssid_frames,
- max_general->non_bssid_frames);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "filtered_frames:",
- le32_to_cpu(general->filtered_frames),
- accum_general->filtered_frames,
- delta_general->filtered_frames,
- max_general->filtered_frames);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "non_channel_beacons:",
- le32_to_cpu(general->non_channel_beacons),
- accum_general->non_channel_beacons,
- delta_general->non_channel_beacons,
- max_general->non_channel_beacons);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%-32s current"
+ "acumulative delta max\n",
+ "Statistics_Rx - GENERAL:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "bogus_cts:",
+ le32_to_cpu(general->bogus_cts), accum_general->bogus_cts,
+ delta_general->bogus_cts, max_general->bogus_cts);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "bogus_ack:",
+ le32_to_cpu(general->bogus_ack), accum_general->bogus_ack,
+ delta_general->bogus_ack, max_general->bogus_ack);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "non_bssid_frames:",
+ le32_to_cpu(general->non_bssid_frames),
+ accum_general->non_bssid_frames,
+ delta_general->non_bssid_frames,
+ max_general->non_bssid_frames);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "filtered_frames:",
+ le32_to_cpu(general->filtered_frames),
+ accum_general->filtered_frames,
+ delta_general->filtered_frames,
+ max_general->filtered_frames);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n",
+ "non_channel_beacons:",
+ le32_to_cpu(general->non_channel_beacons),
+ accum_general->non_channel_beacons,
+ delta_general->non_channel_beacons,
+ max_general->non_channel_beacons);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-ssize_t il3945_ucode_tx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+ssize_t
+il3945_ucode_tx_stats_read(struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -355,75 +343,69 @@ ssize_t il3945_ucode_tx_stats_read(struct file *file,
delta_tx = &il->_3945.delta_stats.tx;
max_tx = &il->_3945.max_delta.tx;
pos += il3945_stats_flag(il, buf, bufsz);
- pos += scnprintf(buf + pos, bufsz - pos, "%-32s current"
- "acumulative delta max\n",
- "Statistics_Tx:");
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "preamble:",
- le32_to_cpu(tx->preamble_cnt),
- accum_tx->preamble_cnt,
- delta_tx->preamble_cnt, max_tx->preamble_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "rx_detected_cnt:",
- le32_to_cpu(tx->rx_detected_cnt),
- accum_tx->rx_detected_cnt,
- delta_tx->rx_detected_cnt, max_tx->rx_detected_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "bt_prio_defer_cnt:",
- le32_to_cpu(tx->bt_prio_defer_cnt),
- accum_tx->bt_prio_defer_cnt,
- delta_tx->bt_prio_defer_cnt,
- max_tx->bt_prio_defer_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "bt_prio_kill_cnt:",
- le32_to_cpu(tx->bt_prio_kill_cnt),
- accum_tx->bt_prio_kill_cnt,
- delta_tx->bt_prio_kill_cnt,
- max_tx->bt_prio_kill_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "few_bytes_cnt:",
- le32_to_cpu(tx->few_bytes_cnt),
- accum_tx->few_bytes_cnt,
- delta_tx->few_bytes_cnt, max_tx->few_bytes_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "cts_timeout:",
- le32_to_cpu(tx->cts_timeout), accum_tx->cts_timeout,
- delta_tx->cts_timeout, max_tx->cts_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "ack_timeout:",
- le32_to_cpu(tx->ack_timeout),
- accum_tx->ack_timeout,
- delta_tx->ack_timeout, max_tx->ack_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "expected_ack_cnt:",
- le32_to_cpu(tx->expected_ack_cnt),
- accum_tx->expected_ack_cnt,
- delta_tx->expected_ack_cnt,
- max_tx->expected_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "actual_ack_cnt:",
- le32_to_cpu(tx->actual_ack_cnt),
- accum_tx->actual_ack_cnt,
- delta_tx->actual_ack_cnt,
- max_tx->actual_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%-32s current"
+ "acumulative delta max\n",
+ "Statistics_Tx:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "preamble:",
+ le32_to_cpu(tx->preamble_cnt), accum_tx->preamble_cnt,
+ delta_tx->preamble_cnt, max_tx->preamble_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "rx_detected_cnt:",
+ le32_to_cpu(tx->rx_detected_cnt),
+ accum_tx->rx_detected_cnt, delta_tx->rx_detected_cnt,
+ max_tx->rx_detected_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "bt_prio_defer_cnt:",
+ le32_to_cpu(tx->bt_prio_defer_cnt),
+ accum_tx->bt_prio_defer_cnt, delta_tx->bt_prio_defer_cnt,
+ max_tx->bt_prio_defer_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "bt_prio_kill_cnt:",
+ le32_to_cpu(tx->bt_prio_kill_cnt),
+ accum_tx->bt_prio_kill_cnt, delta_tx->bt_prio_kill_cnt,
+ max_tx->bt_prio_kill_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "few_bytes_cnt:",
+ le32_to_cpu(tx->few_bytes_cnt), accum_tx->few_bytes_cnt,
+ delta_tx->few_bytes_cnt, max_tx->few_bytes_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "cts_timeout:",
+ le32_to_cpu(tx->cts_timeout), accum_tx->cts_timeout,
+ delta_tx->cts_timeout, max_tx->cts_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "ack_timeout:",
+ le32_to_cpu(tx->ack_timeout), accum_tx->ack_timeout,
+ delta_tx->ack_timeout, max_tx->ack_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "expected_ack_cnt:",
+ le32_to_cpu(tx->expected_ack_cnt),
+ accum_tx->expected_ack_cnt, delta_tx->expected_ack_cnt,
+ max_tx->expected_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "actual_ack_cnt:",
+ le32_to_cpu(tx->actual_ack_cnt), accum_tx->actual_ack_cnt,
+ delta_tx->actual_ack_cnt, max_tx->actual_ack_cnt);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-ssize_t il3945_ucode_general_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+ssize_t
+il3945_ucode_general_stats_read(struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -462,61 +444,61 @@ ssize_t il3945_ucode_general_stats_read(struct file *file,
delta_div = &il->_3945.delta_stats.general.div;
max_div = &il->_3945.max_delta.general.div;
pos += il3945_stats_flag(il, buf, bufsz);
- pos += scnprintf(buf + pos, bufsz - pos, "%-32s current"
- "acumulative delta max\n",
- "Statistics_General:");
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "burst_check:",
- le32_to_cpu(dbg->burst_check),
- accum_dbg->burst_check,
- delta_dbg->burst_check, max_dbg->burst_check);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "burst_count:",
- le32_to_cpu(dbg->burst_count),
- accum_dbg->burst_count,
- delta_dbg->burst_count, max_dbg->burst_count);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "sleep_time:",
- le32_to_cpu(general->sleep_time),
- accum_general->sleep_time,
- delta_general->sleep_time, max_general->sleep_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "slots_out:",
- le32_to_cpu(general->slots_out),
- accum_general->slots_out,
- delta_general->slots_out, max_general->slots_out);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "slots_idle:",
- le32_to_cpu(general->slots_idle),
- accum_general->slots_idle,
- delta_general->slots_idle, max_general->slots_idle);
- pos += scnprintf(buf + pos, bufsz - pos, "ttl_timestamp:\t\t\t%u\n",
- le32_to_cpu(general->ttl_timestamp));
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "tx_on_a:",
- le32_to_cpu(div->tx_on_a), accum_div->tx_on_a,
- delta_div->tx_on_a, max_div->tx_on_a);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "tx_on_b:",
- le32_to_cpu(div->tx_on_b), accum_div->tx_on_b,
- delta_div->tx_on_b, max_div->tx_on_b);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "exec_time:",
- le32_to_cpu(div->exec_time), accum_div->exec_time,
- delta_div->exec_time, max_div->exec_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- " %-30s %10u %10u %10u %10u\n",
- "probe_time:",
- le32_to_cpu(div->probe_time), accum_div->probe_time,
- delta_div->probe_time, max_div->probe_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%-32s current"
+ "acumulative delta max\n",
+ "Statistics_General:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "burst_check:",
+ le32_to_cpu(dbg->burst_check), accum_dbg->burst_check,
+ delta_dbg->burst_check, max_dbg->burst_check);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "burst_count:",
+ le32_to_cpu(dbg->burst_count), accum_dbg->burst_count,
+ delta_dbg->burst_count, max_dbg->burst_count);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "sleep_time:",
+ le32_to_cpu(general->sleep_time),
+ accum_general->sleep_time, delta_general->sleep_time,
+ max_general->sleep_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "slots_out:",
+ le32_to_cpu(general->slots_out), accum_general->slots_out,
+ delta_general->slots_out, max_general->slots_out);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "slots_idle:",
+ le32_to_cpu(general->slots_idle),
+ accum_general->slots_idle, delta_general->slots_idle,
+ max_general->slots_idle);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "ttl_timestamp:\t\t\t%u\n",
+ le32_to_cpu(general->ttl_timestamp));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "tx_on_a:",
+ le32_to_cpu(div->tx_on_a), accum_div->tx_on_a,
+ delta_div->tx_on_a, max_div->tx_on_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "tx_on_b:",
+ le32_to_cpu(div->tx_on_b), accum_div->tx_on_b,
+ delta_div->tx_on_b, max_div->tx_on_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "exec_time:",
+ le32_to_cpu(div->exec_time), accum_div->exec_time,
+ delta_div->exec_time, max_div->exec_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " %-30s %10u %10u %10u %10u\n", "probe_time:",
+ le32_to_cpu(div->probe_time), accum_div->probe_time,
+ delta_div->probe_time, max_div->probe_time);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
diff --git a/drivers/net/wireless/iwlegacy/3945-mac.c b/drivers/net/wireless/iwlegacy/3945-mac.c
index ffd6ddf89ec..2249fe44e66 100644
--- a/drivers/net/wireless/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/iwlegacy/3945-mac.c
@@ -102,7 +102,8 @@ struct il_mod_params il3945_mod_params = {
* IL_ANTENNA_MAIN - Force MAIN antenna
* IL_ANTENNA_AUX - Force AUX antenna
*/
-__le32 il3945_get_antenna_flags(const struct il_priv *il)
+__le32
+il3945_get_antenna_flags(const struct il_priv *il)
{
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
@@ -123,14 +124,14 @@ __le32 il3945_get_antenna_flags(const struct il_priv *il)
/* bad antenna selector value */
IL_ERR("Bad antenna selector value (0x%x)\n",
- il3945_mod_params.antenna);
+ il3945_mod_params.antenna);
return 0; /* "diversity" is default if error */
}
-static int il3945_set_ccmp_dynamic_key_info(struct il_priv *il,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+static int
+il3945_set_ccmp_dynamic_key_info(struct il_priv *il,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
unsigned long flags;
__le16 key_flags = 0;
@@ -149,21 +150,19 @@ static int il3945_set_ccmp_dynamic_key_info(struct il_priv *il,
spin_lock_irqsave(&il->sta_lock, flags);
il->stations[sta_id].keyinfo.cipher = keyconf->cipher;
il->stations[sta_id].keyinfo.keylen = keyconf->keylen;
- memcpy(il->stations[sta_id].keyinfo.key, keyconf->key,
- keyconf->keylen);
+ memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, keyconf->keylen);
- memcpy(il->stations[sta_id].sta.key.key, keyconf->key,
- keyconf->keylen);
+ memcpy(il->stations[sta_id].sta.key.key, keyconf->key, keyconf->keylen);
- if ((il->stations[sta_id].sta.key.key_flags & STA_KEY_FLG_ENCRYPT_MSK)
- == STA_KEY_FLG_NO_ENC)
+ if ((il->stations[sta_id].sta.key.
+ key_flags & STA_KEY_FLG_ENCRYPT_MSK) == STA_KEY_FLG_NO_ENC)
il->stations[sta_id].sta.key.key_offset =
- il_get_free_ucode_key_idx(il);
+ il_get_free_ucode_key_idx(il);
/* else, we are overriding an existing key => no need to allocated room
- * in uCode. */
+ * in uCode. */
WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET,
- "no space for a new key");
+ "no space for a new key");
il->stations[sta_id].sta.key.key_flags = key_flags;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
@@ -171,49 +170,50 @@ static int il3945_set_ccmp_dynamic_key_info(struct il_priv *il,
D_INFO("hwcrypto: modify ucode station key info\n");
- ret = il_send_add_sta(il,
- &il->stations[sta_id].sta, CMD_ASYNC);
+ ret = il_send_add_sta(il, &il->stations[sta_id].sta, CMD_ASYNC);
spin_unlock_irqrestore(&il->sta_lock, flags);
return ret;
}
-static int il3945_set_tkip_dynamic_key_info(struct il_priv *il,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+static int
+il3945_set_tkip_dynamic_key_info(struct il_priv *il,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
return -EOPNOTSUPP;
}
-static int il3945_set_wep_dynamic_key_info(struct il_priv *il,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+static int
+il3945_set_wep_dynamic_key_info(struct il_priv *il,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
return -EOPNOTSUPP;
}
-static int il3945_clear_sta_key_info(struct il_priv *il, u8 sta_id)
+static int
+il3945_clear_sta_key_info(struct il_priv *il, u8 sta_id)
{
unsigned long flags;
struct il_addsta_cmd sta_cmd;
spin_lock_irqsave(&il->sta_lock, flags);
memset(&il->stations[sta_id].keyinfo, 0, sizeof(struct il_hw_key));
- memset(&il->stations[sta_id].sta.key, 0,
- sizeof(struct il4965_keyinfo));
+ memset(&il->stations[sta_id].sta.key, 0, sizeof(struct il4965_keyinfo));
il->stations[sta_id].sta.key.key_flags = STA_KEY_FLG_NO_ENC;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
- memcpy(&sta_cmd, &il->stations[sta_id].sta, sizeof(struct il_addsta_cmd));
+ memcpy(&sta_cmd, &il->stations[sta_id].sta,
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
D_INFO("hwcrypto: clear ucode station key info\n");
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
}
-static int il3945_set_dynamic_key(struct il_priv *il,
- struct ieee80211_key_conf *keyconf, u8 sta_id)
+static int
+il3945_set_dynamic_key(struct il_priv *il, struct ieee80211_key_conf *keyconf,
+ u8 sta_id)
{
int ret = 0;
@@ -231,27 +231,26 @@ static int il3945_set_dynamic_key(struct il_priv *il,
ret = il3945_set_wep_dynamic_key_info(il, keyconf, sta_id);
break;
default:
- IL_ERR("Unknown alg: %s alg=%x\n", __func__,
- keyconf->cipher);
+ IL_ERR("Unknown alg: %s alg=%x\n", __func__, keyconf->cipher);
ret = -EINVAL;
}
D_WEP("Set dynamic key: alg=%x len=%d idx=%d sta=%d ret=%d\n",
- keyconf->cipher, keyconf->keylen, keyconf->keyidx,
- sta_id, ret);
+ keyconf->cipher, keyconf->keylen, keyconf->keyidx, sta_id, ret);
return ret;
}
-static int il3945_remove_static_key(struct il_priv *il)
+static int
+il3945_remove_static_key(struct il_priv *il)
{
int ret = -EOPNOTSUPP;
return ret;
}
-static int il3945_set_static_key(struct il_priv *il,
- struct ieee80211_key_conf *key)
+static int
+il3945_set_static_key(struct il_priv *il, struct ieee80211_key_conf *key)
{
if (key->cipher == WLAN_CIPHER_SUITE_WEP40 ||
key->cipher == WLAN_CIPHER_SUITE_WEP104)
@@ -261,12 +260,12 @@ static int il3945_set_static_key(struct il_priv *il,
return -EINVAL;
}
-static void il3945_clear_free_frames(struct il_priv *il)
+static void
+il3945_clear_free_frames(struct il_priv *il)
{
struct list_head *element;
- D_INFO("%d frames on pre-allocated heap on clear.\n",
- il->frames_count);
+ D_INFO("%d frames on pre-allocated heap on clear.\n", il->frames_count);
while (!list_empty(&il->free_frames)) {
element = il->free_frames.next;
@@ -277,12 +276,13 @@ static void il3945_clear_free_frames(struct il_priv *il)
if (il->frames_count) {
IL_WARN("%d frames still in use. Did we lose one?\n",
- il->frames_count);
+ il->frames_count);
il->frames_count = 0;
}
}
-static struct il3945_frame *il3945_get_free_frame(struct il_priv *il)
+static struct il3945_frame *
+il3945_get_free_frame(struct il_priv *il)
{
struct il3945_frame *frame;
struct list_head *element;
@@ -302,15 +302,16 @@ static struct il3945_frame *il3945_get_free_frame(struct il_priv *il)
return list_entry(element, struct il3945_frame, list);
}
-static void il3945_free_frame(struct il_priv *il, struct il3945_frame *frame)
+static void
+il3945_free_frame(struct il_priv *il, struct il3945_frame *frame)
{
memset(frame, 0, sizeof(*frame));
list_add(&frame->list, &il->free_frames);
}
-unsigned int il3945_fill_beacon_frame(struct il_priv *il,
- struct ieee80211_hdr *hdr,
- int left)
+unsigned int
+il3945_fill_beacon_frame(struct il_priv *il, struct ieee80211_hdr *hdr,
+ int left)
{
if (!il_is_associated(il) || !il->beacon_skb)
@@ -324,7 +325,8 @@ unsigned int il3945_fill_beacon_frame(struct il_priv *il,
return il->beacon_skb->len;
}
-static int il3945_send_beacon_cmd(struct il_priv *il)
+static int
+il3945_send_beacon_cmd(struct il_priv *il)
{
struct il3945_frame *frame;
unsigned int frame_size;
@@ -335,37 +337,34 @@ static int il3945_send_beacon_cmd(struct il_priv *il)
if (!frame) {
IL_ERR("Could not obtain free frame buffer for beacon "
- "command.\n");
+ "command.\n");
return -ENOMEM;
}
- rate = il_get_lowest_plcp(il,
- &il->ctx);
+ rate = il_get_lowest_plcp(il, &il->ctx);
frame_size = il3945_hw_get_beacon_cmd(il, frame, rate);
- rc = il_send_cmd_pdu(il, C_TX_BEACON, frame_size,
- &frame->u.cmd[0]);
+ rc = il_send_cmd_pdu(il, C_TX_BEACON, frame_size, &frame->u.cmd[0]);
il3945_free_frame(il, frame);
return rc;
}
-static void il3945_unset_hw_params(struct il_priv *il)
+static void
+il3945_unset_hw_params(struct il_priv *il)
{
if (il->_3945.shared_virt)
dma_free_coherent(&il->pci_dev->dev,
sizeof(struct il3945_shared),
- il->_3945.shared_virt,
- il->_3945.shared_phys);
+ il->_3945.shared_virt, il->_3945.shared_phys);
}
-static void il3945_build_tx_cmd_hwcrypto(struct il_priv *il,
- struct ieee80211_tx_info *info,
- struct il_device_cmd *cmd,
- struct sk_buff *skb_frag,
- int sta_id)
+static void
+il3945_build_tx_cmd_hwcrypto(struct il_priv *il, struct ieee80211_tx_info *info,
+ struct il_device_cmd *cmd,
+ struct sk_buff *skb_frag, int sta_id)
{
struct il3945_tx_cmd *tx_cmd = (struct il3945_tx_cmd *)cmd->cmd.payload;
struct il_hw_key *keyinfo = &il->stations[sta_id].keyinfo;
@@ -386,13 +385,15 @@ static void il3945_build_tx_cmd_hwcrypto(struct il_priv *il,
tx_cmd->sec_ctl |= TX_CMD_SEC_KEY128;
/* fall through */
case WLAN_CIPHER_SUITE_WEP40:
- tx_cmd->sec_ctl |= TX_CMD_SEC_WEP |
- (info->control.hw_key->hw_key_idx & TX_CMD_SEC_MSK) << TX_CMD_SEC_SHIFT;
+ tx_cmd->sec_ctl |=
+ TX_CMD_SEC_WEP | (info->control.hw_key->
+ hw_key_idx & TX_CMD_SEC_MSK) <<
+ TX_CMD_SEC_SHIFT;
memcpy(&tx_cmd->key[3], keyinfo->key, keyinfo->keylen);
- D_TX("Configuring packet for WEP encryption "
- "with key %d\n", info->control.hw_key->hw_key_idx);
+ D_TX("Configuring packet for WEP encryption " "with key %d\n",
+ info->control.hw_key->hw_key_idx);
break;
default:
@@ -404,10 +405,10 @@ static void il3945_build_tx_cmd_hwcrypto(struct il_priv *il,
/*
* handle build C_TX command notification.
*/
-static void il3945_build_tx_cmd_basic(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct ieee80211_tx_info *info,
- struct ieee80211_hdr *hdr, u8 std_id)
+static void
+il3945_build_tx_cmd_basic(struct il_priv *il, struct il_device_cmd *cmd,
+ struct ieee80211_tx_info *info,
+ struct ieee80211_hdr *hdr, u8 std_id)
{
struct il3945_tx_cmd *tx_cmd = (struct il3945_tx_cmd *)cmd->cmd.payload;
__le32 tx_flags = tx_cmd->tx_flags;
@@ -458,7 +459,8 @@ static void il3945_build_tx_cmd_basic(struct il_priv *il,
/*
* start C_TX command process
*/
-static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
+static int
+il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
{
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
@@ -485,7 +487,8 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
goto drop_unlock;
}
- if ((ieee80211_get_tx_rate(il->hw, info)->hw_value & 0xFF) == IL_INVALID_RATE) {
+ if ((ieee80211_get_tx_rate(il->hw, info)->hw_value & 0xFF) ==
+ IL_INVALID_RATE) {
IL_ERR("ERROR: No TX rate available.\n");
goto drop_unlock;
}
@@ -509,12 +512,9 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
hdr_len = ieee80211_hdrlen(fc);
/* Find idx into station table for destination station */
- sta_id = il_sta_id_or_broadcast(
- il, &il->ctx,
- info->control.sta);
+ sta_id = il_sta_id_or_broadcast(il, &il->ctx, info->control.sta);
if (sta_id == IL_INVALID_STATION) {
- D_DROP("Dropping - INVALID STATION: %pM\n",
- hdr->addr1);
+ D_DROP("Dropping - INVALID STATION: %pM\n", hdr->addr1);
goto drop;
}
@@ -557,13 +557,13 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
* locate the frame within the tx queue and do post-tx processing.
*/
out_cmd->hdr.cmd = C_TX;
- out_cmd->hdr.sequence = cpu_to_le16((u16)(QUEUE_TO_SEQ(txq_id) |
- IDX_TO_SEQ(q->write_ptr)));
+ out_cmd->hdr.sequence =
+ cpu_to_le16((u16)
+ (QUEUE_TO_SEQ(txq_id) | IDX_TO_SEQ(q->write_ptr)));
/* Copy MAC header from skb into command buffer */
memcpy(tx_cmd->hdr, hdr, hdr_len);
-
if (info->control.hw_key)
il3945_build_tx_cmd_hwcrypto(il, info, out_cmd, skb, sta_id);
@@ -574,7 +574,7 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
il3945_hw_build_tx_cmd_rate(il, out_cmd, info, hdr, sta_id, 0);
/* Total # bytes to be transmitted */
- len = (u16)skb->len;
+ len = (u16) skb->len;
tx_cmd->len = cpu_to_le16(len);
il_dbg_log_tx_data_frame(il, len, hdr);
@@ -589,12 +589,11 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
txq->need_update = 0;
}
- D_TX("sequence nr = 0X%x\n",
- le16_to_cpu(out_cmd->hdr.sequence));
+ D_TX("sequence nr = 0X%x\n", le16_to_cpu(out_cmd->hdr.sequence));
D_TX("tx_flags = 0X%x\n", le32_to_cpu(tx_cmd->tx_flags));
il_print_hex_dump(il, IL_DL_TX, tx_cmd, sizeof(*tx_cmd));
- il_print_hex_dump(il, IL_DL_TX, (u8 *)tx_cmd->hdr,
- ieee80211_hdrlen(fc));
+ il_print_hex_dump(il, IL_DL_TX, (u8 *) tx_cmd->hdr,
+ ieee80211_hdrlen(fc));
/*
* Use the first empty entry in this queue's command buffer array
@@ -605,14 +604,15 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
* of the MAC header (device reads on dword boundaries).
* We'll tell device about this padding later.
*/
- len = sizeof(struct il3945_tx_cmd) +
- sizeof(struct il_cmd_header) + hdr_len;
+ len =
+ sizeof(struct il3945_tx_cmd) + sizeof(struct il_cmd_header) +
+ hdr_len;
len = (len + 3) & ~3;
/* Physical address of this Tx command's header (not MAC header!),
* within command buffer array. */
- txcmd_phys = pci_map_single(il->pci_dev, &out_cmd->hdr,
- len, PCI_DMA_TODEVICE);
+ txcmd_phys =
+ pci_map_single(il->pci_dev, &out_cmd->hdr, len, PCI_DMA_TODEVICE);
/* we do not map meta data ... so we can safely access address to
* provide to unmap command*/
dma_unmap_addr_set(out_meta, mapping, txcmd_phys);
@@ -620,29 +620,26 @@ static int il3945_tx_skb(struct il_priv *il, struct sk_buff *skb)
/* Add buffer containing Tx command and MAC(!) header to TFD's
* first entry */
- il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq,
- txcmd_phys, len, 1, 0);
-
+ il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq, txcmd_phys, len, 1,
+ 0);
/* Set up TFD's 2nd entry to point directly to remainder of skb,
* if any (802.11 null frames have no payload). */
len = skb->len - hdr_len;
if (len) {
- phys_addr = pci_map_single(il->pci_dev, skb->data + hdr_len,
- len, PCI_DMA_TODEVICE);
- il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq,
- phys_addr, len,
- 0, U32_PAD(len));
+ phys_addr =
+ pci_map_single(il->pci_dev, skb->data + hdr_len, len,
+ PCI_DMA_TODEVICE);
+ il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq, phys_addr,
+ len, 0, U32_PAD(len));
}
-
/* Tell device the write idx *just past* this latest filled TFD */
q->write_ptr = il_queue_inc_wrap(q->write_ptr, q->n_bd);
il_txq_update_write_ptr(il, txq);
spin_unlock_irqrestore(&il->lock, flags);
- if (il_queue_space(q) < q->high_mark
- && il->mac80211_registered) {
+ if (il_queue_space(q) < q->high_mark && il->mac80211_registered) {
if (wait_write_ptr) {
spin_lock_irqsave(&il->lock, flags);
txq->need_update = 1;
@@ -661,9 +658,9 @@ drop:
return -1;
}
-static int il3945_get_measurement(struct il_priv *il,
- struct ieee80211_measurement_params *params,
- u8 type)
+static int
+il3945_get_measurement(struct il_priv *il,
+ struct ieee80211_measurement_params *params, u8 type)
{
struct il_spectrum_cmd spectrum;
struct il_rx_pkt *pkt;
@@ -679,9 +676,12 @@ static int il3945_get_measurement(struct il_priv *il,
struct il_rxon_context *ctx = &il->ctx;
if (il_is_associated(il))
- add_time = il_usecs_to_beacons(il,
- le64_to_cpu(params->start_time) - il->_3945.last_tsf,
- le16_to_cpu(ctx->timing.beacon_interval));
+ add_time =
+ il_usecs_to_beacons(il,
+ le64_to_cpu(params->start_time) -
+ il->_3945.last_tsf,
+ le16_to_cpu(ctx->timing.
+ beacon_interval));
memset(&spectrum, 0, sizeof(spectrum));
@@ -694,9 +694,9 @@ static int il3945_get_measurement(struct il_priv *il,
if (il_is_associated(il))
spectrum.start_time =
- il_add_beacon_time(il,
- il->_3945.last_beacon_time, add_time,
- le16_to_cpu(ctx->timing.beacon_interval));
+ il_add_beacon_time(il, il->_3945.last_beacon_time, add_time,
+ le16_to_cpu(ctx->timing.
+ beacon_interval));
else
spectrum.start_time = 0;
@@ -704,8 +704,9 @@ static int il3945_get_measurement(struct il_priv *il,
spectrum.channels[0].channel = params->channel;
spectrum.channels[0].type = type;
if (ctx->active.flags & RXON_FLG_BAND_24G_MSK)
- spectrum.flags |= RXON_FLG_BAND_24G_MSK |
- RXON_FLG_AUTO_DETECT_MSK | RXON_FLG_TGG_PROTECT_MSK;
+ spectrum.flags |=
+ RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK |
+ RXON_FLG_TGG_PROTECT_MSK;
rc = il_send_cmd_sync(il, &cmd);
if (rc)
@@ -722,7 +723,7 @@ static int il3945_get_measurement(struct il_priv *il,
case 0: /* Command will be handled */
if (pkt->u.spectrum.id != 0xff) {
D_INFO("Replaced existing measurement: %d\n",
- pkt->u.spectrum.id);
+ pkt->u.spectrum.id);
il->measurement_status &= ~MEASUREMENT_READY;
}
il->measurement_status |= MEASUREMENT_ACTIVE;
@@ -739,8 +740,8 @@ static int il3945_get_measurement(struct il_priv *il,
return rc;
}
-static void il3945_hdl_alive(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il3945_hdl_alive(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_alive_resp *palive;
@@ -748,10 +749,8 @@ static void il3945_hdl_alive(struct il_priv *il,
palive = &pkt->u.alive_frame;
- D_INFO("Alive ucode status 0x%08X revision "
- "0x%01X 0x%01X\n",
- palive->is_valid, palive->ver_type,
- palive->ver_subtype);
+ D_INFO("Alive ucode status 0x%08X revision " "0x%01X 0x%01X\n",
+ palive->is_valid, palive->ver_type, palive->ver_subtype);
if (palive->ver_subtype == INITIALIZE_SUBTYPE) {
D_INFO("Initialization Alive received.\n");
@@ -769,14 +768,13 @@ static void il3945_hdl_alive(struct il_priv *il,
/* We delay the ALIVE response by 5ms to
* give the HW RF Kill time to activate... */
if (palive->is_valid == UCODE_VALID_OK)
- queue_delayed_work(il->workqueue, pwork,
- msecs_to_jiffies(5));
+ queue_delayed_work(il->workqueue, pwork, msecs_to_jiffies(5));
else
IL_WARN("uCode did not respond OK.\n");
}
-static void il3945_hdl_add_sta(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il3945_hdl_add_sta(struct il_priv *il, struct il_rx_buf *rxb)
{
#ifdef CONFIG_IWLEGACY_DEBUG
struct il_rx_pkt *pkt = rxb_addr(rxb);
@@ -785,21 +783,19 @@ static void il3945_hdl_add_sta(struct il_priv *il,
D_RX("Received C_ADD_STA: 0x%02X\n", pkt->u.status);
}
-static void il3945_hdl_beacon(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il3945_hdl_beacon(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il3945_beacon_notif *beacon = &(pkt->u.beacon_status);
#ifdef CONFIG_IWLEGACY_DEBUG
u8 rate = beacon->beacon_notify_hdr.rate;
- D_RX("beacon status %x retries %d iss %d "
- "tsf %d %d rate %d\n",
- le32_to_cpu(beacon->beacon_notify_hdr.status) & TX_STATUS_MSK,
- beacon->beacon_notify_hdr.failure_frame,
- le32_to_cpu(beacon->ibss_mgr_status),
- le32_to_cpu(beacon->high_tsf),
- le32_to_cpu(beacon->low_tsf), rate);
+ D_RX("beacon status %x retries %d iss %d " "tsf %d %d rate %d\n",
+ le32_to_cpu(beacon->beacon_notify_hdr.status) & TX_STATUS_MSK,
+ beacon->beacon_notify_hdr.failure_frame,
+ le32_to_cpu(beacon->ibss_mgr_status),
+ le32_to_cpu(beacon->high_tsf), le32_to_cpu(beacon->low_tsf), rate);
#endif
il->ibss_manager = le32_to_cpu(beacon->ibss_mgr_status);
@@ -808,32 +804,30 @@ static void il3945_hdl_beacon(struct il_priv *il,
/* Handle notification from uCode that card's power state is changing
* due to software, hardware, or critical temperature RFKILL */
-static void il3945_hdl_card_state(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il3945_hdl_card_state(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
u32 flags = le32_to_cpu(pkt->u.card_state_notif.flags);
unsigned long status = il->status;
IL_WARN("Card state received: HW:%s SW:%s\n",
- (flags & HW_CARD_DISABLED) ? "Kill" : "On",
- (flags & SW_CARD_DISABLED) ? "Kill" : "On");
+ (flags & HW_CARD_DISABLED) ? "Kill" : "On",
+ (flags & SW_CARD_DISABLED) ? "Kill" : "On");
- _il_wr(il, CSR_UCODE_DRV_GP1_SET,
- CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
+ _il_wr(il, CSR_UCODE_DRV_GP1_SET, CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
if (flags & HW_CARD_DISABLED)
set_bit(S_RF_KILL_HW, &il->status);
else
clear_bit(S_RF_KILL_HW, &il->status);
-
il_scan_cancel(il);
if ((test_bit(S_RF_KILL_HW, &status) !=
test_bit(S_RF_KILL_HW, &il->status)))
wiphy_rfkill_set_hw_state(il->hw->wiphy,
- test_bit(S_RF_KILL_HW, &il->status));
+ test_bit(S_RF_KILL_HW, &il->status));
else
wake_up(&il->wait_command_queue);
}
@@ -847,17 +841,16 @@ static void il3945_hdl_card_state(struct il_priv *il,
* This function chains into the hardware specific files for them to setup
* any hardware specific handlers as well.
*/
-static void il3945_setup_handlers(struct il_priv *il)
+static void
+il3945_setup_handlers(struct il_priv *il)
{
il->handlers[N_ALIVE] = il3945_hdl_alive;
il->handlers[C_ADD_STA] = il3945_hdl_add_sta;
il->handlers[N_ERROR] = il_hdl_error;
il->handlers[N_CHANNEL_SWITCH] = il_hdl_csa;
- il->handlers[N_SPECTRUM_MEASUREMENT] =
- il_hdl_spectrum_measurement;
+ il->handlers[N_SPECTRUM_MEASUREMENT] = il_hdl_spectrum_measurement;
il->handlers[N_PM_SLEEP] = il_hdl_pm_sleep;
- il->handlers[N_PM_DEBUG_STATS] =
- il_hdl_pm_debug_stats;
+ il->handlers[N_PM_DEBUG_STATS] = il_hdl_pm_debug_stats;
il->handlers[N_BEACON] = il3945_hdl_beacon;
/*
@@ -942,10 +935,10 @@ static void il3945_setup_handlers(struct il_priv *il)
/**
* il3945_dma_addr2rbd_ptr - convert a DMA address to a uCode read buffer ptr
*/
-static inline __le32 il3945_dma_addr2rbd_ptr(struct il_priv *il,
- dma_addr_t dma_addr)
+static inline __le32
+il3945_dma_addr2rbd_ptr(struct il_priv *il, dma_addr_t dma_addr)
{
- return cpu_to_le32((u32)dma_addr);
+ return cpu_to_le32((u32) dma_addr);
}
/**
@@ -959,7 +952,8 @@ static inline __le32 il3945_dma_addr2rbd_ptr(struct il_priv *il,
* also updates the memory address in the firmware to reference the new
* target buffer.
*/
-static void il3945_rx_queue_restock(struct il_priv *il)
+static void
+il3945_rx_queue_restock(struct il_priv *il)
{
struct il_rx_queue *rxq = &il->rxq;
struct list_head *element;
@@ -976,7 +970,8 @@ static void il3945_rx_queue_restock(struct il_priv *il)
list_del(element);
/* Point to Rx buffer via next RBD in circular buffer */
- rxq->bd[rxq->write] = il3945_dma_addr2rbd_ptr(il, rxb->page_dma);
+ rxq->bd[rxq->write] =
+ il3945_dma_addr2rbd_ptr(il, rxb->page_dma);
rxq->queue[rxq->write] = rxb;
rxq->write = (rxq->write + 1) & RX_QUEUE_MASK;
rxq->free_count--;
@@ -987,7 +982,6 @@ static void il3945_rx_queue_restock(struct il_priv *il)
if (rxq->free_count <= RX_LOW_WATERMARK)
queue_work(il->workqueue, &il->rx_replenish);
-
/* If we've added more space for the firmware to place data, tell it.
* Increment device's write pointer in multiples of 8. */
if (rxq->write_actual != (rxq->write & ~0x7) ||
@@ -1007,7 +1001,8 @@ static void il3945_rx_queue_restock(struct il_priv *il)
* Also restock the Rx queue via il3945_rx_queue_restock.
* This is called as a scheduled work item (except for during initialization)
*/
-static void il3945_rx_allocate(struct il_priv *il, gfp_t priority)
+static void
+il3945_rx_allocate(struct il_priv *il, gfp_t priority)
{
struct il_rx_queue *rxq = &il->rxq;
struct list_head *element;
@@ -1038,9 +1033,11 @@ static void il3945_rx_allocate(struct il_priv *il, gfp_t priority)
D_INFO("Failed to allocate SKB buffer.\n");
if (rxq->free_count <= RX_LOW_WATERMARK &&
net_ratelimit())
- IL_ERR("Failed to allocate SKB buffer with %s. Only %u free buffers remaining.\n",
- priority == GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL",
- rxq->free_count);
+ IL_ERR
+ ("Failed to allocate SKB buffer with %s. Only %u free buffers remaining.\n",
+ priority ==
+ GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL",
+ rxq->free_count);
/* We don't reschedule replenish work here -- we will
* call the restock method and if it still needs
* more buffers it will schedule replenish */
@@ -1060,9 +1057,10 @@ static void il3945_rx_allocate(struct il_priv *il, gfp_t priority)
rxb->page = page;
/* Get physical address of RB/SKB */
- rxb->page_dma = pci_map_page(il->pci_dev, page, 0,
- PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ rxb->page_dma =
+ pci_map_page(il->pci_dev, page, 0,
+ PAGE_SIZE << il->hw_params.rx_page_order,
+ PCI_DMA_FROMDEVICE);
spin_lock_irqsave(&rxq->lock, flags);
@@ -1074,7 +1072,8 @@ static void il3945_rx_allocate(struct il_priv *il, gfp_t priority)
}
}
-void il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
+void
+il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
{
unsigned long flags;
int i;
@@ -1087,8 +1086,8 @@ void il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
* to an SKB, so we need to unmap and free potential storage */
if (rxq->pool[i].page != NULL) {
pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma,
- PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ PAGE_SIZE << il->hw_params.rx_page_order,
+ PCI_DMA_FROMDEVICE);
__il_free_pages(il, rxq->pool[i].page);
rxq->pool[i].page = NULL;
}
@@ -1103,7 +1102,8 @@ void il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
spin_unlock_irqrestore(&rxq->lock, flags);
}
-void il3945_rx_replenish(void *data)
+void
+il3945_rx_replenish(void *data)
{
struct il_priv *il = data;
unsigned long flags;
@@ -1115,27 +1115,28 @@ void il3945_rx_replenish(void *data)
spin_unlock_irqrestore(&il->lock, flags);
}
-static void il3945_rx_replenish_now(struct il_priv *il)
+static void
+il3945_rx_replenish_now(struct il_priv *il)
{
il3945_rx_allocate(il, GFP_ATOMIC);
il3945_rx_queue_restock(il);
}
-
/* Assumes that the skb field of the buffers in 'pool' is kept accurate.
* If an SKB has been detached, the POOL needs to have its SKB set to NULL
* This free routine walks the list of POOL entries and if SKB is set to
* non NULL it is unmapped and freed
*/
-static void il3945_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq)
+static void
+il3945_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq)
{
int i;
for (i = 0; i < RX_QUEUE_SIZE + RX_FREE_BUFFERS; i++) {
if (rxq->pool[i].page != NULL) {
pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma,
- PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ PAGE_SIZE << il->hw_params.rx_page_order,
+ PCI_DMA_FROMDEVICE);
__il_free_pages(il, rxq->pool[i].page);
rxq->pool[i].page = NULL;
}
@@ -1146,29 +1147,29 @@ static void il3945_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq)
dma_free_coherent(&il->pci_dev->dev, sizeof(struct il_rb_status),
rxq->rb_stts, rxq->rb_stts_dma);
rxq->bd = NULL;
- rxq->rb_stts = NULL;
+ rxq->rb_stts = NULL;
}
-
/* Convert linear signal-to-noise ratio into dB */
static u8 ratio2dB[100] = {
/* 0 1 2 3 4 5 6 7 8 9 */
- 0, 0, 6, 10, 12, 14, 16, 17, 18, 19, /* 00 - 09 */
- 20, 21, 22, 22, 23, 23, 24, 25, 26, 26, /* 10 - 19 */
- 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, /* 20 - 29 */
- 29, 30, 30, 30, 31, 31, 31, 31, 32, 32, /* 30 - 39 */
- 32, 32, 32, 33, 33, 33, 33, 33, 34, 34, /* 40 - 49 */
- 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, /* 50 - 59 */
- 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, /* 60 - 69 */
- 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, /* 70 - 79 */
- 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, /* 80 - 89 */
- 39, 39, 39, 39, 39, 40, 40, 40, 40, 40 /* 90 - 99 */
+ 0, 0, 6, 10, 12, 14, 16, 17, 18, 19, /* 00 - 09 */
+ 20, 21, 22, 22, 23, 23, 24, 25, 26, 26, /* 10 - 19 */
+ 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, /* 20 - 29 */
+ 29, 30, 30, 30, 31, 31, 31, 31, 32, 32, /* 30 - 39 */
+ 32, 32, 32, 33, 33, 33, 33, 33, 34, 34, /* 40 - 49 */
+ 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, /* 50 - 59 */
+ 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, /* 60 - 69 */
+ 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, /* 70 - 79 */
+ 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, /* 80 - 89 */
+ 39, 39, 39, 39, 39, 40, 40, 40, 40, 40 /* 90 - 99 */
};
/* Calculates a relative dB value from a ratio of linear
* (i.e. not dB) signal levels.
* Conversion assumes that levels are voltages (20*log), not powers (10*log). */
-int il3945_calc_db_from_ratio(int sig_ratio)
+int
+il3945_calc_db_from_ratio(int sig_ratio)
{
/* 1000:1 or higher just report as 60 dB */
if (sig_ratio >= 1000)
@@ -1177,7 +1178,7 @@ int il3945_calc_db_from_ratio(int sig_ratio)
/* 100:1 or higher, divide by 10 and use table,
* add 20 dB to make up for divide by 10 */
if (sig_ratio >= 100)
- return 20 + (int)ratio2dB[sig_ratio/10];
+ return 20 + (int)ratio2dB[sig_ratio / 10];
/* We shouldn't see this */
if (sig_ratio < 1)
@@ -1194,7 +1195,8 @@ int il3945_calc_db_from_ratio(int sig_ratio)
* the appropriate handlers, including command responses,
* frame-received notifications, and other notifications.
*/
-static void il3945_rx_handle(struct il_priv *il)
+static void
+il3945_rx_handle(struct il_priv *il)
{
struct il_rx_buf *rxb;
struct il_rx_pkt *pkt;
@@ -1208,7 +1210,7 @@ static void il3945_rx_handle(struct il_priv *il)
/* uCode's read idx (stored in shared DRAM) indicates the last Rx
* buffer that the driver may process (last buffer filled by ucode). */
- r = le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF;
+ r = le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF;
i = rxq->read;
/* calculate total frames need to be restock after handling RX */
@@ -1240,7 +1242,7 @@ static void il3945_rx_handle(struct il_priv *il)
pkt = rxb_addr(rxb);
len = le32_to_cpu(pkt->len_n_flags) & IL_RX_FRAME_SIZE_MSK;
- len += sizeof(u32); /* account for status word */
+ len += sizeof(u32); /* account for status word */
/* Reclaim a command buffer only if this packet is a response
* to a (driver-originated) command.
@@ -1249,23 +1251,20 @@ static void il3945_rx_handle(struct il_priv *il)
* Ucode should set SEQ_RX_FRAME bit if ucode-originated,
* but apparently a few don't get set; catch them here. */
reclaim = !(pkt->hdr.sequence & SEQ_RX_FRAME) &&
- pkt->hdr.cmd != N_STATS &&
- pkt->hdr.cmd != C_TX;
+ pkt->hdr.cmd != N_STATS && pkt->hdr.cmd != C_TX;
/* Based on type of command response or notification,
* handle those that need handling via function in
* handlers table. See il3945_setup_handlers() */
if (il->handlers[pkt->hdr.cmd]) {
D_RX("r = %d, i = %d, %s, 0x%02x\n", r, i,
- il_get_cmd_string(pkt->hdr.cmd), pkt->hdr.cmd);
+ il_get_cmd_string(pkt->hdr.cmd), pkt->hdr.cmd);
il->isr_stats.handlers[pkt->hdr.cmd]++;
il->handlers[pkt->hdr.cmd] (il, rxb);
} else {
/* No handling needed */
- D_RX(
- "r %d i %d No handler needed for %s, 0x%02x\n",
- r, i, il_get_cmd_string(pkt->hdr.cmd),
- pkt->hdr.cmd);
+ D_RX("r %d i %d No handler needed for %s, 0x%02x\n", r,
+ i, il_get_cmd_string(pkt->hdr.cmd), pkt->hdr.cmd);
}
/*
@@ -1290,9 +1289,10 @@ static void il3945_rx_handle(struct il_priv *il)
* rx_free list for reuse later. */
spin_lock_irqsave(&rxq->lock, flags);
if (rxb->page != NULL) {
- rxb->page_dma = pci_map_page(il->pci_dev, rxb->page,
- 0, PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ rxb->page_dma =
+ pci_map_page(il->pci_dev, rxb->page, 0,
+ PAGE_SIZE << il->hw_params.
+ rx_page_order, PCI_DMA_FROMDEVICE);
list_add_tail(&rxb->list, &rxq->rx_free);
rxq->free_count++;
} else
@@ -1322,14 +1322,16 @@ static void il3945_rx_handle(struct il_priv *il)
}
/* call this function to flush any scheduled tasklet */
-static inline void il3945_synchronize_irq(struct il_priv *il)
+static inline void
+il3945_synchronize_irq(struct il_priv *il)
{
- /* wait to make sure we flush pending tasklet*/
+ /* wait to make sure we flush pending tasklet */
synchronize_irq(il->pci_dev->irq);
tasklet_kill(&il->irq_tasklet);
}
-static const char *il3945_desc_lookup(int i)
+static const char *
+il3945_desc_lookup(int i)
{
switch (i) {
case 1:
@@ -1352,7 +1354,8 @@ static const char *il3945_desc_lookup(int i)
#define ERROR_START_OFFSET (1 * sizeof(u32))
#define ERROR_ELEM_SIZE (7 * sizeof(u32))
-void il3945_dump_nic_error_log(struct il_priv *il)
+void
+il3945_dump_nic_error_log(struct il_priv *il)
{
u32 i;
u32 desc, time, count, base, data1;
@@ -1365,42 +1368,34 @@ void il3945_dump_nic_error_log(struct il_priv *il)
return;
}
-
count = il_read_targ_mem(il, base);
if (ERROR_START_OFFSET <= count * ERROR_ELEM_SIZE) {
IL_ERR("Start IWL Error Log Dump:\n");
- IL_ERR("Status: 0x%08lX, count: %d\n",
- il->status, count);
+ IL_ERR("Status: 0x%08lX, count: %d\n", il->status, count);
}
IL_ERR("Desc Time asrtPC blink2 "
- "ilink1 nmiPC Line\n");
+ "ilink1 nmiPC Line\n");
for (i = ERROR_START_OFFSET;
i < (count * ERROR_ELEM_SIZE) + ERROR_START_OFFSET;
i += ERROR_ELEM_SIZE) {
desc = il_read_targ_mem(il, base + i);
- time =
- il_read_targ_mem(il, base + i + 1 * sizeof(u32));
- blink1 =
- il_read_targ_mem(il, base + i + 2 * sizeof(u32));
- blink2 =
- il_read_targ_mem(il, base + i + 3 * sizeof(u32));
- ilink1 =
- il_read_targ_mem(il, base + i + 4 * sizeof(u32));
- ilink2 =
- il_read_targ_mem(il, base + i + 5 * sizeof(u32));
- data1 =
- il_read_targ_mem(il, base + i + 6 * sizeof(u32));
+ time = il_read_targ_mem(il, base + i + 1 * sizeof(u32));
+ blink1 = il_read_targ_mem(il, base + i + 2 * sizeof(u32));
+ blink2 = il_read_targ_mem(il, base + i + 3 * sizeof(u32));
+ ilink1 = il_read_targ_mem(il, base + i + 4 * sizeof(u32));
+ ilink2 = il_read_targ_mem(il, base + i + 5 * sizeof(u32));
+ data1 = il_read_targ_mem(il, base + i + 6 * sizeof(u32));
- IL_ERR(
- "%-13s (0x%X) %010u 0x%05X 0x%05X 0x%05X 0x%05X %u\n\n",
- il3945_desc_lookup(desc), desc, time, blink1, blink2,
- ilink1, ilink2, data1);
+ IL_ERR("%-13s (0x%X) %010u 0x%05X 0x%05X 0x%05X 0x%05X %u\n\n",
+ il3945_desc_lookup(desc), desc, time, blink1, blink2,
+ ilink1, ilink2, data1);
}
}
-static void il3945_irq_tasklet(struct il_priv *il)
+static void
+il3945_irq_tasklet(struct il_priv *il)
{
u32 inta, handled = 0;
u32 inta_fh;
@@ -1427,8 +1422,8 @@ static void il3945_irq_tasklet(struct il_priv *il)
if (il_get_debug_level(il) & IL_DL_ISR) {
/* just for debug */
inta_mask = _il_rd(il, CSR_INT_MASK);
- D_ISR("inta 0x%08x, enabled 0x%08x, fh 0x%08x\n",
- inta, inta_mask, inta_fh);
+ D_ISR("inta 0x%08x, enabled 0x%08x, fh 0x%08x\n", inta,
+ inta_mask, inta_fh);
}
#endif
@@ -1457,13 +1452,12 @@ static void il3945_irq_tasklet(struct il_priv *il)
return;
}
-
#ifdef CONFIG_IWLEGACY_DEBUG
if (il_get_debug_level(il) & (IL_DL_ISR)) {
/* NIC fires this, but we don't use it, redundant with WAKEUP */
if (inta & CSR_INT_BIT_SCD) {
D_ISR("Scheduler finished to transmit "
- "the frame/frames.\n");
+ "the frame/frames.\n");
il->isr_stats.sch++;
}
@@ -1479,8 +1473,8 @@ static void il3945_irq_tasklet(struct il_priv *il)
/* Error detected by uCode */
if (inta & CSR_INT_BIT_SW_ERR) {
- IL_ERR("Microcode SW error detected. "
- "Restarting 0x%X.\n", inta);
+ IL_ERR("Microcode SW error detected. " "Restarting 0x%X.\n",
+ inta);
il->isr_stats.sw++;
il_irq_handle_error(il);
handled |= CSR_INT_BIT_SW_ERR;
@@ -1515,8 +1509,7 @@ static void il3945_irq_tasklet(struct il_priv *il)
il->isr_stats.tx++;
_il_wr(il, CSR_FH_INT_STATUS, (1 << 6));
- il_wr(il, FH39_TCSR_CREDIT
- (FH39_SRVC_CHNL), 0x0);
+ il_wr(il, FH39_TCSR_CREDIT(FH39_SRVC_CHNL), 0x0);
handled |= CSR_INT_BIT_FH_TX;
}
@@ -1527,7 +1520,7 @@ static void il3945_irq_tasklet(struct il_priv *il)
if (inta & ~il->inta_mask) {
IL_WARN("Disabled INTA bits 0x%08x were pending\n",
- inta & ~il->inta_mask);
+ inta & ~il->inta_mask);
IL_WARN(" with inta_fh = 0x%08x\n", inta_fh);
}
@@ -1542,16 +1535,16 @@ static void il3945_irq_tasklet(struct il_priv *il)
inta_mask = _il_rd(il, CSR_INT_MASK);
inta_fh = _il_rd(il, CSR_FH_INT_STATUS);
D_ISR("End inta 0x%08x, enabled 0x%08x, fh 0x%08x, "
- "flags 0x%08lx\n", inta, inta_mask, inta_fh, flags);
+ "flags 0x%08lx\n", inta, inta_mask, inta_fh, flags);
}
#endif
}
-static int il3945_get_channels_for_scan(struct il_priv *il,
- enum ieee80211_band band,
- u8 is_active, u8 n_probes,
- struct il3945_scan_channel *scan_ch,
- struct ieee80211_vif *vif)
+static int
+il3945_get_channels_for_scan(struct il_priv *il, enum ieee80211_band band,
+ u8 is_active, u8 n_probes,
+ struct il3945_scan_channel *scan_ch,
+ struct ieee80211_vif *vif)
{
struct ieee80211_channel *chan;
const struct ieee80211_supported_band *sband;
@@ -1578,11 +1571,9 @@ static int il3945_get_channels_for_scan(struct il_priv *il,
scan_ch->channel = chan->hw_value;
- ch_info = il_get_channel_info(il, band,
- scan_ch->channel);
+ ch_info = il_get_channel_info(il, band, scan_ch->channel);
if (!il_is_channel_valid(ch_info)) {
- D_SCAN(
- "Channel %d is INVALID for this band.\n",
+ D_SCAN("Channel %d is INVALID for this band.\n",
scan_ch->channel);
continue;
}
@@ -1596,7 +1587,8 @@ static int il3945_get_channels_for_scan(struct il_priv *il,
(chan->flags & IEEE80211_CHAN_PASSIVE_SCAN)) {
scan_ch->type = 0; /* passive */
if (IL_UCODE_API(il->ucode_ver) == 1)
- scan_ch->active_dwell = cpu_to_le16(passive_dwell - 1);
+ scan_ch->active_dwell =
+ cpu_to_le16(passive_dwell - 1);
} else {
scan_ch->type = 1; /* active */
}
@@ -1630,11 +1622,9 @@ static int il3945_get_channels_for_scan(struct il_priv *il,
*/
}
- D_SCAN("Scanning %d [%s %d]\n",
- scan_ch->channel,
- (scan_ch->type & 1) ? "ACTIVE" : "PASSIVE",
- (scan_ch->type & 1) ?
- active_dwell : passive_dwell);
+ D_SCAN("Scanning %d [%s %d]\n", scan_ch->channel,
+ (scan_ch->type & 1) ? "ACTIVE" : "PASSIVE",
+ (scan_ch->type & 1) ? active_dwell : passive_dwell);
scan_ch++;
added++;
@@ -1644,22 +1634,23 @@ static int il3945_get_channels_for_scan(struct il_priv *il,
return added;
}
-static void il3945_init_hw_rates(struct il_priv *il,
- struct ieee80211_rate *rates)
+static void
+il3945_init_hw_rates(struct il_priv *il, struct ieee80211_rate *rates)
{
int i;
for (i = 0; i < RATE_COUNT_LEGACY; i++) {
rates[i].bitrate = il3945_rates[i].ieee * 5;
- rates[i].hw_value = i; /* Rate scaling will work on idxes */
+ rates[i].hw_value = i; /* Rate scaling will work on idxes */
rates[i].hw_value_short = i;
rates[i].flags = 0;
if (i > IL39_LAST_OFDM_RATE || i < IL_FIRST_OFDM_RATE) {
/*
* If CCK != 1M then set short preamble rate flag.
*/
- rates[i].flags |= (il3945_rates[i].plcp == 10) ?
- 0 : IEEE80211_RATE_SHORT_PREAMBLE;
+ rates[i].flags |=
+ (il3945_rates[i].plcp ==
+ 10) ? 0 : IEEE80211_RATE_SHORT_PREAMBLE;
}
}
}
@@ -1670,7 +1661,8 @@ static void il3945_init_hw_rates(struct il_priv *il,
*
******************************************************************************/
-static void il3945_dealloc_ucode_pci(struct il_priv *il)
+static void
+il3945_dealloc_ucode_pci(struct il_priv *il)
{
il_free_fw_desc(il->pci_dev, &il->ucode_code);
il_free_fw_desc(il->pci_dev, &il->ucode_data);
@@ -1684,7 +1676,8 @@ static void il3945_dealloc_ucode_pci(struct il_priv *il)
* il3945_verify_inst_full - verify runtime uCode image in card vs. host,
* looking at all data.
*/
-static int il3945_verify_inst_full(struct il_priv *il, __le32 *image, u32 len)
+static int
+il3945_verify_inst_full(struct il_priv *il, __le32 * image, u32 len)
{
u32 val;
u32 save_len = len;
@@ -1693,8 +1686,7 @@ static int il3945_verify_inst_full(struct il_priv *il, __le32 *image, u32 len)
D_INFO("ucode inst image size is %u\n", len);
- il_wr(il, HBUS_TARG_MEM_RADDR,
- IL39_RTC_INST_LOWER_BOUND);
+ il_wr(il, HBUS_TARG_MEM_RADDR, IL39_RTC_INST_LOWER_BOUND);
errcnt = 0;
for (; len > 0; len -= sizeof(u32), image++) {
@@ -1704,8 +1696,8 @@ static int il3945_verify_inst_full(struct il_priv *il, __le32 *image, u32 len)
val = _il_rd(il, HBUS_TARG_MEM_RDAT);
if (val != le32_to_cpu(*image)) {
IL_ERR("uCode INST section is invalid at "
- "offset 0x%x, is 0x%x, s/b 0x%x\n",
- save_len - len, val, le32_to_cpu(*image));
+ "offset 0x%x, is 0x%x, s/b 0x%x\n",
+ save_len - len, val, le32_to_cpu(*image));
rc = -EIO;
errcnt++;
if (errcnt >= 20)
@@ -1713,21 +1705,19 @@ static int il3945_verify_inst_full(struct il_priv *il, __le32 *image, u32 len)
}
}
-
if (!errcnt)
- D_INFO(
- "ucode image in INSTRUCTION memory is good\n");
+ D_INFO("ucode image in INSTRUCTION memory is good\n");
return rc;
}
-
/**
* il3945_verify_inst_sparse - verify runtime uCode image in card vs. host,
* using sample data 100 bytes apart. If these sample points are good,
* it's a pretty good bet that everything between them is good, too.
*/
-static int il3945_verify_inst_sparse(struct il_priv *il, __le32 *image, u32 len)
+static int
+il3945_verify_inst_sparse(struct il_priv *il, __le32 * image, u32 len)
{
u32 val;
int rc = 0;
@@ -1736,18 +1726,17 @@ static int il3945_verify_inst_sparse(struct il_priv *il, __le32 *image, u32 len)
D_INFO("ucode inst image size is %u\n", len);
- for (i = 0; i < len; i += 100, image += 100/sizeof(u32)) {
+ for (i = 0; i < len; i += 100, image += 100 / sizeof(u32)) {
/* read data comes through single port, auto-incr addr */
/* NOTE: Use the debugless read so we don't flood kernel log
* if IL_DL_IO is set */
- il_wr(il, HBUS_TARG_MEM_RADDR,
- i + IL39_RTC_INST_LOWER_BOUND);
+ il_wr(il, HBUS_TARG_MEM_RADDR, i + IL39_RTC_INST_LOWER_BOUND);
val = _il_rd(il, HBUS_TARG_MEM_RDAT);
if (val != le32_to_cpu(*image)) {
-#if 0 /* Enable this if you want to see details */
+#if 0 /* Enable this if you want to see details */
IL_ERR("uCode INST section is invalid at "
- "offset 0x%x, is 0x%x, s/b 0x%x\n",
- i, val, *image);
+ "offset 0x%x, is 0x%x, s/b 0x%x\n", i, val,
+ *image);
#endif
rc = -EIO;
errcnt++;
@@ -1759,19 +1748,19 @@ static int il3945_verify_inst_sparse(struct il_priv *il, __le32 *image, u32 len)
return rc;
}
-
/**
* il3945_verify_ucode - determine which instruction image is in SRAM,
* and verify its contents
*/
-static int il3945_verify_ucode(struct il_priv *il)
+static int
+il3945_verify_ucode(struct il_priv *il)
{
__le32 *image;
u32 len;
int rc = 0;
/* Try bootstrap */
- image = (__le32 *)il->ucode_boot.v_addr;
+ image = (__le32 *) il->ucode_boot.v_addr;
len = il->ucode_boot.len;
rc = il3945_verify_inst_sparse(il, image, len);
if (rc == 0) {
@@ -1780,7 +1769,7 @@ static int il3945_verify_ucode(struct il_priv *il)
}
/* Try initialize */
- image = (__le32 *)il->ucode_init.v_addr;
+ image = (__le32 *) il->ucode_init.v_addr;
len = il->ucode_init.len;
rc = il3945_verify_inst_sparse(il, image, len);
if (rc == 0) {
@@ -1789,7 +1778,7 @@ static int il3945_verify_ucode(struct il_priv *il)
}
/* Try runtime/protocol */
- image = (__le32 *)il->ucode_code.v_addr;
+ image = (__le32 *) il->ucode_code.v_addr;
len = il->ucode_code.len;
rc = il3945_verify_inst_sparse(il, image, len);
if (rc == 0) {
@@ -1802,14 +1791,15 @@ static int il3945_verify_ucode(struct il_priv *il)
/* Since nothing seems to match, show first several data entries in
* instruction SRAM, so maybe visual inspection will give a clue.
* Selection of bootstrap image (vs. other images) is arbitrary. */
- image = (__le32 *)il->ucode_boot.v_addr;
+ image = (__le32 *) il->ucode_boot.v_addr;
len = il->ucode_boot.len;
rc = il3945_verify_inst_full(il, image, len);
return rc;
}
-static void il3945_nic_start(struct il_priv *il)
+static void
+il3945_nic_start(struct il_priv *il)
{
/* Remove all resets to allow NIC to operate */
_il_wr(il, CSR_RESET, 0);
@@ -1821,12 +1811,14 @@ static u32 il3945_ucode_get_##item(const struct il_ucode_header *ucode)\
return le32_to_cpu(ucode->v1.item); \
}
-static u32 il3945_ucode_get_header_size(u32 api_ver)
+static u32
+il3945_ucode_get_header_size(u32 api_ver)
{
return 24;
}
-static u8 *il3945_ucode_get_data(const struct il_ucode_header *ucode)
+static u8 *
+il3945_ucode_get_data(const struct il_ucode_header *ucode)
{
return (u8 *) ucode->v1.data;
}
@@ -1842,7 +1834,8 @@ IL3945_UCODE_GET(boot_size);
*
* Copy into buffers for card to fetch via bus-mastering
*/
-static int il3945_read_ucode(struct il_priv *il)
+static int
+il3945_read_ucode(struct il_priv *il)
{
const struct il_ucode_header *ucode;
int ret = -EINVAL, idx;
@@ -1862,8 +1855,7 @@ static int il3945_read_ucode(struct il_priv *il)
sprintf(buf, "%s%u%s", name_pre, idx, ".ucode");
ret = request_firmware(&ucode_raw, buf, &il->pci_dev->dev);
if (ret < 0) {
- IL_ERR("%s firmware file req failed: %d\n",
- buf, ret);
+ IL_ERR("%s firmware file req failed: %d\n", buf, ret);
if (ret == -ENOENT)
continue;
else
@@ -1871,12 +1863,11 @@ static int il3945_read_ucode(struct il_priv *il)
} else {
if (idx < api_max)
IL_ERR("Loaded firmware %s, "
- "which is deprecated. "
- " Please use API v%u instead.\n",
- buf, api_max);
+ "which is deprecated. "
+ " Please use API v%u instead.\n", buf,
+ api_max);
D_INFO("Got firmware '%s' file "
- "(%zd bytes) from disk\n",
- buf, ucode_raw->size);
+ "(%zd bytes) from disk\n", buf, ucode_raw->size);
break;
}
}
@@ -1885,7 +1876,7 @@ static int il3945_read_ucode(struct il_priv *il)
goto error;
/* Make sure that we got at least our header! */
- if (ucode_raw->size < il3945_ucode_get_header_size(1)) {
+ if (ucode_raw->size < il3945_ucode_get_header_size(1)) {
IL_ERR("File size way too small!\n");
ret = -EINVAL;
goto err_release;
@@ -1909,90 +1900,72 @@ static int il3945_read_ucode(struct il_priv *il)
if (api_ver < api_min || api_ver > api_max) {
IL_ERR("Driver unable to support your firmware API. "
- "Driver supports v%u, firmware is v%u.\n",
- api_max, api_ver);
+ "Driver supports v%u, firmware is v%u.\n", api_max,
+ api_ver);
il->ucode_ver = 0;
ret = -EINVAL;
goto err_release;
}
if (api_ver != api_max)
IL_ERR("Firmware has old API version. Expected %u, "
- "got %u. New firmware can be obtained "
- "from http://www.intellinuxwireless.org.\n",
- api_max, api_ver);
+ "got %u. New firmware can be obtained "
+ "from http://www.intellinuxwireless.org.\n", api_max,
+ api_ver);
IL_INFO("loaded firmware version %u.%u.%u.%u\n",
- IL_UCODE_MAJOR(il->ucode_ver),
- IL_UCODE_MINOR(il->ucode_ver),
- IL_UCODE_API(il->ucode_ver),
- IL_UCODE_SERIAL(il->ucode_ver));
-
- snprintf(il->hw->wiphy->fw_version,
- sizeof(il->hw->wiphy->fw_version),
- "%u.%u.%u.%u",
- IL_UCODE_MAJOR(il->ucode_ver),
- IL_UCODE_MINOR(il->ucode_ver),
- IL_UCODE_API(il->ucode_ver),
- IL_UCODE_SERIAL(il->ucode_ver));
+ IL_UCODE_MAJOR(il->ucode_ver), IL_UCODE_MINOR(il->ucode_ver),
+ IL_UCODE_API(il->ucode_ver), IL_UCODE_SERIAL(il->ucode_ver));
- D_INFO("f/w package hdr ucode version raw = 0x%x\n",
- il->ucode_ver);
- D_INFO("f/w package hdr runtime inst size = %u\n",
- inst_size);
- D_INFO("f/w package hdr runtime data size = %u\n",
- data_size);
- D_INFO("f/w package hdr init inst size = %u\n",
- init_size);
- D_INFO("f/w package hdr init data size = %u\n",
- init_data_size);
- D_INFO("f/w package hdr boot inst size = %u\n",
- boot_size);
+ snprintf(il->hw->wiphy->fw_version, sizeof(il->hw->wiphy->fw_version),
+ "%u.%u.%u.%u", IL_UCODE_MAJOR(il->ucode_ver),
+ IL_UCODE_MINOR(il->ucode_ver), IL_UCODE_API(il->ucode_ver),
+ IL_UCODE_SERIAL(il->ucode_ver));
+ D_INFO("f/w package hdr ucode version raw = 0x%x\n", il->ucode_ver);
+ D_INFO("f/w package hdr runtime inst size = %u\n", inst_size);
+ D_INFO("f/w package hdr runtime data size = %u\n", data_size);
+ D_INFO("f/w package hdr init inst size = %u\n", init_size);
+ D_INFO("f/w package hdr init data size = %u\n", init_data_size);
+ D_INFO("f/w package hdr boot inst size = %u\n", boot_size);
/* Verify size of file vs. image size info in file's header */
- if (ucode_raw->size != il3945_ucode_get_header_size(api_ver) +
- inst_size + data_size + init_size +
- init_data_size + boot_size) {
+ if (ucode_raw->size !=
+ il3945_ucode_get_header_size(api_ver) + inst_size + data_size +
+ init_size + init_data_size + boot_size) {
- D_INFO(
- "uCode file size %zd does not match expected size\n",
- ucode_raw->size);
+ D_INFO("uCode file size %zd does not match expected size\n",
+ ucode_raw->size);
ret = -EINVAL;
goto err_release;
}
/* Verify that uCode images will fit in card's SRAM */
if (inst_size > IL39_MAX_INST_SIZE) {
- D_INFO("uCode instr len %d too large to fit in\n",
- inst_size);
+ D_INFO("uCode instr len %d too large to fit in\n", inst_size);
ret = -EINVAL;
goto err_release;
}
if (data_size > IL39_MAX_DATA_SIZE) {
- D_INFO("uCode data len %d too large to fit in\n",
- data_size);
+ D_INFO("uCode data len %d too large to fit in\n", data_size);
ret = -EINVAL;
goto err_release;
}
if (init_size > IL39_MAX_INST_SIZE) {
- D_INFO(
- "uCode init instr len %d too large to fit in\n",
- init_size);
+ D_INFO("uCode init instr len %d too large to fit in\n",
+ init_size);
ret = -EINVAL;
goto err_release;
}
if (init_data_size > IL39_MAX_DATA_SIZE) {
- D_INFO(
- "uCode init data len %d too large to fit in\n",
- init_data_size);
+ D_INFO("uCode init data len %d too large to fit in\n",
+ init_data_size);
ret = -EINVAL;
goto err_release;
}
if (boot_size > IL39_MAX_BSM_SIZE) {
- D_INFO(
- "uCode boot instr len %d too large to fit in\n",
- boot_size);
+ D_INFO("uCode boot instr len %d too large to fit in\n",
+ boot_size);
ret = -EINVAL;
goto err_release;
}
@@ -2040,19 +2013,17 @@ static int il3945_read_ucode(struct il_priv *il)
/* Runtime instructions (first block of data in file) */
len = inst_size;
- D_INFO(
- "Copying (but not loading) uCode instr len %zd\n", len);
+ D_INFO("Copying (but not loading) uCode instr len %zd\n", len);
memcpy(il->ucode_code.v_addr, src, len);
src += len;
D_INFO("uCode instr buf vaddr = 0x%p, paddr = 0x%08x\n",
- il->ucode_code.v_addr, (u32)il->ucode_code.p_addr);
+ il->ucode_code.v_addr, (u32) il->ucode_code.p_addr);
/* Runtime data (2nd block)
* NOTE: Copy into backup buffer will be done in il3945_up() */
len = data_size;
- D_INFO(
- "Copying (but not loading) uCode data len %zd\n", len);
+ D_INFO("Copying (but not loading) uCode data len %zd\n", len);
memcpy(il->ucode_data.v_addr, src, len);
memcpy(il->ucode_data_backup.v_addr, src, len);
src += len;
@@ -2060,8 +2031,7 @@ static int il3945_read_ucode(struct il_priv *il)
/* Initialization instructions (3rd block) */
if (init_size) {
len = init_size;
- D_INFO(
- "Copying (but not loading) init instr len %zd\n", len);
+ D_INFO("Copying (but not loading) init instr len %zd\n", len);
memcpy(il->ucode_init.v_addr, src, len);
src += len;
}
@@ -2069,35 +2039,32 @@ static int il3945_read_ucode(struct il_priv *il)
/* Initialization data (4th block) */
if (init_data_size) {
len = init_data_size;
- D_INFO(
- "Copying (but not loading) init data len %zd\n", len);
+ D_INFO("Copying (but not loading) init data len %zd\n", len);
memcpy(il->ucode_init_data.v_addr, src, len);
src += len;
}
/* Bootstrap instructions (5th block) */
len = boot_size;
- D_INFO(
- "Copying (but not loading) boot instr len %zd\n", len);
+ D_INFO("Copying (but not loading) boot instr len %zd\n", len);
memcpy(il->ucode_boot.v_addr, src, len);
/* We have our copies now, allow OS release its copies */
release_firmware(ucode_raw);
return 0;
- err_pci_alloc:
+err_pci_alloc:
IL_ERR("failed to allocate pci memory\n");
ret = -ENOMEM;
il3945_dealloc_ucode_pci(il);
- err_release:
+err_release:
release_firmware(ucode_raw);
- error:
+error:
return ret;
}
-
/**
* il3945_set_ucode_ptrs - Set uCode address location
*
@@ -2107,7 +2074,8 @@ static int il3945_read_ucode(struct il_priv *il)
* We need to replace them to load runtime uCode inst and data,
* and to save runtime data when powering down.
*/
-static int il3945_set_ucode_ptrs(struct il_priv *il)
+static int
+il3945_set_ucode_ptrs(struct il_priv *il)
{
dma_addr_t pinst;
dma_addr_t pdata;
@@ -2119,13 +2087,12 @@ static int il3945_set_ucode_ptrs(struct il_priv *il)
/* Tell bootstrap uCode where to find image to load */
il_wr_prph(il, BSM_DRAM_INST_PTR_REG, pinst);
il_wr_prph(il, BSM_DRAM_DATA_PTR_REG, pdata);
- il_wr_prph(il, BSM_DRAM_DATA_BYTECOUNT_REG,
- il->ucode_data.len);
+ il_wr_prph(il, BSM_DRAM_DATA_BYTECOUNT_REG, il->ucode_data.len);
/* Inst byte count must be last to set up, bit 31 signals uCode
* that all new ptr/size info is in place */
il_wr_prph(il, BSM_DRAM_INST_BYTECOUNT_REG,
- il->ucode_code.len | BSM_DRAM_INST_LOAD);
+ il->ucode_code.len | BSM_DRAM_INST_LOAD);
D_INFO("Runtime uCode pointers are set.\n");
@@ -2139,7 +2106,8 @@ static int il3945_set_ucode_ptrs(struct il_priv *il)
*
* Tell "initialize" uCode to go ahead and load the runtime uCode.
*/
-static void il3945_init_alive_start(struct il_priv *il)
+static void
+il3945_init_alive_start(struct il_priv *il)
{
/* Check alive response for "valid" sign from uCode */
if (il->card_alive_init.is_valid != UCODE_VALID_OK) {
@@ -2171,7 +2139,7 @@ static void il3945_init_alive_start(struct il_priv *il)
}
return;
- restart:
+restart:
queue_work(il->workqueue, &il->restart);
}
@@ -2180,7 +2148,8 @@ static void il3945_init_alive_start(struct il_priv *il)
* from protocol/runtime uCode (initialization uCode's
* Alive gets handled by il3945_init_alive_start()).
*/
-static void il3945_alive_start(struct il_priv *il)
+static void
+il3945_alive_start(struct il_priv *il)
{
int thermal_spin = 0;
u32 rfkill;
@@ -2219,7 +2188,7 @@ static void il3945_alive_start(struct il_priv *il)
if (thermal_spin)
D_INFO("Thermal calibration took %dus\n",
- thermal_spin * 10);
+ thermal_spin * 10);
} else
set_bit(S_RF_KILL_HW, &il->status);
@@ -2240,7 +2209,7 @@ static void il3945_alive_start(struct il_priv *il)
if (il_is_associated(il)) {
struct il3945_rxon_cmd *active_rxon =
- (struct il3945_rxon_cmd *)(&ctx->active);
+ (struct il3945_rxon_cmd *)(&ctx->active);
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
active_rxon->filter_flags &= ~RXON_FILTER_ASSOC_MSK;
@@ -2264,13 +2233,14 @@ static void il3945_alive_start(struct il_priv *il)
return;
- restart:
+restart:
queue_work(il->workqueue, &il->restart);
}
static void il3945_cancel_deferred_work(struct il_priv *il);
-static void __il3945_down(struct il_priv *il)
+static void
+__il3945_down(struct il_priv *il)
{
unsigned long flags;
int exit_pending;
@@ -2313,25 +2283,28 @@ static void __il3945_down(struct il_priv *il)
/* If we have not previously called il3945_init() then
* clear all bits but the RF Kill bits and return */
if (!il_is_init(il)) {
- il->status = test_bit(S_RF_KILL_HW, &il->status) <<
- S_RF_KILL_HW |
- test_bit(S_GEO_CONFIGURED, &il->status) <<
- S_GEO_CONFIGURED |
- test_bit(S_EXIT_PENDING, &il->status) <<
- S_EXIT_PENDING;
+ il->status =
+ test_bit(S_RF_KILL_HW,
+ &il->
+ status) << S_RF_KILL_HW |
+ test_bit(S_GEO_CONFIGURED,
+ &il->
+ status) << S_GEO_CONFIGURED |
+ test_bit(S_EXIT_PENDING, &il->status) << S_EXIT_PENDING;
goto exit;
}
/* ...otherwise clear out all the status bits but the RF Kill
* bit and continue taking the NIC down. */
- il->status &= test_bit(S_RF_KILL_HW, &il->status) <<
- S_RF_KILL_HW |
- test_bit(S_GEO_CONFIGURED, &il->status) <<
- S_GEO_CONFIGURED |
- test_bit(S_FW_ERROR, &il->status) <<
- S_FW_ERROR |
- test_bit(S_EXIT_PENDING, &il->status) <<
- S_EXIT_PENDING;
+ il->status &=
+ test_bit(S_RF_KILL_HW,
+ &il->status) << S_RF_KILL_HW | test_bit(S_GEO_CONFIGURED,
+ &il->
+ status) <<
+ S_GEO_CONFIGURED | test_bit(S_FW_ERROR,
+ &il->
+ status) << S_FW_ERROR |
+ test_bit(S_EXIT_PENDING, &il->status) << S_EXIT_PENDING;
il3945_hw_txq_ctx_stop(il);
il3945_hw_rxq_stop(il);
@@ -2343,7 +2316,7 @@ static void __il3945_down(struct il_priv *il)
/* Stop the device, and put it in low power state */
il_apm_stop(il);
- exit:
+exit:
memset(&il->card_alive, 0, sizeof(struct il_alive_resp));
if (il->beacon_skb)
@@ -2354,7 +2327,8 @@ static void __il3945_down(struct il_priv *il)
il3945_clear_free_frames(il);
}
-static void il3945_down(struct il_priv *il)
+static void
+il3945_down(struct il_priv *il)
{
mutex_lock(&il->mutex);
__il3945_down(il);
@@ -2365,15 +2339,15 @@ static void il3945_down(struct il_priv *il)
#define MAX_HW_RESTARTS 5
-static int il3945_alloc_bcast_station(struct il_priv *il)
+static int
+il3945_alloc_bcast_station(struct il_priv *il)
{
struct il_rxon_context *ctx = &il->ctx;
unsigned long flags;
u8 sta_id;
spin_lock_irqsave(&il->sta_lock, flags);
- sta_id = il_prep_station(il, ctx,
- il_bcast_addr, false, NULL);
+ sta_id = il_prep_station(il, ctx, il_bcast_addr, false, NULL);
if (sta_id == IL_INVALID_STATION) {
IL_ERR("Unable to prepare broadcast station\n");
spin_unlock_irqrestore(&il->sta_lock, flags);
@@ -2388,7 +2362,8 @@ static int il3945_alloc_bcast_station(struct il_priv *il)
return 0;
}
-static int __il3945_up(struct il_priv *il)
+static int
+__il3945_up(struct il_priv *il)
{
int rc, i;
@@ -2407,8 +2382,7 @@ static int __il3945_up(struct il_priv *il)
}
/* If platform's RF_KILL switch is NOT set to KILL */
- if (_il_rd(il, CSR_GP_CNTRL) &
- CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
+ if (_il_rd(il, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
clear_bit(S_RF_KILL_HW, &il->status);
else {
set_bit(S_RF_KILL_HW, &il->status);
@@ -2426,8 +2400,7 @@ static int __il3945_up(struct il_priv *il)
/* make sure rfkill handshake bits are cleared */
_il_wr(il, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
- _il_wr(il, CSR_UCODE_DRV_GP1_CLR,
- CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
+ _il_wr(il, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
/* clear (again), then enable host interrupts */
_il_wr(il, CSR_INT, 0xFFFFFFFF);
@@ -2455,8 +2428,7 @@ static int __il3945_up(struct il_priv *il)
rc = il->cfg->ops->lib->load_ucode(il);
if (rc) {
- IL_ERR(
- "Unable to set up bootstrap uCode: %d\n", rc);
+ IL_ERR("Unable to set up bootstrap uCode: %d\n", rc);
continue;
}
@@ -2478,14 +2450,14 @@ static int __il3945_up(struct il_priv *il)
return -EIO;
}
-
/*****************************************************************************
*
* Workqueue callbacks
*
*****************************************************************************/
-static void il3945_bg_init_alive_start(struct work_struct *data)
+static void
+il3945_bg_init_alive_start(struct work_struct *data)
{
struct il_priv *il =
container_of(data, struct il_priv, init_alive_start.work);
@@ -2499,7 +2471,8 @@ out:
mutex_unlock(&il->mutex);
}
-static void il3945_bg_alive_start(struct work_struct *data)
+static void
+il3945_bg_alive_start(struct work_struct *data)
{
struct il_priv *il =
container_of(data, struct il_priv, alive_start.work);
@@ -2519,13 +2492,14 @@ out:
* *is* readable even when device has been SW_RESET into low power mode
* (e.g. during RF KILL).
*/
-static void il3945_rfkill_poll(struct work_struct *data)
+static void
+il3945_rfkill_poll(struct work_struct *data)
{
struct il_priv *il =
container_of(data, struct il_priv, _3945.rfkill_poll.work);
bool old_rfkill = test_bit(S_RF_KILL_HW, &il->status);
- bool new_rfkill = !(_il_rd(il, CSR_GP_CNTRL)
- & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW);
+ bool new_rfkill =
+ !(_il_rd(il, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW);
if (new_rfkill != old_rfkill) {
if (new_rfkill)
@@ -2536,7 +2510,7 @@ static void il3945_rfkill_poll(struct work_struct *data)
wiphy_rfkill_set_hw_state(il->hw->wiphy, new_rfkill);
D_RF_KILL("RF_KILL bit toggled to %s.\n",
- new_rfkill ? "disable radio" : "enable radio");
+ new_rfkill ? "disable radio" : "enable radio");
}
/* Keep this running, even if radio now enabled. This will be
@@ -2546,7 +2520,8 @@ static void il3945_rfkill_poll(struct work_struct *data)
}
-int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
+int
+il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
{
struct il_host_cmd cmd = {
.id = C_SCAN,
@@ -2563,8 +2538,9 @@ int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
lockdep_assert_held(&il->mutex);
if (!il->scan_cmd) {
- il->scan_cmd = kmalloc(sizeof(struct il3945_scan_cmd) +
- IL_MAX_SCAN_SIZE, GFP_KERNEL);
+ il->scan_cmd =
+ kmalloc(sizeof(struct il3945_scan_cmd) + IL_MAX_SCAN_SIZE,
+ GFP_KERNEL);
if (!il->scan_cmd) {
D_SCAN("Fail to allocate scan memory\n");
return -ENOMEM;
@@ -2598,12 +2574,12 @@ int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
*/
extra = (suspend_time / interval) << 24;
- scan_suspend_time = 0xFF0FFFFF &
- (extra | ((suspend_time % interval) * 1024));
+ scan_suspend_time =
+ 0xFF0FFFFF & (extra | ((suspend_time % interval) * 1024));
scan->suspend_time = cpu_to_le32(scan_suspend_time);
D_SCAN("suspend_time 0x%X beacon interval %d\n",
- scan_suspend_time, interval);
+ scan_suspend_time, interval);
}
if (il->scan_request->n_ssids) {
@@ -2615,7 +2591,7 @@ int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
continue;
scan->direct_scan[p].id = WLAN_EID_SSID;
scan->direct_scan[p].len =
- il->scan_request->ssids[i].ssid_len;
+ il->scan_request->ssids[i].ssid_len;
memcpy(scan->direct_scan[p].ssid,
il->scan_request->ssids[i].ssid,
il->scan_request->ssids[i].ssid_len);
@@ -2654,26 +2630,29 @@ int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
* is marked passive, we can do active scanning if we
* detect transmissions.
*/
- scan->good_CRC_th = is_active ? IL_GOOD_CRC_TH_DEFAULT :
- IL_GOOD_CRC_TH_DISABLED;
-
- len = il_fill_probe_req(il, (struct ieee80211_mgmt *)scan->data,
- vif->addr, il->scan_request->ie,
- il->scan_request->ie_len,
- IL_MAX_SCAN_SIZE - sizeof(*scan));
+ scan->good_CRC_th =
+ is_active ? IL_GOOD_CRC_TH_DEFAULT : IL_GOOD_CRC_TH_DISABLED;
+
+ len =
+ il_fill_probe_req(il, (struct ieee80211_mgmt *)scan->data,
+ vif->addr, il->scan_request->ie,
+ il->scan_request->ie_len,
+ IL_MAX_SCAN_SIZE - sizeof(*scan));
scan->tx_cmd.len = cpu_to_le16(len);
/* select Rx antennas */
scan->flags |= il3945_get_antenna_flags(il);
- scan->channel_count = il3945_get_channels_for_scan(il, band, is_active, n_probes,
- (void *)&scan->data[len], vif);
+ scan->channel_count =
+ il3945_get_channels_for_scan(il, band, is_active, n_probes,
+ (void *)&scan->data[len], vif);
if (scan->channel_count == 0) {
D_SCAN("channel count %d\n", scan->channel_count);
return -EIO;
}
- cmd.len += le16_to_cpu(scan->tx_cmd.len) +
+ cmd.len +=
+ le16_to_cpu(scan->tx_cmd.len) +
scan->channel_count * sizeof(struct il3945_scan_channel);
cmd.data = scan;
scan->len = cpu_to_le16(cmd.len);
@@ -2685,7 +2664,8 @@ int il3945_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
return ret;
}
-void il3945_post_scan(struct il_priv *il)
+void
+il3945_post_scan(struct il_priv *il)
{
struct il_rxon_context *ctx = &il->ctx;
@@ -2697,7 +2677,8 @@ void il3945_post_scan(struct il_priv *il)
il3945_commit_rxon(il, ctx);
}
-static void il3945_bg_restart(struct work_struct *data)
+static void
+il3945_bg_restart(struct work_struct *data)
{
struct il_priv *il = container_of(data, struct il_priv, restart);
@@ -2725,10 +2706,10 @@ static void il3945_bg_restart(struct work_struct *data)
}
}
-static void il3945_bg_rx_replenish(struct work_struct *data)
+static void
+il3945_bg_rx_replenish(struct work_struct *data)
{
- struct il_priv *il =
- container_of(data, struct il_priv, rx_replenish);
+ struct il_priv *il = container_of(data, struct il_priv, rx_replenish);
mutex_lock(&il->mutex);
if (test_bit(S_EXIT_PENDING, &il->status))
@@ -2739,7 +2720,8 @@ out:
mutex_unlock(&il->mutex);
}
-void il3945_post_associate(struct il_priv *il)
+void
+il3945_post_associate(struct il_priv *il)
{
int rc = 0;
struct ieee80211_conf *conf = NULL;
@@ -2748,8 +2730,8 @@ void il3945_post_associate(struct il_priv *il)
if (!ctx->vif || !il->is_open)
return;
- D_ASSOC("Associated as %d to: %pM\n",
- ctx->vif->bss_conf.aid, ctx->active.bssid_addr);
+ D_ASSOC("Associated as %d to: %pM\n", ctx->vif->bss_conf.aid,
+ ctx->active.bssid_addr);
if (test_bit(S_EXIT_PENDING, &il->status))
return;
@@ -2763,15 +2745,14 @@ void il3945_post_associate(struct il_priv *il)
rc = il_send_rxon_timing(il, ctx);
if (rc)
- IL_WARN("C_RXON_TIMING failed - "
- "Attempting to continue.\n");
+ IL_WARN("C_RXON_TIMING failed - " "Attempting to continue.\n");
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
ctx->staging.assoc_id = cpu_to_le16(ctx->vif->bss_conf.aid);
- D_ASSOC("assoc id %d beacon interval %d\n",
- ctx->vif->bss_conf.aid, ctx->vif->bss_conf.beacon_int);
+ D_ASSOC("assoc id %d beacon interval %d\n", ctx->vif->bss_conf.aid,
+ ctx->vif->bss_conf.beacon_int);
if (ctx->vif->bss_conf.use_short_preamble)
ctx->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
@@ -2795,8 +2776,8 @@ void il3945_post_associate(struct il_priv *il)
il3945_send_beacon_cmd(il);
break;
default:
- IL_ERR("%s Should not be called in %d mode\n",
- __func__, ctx->vif->type);
+ IL_ERR("%s Should not be called in %d mode\n", __func__,
+ ctx->vif->type);
break;
}
}
@@ -2809,7 +2790,8 @@ void il3945_post_associate(struct il_priv *il)
#define UCODE_READY_TIMEOUT (2 * HZ)
-static int il3945_mac_start(struct ieee80211_hw *hw)
+static int
+il3945_mac_start(struct ieee80211_hw *hw)
{
struct il_priv *il = hw->priv;
int ret;
@@ -2843,13 +2825,12 @@ static int il3945_mac_start(struct ieee80211_hw *hw)
/* Wait for START_ALIVE from ucode. Otherwise callbacks from
* mac80211 will not be run successfully. */
ret = wait_event_timeout(il->wait_command_queue,
- test_bit(S_READY, &il->status),
- UCODE_READY_TIMEOUT);
+ test_bit(S_READY, &il->status),
+ UCODE_READY_TIMEOUT);
if (!ret) {
if (!test_bit(S_READY, &il->status)) {
- IL_ERR(
- "Wait for START_ALIVE timeout after %dms.\n",
- jiffies_to_msecs(UCODE_READY_TIMEOUT));
+ IL_ERR("Wait for START_ALIVE timeout after %dms.\n",
+ jiffies_to_msecs(UCODE_READY_TIMEOUT));
ret = -ETIMEDOUT;
goto out_release_irq;
}
@@ -2869,7 +2850,8 @@ out_release_irq:
return ret;
}
-static void il3945_mac_stop(struct ieee80211_hw *hw)
+static void
+il3945_mac_stop(struct ieee80211_hw *hw)
{
struct il_priv *il = hw->priv;
@@ -2893,14 +2875,15 @@ static void il3945_mac_stop(struct ieee80211_hw *hw)
D_MAC80211("leave\n");
}
-static void il3945_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+static void
+il3945_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
{
struct il_priv *il = hw->priv;
D_MAC80211("enter\n");
D_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len,
- ieee80211_get_tx_rate(hw, IEEE80211_SKB_CB(skb))->bitrate);
+ ieee80211_get_tx_rate(hw, IEEE80211_SKB_CB(skb))->bitrate);
if (il3945_tx_skb(il, skb))
dev_kfree_skb_any(skb);
@@ -2908,7 +2891,8 @@ static void il3945_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
D_MAC80211("leave\n");
}
-void il3945_config_ap(struct il_priv *il)
+void
+il3945_config_ap(struct il_priv *il)
{
struct il_rxon_context *ctx = &il->ctx;
struct ieee80211_vif *vif = ctx->vif;
@@ -2928,24 +2912,20 @@ void il3945_config_ap(struct il_priv *il)
rc = il_send_rxon_timing(il, ctx);
if (rc)
IL_WARN("C_RXON_TIMING failed - "
- "Attempting to continue.\n");
+ "Attempting to continue.\n");
ctx->staging.assoc_id = 0;
if (vif->bss_conf.use_short_preamble)
- ctx->staging.flags |=
- RXON_FLG_SHORT_PREAMBLE_MSK;
+ ctx->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
else
- ctx->staging.flags &=
- ~RXON_FLG_SHORT_PREAMBLE_MSK;
+ ctx->staging.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK;
if (ctx->staging.flags & RXON_FLG_BAND_24G_MSK) {
if (vif->bss_conf.use_short_slot)
- ctx->staging.flags |=
- RXON_FLG_SHORT_SLOT_MSK;
+ ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
else
- ctx->staging.flags &=
- ~RXON_FLG_SHORT_SLOT_MSK;
+ ctx->staging.flags &= ~RXON_FLG_SHORT_SLOT_MSK;
}
/* restore RXON assoc */
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
@@ -2954,10 +2934,10 @@ void il3945_config_ap(struct il_priv *il)
il3945_send_beacon_cmd(il);
}
-static int il3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
- struct ieee80211_vif *vif,
- struct ieee80211_sta *sta,
- struct ieee80211_key_conf *key)
+static int
+il3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
+ struct ieee80211_vif *vif, struct ieee80211_sta *sta,
+ struct ieee80211_key_conf *key)
{
struct il_priv *il = hw->priv;
int ret = 0;
@@ -2982,8 +2962,7 @@ static int il3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
static_key = !il_is_associated(il);
if (!static_key) {
- sta_id = il_sta_id_or_broadcast(
- il, &il->ctx, sta);
+ sta_id = il_sta_id_or_broadcast(il, &il->ctx, sta);
if (sta_id == IL_INVALID_STATION)
return -EINVAL;
}
@@ -3016,9 +2995,9 @@ static int il3945_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
return ret;
}
-static int il3945_mac_sta_add(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_sta *sta)
+static int
+il3945_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta)
{
struct il_priv *il = hw->priv;
struct il3945_sta_priv *sta_priv = (void *)sta->drv_priv;
@@ -3026,20 +3005,15 @@ static int il3945_mac_sta_add(struct ieee80211_hw *hw,
bool is_ap = vif->type == NL80211_IFTYPE_STATION;
u8 sta_id;
- D_INFO("received request to add station %pM\n",
- sta->addr);
+ D_INFO("received request to add station %pM\n", sta->addr);
mutex_lock(&il->mutex);
- D_INFO("proceeding to add station %pM\n",
- sta->addr);
+ D_INFO("proceeding to add station %pM\n", sta->addr);
sta_priv->common.sta_id = IL_INVALID_STATION;
-
- ret = il_add_station_common(il,
- &il->ctx,
- sta->addr, is_ap, sta, &sta_id);
+ ret =
+ il_add_station_common(il, &il->ctx, sta->addr, is_ap, sta, &sta_id);
if (ret) {
- IL_ERR("Unable to add station %pM (%d)\n",
- sta->addr, ret);
+ IL_ERR("Unable to add station %pM (%d)\n", sta->addr, ret);
/* Should we return success if return code is EEXIST ? */
mutex_unlock(&il->mutex);
return ret;
@@ -3048,18 +3022,16 @@ static int il3945_mac_sta_add(struct ieee80211_hw *hw,
sta_priv->common.sta_id = sta_id;
/* Initialize rate scaling */
- D_INFO("Initializing rate scaling for station %pM\n",
- sta->addr);
+ D_INFO("Initializing rate scaling for station %pM\n", sta->addr);
il3945_rs_rate_init(il, sta, sta_id);
mutex_unlock(&il->mutex);
return 0;
}
-static void il3945_configure_filter(struct ieee80211_hw *hw,
- unsigned int changed_flags,
- unsigned int *total_flags,
- u64 multicast)
+static void
+il3945_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags,
+ unsigned int *total_flags, u64 multicast)
{
struct il_priv *il = hw->priv;
__le32 filter_or = 0, filter_nand = 0;
@@ -3072,8 +3044,8 @@ static void il3945_configure_filter(struct ieee80211_hw *hw,
filter_nand |= (flag); \
} while (0)
- D_MAC80211("Enter: changed: 0x%x, total: 0x%x\n",
- changed_flags, *total_flags);
+ D_MAC80211("Enter: changed: 0x%x, total: 0x%x\n", changed_flags,
+ *total_flags);
CHK(FIF_OTHER_BSS | FIF_PROMISC_IN_BSS, RXON_FILTER_PROMISC_MSK);
CHK(FIF_CONTROL, RXON_FILTER_CTL2HOST_MSK);
@@ -3100,11 +3072,11 @@ static void il3945_configure_filter(struct ieee80211_hw *hw,
* since we currently do not support programming multicast
* filters into the device.
*/
- *total_flags &= FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS |
- FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL;
+ *total_flags &=
+ FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS |
+ FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL;
}
-
/*****************************************************************************
*
* sysfs attributes
@@ -3124,15 +3096,17 @@ static void il3945_configure_filter(struct ieee80211_hw *hw,
* level that is used instead of the global debug level if it (the per
* device debug level) is set.
*/
-static ssize_t il3945_show_debug_level(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_debug_level(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
return sprintf(buf, "0x%08X\n", il_get_debug_level(il));
}
-static ssize_t il3945_store_debug_level(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+
+static ssize_t
+il3945_store_debug_level(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
unsigned long val;
@@ -3144,19 +3118,19 @@ static ssize_t il3945_store_debug_level(struct device *d,
else {
il->debug_level = val;
if (il_alloc_traffic_mem(il))
- IL_ERR(
- "Not enough memory to generate traffic log\n");
+ IL_ERR("Not enough memory to generate traffic log\n");
}
return strnlen(buf, count);
}
-static DEVICE_ATTR(debug_level, S_IWUSR | S_IRUGO,
- il3945_show_debug_level, il3945_store_debug_level);
+static DEVICE_ATTR(debug_level, S_IWUSR | S_IRUGO, il3945_show_debug_level,
+ il3945_store_debug_level);
#endif /* CONFIG_IWLEGACY_DEBUG */
-static ssize_t il3945_show_temperature(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_temperature(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
@@ -3168,16 +3142,16 @@ static ssize_t il3945_show_temperature(struct device *d,
static DEVICE_ATTR(temperature, S_IRUGO, il3945_show_temperature, NULL);
-static ssize_t il3945_show_tx_power(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_tx_power(struct device *d, struct device_attribute *attr, char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
return sprintf(buf, "%d\n", il->tx_power_user_lmt);
}
-static ssize_t il3945_store_tx_power(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_store_tx_power(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
char *p = (char *)buf;
@@ -3192,10 +3166,11 @@ static ssize_t il3945_store_tx_power(struct device *d,
return count;
}
-static DEVICE_ATTR(tx_power, S_IWUSR | S_IRUGO, il3945_show_tx_power, il3945_store_tx_power);
+static DEVICE_ATTR(tx_power, S_IWUSR | S_IRUGO, il3945_show_tx_power,
+ il3945_store_tx_power);
-static ssize_t il3945_show_flags(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_flags(struct device *d, struct device_attribute *attr, char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
struct il_rxon_context *ctx = &il->ctx;
@@ -3203,9 +3178,9 @@ static ssize_t il3945_show_flags(struct device *d,
return sprintf(buf, "0x%04X\n", ctx->active.flags);
}
-static ssize_t il3945_store_flags(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_store_flags(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
u32 flags = simple_strtoul(buf, NULL, 0);
@@ -3217,8 +3192,7 @@ static ssize_t il3945_store_flags(struct device *d,
if (il_scan_cancel_timeout(il, 100))
IL_WARN("Could not cancel scan.\n");
else {
- D_INFO("Committing rxon.flags = 0x%04X\n",
- flags);
+ D_INFO("Committing rxon.flags = 0x%04X\n", flags);
ctx->staging.flags = cpu_to_le32(flags);
il3945_commit_rxon(il, ctx);
}
@@ -3228,21 +3202,22 @@ static ssize_t il3945_store_flags(struct device *d,
return count;
}
-static DEVICE_ATTR(flags, S_IWUSR | S_IRUGO, il3945_show_flags, il3945_store_flags);
+static DEVICE_ATTR(flags, S_IWUSR | S_IRUGO, il3945_show_flags,
+ il3945_store_flags);
-static ssize_t il3945_show_filter_flags(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_filter_flags(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
struct il_rxon_context *ctx = &il->ctx;
- return sprintf(buf, "0x%04X\n",
- le32_to_cpu(ctx->active.filter_flags));
+ return sprintf(buf, "0x%04X\n", le32_to_cpu(ctx->active.filter_flags));
}
-static ssize_t il3945_store_filter_flags(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_store_filter_flags(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
struct il_rxon_context *ctx = &il->ctx;
@@ -3254,10 +3229,9 @@ static ssize_t il3945_store_filter_flags(struct device *d,
if (il_scan_cancel_timeout(il, 100))
IL_WARN("Could not cancel scan.\n");
else {
- D_INFO("Committing rxon.filter_flags = "
- "0x%04X\n", filter_flags);
- ctx->staging.filter_flags =
- cpu_to_le32(filter_flags);
+ D_INFO("Committing rxon.filter_flags = " "0x%04X\n",
+ filter_flags);
+ ctx->staging.filter_flags = cpu_to_le32(filter_flags);
il3945_commit_rxon(il, ctx);
}
}
@@ -3269,13 +3243,14 @@ static ssize_t il3945_store_filter_flags(struct device *d,
static DEVICE_ATTR(filter_flags, S_IWUSR | S_IRUGO, il3945_show_filter_flags,
il3945_store_filter_flags);
-static ssize_t il3945_show_measurement(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_measurement(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
struct il_spectrum_notification measure_report;
u32 size = sizeof(measure_report), len = 0, ofs = 0;
- u8 *data = (u8 *)&measure_report;
+ u8 *data = (u8 *) & measure_report;
unsigned long flags;
spin_lock_irqsave(&il->lock, flags);
@@ -3301,9 +3276,9 @@ static ssize_t il3945_show_measurement(struct device *d,
return len;
}
-static ssize_t il3945_store_measurement(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_store_measurement(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
struct il_rxon_context *ctx = &il->ctx;
@@ -3330,19 +3305,19 @@ static ssize_t il3945_store_measurement(struct device *d,
type = simple_strtoul(p + 1, NULL, 0);
}
- D_INFO("Invoking measurement of type %d on "
- "channel %d (for '%s')\n", type, params.channel, buf);
+ D_INFO("Invoking measurement of type %d on " "channel %d (for '%s')\n",
+ type, params.channel, buf);
il3945_get_measurement(il, &params, type);
return count;
}
-static DEVICE_ATTR(measurement, S_IRUSR | S_IWUSR,
- il3945_show_measurement, il3945_store_measurement);
+static DEVICE_ATTR(measurement, S_IRUSR | S_IWUSR, il3945_show_measurement,
+ il3945_store_measurement);
-static ssize_t il3945_store_retry_rate(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_store_retry_rate(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
@@ -3353,8 +3328,9 @@ static ssize_t il3945_store_retry_rate(struct device *d,
return count;
}
-static ssize_t il3945_show_retry_rate(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_retry_rate(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
return sprintf(buf, "%d", il->retry_rate);
@@ -3363,9 +3339,8 @@ static ssize_t il3945_show_retry_rate(struct device *d,
static DEVICE_ATTR(retry_rate, S_IWUSR | S_IRUSR, il3945_show_retry_rate,
il3945_store_retry_rate);
-
-static ssize_t il3945_show_channels(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_channels(struct device *d, struct device_attribute *attr, char *buf)
{
/* all this shit doesn't belong into sysfs anyway */
return 0;
@@ -3373,8 +3348,8 @@ static ssize_t il3945_show_channels(struct device *d,
static DEVICE_ATTR(channels, S_IRUSR, il3945_show_channels, NULL);
-static ssize_t il3945_show_antenna(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_antenna(struct device *d, struct device_attribute *attr, char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
@@ -3384,9 +3359,9 @@ static ssize_t il3945_show_antenna(struct device *d,
return sprintf(buf, "%d\n", il3945_mod_params.antenna);
}
-static ssize_t il3945_store_antenna(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_store_antenna(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il __maybe_unused = dev_get_drvdata(d);
int ant;
@@ -3405,14 +3380,14 @@ static ssize_t il3945_store_antenna(struct device *d,
} else
D_INFO("Bad antenna select value %d.\n", ant);
-
return count;
}
-static DEVICE_ATTR(antenna, S_IWUSR | S_IRUGO, il3945_show_antenna, il3945_store_antenna);
+static DEVICE_ATTR(antenna, S_IWUSR | S_IRUGO, il3945_show_antenna,
+ il3945_store_antenna);
-static ssize_t il3945_show_status(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il3945_show_status(struct device *d, struct device_attribute *attr, char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
if (!il_is_alive(il))
@@ -3422,9 +3397,9 @@ static ssize_t il3945_show_status(struct device *d,
static DEVICE_ATTR(status, S_IRUGO, il3945_show_status, NULL);
-static ssize_t il3945_dump_error_log(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il3945_dump_error_log(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
char *p = (char *)buf;
@@ -3443,7 +3418,8 @@ static DEVICE_ATTR(dump_errors, S_IWUSR, NULL, il3945_dump_error_log);
*
*****************************************************************************/
-static void il3945_setup_deferred_work(struct il_priv *il)
+static void
+il3945_setup_deferred_work(struct il_priv *il)
{
il->workqueue = create_singlethread_workqueue(DRV_NAME);
@@ -3463,11 +3439,13 @@ static void il3945_setup_deferred_work(struct il_priv *il)
il->watchdog.data = (unsigned long)il;
il->watchdog.function = il_bg_watchdog;
- tasklet_init(&il->irq_tasklet, (void (*)(unsigned long))
- il3945_irq_tasklet, (unsigned long)il);
+ tasklet_init(&il->irq_tasklet,
+ (void (*)(unsigned long))il3945_irq_tasklet,
+ (unsigned long)il);
}
-static void il3945_cancel_deferred_work(struct il_priv *il)
+static void
+il3945_cancel_deferred_work(struct il_priv *il)
{
il3945_hw_cancel_deferred_work(il);
@@ -3518,7 +3496,8 @@ struct ieee80211_ops il3945_hw_ops = {
.tx_last_beacon = il_mac_tx_last_beacon,
};
-static int il3945_init_drv(struct il_priv *il)
+static int
+il3945_init_drv(struct il_priv *il)
{
int ret;
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
@@ -3545,7 +3524,7 @@ static int il3945_init_drv(struct il_priv *il)
if (eeprom->version < EEPROM_3945_EEPROM_VERSION) {
IL_WARN("Unsupported EEPROM version: 0x%04X\n",
- eeprom->version);
+ eeprom->version);
ret = -EINVAL;
goto err;
}
@@ -3578,7 +3557,8 @@ err:
#define IL3945_MAX_PROBE_REQUEST 200
-static int il3945_setup_mac(struct il_priv *il)
+static int
+il3945_setup_mac(struct il_priv *il)
{
int ret;
struct ieee80211_hw *hw = il->hw;
@@ -3588,15 +3568,13 @@ static int il3945_setup_mac(struct il_priv *il)
hw->vif_data_size = sizeof(struct il_vif_priv);
/* Tell mac80211 our characteristics */
- hw->flags = IEEE80211_HW_SIGNAL_DBM |
- IEEE80211_HW_SPECTRUM_MGMT;
+ hw->flags = IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SPECTRUM_MGMT;
- hw->wiphy->interface_modes =
- il->ctx.interface_modes;
+ hw->wiphy->interface_modes = il->ctx.interface_modes;
- hw->wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY |
- WIPHY_FLAG_DISABLE_BEACON_HINTS |
- WIPHY_FLAG_IBSS_RSN;
+ hw->wiphy->flags |=
+ WIPHY_FLAG_CUSTOM_REGULATORY | WIPHY_FLAG_DISABLE_BEACON_HINTS |
+ WIPHY_FLAG_IBSS_RSN;
hw->wiphy->max_scan_ssids = PROBE_OPTION_MAX_3945;
/* we create the 802.11 header and a zero-length SSID element */
@@ -3607,11 +3585,11 @@ static int il3945_setup_mac(struct il_priv *il)
if (il->bands[IEEE80211_BAND_2GHZ].n_channels)
il->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
- &il->bands[IEEE80211_BAND_2GHZ];
+ &il->bands[IEEE80211_BAND_2GHZ];
if (il->bands[IEEE80211_BAND_5GHZ].n_channels)
il->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
- &il->bands[IEEE80211_BAND_5GHZ];
+ &il->bands[IEEE80211_BAND_5GHZ];
il_leds_init(il);
@@ -3625,7 +3603,8 @@ static int il3945_setup_mac(struct il_priv *il)
return 0;
}
-static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
+static int
+il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{
int err = 0;
struct il_priv *il;
@@ -3660,8 +3639,7 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
il->ctx.ap_sta_id = IL_AP_ID;
il->ctx.wep_key_cmd = C_WEPKEY;
il->ctx.interface_modes =
- BIT(NL80211_IFTYPE_STATION) |
- BIT(NL80211_IFTYPE_ADHOC);
+ BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
il->ctx.ibss_devtype = RXON_DEV_TYPE_IBSS;
il->ctx.station_devtype = RXON_DEV_TYPE_ESS;
il->ctx.unused_devtype = RXON_DEV_TYPE_ESS;
@@ -3686,8 +3664,9 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
/***************************
* 2. Initializing PCI bus
* *************************/
- pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
- PCIE_LINK_STATE_CLKPM);
+ pci_disable_link_state(pdev,
+ PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+ PCIE_LINK_STATE_CLKPM);
if (pci_enable_device(pdev)) {
err = -ENODEV;
@@ -3719,7 +3698,7 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
}
D_INFO("pci_resource_len = 0x%08llx\n",
- (unsigned long long) pci_resource_len(pdev, 0));
+ (unsigned long long)pci_resource_len(pdev, 0));
D_INFO("pci_resource_base = %p\n", il->hw_base);
/* We disable the RETRY_TIMEOUT register (0x41) to keep
@@ -3773,8 +3752,7 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
goto out_unset_hw_params;
}
- IL_INFO("Detected Intel Wireless WiFi Link %s\n",
- il->cfg->name);
+ IL_INFO("Detected Intel Wireless WiFi Link %s\n", il->cfg->name);
/***********************
* 7. Setup Services
@@ -3786,8 +3764,7 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
pci_enable_msi(il->pci_dev);
- err = request_irq(il->pci_dev->irq, il_isr,
- IRQF_SHARED, DRV_NAME, il);
+ err = request_irq(il->pci_dev->irq, il_isr, IRQF_SHARED, DRV_NAME, il);
if (err) {
IL_ERR("Error allocating IRQ %d\n", il->pci_dev->irq);
goto out_disable_msi;
@@ -3799,9 +3776,8 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
goto out_release_irq;
}
- il_set_rxon_channel(il,
- &il->bands[IEEE80211_BAND_2GHZ].channels[5],
- &il->ctx);
+ il_set_rxon_channel(il, &il->bands[IEEE80211_BAND_2GHZ].channels[5],
+ &il->ctx);
il3945_setup_deferred_work(il);
il3945_setup_handlers(il);
il_power_initialize(il);
@@ -3814,47 +3790,48 @@ static int il3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *en
err = il3945_setup_mac(il);
if (err)
- goto out_remove_sysfs;
+ goto out_remove_sysfs;
err = il_dbgfs_register(il, DRV_NAME);
if (err)
- IL_ERR("failed to create debugfs files. Ignoring error: %d\n", err);
+ IL_ERR("failed to create debugfs files. Ignoring error: %d\n",
+ err);
/* Start monitoring the killswitch */
- queue_delayed_work(il->workqueue, &il->_3945.rfkill_poll,
- 2 * HZ);
+ queue_delayed_work(il->workqueue, &il->_3945.rfkill_poll, 2 * HZ);
return 0;
- out_remove_sysfs:
+out_remove_sysfs:
destroy_workqueue(il->workqueue);
il->workqueue = NULL;
sysfs_remove_group(&pdev->dev.kobj, &il3945_attribute_group);
- out_release_irq:
+out_release_irq:
free_irq(il->pci_dev->irq, il);
- out_disable_msi:
+out_disable_msi:
pci_disable_msi(il->pci_dev);
il_free_geos(il);
il_free_channel_map(il);
- out_unset_hw_params:
+out_unset_hw_params:
il3945_unset_hw_params(il);
- out_eeprom_free:
+out_eeprom_free:
il_eeprom_free(il);
- out_iounmap:
+out_iounmap:
pci_iounmap(pdev, il->hw_base);
- out_pci_release_regions:
+out_pci_release_regions:
pci_release_regions(pdev);
- out_pci_disable_device:
+out_pci_disable_device:
pci_set_drvdata(pdev, NULL);
pci_disable_device(pdev);
- out_ieee80211_free_hw:
+out_ieee80211_free_hw:
il_free_traffic_mem(il);
ieee80211_free_hw(il->hw);
- out:
+out:
return err;
}
-static void __devexit il3945_pci_remove(struct pci_dev *pdev)
+static void __devexit
+il3945_pci_remove(struct pci_dev *pdev)
{
struct il_priv *il = pci_get_drvdata(pdev);
unsigned long flags;
@@ -3934,7 +3911,6 @@ static void __devexit il3945_pci_remove(struct pci_dev *pdev)
ieee80211_free_hw(il->hw);
}
-
/*****************************************************************************
*
* driver and module entry point
@@ -3949,7 +3925,8 @@ static struct pci_driver il3945_driver = {
.driver.pm = IL_LEGACY_PM_OPS,
};
-static int __init il3945_init(void)
+static int __init
+il3945_init(void)
{
int ret;
@@ -3975,7 +3952,8 @@ error_register:
return ret;
}
-static void __exit il3945_exit(void)
+static void __exit
+il3945_exit(void)
{
pci_unregister_driver(&il3945_driver);
il3945_rate_control_unregister();
@@ -3986,10 +3964,9 @@ MODULE_FIRMWARE(IL3945_MODULE_FIRMWARE(IL3945_UCODE_API_MAX));
module_param_named(antenna, il3945_mod_params.antenna, int, S_IRUGO);
MODULE_PARM_DESC(antenna, "select antenna (1=Main, 2=Aux, default 0 [both])");
module_param_named(swcrypto, il3945_mod_params.sw_crypto, int, S_IRUGO);
-MODULE_PARM_DESC(swcrypto,
- "using software crypto (default 1 [software])");
-module_param_named(disable_hw_scan, il3945_mod_params.disable_hw_scan,
- int, S_IRUGO);
+MODULE_PARM_DESC(swcrypto, "using software crypto (default 1 [software])");
+module_param_named(disable_hw_scan, il3945_mod_params.disable_hw_scan, int,
+ S_IRUGO);
MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 1)");
#ifdef CONFIG_IWLEGACY_DEBUG
module_param_named(debug, il_debug_level, uint, S_IRUGO | S_IWUSR);
diff --git a/drivers/net/wireless/iwlegacy/3945-rs.c b/drivers/net/wireless/iwlegacy/3945-rs.c
index dc0dfdd520a..3420b1c0ee0 100644
--- a/drivers/net/wireless/iwlegacy/3945-rs.c
+++ b/drivers/net/wireless/iwlegacy/3945-rs.c
@@ -97,7 +97,8 @@ static struct il3945_tpt_entry il3945_tpt_table_g[] = {
#define RATE_DECREASE_TH 1920
#define RATE_RETRY_TH 15
-static u8 il3945_get_rate_idx_by_rssi(s32 rssi, enum ieee80211_band band)
+static u8
+il3945_get_rate_idx_by_rssi(s32 rssi, enum ieee80211_band band)
{
u32 idx = 0;
u32 table_size = 0;
@@ -130,7 +131,8 @@ static u8 il3945_get_rate_idx_by_rssi(s32 rssi, enum ieee80211_band band)
return tpt_table[idx].idx;
}
-static void il3945_clear_win(struct il3945_rate_scale_data *win)
+static void
+il3945_clear_win(struct il3945_rate_scale_data *win)
{
win->data = 0;
win->success_counter = 0;
@@ -147,7 +149,8 @@ static void il3945_clear_win(struct il3945_rate_scale_data *win)
* not flushed. If there were any that were not flushed, then
* reschedule the rate flushing routine.
*/
-static int il3945_rate_scale_flush_wins(struct il3945_rs_sta *rs_sta)
+static int
+il3945_rate_scale_flush_wins(struct il3945_rs_sta *rs_sta)
{
int unflushed = 0;
int i;
@@ -164,11 +167,9 @@ static int il3945_rate_scale_flush_wins(struct il3945_rs_sta *rs_sta)
continue;
spin_lock_irqsave(&rs_sta->lock, flags);
- if (time_after(jiffies, rs_sta->win[i].stamp +
- RATE_WIN_FLUSH)) {
- D_RATE("flushing %d samples of rate "
- "idx %d\n",
- rs_sta->win[i].counter, i);
+ if (time_after(jiffies, rs_sta->win[i].stamp + RATE_WIN_FLUSH)) {
+ D_RATE("flushing %d samples of rate " "idx %d\n",
+ rs_sta->win[i].counter, i);
il3945_clear_win(&rs_sta->win[i]);
} else
unflushed++;
@@ -182,7 +183,8 @@ static int il3945_rate_scale_flush_wins(struct il3945_rs_sta *rs_sta)
#define RATE_FLUSH_MIN 50 /* msec */
#define IL_AVERAGE_PACKETS 1500
-static void il3945_bg_rate_scale_flush(unsigned long data)
+static void
+il3945_bg_rate_scale_flush(unsigned long data)
{
struct il3945_rs_sta *rs_sta = (void *)data;
struct il_priv *il __maybe_unused = rs_sta->il;
@@ -205,8 +207,7 @@ static void il3945_bg_rate_scale_flush(unsigned long data)
duration =
jiffies_to_msecs(jiffies - rs_sta->last_partial_flush);
- D_RATE("Tx'd %d packets in %dms\n",
- packet_count, duration);
+ D_RATE("Tx'd %d packets in %dms\n", packet_count, duration);
/* Determine packets per second */
if (duration)
@@ -225,11 +226,11 @@ static void il3945_bg_rate_scale_flush(unsigned long data)
rs_sta->flush_time = msecs_to_jiffies(duration);
- D_RATE("new flush period: %d msec ave %d\n",
- duration, packet_count);
+ D_RATE("new flush period: %d msec ave %d\n", duration,
+ packet_count);
- mod_timer(&rs_sta->rate_scale_flush, jiffies +
- rs_sta->flush_time);
+ mod_timer(&rs_sta->rate_scale_flush,
+ jiffies + rs_sta->flush_time);
rs_sta->last_partial_flush = jiffies;
} else {
@@ -253,9 +254,10 @@ static void il3945_bg_rate_scale_flush(unsigned long data)
* at this rate. win->data contains the bitmask of successful
* packets.
*/
-static void il3945_collect_tx_data(struct il3945_rs_sta *rs_sta,
- struct il3945_rate_scale_data *win,
- int success, int retries, int idx)
+static void
+il3945_collect_tx_data(struct il3945_rs_sta *rs_sta,
+ struct il3945_rate_scale_data *win, int success,
+ int retries, int idx)
{
unsigned long flags;
s32 fail_count;
@@ -306,8 +308,8 @@ static void il3945_collect_tx_data(struct il3945_rs_sta *rs_sta,
/* Calculate current success ratio, avoid divide-by-0! */
if (win->counter > 0)
- win->success_ratio = 128 * (100 * win->success_counter)
- / win->counter;
+ win->success_ratio =
+ 128 * (100 * win->success_counter) / win->counter;
else
win->success_ratio = IL_INVALID_VALUE;
@@ -316,8 +318,9 @@ static void il3945_collect_tx_data(struct il3945_rs_sta *rs_sta,
/* Calculate average throughput, if we have enough history. */
if (fail_count >= RATE_MIN_FAILURE_TH ||
win->success_counter >= RATE_MIN_SUCCESS_TH)
- win->average_tpt = ((win->success_ratio *
- rs_sta->expected_tpt[idx] + 64) / 128);
+ win->average_tpt =
+ ((win->success_ratio * rs_sta->expected_tpt[idx] +
+ 64) / 128);
else
win->average_tpt = IL_INVALID_VALUE;
@@ -331,7 +334,8 @@ static void il3945_collect_tx_data(struct il3945_rs_sta *rs_sta,
/*
* Called after adding a new station to initialize rate scaling
*/
-void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_id)
+void
+il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_id)
{
struct ieee80211_hw *hw = il->hw;
struct ieee80211_conf *conf = &il->hw->conf;
@@ -344,7 +348,7 @@ void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_i
if (sta_id == il->ctx.bcast_sta_id)
goto out;
- psta = (struct il3945_sta_priv *) sta->drv_priv;
+ psta = (struct il3945_sta_priv *)sta->drv_priv;
rs_sta = &psta->rs_sta;
sband = hw->wiphy->bands[conf->channel->band];
@@ -382,8 +386,8 @@ void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_i
/* For 5 GHz band it start at IL_FIRST_OFDM_RATE */
if (sband->band == IEEE80211_BAND_5GHZ) {
rs_sta->last_txrate_idx += IL_FIRST_OFDM_RATE;
- il->_3945.sta_supp_rates = il->_3945.sta_supp_rates <<
- IL_FIRST_OFDM_RATE;
+ il->_3945.sta_supp_rates =
+ il->_3945.sta_supp_rates << IL_FIRST_OFDM_RATE;
}
out:
@@ -392,21 +396,24 @@ out:
D_INFO("leave\n");
}
-static void *il3945_rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
+static void *
+il3945_rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
{
return hw->priv;
}
/* rate scale requires free function to be implemented */
-static void il3945_rs_free(void *il)
+static void
+il3945_rs_free(void *il)
{
return;
}
-static void *il3945_rs_alloc_sta(void *il_priv, struct ieee80211_sta *sta, gfp_t gfp)
+static void *
+il3945_rs_alloc_sta(void *il_priv, struct ieee80211_sta *sta, gfp_t gfp)
{
struct il3945_rs_sta *rs_sta;
- struct il3945_sta_priv *psta = (void *) sta->drv_priv;
+ struct il3945_sta_priv *psta = (void *)sta->drv_priv;
struct il_priv *il __maybe_unused = il_priv;
D_RATE("enter\n");
@@ -421,8 +428,8 @@ static void *il3945_rs_alloc_sta(void *il_priv, struct ieee80211_sta *sta, gfp_t
return rs_sta;
}
-static void il3945_rs_free_sta(void *il_priv, struct ieee80211_sta *sta,
- void *il_sta)
+static void
+il3945_rs_free_sta(void *il_priv, struct ieee80211_sta *sta, void *il_sta)
{
struct il3945_rs_sta *rs_sta = il_sta;
@@ -434,16 +441,16 @@ static void il3945_rs_free_sta(void *il_priv, struct ieee80211_sta *sta,
del_timer_sync(&rs_sta->rate_scale_flush);
}
-
/**
* il3945_rs_tx_status - Update rate control values based on Tx results
*
* NOTE: Uses il_priv->retry_rate for the # of retries attempted by
* the hardware for each rate.
*/
-static void il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *sband,
- struct ieee80211_sta *sta, void *il_sta,
- struct sk_buff *skb)
+static void
+il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *sband,
+ struct ieee80211_sta *sta, void *il_sta,
+ struct sk_buff *skb)
{
s8 retries = 0, current_count;
int scale_rate_idx, first_idx, last_idx;
@@ -476,7 +483,6 @@ static void il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *
return;
}
-
rs_sta->tx_packets++;
scale_rate_idx = first_idx;
@@ -498,32 +504,27 @@ static void il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *
last_idx = scale_rate_idx;
} else {
current_count = il->retry_rate;
- last_idx = il3945_rs_next_rate(il,
- scale_rate_idx);
+ last_idx = il3945_rs_next_rate(il, scale_rate_idx);
}
/* Update this rate accounting for as many retries
* as was used for it (per current_count) */
- il3945_collect_tx_data(rs_sta,
- &rs_sta->win[scale_rate_idx],
- 0, current_count, scale_rate_idx);
- D_RATE("Update rate %d for %d retries.\n",
- scale_rate_idx, current_count);
+ il3945_collect_tx_data(rs_sta, &rs_sta->win[scale_rate_idx], 0,
+ current_count, scale_rate_idx);
+ D_RATE("Update rate %d for %d retries.\n", scale_rate_idx,
+ current_count);
retries -= current_count;
scale_rate_idx = last_idx;
}
-
/* Update the last idx win with success/failure based on ACK */
- D_RATE("Update rate %d with %s.\n",
- last_idx,
- (info->flags & IEEE80211_TX_STAT_ACK) ?
- "success" : "failure");
- il3945_collect_tx_data(rs_sta,
- &rs_sta->win[last_idx],
- info->flags & IEEE80211_TX_STAT_ACK, 1, last_idx);
+ D_RATE("Update rate %d with %s.\n", last_idx,
+ (info->flags & IEEE80211_TX_STAT_ACK) ? "success" : "failure");
+ il3945_collect_tx_data(rs_sta, &rs_sta->win[last_idx],
+ info->flags & IEEE80211_TX_STAT_ACK, 1,
+ last_idx);
/* We updated the rate scale win -- if its been more than
* flush_time since the last run, schedule the flush
@@ -531,8 +532,7 @@ static void il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *
spin_lock_irqsave(&rs_sta->lock, flags);
if (!rs_sta->flush_pending &&
- time_after(jiffies, rs_sta->last_flush +
- rs_sta->flush_time)) {
+ time_after(jiffies, rs_sta->last_flush + rs_sta->flush_time)) {
rs_sta->last_partial_flush = jiffies;
rs_sta->flush_pending = 1;
@@ -545,8 +545,9 @@ static void il3945_rs_tx_status(void *il_rate, struct ieee80211_supported_band *
D_RATE("leave\n");
}
-static u16 il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta,
- u8 idx, u16 rate_mask, enum ieee80211_band band)
+static u16
+il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta, u8 idx, u16 rate_mask,
+ enum ieee80211_band band)
{
u8 high = RATE_INVALID;
u8 low = RATE_INVALID;
@@ -569,8 +570,7 @@ static u16 il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta,
/* Find the next rate that is in the rate mask */
i = idx + 1;
- for (mask = (1 << i); i < RATE_COUNT_3945;
- i++, mask <<= 1) {
+ for (mask = (1 << i); i < RATE_COUNT_3945; i++, mask <<= 1) {
if (rate_mask & mask) {
high = i;
break;
@@ -625,8 +625,9 @@ static u16 il3945_get_adjacent_rate(struct il3945_rs_sta *rs_sta,
* rate table and must reference the driver allocated rate table
*
*/
-static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
- void *il_sta, struct ieee80211_tx_rate_control *txrc)
+static void
+il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
+ struct ieee80211_tx_rate_control *txrc)
{
struct ieee80211_supported_band *sband = txrc->sband;
struct sk_buff *skb = txrc->skb;
@@ -679,7 +680,7 @@ static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
*/
if (rs_sta->start_rate != RATE_INVALID) {
if (rs_sta->start_rate < idx &&
- (rate_mask & (1 << rs_sta->start_rate)))
+ (rate_mask & (1 << rs_sta->start_rate)))
idx = rs_sta->start_rate;
rs_sta->start_rate = RATE_INVALID;
}
@@ -699,14 +700,12 @@ static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
spin_unlock_irqrestore(&rs_sta->lock, flags);
D_RATE("Invalid average_tpt on rate %d: "
- "counter: %d, success_counter: %d, "
- "expected_tpt is %sNULL\n",
- idx,
- win->counter,
- win->success_counter,
- rs_sta->expected_tpt ? "not " : "");
-
- /* Can't calculate this yet; not enough history */
+ "counter: %d, success_counter: %d, "
+ "expected_tpt is %sNULL\n", idx, win->counter,
+ win->success_counter,
+ rs_sta->expected_tpt ? "not " : "");
+
+ /* Can't calculate this yet; not enough history */
win->average_tpt = IL_INVALID_VALUE;
goto out;
@@ -714,8 +713,8 @@ static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
current_tpt = win->average_tpt;
- high_low = il3945_get_adjacent_rate(rs_sta, idx, rate_mask,
- sband->band);
+ high_low =
+ il3945_get_adjacent_rate(rs_sta, idx, rate_mask, sband->band);
low = high_low & 0xff;
high = (high_low >> 8) & 0xff;
@@ -738,46 +737,42 @@ static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
if (win->success_ratio < RATE_DECREASE_TH || !current_tpt) {
D_RATE("decrease rate because of low success_ratio\n");
scale_action = -1;
- /* No throughput measured yet for adjacent rates,
- * try increase */
- } else if (low_tpt == IL_INVALID_VALUE &&
- high_tpt == IL_INVALID_VALUE) {
+ /* No throughput measured yet for adjacent rates,
+ * try increase */
+ } else if (low_tpt == IL_INVALID_VALUE && high_tpt == IL_INVALID_VALUE) {
- if (high != RATE_INVALID && win->success_ratio >= RATE_INCREASE_TH)
+ if (high != RATE_INVALID &&
+ win->success_ratio >= RATE_INCREASE_TH)
scale_action = 1;
else if (low != RATE_INVALID)
scale_action = 0;
- /* Both adjacent throughputs are measured, but neither one has
- * better throughput; we're using the best rate, don't change
- * it! */
- } else if (low_tpt != IL_INVALID_VALUE &&
- high_tpt != IL_INVALID_VALUE &&
- low_tpt < current_tpt && high_tpt < current_tpt) {
+ /* Both adjacent throughputs are measured, but neither one has
+ * better throughput; we're using the best rate, don't change
+ * it! */
+ } else if (low_tpt != IL_INVALID_VALUE && high_tpt != IL_INVALID_VALUE
+ && low_tpt < current_tpt && high_tpt < current_tpt) {
D_RATE("No action -- low [%d] & high [%d] < "
- "current_tpt [%d]\n",
- low_tpt, high_tpt, current_tpt);
+ "current_tpt [%d]\n", low_tpt, high_tpt, current_tpt);
scale_action = 0;
- /* At least one of the rates has better throughput */
+ /* At least one of the rates has better throughput */
} else {
if (high_tpt != IL_INVALID_VALUE) {
/* High rate has better throughput, Increase
* rate */
if (high_tpt > current_tpt &&
- win->success_ratio >= RATE_INCREASE_TH)
+ win->success_ratio >= RATE_INCREASE_TH)
scale_action = 1;
else {
- D_RATE(
- "decrease rate because of high tpt\n");
+ D_RATE("decrease rate because of high tpt\n");
scale_action = 0;
}
} else if (low_tpt != IL_INVALID_VALUE) {
if (low_tpt > current_tpt) {
- D_RATE(
- "decrease rate because of low tpt\n");
+ D_RATE("decrease rate because of low tpt\n");
scale_action = -1;
} else if (win->success_ratio >= RATE_INCREASE_TH) {
/* Lower rate has better
@@ -815,10 +810,10 @@ static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
break;
}
- D_RATE("Selected %d (action %d) - low %d high %d\n",
- idx, scale_action, low, high);
+ D_RATE("Selected %d (action %d) - low %d high %d\n", idx, scale_action,
+ low, high);
- out:
+out:
if (sband->band == IEEE80211_BAND_5GHZ) {
if (WARN_ON_ONCE(idx < IL_FIRST_OFDM_RATE))
@@ -834,15 +829,16 @@ static void il3945_rs_get_rate(void *il_r, struct ieee80211_sta *sta,
}
#ifdef CONFIG_MAC80211_DEBUGFS
-static int il3945_open_file_generic(struct inode *inode, struct file *file)
+static int
+il3945_open_file_generic(struct inode *inode, struct file *file)
{
file->private_data = inode->i_private;
return 0;
}
-static ssize_t il3945_sta_dbgfs_stats_table_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il3945_sta_dbgfs_stats_table_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
char *buff;
int desc = 0;
@@ -854,17 +850,18 @@ static ssize_t il3945_sta_dbgfs_stats_table_read(struct file *file,
if (!buff)
return -ENOMEM;
- desc += sprintf(buff + desc, "tx packets=%d last rate idx=%d\n"
- "rate=0x%X flush time %d\n",
- lq_sta->tx_packets,
- lq_sta->last_txrate_idx,
- lq_sta->start_rate, jiffies_to_msecs(lq_sta->flush_time));
+ desc +=
+ sprintf(buff + desc,
+ "tx packets=%d last rate idx=%d\n"
+ "rate=0x%X flush time %d\n", lq_sta->tx_packets,
+ lq_sta->last_txrate_idx, lq_sta->start_rate,
+ jiffies_to_msecs(lq_sta->flush_time));
for (j = 0; j < RATE_COUNT_3945; j++) {
- desc += sprintf(buff+desc,
- "counter=%d success=%d %%=%d\n",
- lq_sta->win[j].counter,
- lq_sta->win[j].success_counter,
- lq_sta->win[j].success_ratio);
+ desc +=
+ sprintf(buff + desc, "counter=%d success=%d %%=%d\n",
+ lq_sta->win[j].counter,
+ lq_sta->win[j].success_counter,
+ lq_sta->win[j].success_ratio);
}
ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
kfree(buff);
@@ -877,18 +874,19 @@ static const struct file_operations rs_sta_dbgfs_stats_table_ops = {
.llseek = default_llseek,
};
-static void il3945_add_debugfs(void *il, void *il_sta,
- struct dentry *dir)
+static void
+il3945_add_debugfs(void *il, void *il_sta, struct dentry *dir)
{
struct il3945_rs_sta *lq_sta = il_sta;
lq_sta->rs_sta_dbgfs_stats_table_file =
- debugfs_create_file("rate_stats_table", 0600, dir,
- lq_sta, &rs_sta_dbgfs_stats_table_ops);
+ debugfs_create_file("rate_stats_table", 0600, dir, lq_sta,
+ &rs_sta_dbgfs_stats_table_ops);
}
-static void il3945_remove_debugfs(void *il, void *il_sta)
+static void
+il3945_remove_debugfs(void *il, void *il_sta)
{
struct il3945_rs_sta *lq_sta = il_sta;
debugfs_remove(lq_sta->rs_sta_dbgfs_stats_table_file);
@@ -900,9 +898,9 @@ static void il3945_remove_debugfs(void *il, void *il_sta)
* the station is added. Since mac80211 calls this function before a
* station is added we ignore it.
*/
-static void il3945_rs_rate_init_stub(void *il_r,
- struct ieee80211_supported_band *sband,
- struct ieee80211_sta *sta, void *il_sta)
+static void
+il3945_rs_rate_init_stub(void *il_r, struct ieee80211_supported_band *sband,
+ struct ieee80211_sta *sta, void *il_sta)
{
}
@@ -922,7 +920,9 @@ static struct rate_control_ops rs_ops = {
#endif
};
-void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
+
+void
+il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
{
struct il_priv *il = hw->priv;
s32 rssi = 0;
@@ -935,15 +935,15 @@ void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
rcu_read_lock();
- sta = ieee80211_find_sta(il->ctx.vif,
- il->stations[sta_id].sta.sta.addr);
+ sta =
+ ieee80211_find_sta(il->ctx.vif, il->stations[sta_id].sta.sta.addr);
if (!sta) {
D_RATE("Unable to find station to initialize rate scaling.\n");
rcu_read_unlock();
return;
}
- psta = (void *) sta->drv_priv;
+ psta = (void *)sta->drv_priv;
rs_sta = &psta->rs_sta;
spin_lock_irqsave(&rs_sta->lock, flags);
@@ -952,8 +952,7 @@ void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
switch (il->band) {
case IEEE80211_BAND_2GHZ:
/* TODO: this always does G, not a regression */
- if (il->ctx.active.flags &
- RXON_FLG_TGG_PROTECT_MSK) {
+ if (il->ctx.active.flags & RXON_FLG_TGG_PROTECT_MSK) {
rs_sta->tgg = 1;
rs_sta->expected_tpt = il3945_expected_tpt_g_prot;
} else
@@ -978,18 +977,19 @@ void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id)
rs_sta->start_rate = il3945_get_rate_idx_by_rssi(rssi, il->band);
- D_RATE("leave: rssi %d assign rate idx: "
- "%d (plcp 0x%x)\n", rssi, rs_sta->start_rate,
- il3945_rates[rs_sta->start_rate].plcp);
+ D_RATE("leave: rssi %d assign rate idx: " "%d (plcp 0x%x)\n", rssi,
+ rs_sta->start_rate, il3945_rates[rs_sta->start_rate].plcp);
rcu_read_unlock();
}
-int il3945_rate_control_register(void)
+int
+il3945_rate_control_register(void)
{
return ieee80211_rate_control_register(&rs_ops);
}
-void il3945_rate_control_unregister(void)
+void
+il3945_rate_control_unregister(void)
{
ieee80211_rate_control_unregister(&rs_ops);
}
diff --git a/drivers/net/wireless/iwlegacy/3945.c b/drivers/net/wireless/iwlegacy/3945.c
index b1ced05ab3d..7f0b9f56f4b 100644
--- a/drivers/net/wireless/iwlegacy/3945.c
+++ b/drivers/net/wireless/iwlegacy/3945.c
@@ -43,8 +43,8 @@
#include "3945.h"
/* Send led command */
-static int il3945_send_led_cmd(struct il_priv *il,
- struct il_led_cmd *led_cmd)
+static int
+il3945_send_led_cmd(struct il_priv *il, struct il_led_cmd *led_cmd)
{
struct il_host_cmd cmd = {
.id = C_LEDS,
@@ -82,21 +82,22 @@ const struct il_led_ops il3945_led_ops = {
*
*/
const struct il3945_rate_info il3945_rates[RATE_COUNT_3945] = {
- IL_DECLARE_RATE_INFO(1, INV, 2, INV, 2, INV, 2), /* 1mbps */
- IL_DECLARE_RATE_INFO(2, 1, 5, 1, 5, 1, 5), /* 2mbps */
- IL_DECLARE_RATE_INFO(5, 2, 6, 2, 11, 2, 11), /*5.5mbps */
- IL_DECLARE_RATE_INFO(11, 9, 12, 5, 12, 5, 18), /* 11mbps */
- IL_DECLARE_RATE_INFO(6, 5, 9, 5, 11, 5, 11), /* 6mbps */
- IL_DECLARE_RATE_INFO(9, 6, 11, 5, 11, 5, 11), /* 9mbps */
- IL_DECLARE_RATE_INFO(12, 11, 18, 11, 18, 11, 18), /* 12mbps */
- IL_DECLARE_RATE_INFO(18, 12, 24, 12, 24, 11, 24), /* 18mbps */
- IL_DECLARE_RATE_INFO(24, 18, 36, 18, 36, 18, 36), /* 24mbps */
- IL_DECLARE_RATE_INFO(36, 24, 48, 24, 48, 24, 48), /* 36mbps */
- IL_DECLARE_RATE_INFO(48, 36, 54, 36, 54, 36, 54), /* 48mbps */
- IL_DECLARE_RATE_INFO(54, 48, INV, 48, INV, 48, INV),/* 54mbps */
+ IL_DECLARE_RATE_INFO(1, INV, 2, INV, 2, INV, 2), /* 1mbps */
+ IL_DECLARE_RATE_INFO(2, 1, 5, 1, 5, 1, 5), /* 2mbps */
+ IL_DECLARE_RATE_INFO(5, 2, 6, 2, 11, 2, 11), /*5.5mbps */
+ IL_DECLARE_RATE_INFO(11, 9, 12, 5, 12, 5, 18), /* 11mbps */
+ IL_DECLARE_RATE_INFO(6, 5, 9, 5, 11, 5, 11), /* 6mbps */
+ IL_DECLARE_RATE_INFO(9, 6, 11, 5, 11, 5, 11), /* 9mbps */
+ IL_DECLARE_RATE_INFO(12, 11, 18, 11, 18, 11, 18), /* 12mbps */
+ IL_DECLARE_RATE_INFO(18, 12, 24, 12, 24, 11, 24), /* 18mbps */
+ IL_DECLARE_RATE_INFO(24, 18, 36, 18, 36, 18, 36), /* 24mbps */
+ IL_DECLARE_RATE_INFO(36, 24, 48, 24, 48, 24, 48), /* 36mbps */
+ IL_DECLARE_RATE_INFO(48, 36, 54, 36, 54, 36, 54), /* 48mbps */
+ IL_DECLARE_RATE_INFO(54, 48, INV, 48, INV, 48, INV), /* 54mbps */
};
-static inline u8 il3945_get_prev_ieee_rate(u8 rate_idx)
+static inline u8
+il3945_get_prev_ieee_rate(u8 rate_idx)
{
u8 rate = il3945_rates[rate_idx].prev_ieee;
@@ -118,7 +119,8 @@ static inline u8 il3945_get_prev_ieee_rate(u8 rate_idx)
* Use for only special debugging. This function is just a placeholder as-is,
* you'll need to provide the special bits! ...
* ... and set IL_EVT_DISABLE to 1. */
-void il3945_disable_events(struct il_priv *il)
+void
+il3945_disable_events(struct il_priv *il)
{
int i;
u32 base; /* SRAM address of event log header */
@@ -185,22 +187,22 @@ void il3945_disable_events(struct il_priv *il)
if (IL_EVT_DISABLE && array_size == IL_EVT_DISABLE_SIZE) {
D_INFO("Disabling selected uCode log events at 0x%x\n",
- disable_ptr);
+ disable_ptr);
for (i = 0; i < IL_EVT_DISABLE_SIZE; i++)
- il_write_targ_mem(il,
- disable_ptr + (i * sizeof(u32)),
- evt_disable[i]);
+ il_write_targ_mem(il, disable_ptr + (i * sizeof(u32)),
+ evt_disable[i]);
} else {
D_INFO("Selected uCode log events may be disabled\n");
D_INFO(" by writing \"1\"s into disable bitmap\n");
- D_INFO(" in SRAM at 0x%x, size %d u32s\n",
- disable_ptr, array_size);
+ D_INFO(" in SRAM at 0x%x, size %d u32s\n", disable_ptr,
+ array_size);
}
}
-static int il3945_hwrate_to_plcp_idx(u8 plcp)
+static int
+il3945_hwrate_to_plcp_idx(u8 plcp)
{
int idx;
@@ -213,7 +215,8 @@ static int il3945_hwrate_to_plcp_idx(u8 plcp)
#ifdef CONFIG_IWLEGACY_DEBUG
#define TX_STATUS_ENTRY(x) case TX_3945_STATUS_FAIL_ ## x: return #x
-static const char *il3945_get_tx_fail_reason(u32 status)
+static const char *
+il3945_get_tx_fail_reason(u32 status)
{
switch (status & TX_STATUS_MSK) {
case TX_3945_STATUS_SUCCESS:
@@ -239,7 +242,8 @@ static const char *il3945_get_tx_fail_reason(u32 status)
return "UNKNOWN";
}
#else
-static inline const char *il3945_get_tx_fail_reason(u32 status)
+static inline const char *
+il3945_get_tx_fail_reason(u32 status)
{
return "";
}
@@ -250,7 +254,8 @@ static inline const char *il3945_get_tx_fail_reason(u32 status)
* for A and B mode we need to overright prev
* value
*/
-int il3945_rs_next_rate(struct il_priv *il, int rate)
+int
+il3945_rs_next_rate(struct il_priv *il, int rate)
{
int next_rate = il3945_get_prev_ieee_rate(rate);
@@ -276,7 +281,6 @@ int il3945_rs_next_rate(struct il_priv *il, int rate)
return next_rate;
}
-
/**
* il3945_tx_queue_reclaim - Reclaim Tx queue entries already Tx'd
*
@@ -284,8 +288,8 @@ int il3945_rs_next_rate(struct il_priv *il, int rate)
* need to be reclaimed. As result, some free space forms. If there is
* enough free space (> low mark), wake the stack that feeds us.
*/
-static void il3945_tx_queue_reclaim(struct il_priv *il,
- int txq_id, int idx)
+static void
+il3945_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx)
{
struct il_tx_queue *txq = &il->txq[txq_id];
struct il_queue *q = &txq->q;
@@ -293,9 +297,8 @@ static void il3945_tx_queue_reclaim(struct il_priv *il,
BUG_ON(txq_id == IL39_CMD_QUEUE_NUM);
- for (idx = il_queue_inc_wrap(idx, q->n_bd);
- q->read_ptr != idx;
- q->read_ptr = il_queue_inc_wrap(q->read_ptr, q->n_bd)) {
+ for (idx = il_queue_inc_wrap(idx, q->n_bd); q->read_ptr != idx;
+ q->read_ptr = il_queue_inc_wrap(q->read_ptr, q->n_bd)) {
tx_info = &txq->txb[txq->q.read_ptr];
ieee80211_tx_status_irqsafe(il->hw, tx_info->skb);
@@ -311,8 +314,8 @@ static void il3945_tx_queue_reclaim(struct il_priv *il,
/**
* il3945_hdl_tx - Handle Tx response
*/
-static void il3945_hdl_tx(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il3945_hdl_tx(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
u16 sequence = le16_to_cpu(pkt->hdr.sequence);
@@ -321,15 +324,14 @@ static void il3945_hdl_tx(struct il_priv *il,
struct il_tx_queue *txq = &il->txq[txq_id];
struct ieee80211_tx_info *info;
struct il3945_tx_resp *tx_resp = (void *)&pkt->u.raw[0];
- u32 status = le32_to_cpu(tx_resp->status);
+ u32 status = le32_to_cpu(tx_resp->status);
int rate_idx;
int fail;
if (idx >= txq->q.n_bd || il_queue_used(&txq->q, idx) == 0) {
IL_ERR("Read idx for DMA queue txq_id (%d) idx %d "
- "is out of range [0-%d] %d %d\n", txq_id,
- idx, txq->q.n_bd, txq->q.write_ptr,
- txq->q.read_ptr);
+ "is out of range [0-%d] %d %d\n", txq_id, idx,
+ txq->q.n_bd, txq->q.write_ptr, txq->q.read_ptr);
return;
}
@@ -345,15 +347,16 @@ static void il3945_hdl_tx(struct il_priv *il,
fail = tx_resp->failure_frame;
info->status.rates[0].idx = rate_idx;
- info->status.rates[0].count = fail + 1; /* add final attempt */
+ info->status.rates[0].count = fail + 1; /* add final attempt */
/* tx_status->rts_retry_count = tx_resp->failure_rts; */
- info->flags |= ((status & TX_STATUS_MSK) == TX_STATUS_SUCCESS) ?
- IEEE80211_TX_STAT_ACK : 0;
+ info->flags |=
+ ((status & TX_STATUS_MSK) ==
+ TX_STATUS_SUCCESS) ? IEEE80211_TX_STAT_ACK : 0;
- D_TX("Tx queue %d Status %s (0x%08x) plcp rate %d retries %d\n",
- txq_id, il3945_get_tx_fail_reason(status), status,
- tx_resp->rate, tx_resp->failure_frame);
+ D_TX("Tx queue %d Status %s (0x%08x) plcp rate %d retries %d\n", txq_id,
+ il3945_get_tx_fail_reason(status), status, tx_resp->rate,
+ tx_resp->failure_frame);
D_TX_REPLY("Tx queue reclaim %d\n", idx);
il3945_tx_queue_reclaim(il, txq_id, idx);
@@ -362,8 +365,6 @@ static void il3945_hdl_tx(struct il_priv *il,
IL_ERR("TODO: Implement Tx ABORT REQUIRED!!!\n");
}
-
-
/*****************************************************************************
*
* Intel PRO/Wireless 3945ABG/BG Network Connection
@@ -372,25 +373,26 @@ static void il3945_hdl_tx(struct il_priv *il,
*
*****************************************************************************/
#ifdef CONFIG_IWLEGACY_DEBUGFS
-static void il3945_accumulative_stats(struct il_priv *il,
- __le32 *stats)
+static void
+il3945_accumulative_stats(struct il_priv *il, __le32 * stats)
{
int i;
__le32 *prev_stats;
u32 *accum_stats;
u32 *delta, *max_delta;
- prev_stats = (__le32 *)&il->_3945.stats;
- accum_stats = (u32 *)&il->_3945.accum_stats;
- delta = (u32 *)&il->_3945.delta_stats;
- max_delta = (u32 *)&il->_3945.max_delta;
+ prev_stats = (__le32 *) & il->_3945.stats;
+ accum_stats = (u32 *) & il->_3945.accum_stats;
+ delta = (u32 *) & il->_3945.delta_stats;
+ max_delta = (u32 *) & il->_3945.max_delta;
for (i = sizeof(__le32); i < sizeof(struct il3945_notif_stats);
- i += sizeof(__le32), stats++, prev_stats++, delta++,
- max_delta++, accum_stats++) {
+ i +=
+ sizeof(__le32), stats++, prev_stats++, delta++, max_delta++,
+ accum_stats++) {
if (le32_to_cpu(*stats) > le32_to_cpu(*prev_stats)) {
- *delta = (le32_to_cpu(*stats) -
- le32_to_cpu(*prev_stats));
+ *delta =
+ (le32_to_cpu(*stats) - le32_to_cpu(*prev_stats));
*accum_stats += *delta;
if (*delta > *max_delta)
*max_delta = *delta;
@@ -399,48 +401,47 @@ static void il3945_accumulative_stats(struct il_priv *il,
/* reset accumulative stats for "no-counter" type stats */
il->_3945.accum_stats.general.temperature =
- il->_3945.stats.general.temperature;
+ il->_3945.stats.general.temperature;
il->_3945.accum_stats.general.ttl_timestamp =
- il->_3945.stats.general.ttl_timestamp;
+ il->_3945.stats.general.ttl_timestamp;
}
#endif
-void il3945_hdl_stats(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il3945_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
D_RX("Statistics notification received (%d vs %d).\n",
- (int)sizeof(struct il3945_notif_stats),
- le32_to_cpu(pkt->len_n_flags) & IL_RX_FRAME_SIZE_MSK);
+ (int)sizeof(struct il3945_notif_stats),
+ le32_to_cpu(pkt->len_n_flags) & IL_RX_FRAME_SIZE_MSK);
#ifdef CONFIG_IWLEGACY_DEBUGFS
- il3945_accumulative_stats(il, (__le32 *)&pkt->u.raw);
+ il3945_accumulative_stats(il, (__le32 *) & pkt->u.raw);
#endif
memcpy(&il->_3945.stats, pkt->u.raw, sizeof(il->_3945.stats));
}
-void il3945_hdl_c_stats(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il3945_hdl_c_stats(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
- __le32 *flag = (__le32 *)&pkt->u.raw;
+ __le32 *flag = (__le32 *) & pkt->u.raw;
if (le32_to_cpu(*flag) & UCODE_STATS_CLEAR_MSK) {
#ifdef CONFIG_IWLEGACY_DEBUGFS
memset(&il->_3945.accum_stats, 0,
- sizeof(struct il3945_notif_stats));
+ sizeof(struct il3945_notif_stats));
memset(&il->_3945.delta_stats, 0,
- sizeof(struct il3945_notif_stats));
+ sizeof(struct il3945_notif_stats));
memset(&il->_3945.max_delta, 0,
- sizeof(struct il3945_notif_stats));
+ sizeof(struct il3945_notif_stats));
#endif
D_RX("Statistics have been cleared\n");
}
il3945_hdl_stats(il, rxb);
}
-
/******************************************************************************
*
* Misc. internal state and helper functions
@@ -448,16 +449,16 @@ void il3945_hdl_c_stats(struct il_priv *il,
******************************************************************************/
/* This is necessary only for a number of stats, see the caller. */
-static int il3945_is_network_packet(struct il_priv *il,
- struct ieee80211_hdr *header)
+static int
+il3945_is_network_packet(struct il_priv *il, struct ieee80211_hdr *header)
{
/* Filter incoming packets to determine if they are targeted toward
* this network, discarding packets coming from ourselves */
switch (il->iw_mode) {
- case NL80211_IFTYPE_ADHOC: /* Header: Dest. | Source | BSSID */
+ case NL80211_IFTYPE_ADHOC: /* Header: Dest. | Source | BSSID */
/* packets to our IBSS update information */
return !compare_ether_addr(header->addr3, il->bssid);
- case NL80211_IFTYPE_STATION: /* Header: Dest. | AP{BSSID} | Source */
+ case NL80211_IFTYPE_STATION: /* Header: Dest. | AP{BSSID} | Source */
/* packets to our IBSS update information */
return !compare_ether_addr(header->addr2, il->bssid);
default:
@@ -465,9 +466,9 @@ static int il3945_is_network_packet(struct il_priv *il,
}
}
-static void il3945_pass_packet_to_mac80211(struct il_priv *il,
- struct il_rx_buf *rxb,
- struct ieee80211_rx_status *stats)
+static void
+il3945_pass_packet_to_mac80211(struct il_priv *il, struct il_rx_buf *rxb,
+ struct ieee80211_rx_status *stats)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)IL_RX_DATA(pkt);
@@ -478,16 +479,16 @@ static void il3945_pass_packet_to_mac80211(struct il_priv *il,
__le16 fc = hdr->frame_control;
/* We received data from the HW, so stop the watchdog */
- if (unlikely(len + IL39_RX_FRAME_SIZE >
- PAGE_SIZE << il->hw_params.rx_page_order)) {
+ if (unlikely
+ (len + IL39_RX_FRAME_SIZE >
+ PAGE_SIZE << il->hw_params.rx_page_order)) {
D_DROP("Corruption detected!\n");
return;
}
/* We only process data packets if the interface is open */
if (unlikely(!il->is_open)) {
- D_DROP(
- "Dropping packet while interface is not open.\n");
+ D_DROP("Dropping packet while interface is not open.\n");
return;
}
@@ -498,9 +499,8 @@ static void il3945_pass_packet_to_mac80211(struct il_priv *il,
}
if (!il3945_mod_params.sw_crypto)
- il_set_decrypted_flag(il,
- (struct ieee80211_hdr *)rxb_addr(rxb),
- le32_to_cpu(rx_end->status), stats);
+ il_set_decrypted_flag(il, (struct ieee80211_hdr *)rxb_addr(rxb),
+ le32_to_cpu(rx_end->status), stats);
skb_add_rx_frag(skb, 0, rxb->page,
(void *)rx_hdr->payload - (void *)pkt, len);
@@ -515,8 +515,8 @@ static void il3945_pass_packet_to_mac80211(struct il_priv *il,
#define IL_DELAY_NEXT_SCAN_AFTER_ASSOC (HZ*6)
-static void il3945_hdl_rx(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il3945_hdl_rx(struct il_priv *il, struct il_rx_buf *rxb)
{
struct ieee80211_hdr *header;
struct ieee80211_rx_status rx_status;
@@ -525,23 +525,27 @@ static void il3945_hdl_rx(struct il_priv *il,
struct il3945_rx_frame_hdr *rx_hdr = IL_RX_HDR(pkt);
struct il3945_rx_frame_end *rx_end = IL_RX_END(pkt);
u16 rx_stats_sig_avg __maybe_unused = le16_to_cpu(rx_stats->sig_avg);
- u16 rx_stats_noise_diff __maybe_unused = le16_to_cpu(rx_stats->noise_diff);
+ u16 rx_stats_noise_diff __maybe_unused =
+ le16_to_cpu(rx_stats->noise_diff);
u8 network_packet;
rx_status.flag = 0;
rx_status.mactime = le64_to_cpu(rx_end->timestamp);
- rx_status.band = (rx_hdr->phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ?
- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+ rx_status.band =
+ (rx_hdr->
+ phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? IEEE80211_BAND_2GHZ :
+ IEEE80211_BAND_5GHZ;
rx_status.freq =
- ieee80211_channel_to_frequency(le16_to_cpu(rx_hdr->channel),
- rx_status.band);
+ ieee80211_channel_to_frequency(le16_to_cpu(rx_hdr->channel),
+ rx_status.band);
rx_status.rate_idx = il3945_hwrate_to_plcp_idx(rx_hdr->rate);
if (rx_status.band == IEEE80211_BAND_5GHZ)
rx_status.rate_idx -= IL_FIRST_OFDM_RATE;
- rx_status.antenna = (le16_to_cpu(rx_hdr->phy_flags) &
- RX_RES_PHY_FLAGS_ANTENNA_MSK) >> 4;
+ rx_status.antenna =
+ (le16_to_cpu(rx_hdr->phy_flags) & RX_RES_PHY_FLAGS_ANTENNA_MSK) >>
+ 4;
/* set the preamble flag if appropriate */
if (rx_hdr->phy_flags & RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK)
@@ -549,7 +553,7 @@ static void il3945_hdl_rx(struct il_priv *il,
if ((unlikely(rx_stats->phy_count > 20))) {
D_DROP("dsp size out of range [0,20]: %d/n",
- rx_stats->phy_count);
+ rx_stats->phy_count);
return;
}
@@ -559,31 +563,25 @@ static void il3945_hdl_rx(struct il_priv *il,
return;
}
-
-
/* Convert 3945's rssi indicator to dBm */
rx_status.signal = rx_stats->rssi - IL39_RSSI_OFFSET;
- D_STATS("Rssi %d sig_avg %d noise_diff %d\n",
- rx_status.signal, rx_stats_sig_avg,
- rx_stats_noise_diff);
+ D_STATS("Rssi %d sig_avg %d noise_diff %d\n", rx_status.signal,
+ rx_stats_sig_avg, rx_stats_noise_diff);
header = (struct ieee80211_hdr *)IL_RX_DATA(pkt);
network_packet = il3945_is_network_packet(il, header);
D_STATS("[%c] %d RSSI:%d Signal:%u, Rate:%u\n",
- network_packet ? '*' : ' ',
- le16_to_cpu(rx_hdr->channel),
- rx_status.signal, rx_status.signal,
- rx_status.rate_idx);
+ network_packet ? '*' : ' ', le16_to_cpu(rx_hdr->channel),
+ rx_status.signal, rx_status.signal, rx_status.rate_idx);
- il_dbg_log_rx_data_frame(il, le16_to_cpu(rx_hdr->len),
- header);
+ il_dbg_log_rx_data_frame(il, le16_to_cpu(rx_hdr->len), header);
if (network_packet) {
il->_3945.last_beacon_time =
- le32_to_cpu(rx_end->beacon_timestamp);
+ le32_to_cpu(rx_end->beacon_timestamp);
il->_3945.last_tsf = le64_to_cpu(rx_end->timestamp);
il->_3945.last_rx_rssi = rx_status.signal;
}
@@ -591,9 +589,9 @@ static void il3945_hdl_rx(struct il_priv *il,
il3945_pass_packet_to_mac80211(il, rxb, &rx_status);
}
-int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il,
- struct il_tx_queue *txq,
- dma_addr_t addr, u16 len, u8 reset, u8 pad)
+int
+il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
+ dma_addr_t addr, u16 len, u8 reset, u8 pad)
{
int count;
struct il_queue *q;
@@ -610,7 +608,7 @@ int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il,
if (count >= NUM_TFD_CHUNKS || count < 0) {
IL_ERR("Error can not send more than %d chunks\n",
- NUM_TFD_CHUNKS);
+ NUM_TFD_CHUNKS);
return -EINVAL;
}
@@ -619,8 +617,8 @@ int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il,
count++;
- tfd->control_flags = cpu_to_le32(TFD_CTL_COUNT_SET(count) |
- TFD_CTL_PAD_SET(pad));
+ tfd->control_flags =
+ cpu_to_le32(TFD_CTL_COUNT_SET(count) | TFD_CTL_PAD_SET(pad));
return 0;
}
@@ -630,7 +628,8 @@ int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il,
*
* Does NOT advance any idxes
*/
-void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
+void
+il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
{
struct il3945_tfd *tfd_tmp = (struct il3945_tfd *)txq->tfds;
int idx = txq->q.read_ptr;
@@ -649,16 +648,16 @@ void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
/* Unmap tx_cmd */
if (counter)
- pci_unmap_single(dev,
- dma_unmap_addr(&txq->meta[idx], mapping),
- dma_unmap_len(&txq->meta[idx], len),
- PCI_DMA_TODEVICE);
+ pci_unmap_single(dev, dma_unmap_addr(&txq->meta[idx], mapping),
+ dma_unmap_len(&txq->meta[idx], len),
+ PCI_DMA_TODEVICE);
/* unmap chunks if any */
for (i = 1; i < counter; i++)
pci_unmap_single(dev, le32_to_cpu(tfd->tbs[i].addr),
- le32_to_cpu(tfd->tbs[i].len), PCI_DMA_TODEVICE);
+ le32_to_cpu(tfd->tbs[i].len),
+ PCI_DMA_TODEVICE);
/* free SKB */
if (txq->txb) {
@@ -678,11 +677,10 @@ void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
* il3945_hw_build_tx_cmd_rate - Add rate portion to TX_CMD:
*
*/
-void il3945_hw_build_tx_cmd_rate(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct ieee80211_tx_info *info,
- struct ieee80211_hdr *hdr,
- int sta_id, int tx_id)
+void
+il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd,
+ struct ieee80211_tx_info *info,
+ struct ieee80211_hdr *hdr, int sta_id, int tx_id)
{
u16 hw_value = ieee80211_get_tx_rate(il->hw, info)->hw_value;
u16 rate_idx = min(hw_value & 0xffff, RATE_COUNT_3945);
@@ -701,7 +699,7 @@ void il3945_hw_build_tx_cmd_rate(struct il_priv *il,
* in this running context */
rate_mask = RATES_MASK_3945;
- /* Set retry limit on DATA packets and Probe Responses*/
+ /* Set retry limit on DATA packets and Probe Responses */
if (ieee80211_is_probe_resp(fc))
data_retry_limit = 3;
else
@@ -722,18 +720,19 @@ void il3945_hw_build_tx_cmd_rate(struct il_priv *il,
/* OFDM */
tx_cmd->supp_rates[0] =
- ((rate_mask & IL_OFDM_RATES_MASK) >> IL_FIRST_OFDM_RATE) & 0xFF;
+ ((rate_mask & IL_OFDM_RATES_MASK) >> IL_FIRST_OFDM_RATE) & 0xFF;
/* CCK */
tx_cmd->supp_rates[1] = (rate_mask & 0xF);
D_RATE("Tx sta id: %d, rate: %d (plcp), flags: 0x%4X "
- "cck/ofdm mask: 0x%x/0x%x\n", sta_id,
- tx_cmd->rate, le32_to_cpu(tx_cmd->tx_flags),
- tx_cmd->supp_rates[1], tx_cmd->supp_rates[0]);
+ "cck/ofdm mask: 0x%x/0x%x\n", sta_id, tx_cmd->rate,
+ le32_to_cpu(tx_cmd->tx_flags), tx_cmd->supp_rates[1],
+ tx_cmd->supp_rates[0]);
}
-static u8 il3945_sync_sta(struct il_priv *il, int sta_id, u16 tx_rate)
+static u8
+il3945_sync_sta(struct il_priv *il, int sta_id, u16 tx_rate)
{
unsigned long flags_spin;
struct il_station_entry *station;
@@ -750,12 +749,12 @@ static u8 il3945_sync_sta(struct il_priv *il, int sta_id, u16 tx_rate)
il_send_add_sta(il, &station->sta, CMD_ASYNC);
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
- D_RATE("SCALE sync station %d to rate %d\n",
- sta_id, tx_rate);
+ D_RATE("SCALE sync station %d to rate %d\n", sta_id, tx_rate);
return sta_id;
}
-static void il3945_set_pwr_vmain(struct il_priv *il)
+static void
+il3945_set_pwr_vmain(struct il_priv *il)
{
/*
* (for documentation purposes)
@@ -773,28 +772,28 @@ static void il3945_set_pwr_vmain(struct il_priv *il)
*/
il_set_bits_mask_prph(il, APMG_PS_CTRL_REG,
- APMG_PS_CTRL_VAL_PWR_SRC_VMAIN,
- ~APMG_PS_CTRL_MSK_PWR_SRC);
+ APMG_PS_CTRL_VAL_PWR_SRC_VMAIN,
+ ~APMG_PS_CTRL_MSK_PWR_SRC);
- _il_poll_bit(il, CSR_GPIO_IN, CSR_GPIO_IN_VAL_VMAIN_PWR_SRC,
- CSR_GPIO_IN_BIT_AUX_POWER, 5000); /* uS */
+ _il_poll_bit(il, CSR_GPIO_IN, CSR_GPIO_IN_VAL_VMAIN_PWR_SRC, CSR_GPIO_IN_BIT_AUX_POWER, 5000); /* uS */
}
-static int il3945_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
+static int
+il3945_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
{
il_wr(il, FH39_RCSR_RBD_BASE(0), rxq->bd_dma);
- il_wr(il, FH39_RCSR_RPTR_ADDR(0),
- rxq->rb_stts_dma);
+ il_wr(il, FH39_RCSR_RPTR_ADDR(0), rxq->rb_stts_dma);
il_wr(il, FH39_RCSR_WPTR(0), 0);
il_wr(il, FH39_RCSR_CONFIG(0),
- FH39_RCSR_RX_CONFIG_REG_VAL_DMA_CHNL_EN_ENABLE |
- FH39_RCSR_RX_CONFIG_REG_VAL_RDRBD_EN_ENABLE |
- FH39_RCSR_RX_CONFIG_REG_BIT_WR_STTS_EN |
- FH39_RCSR_RX_CONFIG_REG_VAL_MAX_FRAG_SIZE_128 |
- (RX_QUEUE_SIZE_LOG << FH39_RCSR_RX_CONFIG_REG_POS_RBDC_SIZE) |
- FH39_RCSR_RX_CONFIG_REG_VAL_IRQ_DEST_INT_HOST |
- (1 << FH39_RCSR_RX_CONFIG_REG_POS_IRQ_RBTH) |
- FH39_RCSR_RX_CONFIG_REG_VAL_MSG_MODE_FH);
+ FH39_RCSR_RX_CONFIG_REG_VAL_DMA_CHNL_EN_ENABLE |
+ FH39_RCSR_RX_CONFIG_REG_VAL_RDRBD_EN_ENABLE |
+ FH39_RCSR_RX_CONFIG_REG_BIT_WR_STTS_EN |
+ FH39_RCSR_RX_CONFIG_REG_VAL_MAX_FRAG_SIZE_128 | (RX_QUEUE_SIZE_LOG
+ <<
+ FH39_RCSR_RX_CONFIG_REG_POS_RBDC_SIZE)
+ | FH39_RCSR_RX_CONFIG_REG_VAL_IRQ_DEST_INT_HOST | (1 <<
+ FH39_RCSR_RX_CONFIG_REG_POS_IRQ_RBTH)
+ | FH39_RCSR_RX_CONFIG_REG_VAL_MSG_MODE_FH);
/* fake read to flush all prev I/O */
il_rd(il, FH39_RSSR_CTRL);
@@ -802,7 +801,8 @@ static int il3945_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
return 0;
}
-static int il3945_tx_reset(struct il_priv *il)
+static int
+il3945_tx_reset(struct il_priv *il)
{
/* bypass mode */
@@ -819,18 +819,16 @@ static int il3945_tx_reset(struct il_priv *il)
il_wr_prph(il, ALM_SCD_TXF4MF_REG, 0x000004);
il_wr_prph(il, ALM_SCD_TXF5MF_REG, 0x000005);
- il_wr(il, FH39_TSSR_CBB_BASE,
- il->_3945.shared_phys);
+ il_wr(il, FH39_TSSR_CBB_BASE, il->_3945.shared_phys);
il_wr(il, FH39_TSSR_MSG_CONFIG,
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_SNOOP_RD_TXPD_ON |
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RD_TXPD_ON |
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_MAX_FRAG_SIZE_128B |
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_SNOOP_RD_TFD_ON |
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RD_CBB_ON |
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RSP_WAIT_TH |
- FH39_TSSR_TX_MSG_CONFIG_REG_VAL_RSP_WAIT_TH);
-
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_SNOOP_RD_TXPD_ON |
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RD_TXPD_ON |
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_MAX_FRAG_SIZE_128B |
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_SNOOP_RD_TFD_ON |
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RD_CBB_ON |
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_ORDER_RSP_WAIT_TH |
+ FH39_TSSR_TX_MSG_CONFIG_REG_VAL_RSP_WAIT_TH);
return 0;
}
@@ -840,7 +838,8 @@ static int il3945_tx_reset(struct il_priv *il)
*
* Destroys all DMA structures and initialize them again
*/
-static int il3945_txq_ctx_reset(struct il_priv *il)
+static int
+il3945_txq_ctx_reset(struct il_priv *il)
{
int rc;
int txq_id, slots_num;
@@ -859,10 +858,10 @@ static int il3945_txq_ctx_reset(struct il_priv *il)
/* Tx queue(s) */
for (txq_id = 0; txq_id < il->hw_params.max_txq_num; txq_id++) {
- slots_num = (txq_id == IL39_CMD_QUEUE_NUM) ?
- TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
- rc = il_tx_queue_init(il, &il->txq[txq_id],
- slots_num, txq_id);
+ slots_num =
+ (txq_id ==
+ IL39_CMD_QUEUE_NUM) ? TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
+ rc = il_tx_queue_init(il, &il->txq[txq_id], slots_num, txq_id);
if (rc) {
IL_ERR("Tx %d queue init failed\n", txq_id);
goto error;
@@ -871,18 +870,18 @@ static int il3945_txq_ctx_reset(struct il_priv *il)
return rc;
- error:
+error:
il3945_hw_txq_ctx_free(il);
return rc;
}
-
/*
* Start up 3945's basic functionality after it has been reset
* (e.g. after platform boot, or shutdown via il_apm_stop())
* NOTE: This does not load uCode nor start the embedded processor
*/
-static int il3945_apm_init(struct il_priv *il)
+static int
+il3945_apm_init(struct il_priv *il)
{
int ret = il_apm_init(il);
@@ -891,16 +890,15 @@ static int il3945_apm_init(struct il_priv *il)
il_wr_prph(il, APMG_RTC_INT_STT_REG, 0xFFFFFFFF);
/* Reset radio chip */
- il_set_bits_prph(il, APMG_PS_CTRL_REG,
- APMG_PS_CTRL_VAL_RESET_REQ);
+ il_set_bits_prph(il, APMG_PS_CTRL_REG, APMG_PS_CTRL_VAL_RESET_REQ);
udelay(5);
- il_clear_bits_prph(il, APMG_PS_CTRL_REG,
- APMG_PS_CTRL_VAL_RESET_REQ);
+ il_clear_bits_prph(il, APMG_PS_CTRL_REG, APMG_PS_CTRL_VAL_RESET_REQ);
return ret;
}
-static void il3945_nic_config(struct il_priv *il)
+static void
+il3945_nic_config(struct il_priv *il)
{
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
unsigned long flags;
@@ -916,42 +914,40 @@ static void il3945_nic_config(struct il_priv *il)
else if (rev_id & PCI_CFG_REV_ID_BIT_BASIC_SKU) {
D_INFO("3945 RADIO-MB type\n");
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BIT_3945_MB);
+ CSR39_HW_IF_CONFIG_REG_BIT_3945_MB);
} else {
D_INFO("3945 RADIO-MM type\n");
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BIT_3945_MM);
+ CSR39_HW_IF_CONFIG_REG_BIT_3945_MM);
}
if (EEPROM_SKU_CAP_OP_MODE_MRC == eeprom->sku_cap) {
D_INFO("SKU OP mode is mrc\n");
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BIT_SKU_MRC);
+ CSR39_HW_IF_CONFIG_REG_BIT_SKU_MRC);
} else
D_INFO("SKU OP mode is basic\n");
if ((eeprom->board_revision & 0xF0) == 0xD0) {
- D_INFO("3945ABG revision is 0x%X\n",
- eeprom->board_revision);
+ D_INFO("3945ABG revision is 0x%X\n", eeprom->board_revision);
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BIT_BOARD_TYPE);
+ CSR39_HW_IF_CONFIG_REG_BIT_BOARD_TYPE);
} else {
- D_INFO("3945ABG revision is 0x%X\n",
- eeprom->board_revision);
+ D_INFO("3945ABG revision is 0x%X\n", eeprom->board_revision);
il_clear_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BIT_BOARD_TYPE);
+ CSR39_HW_IF_CONFIG_REG_BIT_BOARD_TYPE);
}
if (eeprom->almgor_m_version <= 1) {
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_A);
+ CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_A);
D_INFO("Card M type A version is 0x%X\n",
- eeprom->almgor_m_version);
+ eeprom->almgor_m_version);
} else {
D_INFO("Card M type B version is 0x%X\n",
- eeprom->almgor_m_version);
+ eeprom->almgor_m_version);
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_B);
+ CSR39_HW_IF_CONFIG_REG_BITS_SILICON_TYPE_B);
}
spin_unlock_irqrestore(&il->lock, flags);
@@ -962,7 +958,8 @@ static void il3945_nic_config(struct il_priv *il)
D_RF_KILL("HW RF KILL supported in EEPROM.\n");
}
-int il3945_hw_nic_init(struct il_priv *il)
+int
+il3945_hw_nic_init(struct il_priv *il)
{
int rc;
unsigned long flags;
@@ -990,11 +987,10 @@ int il3945_hw_nic_init(struct il_priv *il)
il3945_rx_init(il, rxq);
-
/* Look at using this instead:
- rxq->need_update = 1;
- il_rx_queue_update_write_ptr(il, rxq);
- */
+ rxq->need_update = 1;
+ il_rx_queue_update_write_ptr(il, rxq);
+ */
il_wr(il, FH39_RCSR_WPTR(0), rxq->write & ~7);
@@ -1012,14 +1008,14 @@ int il3945_hw_nic_init(struct il_priv *il)
*
* Destroy all TX DMA queues and structures
*/
-void il3945_hw_txq_ctx_free(struct il_priv *il)
+void
+il3945_hw_txq_ctx_free(struct il_priv *il)
{
int txq_id;
/* Tx queues */
if (il->txq)
- for (txq_id = 0; txq_id < il->hw_params.max_txq_num;
- txq_id++)
+ for (txq_id = 0; txq_id < il->hw_params.max_txq_num; txq_id++)
if (txq_id == IL39_CMD_QUEUE_NUM)
il_cmd_queue_free(il);
else
@@ -1029,7 +1025,8 @@ void il3945_hw_txq_ctx_free(struct il_priv *il)
il_txq_mem(il);
}
-void il3945_hw_txq_ctx_stop(struct il_priv *il)
+void
+il3945_hw_txq_ctx_stop(struct il_priv *il)
{
int txq_id;
@@ -1041,8 +1038,8 @@ void il3945_hw_txq_ctx_stop(struct il_priv *il)
for (txq_id = 0; txq_id < il->hw_params.max_txq_num; txq_id++) {
il_wr(il, FH39_TCSR_CONFIG(txq_id), 0x0);
il_poll_bit(il, FH39_TSSR_TX_STATUS,
- FH39_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(txq_id),
- 1000);
+ FH39_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(txq_id),
+ 1000);
}
il3945_hw_txq_ctx_free(il);
@@ -1052,7 +1049,8 @@ void il3945_hw_txq_ctx_stop(struct il_priv *il)
* il3945_hw_reg_adjust_power_by_temp
* return idx delta into power gain settings table
*/
-static int il3945_hw_reg_adjust_power_by_temp(int new_reading, int old_reading)
+static int
+il3945_hw_reg_adjust_power_by_temp(int new_reading, int old_reading)
{
return (new_reading - old_reading) * (-11) / 100;
}
@@ -1060,12 +1058,14 @@ static int il3945_hw_reg_adjust_power_by_temp(int new_reading, int old_reading)
/**
* il3945_hw_reg_temp_out_of_range - Keep temperature in sane range
*/
-static inline int il3945_hw_reg_temp_out_of_range(int temperature)
+static inline int
+il3945_hw_reg_temp_out_of_range(int temperature)
{
return (temperature < -260 || temperature > 25) ? 1 : 0;
}
-int il3945_hw_get_temperature(struct il_priv *il)
+int
+il3945_hw_get_temperature(struct il_priv *il)
{
return _il_rd(il, CSR_UCODE_DRV_GP2);
}
@@ -1074,7 +1074,8 @@ int il3945_hw_get_temperature(struct il_priv *il)
* il3945_hw_reg_txpower_get_temperature
* get the current temperature by reading from NIC
*/
-static int il3945_hw_reg_txpower_get_temperature(struct il_priv *il)
+static int
+il3945_hw_reg_txpower_get_temperature(struct il_priv *il)
{
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
int temperature;
@@ -1093,7 +1094,7 @@ static int il3945_hw_reg_txpower_get_temperature(struct il_priv *il)
* substitute the 3rd band/group's temp measured at factory */
if (il->last_temperature > 100)
temperature = eeprom->groups[2].temperature;
- else /* else use most recent "sane" value from driver */
+ else /* else use most recent "sane" value from driver */
temperature = il->last_temperature;
}
@@ -1111,7 +1112,8 @@ static int il3945_hw_reg_txpower_get_temperature(struct il_priv *il)
* records new temperature in tx_mgr->temperature.
* replaces tx_mgr->last_temperature *only* if calib needed
* (assumes caller will actually do the calibration!). */
-static int il3945_is_temp_calib_needed(struct il_priv *il)
+static int
+il3945_is_temp_calib_needed(struct il_priv *il)
{
int temp_diff;
@@ -1226,7 +1228,7 @@ static struct il3945_tx_power power_gain_table[2][IL_MAX_GAIN_ENTRIES] = {
{3, 113},
{3, 106},
{3, 102},
- {3, 95} }, /* 2.4 GHz, lowest power */
+ {3, 95}}, /* 2.4 GHz, lowest power */
{
{251, 127}, /* 5.x GHz, highest power */
{251, 120},
@@ -1305,10 +1307,11 @@ static struct il3945_tx_power power_gain_table[2][IL_MAX_GAIN_ENTRIES] = {
{35, 113},
{35, 107},
{35, 99},
- {3, 120} } /* 5.x GHz, lowest power */
+ {3, 120}} /* 5.x GHz, lowest power */
};
-static inline u8 il3945_hw_reg_fix_power_idx(int idx)
+static inline u8
+il3945_hw_reg_fix_power_idx(int idx)
{
if (idx < 0)
return 0;
@@ -1326,10 +1329,10 @@ static inline u8 il3945_hw_reg_fix_power_idx(int idx)
* Set (in our channel info database) the direct scan Tx power for 1 Mbit (CCK)
* or 6 Mbit (OFDM) rates.
*/
-static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_idx,
- s32 rate_idx, const s8 *clip_pwrs,
- struct il_channel_info *ch_info,
- int band_idx)
+static void
+il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_idx, s32 rate_idx,
+ const s8 * clip_pwrs,
+ struct il_channel_info *ch_info, int band_idx)
{
struct il3945_scan_power_info *scan_power_info;
s8 power;
@@ -1350,9 +1353,13 @@ static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_idx,
* current "normal" temperature-compensated Tx power *idx* for
* this rate (1Mb or 6Mb) to yield new temp-compensated scan power
* *idx*. */
- power_idx = ch_info->power_info[rate_idx].power_table_idx
- - (power - ch_info->power_info
- [RATE_6M_IDX_TBL].requested_power) * 2;
+ power_idx =
+ ch_info->power_info[rate_idx].power_table_idx - (power -
+ ch_info->
+ power_info
+ [RATE_6M_IDX_TBL].
+ requested_power) *
+ 2;
/* store reference idx that we use when adjusting *all* scan
* powers. So we can accommodate user (all channel) or spectrum
@@ -1379,7 +1386,8 @@ static void il3945_hw_reg_set_scan_power(struct il_priv *il, u32 scan_tbl_idx,
* Configures power settings for all rates for the current channel,
* using values from channel info struct, and send to NIC
*/
-static int il3945_send_tx_power(struct il_priv *il)
+static int
+il3945_send_tx_power(struct il_priv *il)
{
int rate_idx, i;
const struct il_channel_info *ch_info = NULL;
@@ -1388,8 +1396,9 @@ static int il3945_send_tx_power(struct il_priv *il)
};
u16 chan;
- if (WARN_ONCE(test_bit(S_SCAN_HW, &il->status),
- "TX Power requested while scanning!\n"))
+ if (WARN_ONCE
+ (test_bit(S_SCAN_HW, &il->status),
+ "TX Power requested while scanning!\n"))
return -EAGAIN;
chan = le16_to_cpu(il->ctx.active.channel);
@@ -1397,15 +1406,13 @@ static int il3945_send_tx_power(struct il_priv *il)
txpower.band = (il->band == IEEE80211_BAND_5GHZ) ? 0 : 1;
ch_info = il_get_channel_info(il, il->band, chan);
if (!ch_info) {
- IL_ERR(
- "Failed to get channel info for channel %d [%d]\n",
- chan, il->band);
+ IL_ERR("Failed to get channel info for channel %d [%d]\n", chan,
+ il->band);
return -EINVAL;
}
if (!il_is_channel_valid(ch_info)) {
- D_POWER("Not calling TX_PWR_TBL_CMD on "
- "non-Tx channel.\n");
+ D_POWER("Not calling TX_PWR_TBL_CMD on " "non-Tx channel.\n");
return 0;
}
@@ -1418,29 +1425,25 @@ static int il3945_send_tx_power(struct il_priv *il)
txpower.power[i].rate = il3945_rates[rate_idx].plcp;
D_POWER("ch %d:%d rf %d dsp %3d rate code 0x%02x\n",
- le16_to_cpu(txpower.channel),
- txpower.band,
- txpower.power[i].tpc.tx_gain,
- txpower.power[i].tpc.dsp_atten,
- txpower.power[i].rate);
+ le16_to_cpu(txpower.channel), txpower.band,
+ txpower.power[i].tpc.tx_gain,
+ txpower.power[i].tpc.dsp_atten, txpower.power[i].rate);
}
/* Fill CCK rates */
- for (rate_idx = IL_FIRST_CCK_RATE;
- rate_idx <= IL_LAST_CCK_RATE; rate_idx++, i++) {
+ for (rate_idx = IL_FIRST_CCK_RATE; rate_idx <= IL_LAST_CCK_RATE;
+ rate_idx++, i++) {
txpower.power[i].tpc = ch_info->power_info[i].tpc;
txpower.power[i].rate = il3945_rates[rate_idx].plcp;
D_POWER("ch %d:%d rf %d dsp %3d rate code 0x%02x\n",
- le16_to_cpu(txpower.channel),
- txpower.band,
- txpower.power[i].tpc.tx_gain,
- txpower.power[i].tpc.dsp_atten,
- txpower.power[i].rate);
+ le16_to_cpu(txpower.channel), txpower.band,
+ txpower.power[i].tpc.tx_gain,
+ txpower.power[i].tpc.dsp_atten, txpower.power[i].rate);
}
return il_send_cmd_pdu(il, C_TX_PWR_TBL,
- sizeof(struct il3945_txpowertable_cmd),
- &txpower);
+ sizeof(struct il3945_txpowertable_cmd),
+ &txpower);
}
@@ -1460,8 +1463,8 @@ static int il3945_send_tx_power(struct il_priv *il)
* properly fill out the scan powers, and actual h/w gain settings,
* and send changes to NIC
*/
-static int il3945_hw_reg_set_new_power(struct il_priv *il,
- struct il_channel_info *ch_info)
+static int
+il3945_hw_reg_set_new_power(struct il_priv *il, struct il_channel_info *ch_info)
{
struct il3945_channel_power_info *power_info;
int power_changed = 0;
@@ -1476,8 +1479,7 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il,
power_info = ch_info->power_info;
/* update OFDM Txpower settings */
- for (i = RATE_6M_IDX_TBL; i <= RATE_54M_IDX_TBL;
- i++, ++power_info) {
+ for (i = RATE_6M_IDX_TBL; i <= RATE_54M_IDX_TBL; i++, ++power_info) {
int delta_idx;
/* limit new power to be no more than h/w capability */
@@ -1500,8 +1502,8 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il,
* ... all CCK power settings for a given channel are the *same*. */
if (power_changed) {
power =
- ch_info->power_info[RATE_12M_IDX_TBL].
- requested_power + IL_CCK_FROM_OFDM_POWER_DIFF;
+ ch_info->power_info[RATE_12M_IDX_TBL].requested_power +
+ IL_CCK_FROM_OFDM_POWER_DIFF;
/* do all CCK rates' il3945_channel_power_info structures */
for (i = RATE_1M_IDX_TBL; i <= RATE_11M_IDX_TBL; i++) {
@@ -1523,15 +1525,17 @@ static int il3945_hw_reg_set_new_power(struct il_priv *il,
* based strictly on regulatory (eeprom and spectrum mgt) limitations
* (no consideration for h/w clipping limitations).
*/
-static int il3945_hw_reg_get_ch_txpower_limit(struct il_channel_info *ch_info)
+static int
+il3945_hw_reg_get_ch_txpower_limit(struct il_channel_info *ch_info)
{
s8 max_power;
#if 0
/* if we're using TGd limits, use lower of TGd or EEPROM */
if (ch_info->tgd_data.max_power != 0)
- max_power = min(ch_info->tgd_data.max_power,
- ch_info->eeprom.max_power_avg);
+ max_power =
+ min(ch_info->tgd_data.max_power,
+ ch_info->eeprom.max_power_avg);
/* else just use EEPROM limits */
else
@@ -1551,12 +1555,13 @@ static int il3945_hw_reg_get_ch_txpower_limit(struct il_channel_info *ch_info)
*
* If RxOn is "associated", this sends the new Txpower to NIC!
*/
-static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il)
+static int
+il3945_hw_reg_comp_txpower_temp(struct il_priv *il)
{
struct il_channel_info *ch_info = NULL;
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
int delta_idx;
- const s8 *clip_pwrs; /* array of h/w max power levels for each rate */
+ const s8 *clip_pwrs; /* array of h/w max power levels for each rate */
u8 a_band;
u8 rate_idx;
u8 scan_tbl_idx;
@@ -1564,8 +1569,7 @@ static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il)
int ref_temp;
int temperature = il->temperature;
- if (il->disable_tx_power_cal ||
- test_bit(S_SCANNING, &il->status)) {
+ if (il->disable_tx_power_cal || test_bit(S_SCANNING, &il->status)) {
/* do not perform tx power calibration */
return 0;
}
@@ -1575,17 +1579,15 @@ static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il)
a_band = il_is_channel_a_band(ch_info);
/* Get this chnlgrp's factory calibration temperature */
- ref_temp = (s16)eeprom->groups[ch_info->group_idx].
- temperature;
+ ref_temp = (s16) eeprom->groups[ch_info->group_idx].temperature;
/* get power idx adjustment based on current and factory
* temps */
- delta_idx = il3945_hw_reg_adjust_power_by_temp(temperature,
- ref_temp);
+ delta_idx =
+ il3945_hw_reg_adjust_power_by_temp(temperature, ref_temp);
/* set tx power value for all rates, OFDM and CCK */
- for (rate_idx = 0; rate_idx < RATE_COUNT_3945;
- rate_idx++) {
+ for (rate_idx = 0; rate_idx < RATE_COUNT_3945; rate_idx++) {
int power_idx =
ch_info->power_info[rate_idx].base_power_idx;
@@ -1594,23 +1596,25 @@ static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il)
/* stay within table range */
power_idx = il3945_hw_reg_fix_power_idx(power_idx);
- ch_info->power_info[rate_idx].
- power_table_idx = (u8) power_idx;
+ ch_info->power_info[rate_idx].power_table_idx =
+ (u8) power_idx;
ch_info->power_info[rate_idx].tpc =
power_gain_table[a_band][power_idx];
}
/* Get this chnlgrp's rate-to-max/clip-powers table */
- clip_pwrs = il->_3945.clip_groups[ch_info->group_idx].clip_powers;
+ clip_pwrs =
+ il->_3945.clip_groups[ch_info->group_idx].clip_powers;
/* set scan tx power, 1Mbit for CCK, 6Mbit for OFDM */
- for (scan_tbl_idx = 0;
- scan_tbl_idx < IL_NUM_SCAN_RATES; scan_tbl_idx++) {
- s32 actual_idx = (scan_tbl_idx == 0) ?
- RATE_1M_IDX_TBL : RATE_6M_IDX_TBL;
+ for (scan_tbl_idx = 0; scan_tbl_idx < IL_NUM_SCAN_RATES;
+ scan_tbl_idx++) {
+ s32 actual_idx =
+ (scan_tbl_idx ==
+ 0) ? RATE_1M_IDX_TBL : RATE_6M_IDX_TBL;
il3945_hw_reg_set_scan_power(il, scan_tbl_idx,
- actual_idx, clip_pwrs,
- ch_info, a_band);
+ actual_idx, clip_pwrs,
+ ch_info, a_band);
}
}
@@ -1618,7 +1622,8 @@ static int il3945_hw_reg_comp_txpower_temp(struct il_priv *il)
return il->cfg->ops->lib->send_tx_power(il);
}
-int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power)
+int
+il3945_hw_reg_set_txpower(struct il_priv *il, s8 power)
{
struct il_channel_info *ch_info;
s8 max_power;
@@ -1626,8 +1631,8 @@ int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power)
u8 i;
if (il->tx_power_user_lmt == power) {
- D_POWER("Requested Tx power same as current "
- "limit: %ddBm.\n", power);
+ D_POWER("Requested Tx power same as current " "limit: %ddBm.\n",
+ power);
return 0;
}
@@ -1660,8 +1665,8 @@ int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power)
return 0;
}
-static int il3945_send_rxon_assoc(struct il_priv *il,
- struct il_rxon_context *ctx)
+static int
+il3945_send_rxon_assoc(struct il_priv *il, struct il_rxon_context *ctx)
{
int rc = 0;
struct il_rx_pkt *pkt;
@@ -1712,7 +1717,8 @@ static int il3945_send_rxon_assoc(struct il_priv *il,
* function correctly transitions out of the RXON_ASSOC_MSK state if
* a HW tune is required based on the RXON structure changes.
*/
-int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
+int
+il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
{
/* cast away the const for active_rxon in this function */
struct il3945_rxon_cmd *active_rxon = (void *)&ctx->active;
@@ -1730,8 +1736,7 @@ int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
staging_rxon->flags |= RXON_FLG_TSF2HOST_MSK;
/* select antenna */
- staging_rxon->flags &=
- ~(RXON_FLG_DIS_DIV_MSK | RXON_FLG_ANT_SEL_MSK);
+ staging_rxon->flags &= ~(RXON_FLG_DIS_DIV_MSK | RXON_FLG_ANT_SEL_MSK);
staging_rxon->flags |= il3945_get_antenna_flags(il);
rc = il_check_rxon_cmd(il, ctx);
@@ -1743,13 +1748,11 @@ int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
/* If we don't need to send a full RXON, we can use
* il3945_rxon_assoc_cmd which is used to reconfigure filter
* and other flags for the current radio configuration. */
- if (!il_full_rxon_required(il,
- &il->ctx)) {
- rc = il_send_rxon_assoc(il,
- &il->ctx);
+ if (!il_full_rxon_required(il, &il->ctx)) {
+ rc = il_send_rxon_assoc(il, &il->ctx);
if (rc) {
IL_ERR("Error setting RXON_ASSOC "
- "configuration (%d).\n", rc);
+ "configuration (%d).\n", rc);
return rc;
}
@@ -1776,31 +1779,24 @@ int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
*/
active_rxon->reserved4 = 0;
active_rxon->reserved5 = 0;
- rc = il_send_cmd_pdu(il, C_RXON,
- sizeof(struct il3945_rxon_cmd),
- &il->ctx.active);
+ rc = il_send_cmd_pdu(il, C_RXON, sizeof(struct il3945_rxon_cmd),
+ &il->ctx.active);
/* If the mask clearing failed then we set
* active_rxon back to what it was previously */
if (rc) {
active_rxon->filter_flags |= RXON_FILTER_ASSOC_MSK;
IL_ERR("Error clearing ASSOC_MSK on current "
- "configuration (%d).\n", rc);
+ "configuration (%d).\n", rc);
return rc;
}
- il_clear_ucode_stations(il,
- &il->ctx);
- il_restore_stations(il,
- &il->ctx);
+ il_clear_ucode_stations(il, &il->ctx);
+ il_restore_stations(il, &il->ctx);
}
- D_INFO("Sending RXON\n"
- "* with%s RXON_FILTER_ASSOC_MSK\n"
- "* channel = %d\n"
- "* bssid = %pM\n",
- (new_assoc ? "" : "out"),
- le16_to_cpu(staging_rxon->channel),
- staging_rxon->bssid_addr);
+ D_INFO("Sending RXON\n" "* with%s RXON_FILTER_ASSOC_MSK\n"
+ "* channel = %d\n" "* bssid = %pM\n", (new_assoc ? "" : "out"),
+ le16_to_cpu(staging_rxon->channel), staging_rxon->bssid_addr);
/*
* reserved4 and 5 could have been filled by the iwlcore code.
@@ -1812,9 +1808,8 @@ int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
il_set_rxon_hwcrypto(il, ctx, !il3945_mod_params.sw_crypto);
/* Apply the new configuration */
- rc = il_send_cmd_pdu(il, C_RXON,
- sizeof(struct il3945_rxon_cmd),
- staging_rxon);
+ rc = il_send_cmd_pdu(il, C_RXON, sizeof(struct il3945_rxon_cmd),
+ staging_rxon);
if (rc) {
IL_ERR("Error setting new configuration (%d).\n", rc);
return rc;
@@ -1823,10 +1818,8 @@ int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
memcpy(active_rxon, staging_rxon, sizeof(*active_rxon));
if (!new_assoc) {
- il_clear_ucode_stations(il,
- &il->ctx);
- il_restore_stations(il,
- &il->ctx);
+ il_clear_ucode_stations(il, &il->ctx);
+ il_restore_stations(il, &il->ctx);
}
/* If we issue a new RXON command which required a tune then we must
@@ -1857,7 +1850,8 @@ int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
* -- send new set of gain settings to NIC
* NOTE: This should continue working, even when we're not associated,
* so we can keep our internal table of scan powers current. */
-void il3945_reg_txpower_periodic(struct il_priv *il)
+void
+il3945_reg_txpower_periodic(struct il_priv *il)
{
/* This will kick in the "brute force"
* il3945_hw_reg_comp_txpower_temp() below */
@@ -1869,15 +1863,16 @@ void il3945_reg_txpower_periodic(struct il_priv *il)
* ignoring any previous power measurements */
il3945_hw_reg_comp_txpower_temp(il);
- reschedule:
- queue_delayed_work(il->workqueue,
- &il->_3945.thermal_periodic, REG_RECALIB_PERIOD * HZ);
+reschedule:
+ queue_delayed_work(il->workqueue, &il->_3945.thermal_periodic,
+ REG_RECALIB_PERIOD * HZ);
}
-static void il3945_bg_reg_txpower_periodic(struct work_struct *work)
+static void
+il3945_bg_reg_txpower_periodic(struct work_struct *work)
{
struct il_priv *il = container_of(work, struct il_priv,
- _3945.thermal_periodic.work);
+ _3945.thermal_periodic.work);
if (test_bit(S_EXIT_PENDING, &il->status))
return;
@@ -1898,8 +1893,9 @@ static void il3945_bg_reg_txpower_periodic(struct work_struct *work)
* on A-band, EEPROM's "group frequency" entries represent the top
* channel in each group 1-4. Group 5 All B/G channels are in group 0.
*/
-static u16 il3945_hw_reg_get_ch_grp_idx(struct il_priv *il,
- const struct il_channel_info *ch_info)
+static u16
+il3945_hw_reg_get_ch_grp_idx(struct il_priv *il,
+ const struct il_channel_info *ch_info)
{
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
struct il3945_eeprom_txpower_group *ch_grp = &eeprom->groups[0];
@@ -1922,8 +1918,7 @@ static u16 il3945_hw_reg_get_ch_grp_idx(struct il_priv *il,
} else
group_idx = 0; /* 2.4 GHz, group 0 */
- D_POWER("Chnl %d mapped to grp %d\n", ch_info->channel,
- group_idx);
+ D_POWER("Chnl %d mapped to grp %d\n", ch_info->channel, group_idx);
return group_idx;
}
@@ -1933,9 +1928,9 @@ static u16 il3945_hw_reg_get_ch_grp_idx(struct il_priv *il,
* Interpolate to get nominal (i.e. at factory calibration temperature) idx
* into radio/DSP gain settings table for requested power.
*/
-static int il3945_hw_reg_get_matched_power_idx(struct il_priv *il,
- s8 requested_power,
- s32 setting_idx, s32 *new_idx)
+static int
+il3945_hw_reg_get_matched_power_idx(struct il_priv *il, s8 requested_power,
+ s32 setting_idx, s32 * new_idx)
{
const struct il3945_eeprom_txpower_group *chnl_grp = NULL;
struct il3945_eeprom *eeprom = (struct il3945_eeprom *)il->eeprom;
@@ -1975,14 +1970,16 @@ static int il3945_hw_reg_get_matched_power_idx(struct il_priv *il,
return -EINVAL;
gains0 = (s32) samples[idx0].gain_idx * (1 << 19);
gains1 = (s32) samples[idx1].gain_idx * (1 << 19);
- res = gains0 + (gains1 - gains0) *
- ((s32) power - (s32) samples[idx0].power) / denominator +
- (1 << 18);
+ res =
+ gains0 + (gains1 - gains0) * ((s32) power -
+ (s32) samples[idx0].power) /
+ denominator + (1 << 18);
*new_idx = res >> 19;
return 0;
}
-static void il3945_hw_reg_init_channel_groups(struct il_priv *il)
+static void
+il3945_hw_reg_init_channel_groups(struct il_priv *il)
{
u32 i;
s32 rate_idx;
@@ -1999,8 +1996,8 @@ static void il3945_hw_reg_init_channel_groups(struct il_priv *il)
/* sanity check on factory saturation power value */
if (group->saturation_power < 40) {
IL_WARN("Error: saturation power is %d, "
- "less than minimum expected 40\n",
- group->saturation_power);
+ "less than minimum expected 40\n",
+ group->saturation_power);
return;
}
@@ -2019,8 +2016,8 @@ static void il3945_hw_reg_init_channel_groups(struct il_priv *il)
satur_pwr = (s8) (group->saturation_power >> 1);
/* fill in channel group's nominal powers for each rate */
- for (rate_idx = 0;
- rate_idx < RATE_COUNT_3945; rate_idx++, clip_pwrs++) {
+ for (rate_idx = 0; rate_idx < RATE_COUNT_3945;
+ rate_idx++, clip_pwrs++) {
switch (rate_idx) {
case RATE_36M_IDX_TBL:
if (i == 0) /* B/G */
@@ -2063,7 +2060,8 @@ static void il3945_hw_reg_init_channel_groups(struct il_priv *il)
*
* This does *not* write values to NIC, just sets up our internal table.
*/
-int il3945_txpower_set_from_eeprom(struct il_priv *il)
+int
+il3945_txpower_set_from_eeprom(struct il_priv *il)
{
struct il_channel_info *ch_info = NULL;
struct il3945_channel_power_info *pwr_info;
@@ -2093,25 +2091,25 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il)
continue;
/* find this channel's channel group (*not* "band") idx */
- ch_info->group_idx =
- il3945_hw_reg_get_ch_grp_idx(il, ch_info);
+ ch_info->group_idx = il3945_hw_reg_get_ch_grp_idx(il, ch_info);
/* Get this chnlgrp's rate->max/clip-powers table */
- clip_pwrs = il->_3945.clip_groups[ch_info->group_idx].clip_powers;
+ clip_pwrs =
+ il->_3945.clip_groups[ch_info->group_idx].clip_powers;
/* calculate power idx *adjustment* value according to
* diff between current temperature and factory temperature */
- delta_idx = il3945_hw_reg_adjust_power_by_temp(temperature,
- eeprom->groups[ch_info->group_idx].
- temperature);
+ delta_idx =
+ il3945_hw_reg_adjust_power_by_temp(temperature,
+ eeprom->groups[ch_info->
+ group_idx].
+ temperature);
- D_POWER("Delta idx for channel %d: %d [%d]\n",
- ch_info->channel, delta_idx, temperature +
- IL_TEMP_CONVERT);
+ D_POWER("Delta idx for channel %d: %d [%d]\n", ch_info->channel,
+ delta_idx, temperature + IL_TEMP_CONVERT);
/* set tx power value for all OFDM rates */
- for (rate_idx = 0; rate_idx < IL_OFDM_RATES;
- rate_idx++) {
+ for (rate_idx = 0; rate_idx < IL_OFDM_RATES; rate_idx++) {
s32 uninitialized_var(power_idx);
int rc;
@@ -2125,8 +2123,9 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il)
/* get base (i.e. at factory-measured temperature)
* power table idx for this rate's power */
rc = il3945_hw_reg_get_matched_power_idx(il, pwr,
- ch_info->group_idx,
- &power_idx);
+ ch_info->
+ group_idx,
+ &power_idx);
if (rc) {
IL_ERR("Invalid power idx\n");
return rc;
@@ -2148,14 +2147,12 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il)
power_gain_table[a_band][power_idx].dsp_atten;
}
- /* set tx power for CCK rates, based on OFDM 12 Mbit settings*/
+ /* set tx power for CCK rates, based on OFDM 12 Mbit settings */
pwr_info = &ch_info->power_info[RATE_12M_IDX_TBL];
- power = pwr_info->requested_power +
- IL_CCK_FROM_OFDM_POWER_DIFF;
- pwr_idx = pwr_info->power_table_idx +
- IL_CCK_FROM_OFDM_IDX_DIFF;
- base_pwr_idx = pwr_info->base_power_idx +
- IL_CCK_FROM_OFDM_IDX_DIFF;
+ power = pwr_info->requested_power + IL_CCK_FROM_OFDM_POWER_DIFF;
+ pwr_idx = pwr_info->power_table_idx + IL_CCK_FROM_OFDM_IDX_DIFF;
+ base_pwr_idx =
+ pwr_info->base_power_idx + IL_CCK_FROM_OFDM_IDX_DIFF;
/* stay within table range */
pwr_idx = il3945_hw_reg_fix_power_idx(pwr_idx);
@@ -2165,9 +2162,9 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il)
/* fill each CCK rate's il3945_channel_power_info structure
* NOTE: All CCK-rate Txpwrs are the same for a given chnl!
* NOTE: CCK rates start at end of OFDM rates! */
- for (rate_idx = 0;
- rate_idx < IL_CCK_RATES; rate_idx++) {
- pwr_info = &ch_info->power_info[rate_idx+IL_OFDM_RATES];
+ for (rate_idx = 0; rate_idx < IL_CCK_RATES; rate_idx++) {
+ pwr_info =
+ &ch_info->power_info[rate_idx + IL_OFDM_RATES];
pwr_info->requested_power = power;
pwr_info->power_table_idx = pwr_idx;
pwr_info->base_power_idx = base_pwr_idx;
@@ -2176,48 +2173,52 @@ int il3945_txpower_set_from_eeprom(struct il_priv *il)
}
/* set scan tx power, 1Mbit for CCK, 6Mbit for OFDM */
- for (scan_tbl_idx = 0;
- scan_tbl_idx < IL_NUM_SCAN_RATES; scan_tbl_idx++) {
- s32 actual_idx = (scan_tbl_idx == 0) ?
- RATE_1M_IDX_TBL : RATE_6M_IDX_TBL;
+ for (scan_tbl_idx = 0; scan_tbl_idx < IL_NUM_SCAN_RATES;
+ scan_tbl_idx++) {
+ s32 actual_idx =
+ (scan_tbl_idx ==
+ 0) ? RATE_1M_IDX_TBL : RATE_6M_IDX_TBL;
il3945_hw_reg_set_scan_power(il, scan_tbl_idx,
- actual_idx, clip_pwrs, ch_info, a_band);
+ actual_idx, clip_pwrs,
+ ch_info, a_band);
}
}
return 0;
}
-int il3945_hw_rxq_stop(struct il_priv *il)
+int
+il3945_hw_rxq_stop(struct il_priv *il)
{
int rc;
il_wr(il, FH39_RCSR_CONFIG(0), 0);
rc = il_poll_bit(il, FH39_RSSR_STATUS,
- FH39_RSSR_CHNL0_RX_STATUS_CHNL_IDLE, 1000);
+ FH39_RSSR_CHNL0_RX_STATUS_CHNL_IDLE, 1000);
if (rc < 0)
IL_ERR("Can't stop Rx DMA.\n");
return 0;
}
-int il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq)
+int
+il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq)
{
int txq_id = txq->q.id;
struct il3945_shared *shared_data = il->_3945.shared_virt;
- shared_data->tx_base_ptr[txq_id] = cpu_to_le32((u32)txq->q.dma_addr);
+ shared_data->tx_base_ptr[txq_id] = cpu_to_le32((u32) txq->q.dma_addr);
il_wr(il, FH39_CBCC_CTRL(txq_id), 0);
il_wr(il, FH39_CBCC_BASE(txq_id), 0);
il_wr(il, FH39_TCSR_CONFIG(txq_id),
- FH39_TCSR_TX_CONFIG_REG_VAL_CIRQ_RTC_NOINT |
- FH39_TCSR_TX_CONFIG_REG_VAL_MSG_MODE_TXF |
- FH39_TCSR_TX_CONFIG_REG_VAL_CIRQ_HOST_IFTFD |
- FH39_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE_VAL |
- FH39_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE);
+ FH39_TCSR_TX_CONFIG_REG_VAL_CIRQ_RTC_NOINT |
+ FH39_TCSR_TX_CONFIG_REG_VAL_MSG_MODE_TXF |
+ FH39_TCSR_TX_CONFIG_REG_VAL_CIRQ_HOST_IFTFD |
+ FH39_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE_VAL |
+ FH39_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE);
/* fake read to flush all prev. writes */
_il_rd(il, FH39_TSSR_CBB_BASE);
@@ -2228,7 +2229,8 @@ int il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq)
/*
* HCMD utils
*/
-static u16 il3945_get_hcmd_size(u8 cmd_id, u16 len)
+static u16
+il3945_get_hcmd_size(u8 cmd_id, u16 len)
{
switch (cmd_id) {
case C_RXON:
@@ -2240,9 +2242,8 @@ static u16 il3945_get_hcmd_size(u8 cmd_id, u16 len)
}
}
-
-static u16 il3945_build_addsta_hcmd(const struct il_addsta_cmd *cmd,
- u8 *data)
+static u16
+il3945_build_addsta_hcmd(const struct il_addsta_cmd *cmd, u8 * data)
{
struct il3945_addsta_cmd *addsta = (struct il3945_addsta_cmd *)data;
addsta->mode = cmd->mode;
@@ -2256,11 +2257,11 @@ static u16 il3945_build_addsta_hcmd(const struct il_addsta_cmd *cmd,
addsta->remove_immediate_ba_tid = cmd->remove_immediate_ba_tid;
addsta->add_immediate_ba_ssn = cmd->add_immediate_ba_ssn;
- return (u16)sizeof(struct il3945_addsta_cmd);
+ return (u16) sizeof(struct il3945_addsta_cmd);
}
-static int il3945_add_bssid_station(struct il_priv *il,
- const u8 *addr, u8 *sta_id_r)
+static int
+il3945_add_bssid_station(struct il_priv *il, const u8 * addr, u8 * sta_id_r)
{
struct il_rxon_context *ctx = &il->ctx;
int ret;
@@ -2285,34 +2286,39 @@ static int il3945_add_bssid_station(struct il_priv *il,
return 0;
}
-static int il3945_manage_ibss_station(struct il_priv *il,
- struct ieee80211_vif *vif, bool add)
+
+static int
+il3945_manage_ibss_station(struct il_priv *il, struct ieee80211_vif *vif,
+ bool add)
{
struct il_vif_priv *vif_priv = (void *)vif->drv_priv;
int ret;
if (add) {
- ret = il3945_add_bssid_station(il, vif->bss_conf.bssid,
- &vif_priv->ibss_bssid_sta_id);
+ ret =
+ il3945_add_bssid_station(il, vif->bss_conf.bssid,
+ &vif_priv->ibss_bssid_sta_id);
if (ret)
return ret;
il3945_sync_sta(il, vif_priv->ibss_bssid_sta_id,
- (il->band == IEEE80211_BAND_5GHZ) ?
- RATE_6M_PLCP : RATE_1M_PLCP);
+ (il->band ==
+ IEEE80211_BAND_5GHZ) ? RATE_6M_PLCP :
+ RATE_1M_PLCP);
il3945_rate_scale_init(il->hw, vif_priv->ibss_bssid_sta_id);
return 0;
}
return il_remove_station(il, vif_priv->ibss_bssid_sta_id,
- vif->bss_conf.bssid);
+ vif->bss_conf.bssid);
}
/**
* il3945_init_hw_rate_table - Initialize the hardware rate fallback table
*/
-int il3945_init_hw_rate_table(struct il_priv *il)
+int
+il3945_init_hw_rate_table(struct il_priv *il)
{
int rc, i, idx, prev_idx;
struct il3945_rate_scaling_cmd rate_cmd = {
@@ -2324,11 +2330,10 @@ int il3945_init_hw_rate_table(struct il_priv *il)
idx = il3945_rates[i].table_rs_idx;
table[idx].rate_n_flags =
- il3945_hw_set_rate_n_flags(il3945_rates[i].plcp, 0);
+ il3945_hw_set_rate_n_flags(il3945_rates[i].plcp, 0);
table[idx].try_cnt = il->retry_rate;
prev_idx = il3945_get_prev_ieee_rate(i);
- table[idx].next_rate_idx =
- il3945_rates[prev_idx].table_rs_idx;
+ table[idx].next_rate_idx = il3945_rates[prev_idx].table_rs_idx;
}
switch (il->band) {
@@ -2336,14 +2341,12 @@ int il3945_init_hw_rate_table(struct il_priv *il)
D_RATE("Select A mode rate scale\n");
/* If one of the following CCK rates is used,
* have it fall back to the 6M OFDM rate */
- for (i = RATE_1M_IDX_TBL;
- i <= RATE_11M_IDX_TBL; i++)
+ for (i = RATE_1M_IDX_TBL; i <= RATE_11M_IDX_TBL; i++)
table[i].next_rate_idx =
- il3945_rates[IL_FIRST_OFDM_RATE].table_rs_idx;
+ il3945_rates[IL_FIRST_OFDM_RATE].table_rs_idx;
/* Don't fall back to CCK rates */
- table[RATE_12M_IDX_TBL].next_rate_idx =
- RATE_9M_IDX_TBL;
+ table[RATE_12M_IDX_TBL].next_rate_idx = RATE_9M_IDX_TBL;
/* Don't drop out of OFDM rates */
table[RATE_6M_IDX_TBL].next_rate_idx =
@@ -2359,10 +2362,9 @@ int il3945_init_hw_rate_table(struct il_priv *il)
il_is_associated(il)) {
idx = IL_FIRST_CCK_RATE;
- for (i = RATE_6M_IDX_TBL;
- i <= RATE_54M_IDX_TBL; i++)
+ for (i = RATE_6M_IDX_TBL; i <= RATE_54M_IDX_TBL; i++)
table[i].next_rate_idx =
- il3945_rates[idx].table_rs_idx;
+ il3945_rates[idx].table_rs_idx;
idx = RATE_11M_IDX_TBL;
/* CCK shouldn't fall back to OFDM... */
@@ -2377,27 +2379,24 @@ int il3945_init_hw_rate_table(struct il_priv *il)
/* Update the rate scaling for control frame Tx */
rate_cmd.table_id = 0;
- rc = il_send_cmd_pdu(il, C_RATE_SCALE, sizeof(rate_cmd),
- &rate_cmd);
+ rc = il_send_cmd_pdu(il, C_RATE_SCALE, sizeof(rate_cmd), &rate_cmd);
if (rc)
return rc;
/* Update the rate scaling for data frame Tx */
rate_cmd.table_id = 1;
- return il_send_cmd_pdu(il, C_RATE_SCALE, sizeof(rate_cmd),
- &rate_cmd);
+ return il_send_cmd_pdu(il, C_RATE_SCALE, sizeof(rate_cmd), &rate_cmd);
}
/* Called when initializing driver */
-int il3945_hw_set_hw_params(struct il_priv *il)
+int
+il3945_hw_set_hw_params(struct il_priv *il)
{
- memset((void *)&il->hw_params, 0,
- sizeof(struct il_hw_params));
+ memset((void *)&il->hw_params, 0, sizeof(struct il_hw_params));
il->_3945.shared_virt =
- dma_alloc_coherent(&il->pci_dev->dev,
- sizeof(struct il3945_shared),
- &il->_3945.shared_phys, GFP_KERNEL);
+ dma_alloc_coherent(&il->pci_dev->dev, sizeof(struct il3945_shared),
+ &il->_3945.shared_phys, GFP_KERNEL);
if (!il->_3945.shared_virt) {
IL_ERR("failed to allocate pci memory\n");
return -ENOMEM;
@@ -2422,8 +2421,9 @@ int il3945_hw_set_hw_params(struct il_priv *il)
return 0;
}
-unsigned int il3945_hw_get_beacon_cmd(struct il_priv *il,
- struct il3945_frame *frame, u8 rate)
+unsigned int
+il3945_hw_get_beacon_cmd(struct il_priv *il, struct il3945_frame *frame,
+ u8 rate)
{
struct il3945_tx_beacon_cmd *tx_beacon_cmd;
unsigned int frame_size;
@@ -2431,51 +2431,53 @@ unsigned int il3945_hw_get_beacon_cmd(struct il_priv *il,
tx_beacon_cmd = (struct il3945_tx_beacon_cmd *)&frame->u;
memset(tx_beacon_cmd, 0, sizeof(*tx_beacon_cmd));
- tx_beacon_cmd->tx.sta_id =
- il->ctx.bcast_sta_id;
+ tx_beacon_cmd->tx.sta_id = il->ctx.bcast_sta_id;
tx_beacon_cmd->tx.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
- frame_size = il3945_fill_beacon_frame(il,
- tx_beacon_cmd->frame,
- sizeof(frame->u) - sizeof(*tx_beacon_cmd));
+ frame_size =
+ il3945_fill_beacon_frame(il, tx_beacon_cmd->frame,
+ sizeof(frame->u) - sizeof(*tx_beacon_cmd));
BUG_ON(frame_size > MAX_MPDU_SIZE);
- tx_beacon_cmd->tx.len = cpu_to_le16((u16)frame_size);
+ tx_beacon_cmd->tx.len = cpu_to_le16((u16) frame_size);
tx_beacon_cmd->tx.rate = rate;
- tx_beacon_cmd->tx.tx_flags = (TX_CMD_FLG_SEQ_CTL_MSK |
- TX_CMD_FLG_TSF_MSK);
+ tx_beacon_cmd->tx.tx_flags =
+ (TX_CMD_FLG_SEQ_CTL_MSK | TX_CMD_FLG_TSF_MSK);
- /* supp_rates[0] == OFDM start at IL_FIRST_OFDM_RATE*/
+ /* supp_rates[0] == OFDM start at IL_FIRST_OFDM_RATE */
tx_beacon_cmd->tx.supp_rates[0] =
- (IL_OFDM_BASIC_RATES_MASK >> IL_FIRST_OFDM_RATE) & 0xFF;
+ (IL_OFDM_BASIC_RATES_MASK >> IL_FIRST_OFDM_RATE) & 0xFF;
- tx_beacon_cmd->tx.supp_rates[1] =
- (IL_CCK_BASIC_RATES_MASK & 0xF);
+ tx_beacon_cmd->tx.supp_rates[1] = (IL_CCK_BASIC_RATES_MASK & 0xF);
return sizeof(struct il3945_tx_beacon_cmd) + frame_size;
}
-void il3945_hw_handler_setup(struct il_priv *il)
+void
+il3945_hw_handler_setup(struct il_priv *il)
{
il->handlers[C_TX] = il3945_hdl_tx;
il->handlers[N_3945_RX] = il3945_hdl_rx;
}
-void il3945_hw_setup_deferred_work(struct il_priv *il)
+void
+il3945_hw_setup_deferred_work(struct il_priv *il)
{
INIT_DELAYED_WORK(&il->_3945.thermal_periodic,
il3945_bg_reg_txpower_periodic);
}
-void il3945_hw_cancel_deferred_work(struct il_priv *il)
+void
+il3945_hw_cancel_deferred_work(struct il_priv *il)
{
cancel_delayed_work(&il->_3945.thermal_periodic);
}
/* check contents of special bootstrap uCode SRAM */
-static int il3945_verify_bsm(struct il_priv *il)
- {
+static int
+il3945_verify_bsm(struct il_priv *il)
+{
__le32 *image = il->ucode_boot.v_addr;
u32 len = il->ucode_boot.len;
u32 reg;
@@ -2485,16 +2487,14 @@ static int il3945_verify_bsm(struct il_priv *il)
/* verify BSM SRAM contents */
val = il_rd_prph(il, BSM_WR_DWCOUNT_REG);
- for (reg = BSM_SRAM_LOWER_BOUND;
- reg < BSM_SRAM_LOWER_BOUND + len;
+ for (reg = BSM_SRAM_LOWER_BOUND; reg < BSM_SRAM_LOWER_BOUND + len;
reg += sizeof(u32), image++) {
val = il_rd_prph(il, reg);
if (val != le32_to_cpu(*image)) {
IL_ERR("BSM uCode verification failed at "
- "addr 0x%08X+%u (of %u), is 0x%x, s/b 0x%x\n",
- BSM_SRAM_LOWER_BOUND,
- reg - BSM_SRAM_LOWER_BOUND, len,
- val, le32_to_cpu(*image));
+ "addr 0x%08X+%u (of %u), is 0x%x, s/b 0x%x\n",
+ BSM_SRAM_LOWER_BOUND, reg - BSM_SRAM_LOWER_BOUND,
+ len, val, le32_to_cpu(*image));
return -EIO;
}
}
@@ -2504,7 +2504,6 @@ static int il3945_verify_bsm(struct il_priv *il)
return 0;
}
-
/******************************************************************************
*
* EEPROM related functions
@@ -2519,14 +2518,15 @@ static int il3945_verify_bsm(struct il_priv *il)
* simply claims ownership, which should be safe when this function is called
* (i.e. before loading uCode!).
*/
-static int il3945_eeprom_acquire_semaphore(struct il_priv *il)
+static int
+il3945_eeprom_acquire_semaphore(struct il_priv *il)
{
_il_clear_bit(il, CSR_EEPROM_GP, CSR_EEPROM_GP_IF_OWNER_MSK);
return 0;
}
-
-static void il3945_eeprom_release_semaphore(struct il_priv *il)
+static void
+il3945_eeprom_release_semaphore(struct il_priv *il)
{
return;
}
@@ -2563,7 +2563,8 @@ static void il3945_eeprom_release_semaphore(struct il_priv *il)
* the runtime uCode instructions and the backup data cache into SRAM,
* and re-launches the runtime uCode from where it left off.
*/
-static int il3945_load_bsm(struct il_priv *il)
+static int
+il3945_load_bsm(struct il_priv *il)
{
__le32 *image = il->ucode_boot.v_addr;
u32 len = il->ucode_boot.len;
@@ -2583,10 +2584,10 @@ static int il3945_load_bsm(struct il_priv *il)
return -EINVAL;
/* Tell bootstrap uCode where to find the "Initialize" uCode
- * in host DRAM ... host DRAM physical address bits 31:0 for 3945.
- * NOTE: il3945_initialize_alive_start() will replace these values,
- * after the "initialize" uCode has run, to point to
- * runtime/protocol instructions and backup data cache. */
+ * in host DRAM ... host DRAM physical address bits 31:0 for 3945.
+ * NOTE: il3945_initialize_alive_start() will replace these values,
+ * after the "initialize" uCode has run, to point to
+ * runtime/protocol instructions and backup data cache. */
pinst = il->ucode_init.p_addr;
pdata = il->ucode_init_data.p_addr;
inst_len = il->ucode_init.len;
@@ -2601,8 +2602,7 @@ static int il3945_load_bsm(struct il_priv *il)
for (reg_offset = BSM_SRAM_LOWER_BOUND;
reg_offset < BSM_SRAM_LOWER_BOUND + len;
reg_offset += sizeof(u32), image++)
- _il_wr_prph(il, reg_offset,
- le32_to_cpu(*image));
+ _il_wr_prph(il, reg_offset, le32_to_cpu(*image));
rc = il3945_verify_bsm(il);
if (rc)
@@ -2610,14 +2610,12 @@ static int il3945_load_bsm(struct il_priv *il)
/* Tell BSM to copy from BSM SRAM into instruction SRAM, when asked */
il_wr_prph(il, BSM_WR_MEM_SRC_REG, 0x0);
- il_wr_prph(il, BSM_WR_MEM_DST_REG,
- IL39_RTC_INST_LOWER_BOUND);
+ il_wr_prph(il, BSM_WR_MEM_DST_REG, IL39_RTC_INST_LOWER_BOUND);
il_wr_prph(il, BSM_WR_DWCOUNT_REG, len / sizeof(u32));
/* Load bootstrap code into instruction SRAM now,
* to prepare to load "initialize" uCode */
- il_wr_prph(il, BSM_WR_CTRL_REG,
- BSM_WR_CTRL_REG_BIT_START);
+ il_wr_prph(il, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START);
/* Wait for load of bootstrap uCode to finish */
for (i = 0; i < 100; i++) {
@@ -2635,8 +2633,7 @@ static int il3945_load_bsm(struct il_priv *il)
/* Enable future boot loads whenever power management unit triggers it
* (e.g. when powering back up after power-save shutdown) */
- il_wr_prph(il, BSM_WR_CTRL_REG,
- BSM_WR_CTRL_REG_BIT_START_EN);
+ il_wr_prph(il, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START_EN);
return 0;
}
@@ -2653,30 +2650,30 @@ static struct il_lib_ops il3945_lib = {
.load_ucode = il3945_load_bsm,
.dump_nic_error_log = il3945_dump_nic_error_log,
.apm_ops = {
- .init = il3945_apm_init,
- .config = il3945_nic_config,
- },
+ .init = il3945_apm_init,
+ .config = il3945_nic_config,
+ },
.eeprom_ops = {
- .regulatory_bands = {
- EEPROM_REGULATORY_BAND_1_CHANNELS,
- EEPROM_REGULATORY_BAND_2_CHANNELS,
- EEPROM_REGULATORY_BAND_3_CHANNELS,
- EEPROM_REGULATORY_BAND_4_CHANNELS,
- EEPROM_REGULATORY_BAND_5_CHANNELS,
- EEPROM_REGULATORY_BAND_NO_HT40,
- EEPROM_REGULATORY_BAND_NO_HT40,
- },
- .acquire_semaphore = il3945_eeprom_acquire_semaphore,
- .release_semaphore = il3945_eeprom_release_semaphore,
- },
- .send_tx_power = il3945_send_tx_power,
+ .regulatory_bands = {
+ EEPROM_REGULATORY_BAND_1_CHANNELS,
+ EEPROM_REGULATORY_BAND_2_CHANNELS,
+ EEPROM_REGULATORY_BAND_3_CHANNELS,
+ EEPROM_REGULATORY_BAND_4_CHANNELS,
+ EEPROM_REGULATORY_BAND_5_CHANNELS,
+ EEPROM_REGULATORY_BAND_NO_HT40,
+ EEPROM_REGULATORY_BAND_NO_HT40,
+ },
+ .acquire_semaphore = il3945_eeprom_acquire_semaphore,
+ .release_semaphore = il3945_eeprom_release_semaphore,
+ },
+ .send_tx_power = il3945_send_tx_power,
.is_valid_rtc_data_addr = il3945_hw_valid_rtc_data_addr,
.debugfs_ops = {
- .rx_stats_read = il3945_ucode_rx_stats_read,
- .tx_stats_read = il3945_ucode_tx_stats_read,
- .general_stats_read = il3945_ucode_general_stats_read,
- },
+ .rx_stats_read = il3945_ucode_rx_stats_read,
+ .tx_stats_read = il3945_ucode_tx_stats_read,
+ .general_stats_read = il3945_ucode_general_stats_read,
+ },
};
static const struct il_legacy_ops il3945_legacy_ops = {
@@ -2729,7 +2726,7 @@ static struct il_cfg il3945_abg_cfg = {
.fw_name_pre = IL3945_FW_PRE,
.ucode_api_max = IL3945_UCODE_API_MAX,
.ucode_api_min = IL3945_UCODE_API_MIN,
- .sku = IL_SKU_A|IL_SKU_G,
+ .sku = IL_SKU_A | IL_SKU_G,
.eeprom_ver = EEPROM_3945_EEPROM_VERSION,
.ops = &il3945_ops,
.mod_params = &il3945_mod_params,
@@ -2738,13 +2735,14 @@ static struct il_cfg il3945_abg_cfg = {
};
DEFINE_PCI_DEVICE_TABLE(il3945_hw_card_ids) = {
- {IL_PCI_DEVICE(0x4222, 0x1005, il3945_bg_cfg)},
- {IL_PCI_DEVICE(0x4222, 0x1034, il3945_bg_cfg)},
- {IL_PCI_DEVICE(0x4222, 0x1044, il3945_bg_cfg)},
- {IL_PCI_DEVICE(0x4227, 0x1014, il3945_bg_cfg)},
- {IL_PCI_DEVICE(0x4222, PCI_ANY_ID, il3945_abg_cfg)},
- {IL_PCI_DEVICE(0x4227, PCI_ANY_ID, il3945_abg_cfg)},
- {0}
+ {
+ IL_PCI_DEVICE(0x4222, 0x1005, il3945_bg_cfg)}, {
+ IL_PCI_DEVICE(0x4222, 0x1034, il3945_bg_cfg)}, {
+ IL_PCI_DEVICE(0x4222, 0x1044, il3945_bg_cfg)}, {
+ IL_PCI_DEVICE(0x4227, 0x1014, il3945_bg_cfg)}, {
+ IL_PCI_DEVICE(0x4222, PCI_ANY_ID, il3945_abg_cfg)}, {
+ IL_PCI_DEVICE(0x4227, PCI_ANY_ID, il3945_abg_cfg)}, {
+ 0}
};
MODULE_DEVICE_TABLE(pci, il3945_hw_card_ids);
diff --git a/drivers/net/wireless/iwlegacy/3945.h b/drivers/net/wireless/iwlegacy/3945.h
index 1a2430bb188..8e53751270f 100644
--- a/drivers/net/wireless/iwlegacy/3945.h
+++ b/drivers/net/wireless/iwlegacy/3945.h
@@ -27,7 +27,7 @@
#ifndef __il_3945_h__
#define __il_3945_h__
-#include <linux/pci.h> /* for struct pci_device_id */
+#include <linux/pci.h> /* for struct pci_device_id */
#include <linux/kernel.h>
#include <net/ieee80211_radiotap.h>
@@ -93,7 +93,6 @@ struct il3945_rs_sta {
int last_txrate_idx;
};
-
/*
* The common struct MUST be first because it is shared between
* 3945 and 4965!
@@ -186,7 +185,6 @@ struct il3945_ibss_seq {
#define IL_RX_STATS(x) (&x->u.rx_frame.stats)
#define IL_RX_DATA(x) (IL_RX_HDR(x)->payload)
-
/******************************************************************************
*
* Functions implemented in iwl3945-base.c which are forward declared here
@@ -197,9 +195,10 @@ extern int il3945_calc_db_from_ratio(int sig_ratio);
extern void il3945_rx_replenish(void *data);
extern void il3945_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq);
extern unsigned int il3945_fill_beacon_frame(struct il_priv *il,
- struct ieee80211_hdr *hdr, int left);
+ struct ieee80211_hdr *hdr,
+ int left);
extern int il3945_dump_nic_event_log(struct il_priv *il, bool full_log,
- char **buf, bool display);
+ char **buf, bool display);
extern void il3945_dump_nic_error_log(struct il_priv *il);
/******************************************************************************
@@ -229,34 +228,29 @@ extern void il3945_hw_txq_ctx_free(struct il_priv *il);
extern void il3945_hw_txq_ctx_stop(struct il_priv *il);
extern int il3945_hw_nic_reset(struct il_priv *il);
extern int il3945_hw_txq_attach_buf_to_tfd(struct il_priv *il,
- struct il_tx_queue *txq,
- dma_addr_t addr, u16 len,
- u8 reset, u8 pad);
-extern void il3945_hw_txq_free_tfd(struct il_priv *il,
- struct il_tx_queue *txq);
+ struct il_tx_queue *txq,
+ dma_addr_t addr, u16 len, u8 reset,
+ u8 pad);
+extern void il3945_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq);
extern int il3945_hw_get_temperature(struct il_priv *il);
-extern int il3945_hw_tx_queue_init(struct il_priv *il,
- struct il_tx_queue *txq);
+extern int il3945_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq);
extern unsigned int il3945_hw_get_beacon_cmd(struct il_priv *il,
- struct il3945_frame *frame, u8 rate);
-void il3945_hw_build_tx_cmd_rate(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct ieee80211_tx_info *info,
- struct ieee80211_hdr *hdr,
- int sta_id, int tx_id);
+ struct il3945_frame *frame,
+ u8 rate);
+void il3945_hw_build_tx_cmd_rate(struct il_priv *il, struct il_device_cmd *cmd,
+ struct ieee80211_tx_info *info,
+ struct ieee80211_hdr *hdr, int sta_id,
+ int tx_id);
extern int il3945_hw_reg_send_txpower(struct il_priv *il);
extern int il3945_hw_reg_set_txpower(struct il_priv *il, s8 power);
-extern void il3945_hdl_stats(struct il_priv *il,
- struct il_rx_buf *rxb);
-void il3945_hdl_c_stats(struct il_priv *il,
- struct il_rx_buf *rxb);
+extern void il3945_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb);
+void il3945_hdl_c_stats(struct il_priv *il, struct il_rx_buf *rxb);
extern void il3945_disable_events(struct il_priv *il);
extern int il4965_get_temperature(const struct il_priv *il);
extern void il3945_post_associate(struct il_priv *il);
extern void il3945_config_ap(struct il_priv *il);
-extern int il3945_commit_rxon(struct il_priv *il,
- struct il_rxon_context *ctx);
+extern int il3945_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx);
/**
* il3945_hw_find_station - Find station id for a given BSSID
@@ -266,7 +260,7 @@ extern int il3945_commit_rxon(struct il_priv *il,
* not yet been merged into a single common layer for managing the
* station tables.
*/
-extern u8 il3945_hw_find_station(struct il_priv *il, const u8 *bssid);
+extern u8 il3945_hw_find_station(struct il_priv *il, const u8 * bssid);
extern struct ieee80211_ops il3945_hw_ops;
@@ -275,8 +269,10 @@ extern int il3945_init_hw_rate_table(struct il_priv *il);
extern void il3945_reg_txpower_periodic(struct il_priv *il);
extern int il3945_txpower_set_from_eeprom(struct il_priv *il);
-extern const struct il_channel_info *il3945_get_channel_info(
- const struct il_priv *il, enum ieee80211_band band, u16 channel);
+extern const struct il_channel_info *il3945_get_channel_info(const struct
+ il_priv *il,
+ enum ieee80211_band
+ band, u16 channel);
extern int il3945_rs_next_rate(struct il_priv *il, int rate);
@@ -287,8 +283,6 @@ void il3945_post_scan(struct il_priv *il);
/* rates */
extern const struct il3945_rate_info il3945_rates[RATE_COUNT_3945];
-
-
/* RSSI to dBm */
#define IL39_RSSI_OFFSET 95
@@ -323,7 +317,7 @@ struct il3945_eeprom_txpower_sample {
* DO NOT ALTER THIS STRUCTURE!!!
*/
struct il3945_eeprom_txpower_group {
- struct il3945_eeprom_txpower_sample samples[5]; /* 5 power levels */
+ struct il3945_eeprom_txpower_sample samples[5]; /* 5 power levels */
s32 a, b, c, d, e; /* coefficients for voltage->power
* formula (signed) */
s32 Fa, Fb, Fc, Fd, Fe; /* these modify coeffs based on
@@ -354,7 +348,7 @@ struct il3945_eeprom_temperature_corr {
*/
struct il3945_eeprom {
u8 reserved0[16];
- u16 device_id; /* abs.ofs: 16 */
+ u16 device_id; /* abs.ofs: 16 */
u8 reserved1[2];
u16 pmc; /* abs.ofs: 20 */
u8 reserved2[20];
@@ -389,7 +383,7 @@ struct il3945_eeprom {
* 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
*/
u16 band_1_count; /* abs.ofs: 196 */
- struct il_eeprom_channel band_1_channels[14]; /* abs.ofs: 198 */
+ struct il_eeprom_channel band_1_channels[14]; /* abs.ofs: 198 */
/*
* 4.9 GHz channels 183, 184, 185, 187, 188, 189, 192, 196,
@@ -397,28 +391,28 @@ struct il3945_eeprom {
* (4915-5080MHz) (none of these is ever supported)
*/
u16 band_2_count; /* abs.ofs: 226 */
- struct il_eeprom_channel band_2_channels[13]; /* abs.ofs: 228 */
+ struct il_eeprom_channel band_2_channels[13]; /* abs.ofs: 228 */
/*
* 5.2 GHz channels 34, 36, 38, 40, 42, 44, 46, 48, 52, 56, 60, 64
* (5170-5320MHz)
*/
u16 band_3_count; /* abs.ofs: 254 */
- struct il_eeprom_channel band_3_channels[12]; /* abs.ofs: 256 */
+ struct il_eeprom_channel band_3_channels[12]; /* abs.ofs: 256 */
/*
* 5.5 GHz channels 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140
* (5500-5700MHz)
*/
u16 band_4_count; /* abs.ofs: 280 */
- struct il_eeprom_channel band_4_channels[11]; /* abs.ofs: 282 */
+ struct il_eeprom_channel band_4_channels[11]; /* abs.ofs: 282 */
/*
* 5.7 GHz channels 145, 149, 153, 157, 161, 165
* (5725-5825MHz)
*/
u16 band_5_count; /* abs.ofs: 304 */
- struct il_eeprom_channel band_5_channels[6]; /* abs.ofs: 306 */
+ struct il_eeprom_channel band_5_channels[6]; /* abs.ofs: 306 */
u8 reserved9[194];
@@ -428,7 +422,7 @@ struct il3945_eeprom {
#define IL_NUM_TX_CALIB_GROUPS 5
struct il3945_eeprom_txpower_group groups[IL_NUM_TX_CALIB_GROUPS];
/* abs.ofs: 512 */
- struct il3945_eeprom_temperature_corr corrections; /* abs.ofs: 832 */
+ struct il3945_eeprom_temperature_corr corrections; /* abs.ofs: 832 */
u8 reserved16[172]; /* fill out to full 1024 byte block */
} __packed;
@@ -474,7 +468,8 @@ struct il3945_eeprom {
/* Size of uCode instruction memory in bootstrap state machine */
#define IL39_MAX_BSM_SIZE IL39_RTC_INST_SIZE
-static inline int il3945_hw_valid_rtc_data_addr(u32 addr)
+static inline int
+il3945_hw_valid_rtc_data_addr(u32 addr)
{
return (addr >= IL39_RTC_DATA_LOWER_BOUND &&
addr < IL39_RTC_DATA_UPPER_BOUND);
@@ -486,19 +481,22 @@ struct il3945_shared {
__le32 tx_base_ptr[8];
} __packed;
-static inline u8 il3945_hw_get_rate(__le16 rate_n_flags)
+static inline u8
+il3945_hw_get_rate(__le16 rate_n_flags)
{
return le16_to_cpu(rate_n_flags) & 0xFF;
}
-static inline u16 il3945_hw_get_rate_n_flags(__le16 rate_n_flags)
+static inline u16
+il3945_hw_get_rate_n_flags(__le16 rate_n_flags)
{
return le16_to_cpu(rate_n_flags);
}
-static inline __le16 il3945_hw_set_rate_n_flags(u8 rate, u16 flags)
+static inline __le16
+il3945_hw_set_rate_n_flags(u8 rate, u16 flags)
{
- return cpu_to_le16((u16)rate|flags);
+ return cpu_to_le16((u16) rate | flags);
}
/************************************/
@@ -553,7 +551,6 @@ static inline __le16 il3945_hw_set_rate_n_flags(u8 rate, u16 flags)
#define FH39_TSSR_MSG_CONFIG (FH39_TSSR_TBL + 0x008)
#define FH39_TSSR_TX_STATUS (FH39_TSSR_TBL + 0x010)
-
/* DBM */
#define FH39_SRVC_CHNL (6)
@@ -622,29 +619,31 @@ struct il3945_tfd {
} __packed;
#ifdef CONFIG_IWLEGACY_DEBUGFS
-ssize_t il3945_ucode_rx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
-ssize_t il3945_ucode_tx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
+ssize_t il3945_ucode_rx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos);
+ssize_t il3945_ucode_tx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos);
ssize_t il3945_ucode_general_stats_read(struct file *file,
- char __user *user_buf, size_t count,
- loff_t *ppos);
+ char __user * user_buf, size_t count,
+ loff_t * ppos);
#else
-static ssize_t il3945_ucode_rx_stats_read(struct file *file,
- char __user *user_buf, size_t count,
- loff_t *ppos)
+static ssize_t
+il3945_ucode_rx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
return 0;
}
-static ssize_t il3945_ucode_tx_stats_read(struct file *file,
- char __user *user_buf, size_t count,
- loff_t *ppos)
+
+static ssize_t
+il3945_ucode_tx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
return 0;
}
-static ssize_t il3945_ucode_general_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+
+static ssize_t
+il3945_ucode_general_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
return 0;
}
diff --git a/drivers/net/wireless/iwlegacy/4965-calib.c b/drivers/net/wireless/iwlegacy/4965-calib.c
index 405032a9b36..efb32331ec8 100644
--- a/drivers/net/wireless/iwlegacy/4965-calib.c
+++ b/drivers/net/wireless/iwlegacy/4965-calib.c
@@ -79,7 +79,8 @@ struct stats_general_data {
u32 beacon_energy_c;
};
-void il4965_calib_free_results(struct il_priv *il)
+void
+il4965_calib_free_results(struct il_priv *il)
{
int i;
@@ -102,10 +103,9 @@ void il4965_calib_free_results(struct il_priv *il)
* enough to receive all of our own network traffic, but not so
* high that our DSP gets too busy trying to lock onto non-network
* activity/noise. */
-static int il4965_sens_energy_cck(struct il_priv *il,
- u32 norm_fa,
- u32 rx_enable_time,
- struct stats_general_data *rx_info)
+static int
+il4965_sens_energy_cck(struct il_priv *il, u32 norm_fa, u32 rx_enable_time,
+ struct stats_general_data *rx_info)
{
u32 max_nrg_cck = 0;
int i = 0;
@@ -138,12 +138,12 @@ static int il4965_sens_energy_cck(struct il_priv *il,
/* Find max silence rssi among all 3 receivers.
* This is background noise, which may include transmissions from other
* networks, measured during silence before our network's beacon */
- silence_rssi_a = (u8)((rx_info->beacon_silence_rssi_a &
- ALL_BAND_FILTER) >> 8);
- silence_rssi_b = (u8)((rx_info->beacon_silence_rssi_b &
- ALL_BAND_FILTER) >> 8);
- silence_rssi_c = (u8)((rx_info->beacon_silence_rssi_c &
- ALL_BAND_FILTER) >> 8);
+ silence_rssi_a =
+ (u8) ((rx_info->beacon_silence_rssi_a & ALL_BAND_FILTER) >> 8);
+ silence_rssi_b =
+ (u8) ((rx_info->beacon_silence_rssi_b & ALL_BAND_FILTER) >> 8);
+ silence_rssi_c =
+ (u8) ((rx_info->beacon_silence_rssi_c & ALL_BAND_FILTER) >> 8);
val = max(silence_rssi_b, silence_rssi_c);
max_silence_rssi = max(silence_rssi_a, (u8) val);
@@ -159,9 +159,8 @@ static int il4965_sens_energy_cck(struct il_priv *il,
val = data->nrg_silence_rssi[i];
silence_ref = max(silence_ref, val);
}
- D_CALIB("silence a %u, b %u, c %u, 20-bcn max %u\n",
- silence_rssi_a, silence_rssi_b, silence_rssi_c,
- silence_ref);
+ D_CALIB("silence a %u, b %u, c %u, 20-bcn max %u\n", silence_rssi_a,
+ silence_rssi_b, silence_rssi_c, silence_ref);
/* Find max rx energy (min value!) among all 3 receivers,
* measured during beacon frame.
@@ -184,8 +183,8 @@ static int il4965_sens_energy_cck(struct il_priv *il,
max_nrg_cck += 6;
D_CALIB("rx energy a %u, b %u, c %u, 10-bcn max/min %u\n",
- rx_info->beacon_energy_a, rx_info->beacon_energy_b,
- rx_info->beacon_energy_c, max_nrg_cck - 6);
+ rx_info->beacon_energy_a, rx_info->beacon_energy_b,
+ rx_info->beacon_energy_c, max_nrg_cck - 6);
/* Count number of consecutive beacons with fewer-than-desired
* false alarms. */
@@ -194,13 +193,13 @@ static int il4965_sens_energy_cck(struct il_priv *il,
else
data->num_in_cck_no_fa = 0;
D_CALIB("consecutive bcns with few false alarms = %u\n",
- data->num_in_cck_no_fa);
+ data->num_in_cck_no_fa);
/* If we got too many false alarms this time, reduce sensitivity */
if (false_alarms > max_false_alarms &&
data->auto_corr_cck > AUTO_CORR_MAX_TH_CCK) {
- D_CALIB("norm FA %u > max FA %u\n",
- false_alarms, max_false_alarms);
+ D_CALIB("norm FA %u > max FA %u\n", false_alarms,
+ max_false_alarms);
D_CALIB("... reducing sensitivity\n");
data->nrg_curr_state = IL_FA_TOO_MANY;
/* Store for "fewer than desired" on later beacon */
@@ -209,19 +208,18 @@ static int il4965_sens_energy_cck(struct il_priv *il,
/* increase energy threshold (reduce nrg value)
* to decrease sensitivity */
data->nrg_th_cck = data->nrg_th_cck - NRG_STEP_CCK;
- /* Else if we got fewer than desired, increase sensitivity */
+ /* Else if we got fewer than desired, increase sensitivity */
} else if (false_alarms < min_false_alarms) {
data->nrg_curr_state = IL_FA_TOO_FEW;
/* Compare silence level with silence level for most recent
* healthy number or too many false alarms */
- data->nrg_auto_corr_silence_diff = (s32)data->nrg_silence_ref -
- (s32)silence_ref;
+ data->nrg_auto_corr_silence_diff =
+ (s32) data->nrg_silence_ref - (s32) silence_ref;
- D_CALIB(
- "norm FA %u < min FA %u, silence diff %d\n",
- false_alarms, min_false_alarms,
- data->nrg_auto_corr_silence_diff);
+ D_CALIB("norm FA %u < min FA %u, silence diff %d\n",
+ false_alarms, min_false_alarms,
+ data->nrg_auto_corr_silence_diff);
/* Increase value to increase sensitivity, but only if:
* 1a) previous beacon did *not* have *too many* false alarms
@@ -236,13 +234,12 @@ static int il4965_sens_energy_cck(struct il_priv *il,
D_CALIB("... increasing sensitivity\n");
/* Increase nrg value to increase sensitivity */
val = data->nrg_th_cck + NRG_STEP_CCK;
- data->nrg_th_cck = min((u32)ranges->min_nrg_cck, val);
+ data->nrg_th_cck = min((u32) ranges->min_nrg_cck, val);
} else {
- D_CALIB(
- "... but not changing sensitivity\n");
+ D_CALIB("... but not changing sensitivity\n");
}
- /* Else we got a healthy number of false alarms, keep status quo */
+ /* Else we got a healthy number of false alarms, keep status quo */
} else {
D_CALIB(" FA in safe zone\n");
data->nrg_curr_state = IL_FA_GOOD_RANGE;
@@ -283,31 +280,28 @@ static int il4965_sens_energy_cck(struct il_priv *il,
else {
val = data->auto_corr_cck + AUTO_CORR_STEP_CCK;
data->auto_corr_cck =
- min((u32)ranges->auto_corr_max_cck, val);
+ min((u32) ranges->auto_corr_max_cck, val);
}
val = data->auto_corr_cck_mrc + AUTO_CORR_STEP_CCK;
data->auto_corr_cck_mrc =
- min((u32)ranges->auto_corr_max_cck_mrc, val);
+ min((u32) ranges->auto_corr_max_cck_mrc, val);
} else if (false_alarms < min_false_alarms &&
(data->nrg_auto_corr_silence_diff > NRG_DIFF ||
data->num_in_cck_no_fa > MAX_NUMBER_CCK_NO_FA)) {
/* Decrease auto_corr values to increase sensitivity */
val = data->auto_corr_cck - AUTO_CORR_STEP_CCK;
- data->auto_corr_cck =
- max((u32)ranges->auto_corr_min_cck, val);
+ data->auto_corr_cck = max((u32) ranges->auto_corr_min_cck, val);
val = data->auto_corr_cck_mrc - AUTO_CORR_STEP_CCK;
data->auto_corr_cck_mrc =
- max((u32)ranges->auto_corr_min_cck_mrc, val);
+ max((u32) ranges->auto_corr_min_cck_mrc, val);
}
return 0;
}
-
-static int il4965_sens_auto_corr_ofdm(struct il_priv *il,
- u32 norm_fa,
- u32 rx_enable_time)
+static int
+il4965_sens_auto_corr_ofdm(struct il_priv *il, u32 norm_fa, u32 rx_enable_time)
{
u32 val;
u32 false_alarms = norm_fa * 200 * 1024;
@@ -321,96 +315,94 @@ static int il4965_sens_auto_corr_ofdm(struct il_priv *il,
/* If we got too many false alarms this time, reduce sensitivity */
if (false_alarms > max_false_alarms) {
- D_CALIB("norm FA %u > max FA %u)\n",
- false_alarms, max_false_alarms);
+ D_CALIB("norm FA %u > max FA %u)\n", false_alarms,
+ max_false_alarms);
val = data->auto_corr_ofdm + AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm =
- min((u32)ranges->auto_corr_max_ofdm, val);
+ min((u32) ranges->auto_corr_max_ofdm, val);
val = data->auto_corr_ofdm_mrc + AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm_mrc =
- min((u32)ranges->auto_corr_max_ofdm_mrc, val);
+ min((u32) ranges->auto_corr_max_ofdm_mrc, val);
val = data->auto_corr_ofdm_x1 + AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm_x1 =
- min((u32)ranges->auto_corr_max_ofdm_x1, val);
+ min((u32) ranges->auto_corr_max_ofdm_x1, val);
val = data->auto_corr_ofdm_mrc_x1 + AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm_mrc_x1 =
- min((u32)ranges->auto_corr_max_ofdm_mrc_x1, val);
+ min((u32) ranges->auto_corr_max_ofdm_mrc_x1, val);
}
/* Else if we got fewer than desired, increase sensitivity */
else if (false_alarms < min_false_alarms) {
- D_CALIB("norm FA %u < min FA %u\n",
- false_alarms, min_false_alarms);
+ D_CALIB("norm FA %u < min FA %u\n", false_alarms,
+ min_false_alarms);
val = data->auto_corr_ofdm - AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm =
- max((u32)ranges->auto_corr_min_ofdm, val);
+ max((u32) ranges->auto_corr_min_ofdm, val);
val = data->auto_corr_ofdm_mrc - AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm_mrc =
- max((u32)ranges->auto_corr_min_ofdm_mrc, val);
+ max((u32) ranges->auto_corr_min_ofdm_mrc, val);
val = data->auto_corr_ofdm_x1 - AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm_x1 =
- max((u32)ranges->auto_corr_min_ofdm_x1, val);
+ max((u32) ranges->auto_corr_min_ofdm_x1, val);
val = data->auto_corr_ofdm_mrc_x1 - AUTO_CORR_STEP_OFDM;
data->auto_corr_ofdm_mrc_x1 =
- max((u32)ranges->auto_corr_min_ofdm_mrc_x1, val);
+ max((u32) ranges->auto_corr_min_ofdm_mrc_x1, val);
} else {
D_CALIB("min FA %u < norm FA %u < max FA %u OK\n",
- min_false_alarms, false_alarms, max_false_alarms);
+ min_false_alarms, false_alarms, max_false_alarms);
}
return 0;
}
-static void il4965_prepare_legacy_sensitivity_tbl(struct il_priv *il,
- struct il_sensitivity_data *data,
- __le16 *tbl)
+static void
+il4965_prepare_legacy_sensitivity_tbl(struct il_priv *il,
+ struct il_sensitivity_data *data,
+ __le16 * tbl)
{
tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_IDX] =
- cpu_to_le16((u16)data->auto_corr_ofdm);
+ cpu_to_le16((u16) data->auto_corr_ofdm);
tbl[HD_AUTO_CORR32_X4_TH_ADD_MIN_MRC_IDX] =
- cpu_to_le16((u16)data->auto_corr_ofdm_mrc);
+ cpu_to_le16((u16) data->auto_corr_ofdm_mrc);
tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_IDX] =
- cpu_to_le16((u16)data->auto_corr_ofdm_x1);
+ cpu_to_le16((u16) data->auto_corr_ofdm_x1);
tbl[HD_AUTO_CORR32_X1_TH_ADD_MIN_MRC_IDX] =
- cpu_to_le16((u16)data->auto_corr_ofdm_mrc_x1);
+ cpu_to_le16((u16) data->auto_corr_ofdm_mrc_x1);
tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_IDX] =
- cpu_to_le16((u16)data->auto_corr_cck);
+ cpu_to_le16((u16) data->auto_corr_cck);
tbl[HD_AUTO_CORR40_X4_TH_ADD_MIN_MRC_IDX] =
- cpu_to_le16((u16)data->auto_corr_cck_mrc);
+ cpu_to_le16((u16) data->auto_corr_cck_mrc);
- tbl[HD_MIN_ENERGY_CCK_DET_IDX] =
- cpu_to_le16((u16)data->nrg_th_cck);
- tbl[HD_MIN_ENERGY_OFDM_DET_IDX] =
- cpu_to_le16((u16)data->nrg_th_ofdm);
+ tbl[HD_MIN_ENERGY_CCK_DET_IDX] = cpu_to_le16((u16) data->nrg_th_cck);
+ tbl[HD_MIN_ENERGY_OFDM_DET_IDX] = cpu_to_le16((u16) data->nrg_th_ofdm);
tbl[HD_BARKER_CORR_TH_ADD_MIN_IDX] =
- cpu_to_le16(data->barker_corr_th_min);
+ cpu_to_le16(data->barker_corr_th_min);
tbl[HD_BARKER_CORR_TH_ADD_MIN_MRC_IDX] =
- cpu_to_le16(data->barker_corr_th_min_mrc);
- tbl[HD_OFDM_ENERGY_TH_IN_IDX] =
- cpu_to_le16(data->nrg_th_cca);
+ cpu_to_le16(data->barker_corr_th_min_mrc);
+ tbl[HD_OFDM_ENERGY_TH_IN_IDX] = cpu_to_le16(data->nrg_th_cca);
D_CALIB("ofdm: ac %u mrc %u x1 %u mrc_x1 %u thresh %u\n",
- data->auto_corr_ofdm, data->auto_corr_ofdm_mrc,
- data->auto_corr_ofdm_x1, data->auto_corr_ofdm_mrc_x1,
- data->nrg_th_ofdm);
+ data->auto_corr_ofdm, data->auto_corr_ofdm_mrc,
+ data->auto_corr_ofdm_x1, data->auto_corr_ofdm_mrc_x1,
+ data->nrg_th_ofdm);
- D_CALIB("cck: ac %u mrc %u thresh %u\n",
- data->auto_corr_cck, data->auto_corr_cck_mrc,
- data->nrg_th_cck);
+ D_CALIB("cck: ac %u mrc %u thresh %u\n", data->auto_corr_cck,
+ data->auto_corr_cck_mrc, data->nrg_th_cck);
}
/* Prepare a C_SENSITIVITY, send to uCode if values have changed */
-static int il4965_sensitivity_write(struct il_priv *il)
+static int
+il4965_sensitivity_write(struct il_priv *il)
{
struct il_sensitivity_cmd cmd;
struct il_sensitivity_data *data = NULL;
@@ -431,20 +423,22 @@ static int il4965_sensitivity_write(struct il_priv *il)
cmd.control = C_SENSITIVITY_CONTROL_WORK_TBL;
/* Don't send command to uCode if nothing has changed */
- if (!memcmp(&cmd.table[0], &(il->sensitivity_tbl[0]),
- sizeof(u16)*HD_TBL_SIZE)) {
+ if (!memcmp
+ (&cmd.table[0], &(il->sensitivity_tbl[0]),
+ sizeof(u16) * HD_TBL_SIZE)) {
D_CALIB("No change in C_SENSITIVITY\n");
return 0;
}
/* Copy table for comparison next time */
memcpy(&(il->sensitivity_tbl[0]), &(cmd.table[0]),
- sizeof(u16)*HD_TBL_SIZE);
+ sizeof(u16) * HD_TBL_SIZE);
return il_send_cmd(il, &cmd_out);
}
-void il4965_init_sensitivity(struct il_priv *il)
+void
+il4965_init_sensitivity(struct il_priv *il)
{
int ret = 0;
int i;
@@ -477,9 +471,9 @@ void il4965_init_sensitivity(struct il_priv *il)
for (i = 0; i < NRG_NUM_PREV_STAT_L; i++)
data->nrg_silence_rssi[i] = 0;
- data->auto_corr_ofdm = ranges->auto_corr_min_ofdm;
+ data->auto_corr_ofdm = ranges->auto_corr_min_ofdm;
data->auto_corr_ofdm_mrc = ranges->auto_corr_min_ofdm_mrc;
- data->auto_corr_ofdm_x1 = ranges->auto_corr_min_ofdm_x1;
+ data->auto_corr_ofdm_x1 = ranges->auto_corr_min_ofdm_x1;
data->auto_corr_ofdm_mrc_x1 = ranges->auto_corr_min_ofdm_mrc_x1;
data->auto_corr_cck = AUTO_CORR_CCK_MIN_VAL_DEF;
data->auto_corr_cck_mrc = ranges->auto_corr_min_cck_mrc;
@@ -498,7 +492,8 @@ void il4965_init_sensitivity(struct il_priv *il)
D_CALIB("<<return 0x%X\n", ret);
}
-void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
+void
+il4965_sensitivity_calibration(struct il_priv *il, void *resp)
{
u32 rx_enable_time;
u32 fa_cck;
@@ -543,17 +538,14 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
bad_plcp_ofdm = le32_to_cpu(ofdm->plcp_err);
statis.beacon_silence_rssi_a =
- le32_to_cpu(rx_info->beacon_silence_rssi_a);
+ le32_to_cpu(rx_info->beacon_silence_rssi_a);
statis.beacon_silence_rssi_b =
- le32_to_cpu(rx_info->beacon_silence_rssi_b);
+ le32_to_cpu(rx_info->beacon_silence_rssi_b);
statis.beacon_silence_rssi_c =
- le32_to_cpu(rx_info->beacon_silence_rssi_c);
- statis.beacon_energy_a =
- le32_to_cpu(rx_info->beacon_energy_a);
- statis.beacon_energy_b =
- le32_to_cpu(rx_info->beacon_energy_b);
- statis.beacon_energy_c =
- le32_to_cpu(rx_info->beacon_energy_c);
+ le32_to_cpu(rx_info->beacon_silence_rssi_c);
+ statis.beacon_energy_a = le32_to_cpu(rx_info->beacon_energy_a);
+ statis.beacon_energy_b = le32_to_cpu(rx_info->beacon_energy_b);
+ statis.beacon_energy_c = le32_to_cpu(rx_info->beacon_energy_c);
spin_unlock_irqrestore(&il->lock, flags);
@@ -599,9 +591,8 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
norm_fa_ofdm = fa_ofdm + bad_plcp_ofdm;
norm_fa_cck = fa_cck + bad_plcp_cck;
- D_CALIB(
- "cck: fa %u badp %u ofdm: fa %u badp %u\n", fa_cck,
- bad_plcp_cck, fa_ofdm, bad_plcp_ofdm);
+ D_CALIB("cck: fa %u badp %u ofdm: fa %u badp %u\n", fa_cck,
+ bad_plcp_cck, fa_ofdm, bad_plcp_ofdm);
il4965_sens_auto_corr_ofdm(il, norm_fa_ofdm, rx_enable_time);
il4965_sens_energy_cck(il, norm_fa_cck, rx_enable_time, &statis);
@@ -609,7 +600,8 @@ void il4965_sensitivity_calibration(struct il_priv *il, void *resp)
il4965_sensitivity_write(il);
}
-static inline u8 il4965_find_first_chain(u8 mask)
+static inline u8
+il4965_find_first_chain(u8 mask)
{
if (mask & ANT_A)
return CHAIN_A;
@@ -623,8 +615,8 @@ static inline u8 il4965_find_first_chain(u8 mask)
* disconnected.
*/
static void
-il4965_find_disconn_antenna(struct il_priv *il, u32* average_sig,
- struct il_chain_noise_data *data)
+il4965_find_disconn_antenna(struct il_priv *il, u32 * average_sig,
+ struct il_chain_noise_data *data)
{
u32 active_chains = 0;
u32 max_average_sig;
@@ -633,12 +625,15 @@ il4965_find_disconn_antenna(struct il_priv *il, u32* average_sig,
u8 first_chain;
u16 i = 0;
- average_sig[0] = data->chain_signal_a /
- il->cfg->base_params->chain_noise_num_beacons;
- average_sig[1] = data->chain_signal_b /
- il->cfg->base_params->chain_noise_num_beacons;
- average_sig[2] = data->chain_signal_c /
- il->cfg->base_params->chain_noise_num_beacons;
+ average_sig[0] =
+ data->chain_signal_a /
+ il->cfg->base_params->chain_noise_num_beacons;
+ average_sig[1] =
+ data->chain_signal_b /
+ il->cfg->base_params->chain_noise_num_beacons;
+ average_sig[2] =
+ data->chain_signal_c /
+ il->cfg->base_params->chain_noise_num_beacons;
if (average_sig[0] >= average_sig[1]) {
max_average_sig = average_sig[0];
@@ -656,10 +651,10 @@ il4965_find_disconn_antenna(struct il_priv *il, u32* average_sig,
active_chains = (1 << max_average_sig_antenna_i);
}
- D_CALIB("average_sig: a %d b %d c %d\n",
- average_sig[0], average_sig[1], average_sig[2]);
- D_CALIB("max_average_sig = %d, antenna %d\n",
- max_average_sig, max_average_sig_antenna_i);
+ D_CALIB("average_sig: a %d b %d c %d\n", average_sig[0], average_sig[1],
+ average_sig[2]);
+ D_CALIB("max_average_sig = %d, antenna %d\n", max_average_sig,
+ max_average_sig_antenna_i);
/* Compare signal strengths for all 3 receivers. */
for (i = 0; i < NUM_RX_CHAINS; i++) {
@@ -673,8 +668,8 @@ il4965_find_disconn_antenna(struct il_priv *il, u32* average_sig,
else
active_chains |= (1 << i);
D_CALIB("i = %d rssiDelta = %d "
- "disconn_array[i] = %d\n",
- i, rssi_delta, data->disconn_array[i]);
+ "disconn_array[i] = %d\n", i, rssi_delta,
+ data->disconn_array[i]);
}
}
@@ -709,34 +704,31 @@ il4965_find_disconn_antenna(struct il_priv *il, u32* average_sig,
* connect the first valid tx chain
*/
first_chain =
- il4965_find_first_chain(il->cfg->valid_tx_ant);
+ il4965_find_first_chain(il->cfg->valid_tx_ant);
data->disconn_array[first_chain] = 0;
active_chains |= BIT(first_chain);
- D_CALIB(
- "All Tx chains are disconnected W/A - declare %d as connected\n",
- first_chain);
+ D_CALIB
+ ("All Tx chains are disconnected W/A - declare %d as connected\n",
+ first_chain);
break;
}
}
if (active_chains != il->hw_params.valid_rx_ant &&
active_chains != il->chain_noise_data.active_chains)
- D_CALIB(
- "Detected that not all antennas are connected! "
- "Connected: %#x, valid: %#x.\n",
- active_chains, il->hw_params.valid_rx_ant);
+ D_CALIB("Detected that not all antennas are connected! "
+ "Connected: %#x, valid: %#x.\n", active_chains,
+ il->hw_params.valid_rx_ant);
/* Save for use within RXON, TX, SCAN commands, etc. */
data->active_chains = active_chains;
- D_CALIB("active_chains (bitwise) = 0x%x\n",
- active_chains);
+ D_CALIB("active_chains (bitwise) = 0x%x\n", active_chains);
}
-static void il4965_gain_computation(struct il_priv *il,
- u32 *average_noise,
- u16 min_average_noise_antenna_i,
- u32 min_average_noise,
- u8 default_chain)
+static void
+il4965_gain_computation(struct il_priv *il, u32 * average_noise,
+ u16 min_average_noise_antenna_i, u32 min_average_noise,
+ u8 default_chain)
{
int i, ret;
struct il_chain_noise_data *data = &il->chain_noise_data;
@@ -747,23 +739,22 @@ static void il4965_gain_computation(struct il_priv *il,
s32 delta_g = 0;
if (!data->disconn_array[i] &&
- data->delta_gain_code[i] == CHAIN_NOISE_DELTA_GAIN_INIT_VAL) {
+ data->delta_gain_code[i] ==
+ CHAIN_NOISE_DELTA_GAIN_INIT_VAL) {
delta_g = average_noise[i] - min_average_noise;
- data->delta_gain_code[i] = (u8)((delta_g * 10) / 15);
+ data->delta_gain_code[i] = (u8) ((delta_g * 10) / 15);
data->delta_gain_code[i] =
- min(data->delta_gain_code[i],
+ min(data->delta_gain_code[i],
(u8) CHAIN_NOISE_MAX_DELTA_GAIN_CODE);
data->delta_gain_code[i] =
- (data->delta_gain_code[i] | (1 << 2));
+ (data->delta_gain_code[i] | (1 << 2));
} else {
data->delta_gain_code[i] = 0;
}
}
- D_CALIB("delta_gain_codes: a %d b %d c %d\n",
- data->delta_gain_code[0],
- data->delta_gain_code[1],
- data->delta_gain_code[2]);
+ D_CALIB("delta_gain_codes: a %d b %d c %d\n", data->delta_gain_code[0],
+ data->delta_gain_code[1], data->delta_gain_code[2]);
/* Differential gain gets sent to uCode only once */
if (!data->radio_write) {
@@ -775,11 +766,9 @@ static void il4965_gain_computation(struct il_priv *il,
cmd.diff_gain_a = data->delta_gain_code[0];
cmd.diff_gain_b = data->delta_gain_code[1];
cmd.diff_gain_c = data->delta_gain_code[2];
- ret = il_send_cmd_pdu(il, C_PHY_CALIBRATION,
- sizeof(cmd), &cmd);
+ ret = il_send_cmd_pdu(il, C_PHY_CALIBRATION, sizeof(cmd), &cmd);
if (ret)
- D_CALIB("fail sending cmd "
- "C_PHY_CALIBRATION\n");
+ D_CALIB("fail sending cmd " "C_PHY_CALIBRATION\n");
/* TODO we might want recalculate
* rx_chain in rxon cmd */
@@ -789,15 +778,14 @@ static void il4965_gain_computation(struct il_priv *il,
}
}
-
-
/*
* Accumulate 16 beacons of signal and noise stats for each of
* 3 receivers/antennas/rx-chains, then figure out:
* 1) Which antennas are connected.
* 2) Differential rx gain settings to balance the 3 receivers.
*/
-void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
+void
+il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
{
struct il_chain_noise_data *data = NULL;
@@ -807,8 +795,8 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
u32 chain_sig_a;
u32 chain_sig_b;
u32 chain_sig_c;
- u32 average_sig[NUM_RX_CHAINS] = {INITIALIZATION_VALUE};
- u32 average_noise[NUM_RX_CHAINS] = {INITIALIZATION_VALUE};
+ u32 average_sig[NUM_RX_CHAINS] = { INITIALIZATION_VALUE };
+ u32 average_noise[NUM_RX_CHAINS] = { INITIALIZATION_VALUE };
u32 min_average_noise = MIN_AVERAGE_NOISE_MAX_VALUE;
u16 min_average_noise_antenna_i = INITIALIZATION_VALUE;
u16 i = 0;
@@ -838,8 +826,7 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
spin_lock_irqsave(&il->lock, flags);
- rx_info = &(((struct il_notif_stats *)stat_resp)->
- rx.general);
+ rx_info = &(((struct il_notif_stats *)stat_resp)->rx.general);
if (rx_info->interference_data_flag != INTERFERENCE_DATA_AVAILABLE) {
D_CALIB(" << Interference data unavailable\n");
@@ -850,17 +837,17 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
rxon_band24 = !!(ctx->staging.flags & RXON_FLG_BAND_24G_MSK);
rxon_chnum = le16_to_cpu(ctx->staging.channel);
- stat_band24 = !!(((struct il_notif_stats *)
- stat_resp)->flag &
- STATS_REPLY_FLG_BAND_24G_MSK);
- stat_chnum = le32_to_cpu(((struct il_notif_stats *)
- stat_resp)->flag) >> 16;
+ stat_band24 =
+ !!(((struct il_notif_stats *)stat_resp)->
+ flag & STATS_REPLY_FLG_BAND_24G_MSK);
+ stat_chnum =
+ le32_to_cpu(((struct il_notif_stats *)stat_resp)->flag) >> 16;
/* Make sure we accumulate data for just the associated channel
* (even if scanning). */
if (rxon_chnum != stat_chnum || rxon_band24 != stat_band24) {
- D_CALIB("Stats not from chan=%d, band24=%d\n",
- rxon_chnum, rxon_band24);
+ D_CALIB("Stats not from chan=%d, band24=%d\n", rxon_chnum,
+ rxon_band24);
spin_unlock_irqrestore(&il->lock, flags);
return;
}
@@ -869,12 +856,12 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
* Accumulate beacon stats values across
* "chain_noise_num_beacons"
*/
- chain_noise_a = le32_to_cpu(rx_info->beacon_silence_rssi_a) &
- IN_BAND_FILTER;
- chain_noise_b = le32_to_cpu(rx_info->beacon_silence_rssi_b) &
- IN_BAND_FILTER;
- chain_noise_c = le32_to_cpu(rx_info->beacon_silence_rssi_c) &
- IN_BAND_FILTER;
+ chain_noise_a =
+ le32_to_cpu(rx_info->beacon_silence_rssi_a) & IN_BAND_FILTER;
+ chain_noise_b =
+ le32_to_cpu(rx_info->beacon_silence_rssi_b) & IN_BAND_FILTER;
+ chain_noise_c =
+ le32_to_cpu(rx_info->beacon_silence_rssi_c) & IN_BAND_FILTER;
chain_sig_a = le32_to_cpu(rx_info->beacon_rssi_a) & IN_BAND_FILTER;
chain_sig_b = le32_to_cpu(rx_info->beacon_rssi_b) & IN_BAND_FILTER;
@@ -892,30 +879,29 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
data->chain_signal_b = (chain_sig_b + data->chain_signal_b);
data->chain_signal_c = (chain_sig_c + data->chain_signal_c);
- D_CALIB("chan=%d, band24=%d, beacon=%d\n",
- rxon_chnum, rxon_band24, data->beacon_count);
- D_CALIB("chain_sig: a %d b %d c %d\n",
- chain_sig_a, chain_sig_b, chain_sig_c);
- D_CALIB("chain_noise: a %d b %d c %d\n",
- chain_noise_a, chain_noise_b, chain_noise_c);
+ D_CALIB("chan=%d, band24=%d, beacon=%d\n", rxon_chnum, rxon_band24,
+ data->beacon_count);
+ D_CALIB("chain_sig: a %d b %d c %d\n", chain_sig_a, chain_sig_b,
+ chain_sig_c);
+ D_CALIB("chain_noise: a %d b %d c %d\n", chain_noise_a, chain_noise_b,
+ chain_noise_c);
/* If this is the "chain_noise_num_beacons", determine:
* 1) Disconnected antennas (using signal strengths)
* 2) Differential gain (using silence noise) to balance receivers */
- if (data->beacon_count !=
- il->cfg->base_params->chain_noise_num_beacons)
+ if (data->beacon_count != il->cfg->base_params->chain_noise_num_beacons)
return;
/* Analyze signal for disconnected antenna */
il4965_find_disconn_antenna(il, average_sig, data);
/* Analyze noise for rx balance */
- average_noise[0] = data->chain_noise_a /
- il->cfg->base_params->chain_noise_num_beacons;
- average_noise[1] = data->chain_noise_b /
- il->cfg->base_params->chain_noise_num_beacons;
- average_noise[2] = data->chain_noise_c /
- il->cfg->base_params->chain_noise_num_beacons;
+ average_noise[0] =
+ data->chain_noise_a / il->cfg->base_params->chain_noise_num_beacons;
+ average_noise[1] =
+ data->chain_noise_b / il->cfg->base_params->chain_noise_num_beacons;
+ average_noise[2] =
+ data->chain_noise_c / il->cfg->base_params->chain_noise_num_beacons;
for (i = 0; i < NUM_RX_CHAINS; i++) {
if (!data->disconn_array[i] &&
@@ -927,16 +913,15 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
}
}
- D_CALIB("average_noise: a %d b %d c %d\n",
- average_noise[0], average_noise[1],
- average_noise[2]);
+ D_CALIB("average_noise: a %d b %d c %d\n", average_noise[0],
+ average_noise[1], average_noise[2]);
- D_CALIB("min_average_noise = %d, antenna %d\n",
- min_average_noise, min_average_noise_antenna_i);
+ D_CALIB("min_average_noise = %d, antenna %d\n", min_average_noise,
+ min_average_noise_antenna_i);
- il4965_gain_computation(il, average_noise,
- min_average_noise_antenna_i, min_average_noise,
- il4965_find_first_chain(il->cfg->valid_rx_ant));
+ il4965_gain_computation(il, average_noise, min_average_noise_antenna_i,
+ min_average_noise,
+ il4965_find_first_chain(il->cfg->valid_rx_ant));
/* Some power changes may have been made during the calibration.
* Update and commit the RXON
@@ -948,16 +933,15 @@ void il4965_chain_noise_calibration(struct il_priv *il, void *stat_resp)
il_power_update_mode(il, false);
}
-void il4965_reset_run_time_calib(struct il_priv *il)
+void
+il4965_reset_run_time_calib(struct il_priv *il)
{
int i;
- memset(&(il->sensitivity_data), 0,
- sizeof(struct il_sensitivity_data));
- memset(&(il->chain_noise_data), 0,
- sizeof(struct il_chain_noise_data));
+ memset(&(il->sensitivity_data), 0, sizeof(struct il_sensitivity_data));
+ memset(&(il->chain_noise_data), 0, sizeof(struct il_chain_noise_data));
for (i = 0; i < NUM_RX_CHAINS; i++)
il->chain_noise_data.delta_gain_code[i] =
- CHAIN_NOISE_DELTA_GAIN_INIT_VAL;
+ CHAIN_NOISE_DELTA_GAIN_INIT_VAL;
/* Ask for stats now, the uCode will send notification
* periodically after association */
diff --git a/drivers/net/wireless/iwlegacy/4965-debug.c b/drivers/net/wireless/iwlegacy/4965-debug.c
index 5f890317516..52993993860 100644
--- a/drivers/net/wireless/iwlegacy/4965-debug.c
+++ b/drivers/net/wireless/iwlegacy/4965-debug.c
@@ -31,9 +31,10 @@
static const char *fmt_value = " %-30s %10u\n";
static const char *fmt_table = " %-30s %10u %10u %10u %10u\n";
static const char *fmt_header =
- "%-32s current cumulative delta max\n";
+ "%-32s current cumulative delta max\n";
-static int il4965_stats_flag(struct il_priv *il, char *buf, int bufsz)
+static int
+il4965_stats_flag(struct il_priv *il, char *buf, int bufsz)
{
int p = 0;
u32 flag;
@@ -43,26 +44,28 @@ static int il4965_stats_flag(struct il_priv *il, char *buf, int bufsz)
p += scnprintf(buf + p, bufsz - p, "Statistics Flag(0x%X):\n", flag);
if (flag & UCODE_STATS_CLEAR_MSK)
p += scnprintf(buf + p, bufsz - p,
- "\tStatistics have been cleared\n");
+ "\tStatistics have been cleared\n");
p += scnprintf(buf + p, bufsz - p, "\tOperational Frequency: %s\n",
- (flag & UCODE_STATS_FREQUENCY_MSK)
- ? "2.4 GHz" : "5.2 GHz");
+ (flag & UCODE_STATS_FREQUENCY_MSK) ? "2.4 GHz" :
+ "5.2 GHz");
p += scnprintf(buf + p, bufsz - p, "\tTGj Narrow Band: %s\n",
- (flag & UCODE_STATS_NARROW_BAND_MSK)
- ? "enabled" : "disabled");
+ (flag & UCODE_STATS_NARROW_BAND_MSK) ? "enabled" :
+ "disabled");
return p;
}
-ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+ssize_t
+il4965_ucode_rx_stats_read(struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0;
char *buf;
- int bufsz = sizeof(struct stats_rx_phy) * 40 +
- sizeof(struct stats_rx_non_phy) * 40 +
- sizeof(struct stats_rx_ht_phy) * 40 + 400;
+ int bufsz =
+ sizeof(struct stats_rx_phy) * 40 +
+ sizeof(struct stats_rx_non_phy) * 40 +
+ sizeof(struct stats_rx_ht_phy) * 40 + 400;
ssize_t ret;
struct stats_rx_phy *ofdm, *accum_ofdm, *delta_ofdm, *max_ofdm;
struct stats_rx_phy *cck, *accum_cck, *delta_cck, *max_cck;
@@ -102,392 +105,371 @@ ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
max_ht = &il->_4965.max_delta.rx.ofdm_ht;
pos += il4965_stats_flag(il, buf, bufsz);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_header, "Statistics_Rx - OFDM:");
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "ina_cnt:",
- le32_to_cpu(ofdm->ina_cnt),
- accum_ofdm->ina_cnt,
- delta_ofdm->ina_cnt, max_ofdm->ina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "fina_cnt:",
- le32_to_cpu(ofdm->fina_cnt), accum_ofdm->fina_cnt,
- delta_ofdm->fina_cnt, max_ofdm->fina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "plcp_err:",
- le32_to_cpu(ofdm->plcp_err), accum_ofdm->plcp_err,
- delta_ofdm->plcp_err, max_ofdm->plcp_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "crc32_err:",
- le32_to_cpu(ofdm->crc32_err), accum_ofdm->crc32_err,
- delta_ofdm->crc32_err, max_ofdm->crc32_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "overrun_err:",
- le32_to_cpu(ofdm->overrun_err),
- accum_ofdm->overrun_err, delta_ofdm->overrun_err,
- max_ofdm->overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "early_overrun_err:",
- le32_to_cpu(ofdm->early_overrun_err),
- accum_ofdm->early_overrun_err,
- delta_ofdm->early_overrun_err,
- max_ofdm->early_overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "crc32_good:",
- le32_to_cpu(ofdm->crc32_good),
- accum_ofdm->crc32_good, delta_ofdm->crc32_good,
- max_ofdm->crc32_good);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "false_alarm_cnt:",
- le32_to_cpu(ofdm->false_alarm_cnt),
- accum_ofdm->false_alarm_cnt,
- delta_ofdm->false_alarm_cnt,
- max_ofdm->false_alarm_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "fina_sync_err_cnt:",
- le32_to_cpu(ofdm->fina_sync_err_cnt),
- accum_ofdm->fina_sync_err_cnt,
- delta_ofdm->fina_sync_err_cnt,
- max_ofdm->fina_sync_err_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sfd_timeout:",
- le32_to_cpu(ofdm->sfd_timeout),
- accum_ofdm->sfd_timeout, delta_ofdm->sfd_timeout,
- max_ofdm->sfd_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "fina_timeout:",
- le32_to_cpu(ofdm->fina_timeout),
- accum_ofdm->fina_timeout, delta_ofdm->fina_timeout,
- max_ofdm->fina_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "unresponded_rts:",
- le32_to_cpu(ofdm->unresponded_rts),
- accum_ofdm->unresponded_rts,
- delta_ofdm->unresponded_rts,
- max_ofdm->unresponded_rts);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "rxe_frame_lmt_ovrun:",
- le32_to_cpu(ofdm->rxe_frame_limit_overrun),
- accum_ofdm->rxe_frame_limit_overrun,
- delta_ofdm->rxe_frame_limit_overrun,
- max_ofdm->rxe_frame_limit_overrun);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sent_ack_cnt:",
- le32_to_cpu(ofdm->sent_ack_cnt),
- accum_ofdm->sent_ack_cnt, delta_ofdm->sent_ack_cnt,
- max_ofdm->sent_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sent_cts_cnt:",
- le32_to_cpu(ofdm->sent_cts_cnt),
- accum_ofdm->sent_cts_cnt, delta_ofdm->sent_cts_cnt,
- max_ofdm->sent_cts_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sent_ba_rsp_cnt:",
- le32_to_cpu(ofdm->sent_ba_rsp_cnt),
- accum_ofdm->sent_ba_rsp_cnt,
- delta_ofdm->sent_ba_rsp_cnt,
- max_ofdm->sent_ba_rsp_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "dsp_self_kill:",
- le32_to_cpu(ofdm->dsp_self_kill),
- accum_ofdm->dsp_self_kill,
- delta_ofdm->dsp_self_kill,
- max_ofdm->dsp_self_kill);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "mh_format_err:",
- le32_to_cpu(ofdm->mh_format_err),
- accum_ofdm->mh_format_err,
- delta_ofdm->mh_format_err,
- max_ofdm->mh_format_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "re_acq_main_rssi_sum:",
- le32_to_cpu(ofdm->re_acq_main_rssi_sum),
- accum_ofdm->re_acq_main_rssi_sum,
- delta_ofdm->re_acq_main_rssi_sum,
- max_ofdm->re_acq_main_rssi_sum);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_header,
+ "Statistics_Rx - OFDM:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "ina_cnt:",
+ le32_to_cpu(ofdm->ina_cnt), accum_ofdm->ina_cnt,
+ delta_ofdm->ina_cnt, max_ofdm->ina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "fina_cnt:",
+ le32_to_cpu(ofdm->fina_cnt), accum_ofdm->fina_cnt,
+ delta_ofdm->fina_cnt, max_ofdm->fina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "plcp_err:",
+ le32_to_cpu(ofdm->plcp_err), accum_ofdm->plcp_err,
+ delta_ofdm->plcp_err, max_ofdm->plcp_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "crc32_err:",
+ le32_to_cpu(ofdm->crc32_err), accum_ofdm->crc32_err,
+ delta_ofdm->crc32_err, max_ofdm->crc32_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "overrun_err:",
+ le32_to_cpu(ofdm->overrun_err), accum_ofdm->overrun_err,
+ delta_ofdm->overrun_err, max_ofdm->overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "early_overrun_err:",
+ le32_to_cpu(ofdm->early_overrun_err),
+ accum_ofdm->early_overrun_err,
+ delta_ofdm->early_overrun_err,
+ max_ofdm->early_overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "crc32_good:",
+ le32_to_cpu(ofdm->crc32_good), accum_ofdm->crc32_good,
+ delta_ofdm->crc32_good, max_ofdm->crc32_good);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "false_alarm_cnt:",
+ le32_to_cpu(ofdm->false_alarm_cnt),
+ accum_ofdm->false_alarm_cnt, delta_ofdm->false_alarm_cnt,
+ max_ofdm->false_alarm_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "fina_sync_err_cnt:",
+ le32_to_cpu(ofdm->fina_sync_err_cnt),
+ accum_ofdm->fina_sync_err_cnt,
+ delta_ofdm->fina_sync_err_cnt,
+ max_ofdm->fina_sync_err_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sfd_timeout:",
+ le32_to_cpu(ofdm->sfd_timeout), accum_ofdm->sfd_timeout,
+ delta_ofdm->sfd_timeout, max_ofdm->sfd_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "fina_timeout:",
+ le32_to_cpu(ofdm->fina_timeout), accum_ofdm->fina_timeout,
+ delta_ofdm->fina_timeout, max_ofdm->fina_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "unresponded_rts:",
+ le32_to_cpu(ofdm->unresponded_rts),
+ accum_ofdm->unresponded_rts, delta_ofdm->unresponded_rts,
+ max_ofdm->unresponded_rts);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "rxe_frame_lmt_ovrun:",
+ le32_to_cpu(ofdm->rxe_frame_limit_overrun),
+ accum_ofdm->rxe_frame_limit_overrun,
+ delta_ofdm->rxe_frame_limit_overrun,
+ max_ofdm->rxe_frame_limit_overrun);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sent_ack_cnt:",
+ le32_to_cpu(ofdm->sent_ack_cnt), accum_ofdm->sent_ack_cnt,
+ delta_ofdm->sent_ack_cnt, max_ofdm->sent_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sent_cts_cnt:",
+ le32_to_cpu(ofdm->sent_cts_cnt), accum_ofdm->sent_cts_cnt,
+ delta_ofdm->sent_cts_cnt, max_ofdm->sent_cts_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sent_ba_rsp_cnt:",
+ le32_to_cpu(ofdm->sent_ba_rsp_cnt),
+ accum_ofdm->sent_ba_rsp_cnt, delta_ofdm->sent_ba_rsp_cnt,
+ max_ofdm->sent_ba_rsp_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "dsp_self_kill:",
+ le32_to_cpu(ofdm->dsp_self_kill),
+ accum_ofdm->dsp_self_kill, delta_ofdm->dsp_self_kill,
+ max_ofdm->dsp_self_kill);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "mh_format_err:",
+ le32_to_cpu(ofdm->mh_format_err),
+ accum_ofdm->mh_format_err, delta_ofdm->mh_format_err,
+ max_ofdm->mh_format_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "re_acq_main_rssi_sum:",
+ le32_to_cpu(ofdm->re_acq_main_rssi_sum),
+ accum_ofdm->re_acq_main_rssi_sum,
+ delta_ofdm->re_acq_main_rssi_sum,
+ max_ofdm->re_acq_main_rssi_sum);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_header, "Statistics_Rx - CCK:");
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "ina_cnt:",
- le32_to_cpu(cck->ina_cnt), accum_cck->ina_cnt,
- delta_cck->ina_cnt, max_cck->ina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "fina_cnt:",
- le32_to_cpu(cck->fina_cnt), accum_cck->fina_cnt,
- delta_cck->fina_cnt, max_cck->fina_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "plcp_err:",
- le32_to_cpu(cck->plcp_err), accum_cck->plcp_err,
- delta_cck->plcp_err, max_cck->plcp_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "crc32_err:",
- le32_to_cpu(cck->crc32_err), accum_cck->crc32_err,
- delta_cck->crc32_err, max_cck->crc32_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "overrun_err:",
- le32_to_cpu(cck->overrun_err),
- accum_cck->overrun_err, delta_cck->overrun_err,
- max_cck->overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "early_overrun_err:",
- le32_to_cpu(cck->early_overrun_err),
- accum_cck->early_overrun_err,
- delta_cck->early_overrun_err,
- max_cck->early_overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "crc32_good:",
- le32_to_cpu(cck->crc32_good), accum_cck->crc32_good,
- delta_cck->crc32_good, max_cck->crc32_good);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "false_alarm_cnt:",
- le32_to_cpu(cck->false_alarm_cnt),
- accum_cck->false_alarm_cnt,
- delta_cck->false_alarm_cnt, max_cck->false_alarm_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "fina_sync_err_cnt:",
- le32_to_cpu(cck->fina_sync_err_cnt),
- accum_cck->fina_sync_err_cnt,
- delta_cck->fina_sync_err_cnt,
- max_cck->fina_sync_err_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sfd_timeout:",
- le32_to_cpu(cck->sfd_timeout),
- accum_cck->sfd_timeout, delta_cck->sfd_timeout,
- max_cck->sfd_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "fina_timeout:",
- le32_to_cpu(cck->fina_timeout),
- accum_cck->fina_timeout, delta_cck->fina_timeout,
- max_cck->fina_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "unresponded_rts:",
- le32_to_cpu(cck->unresponded_rts),
- accum_cck->unresponded_rts, delta_cck->unresponded_rts,
- max_cck->unresponded_rts);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "rxe_frame_lmt_ovrun:",
- le32_to_cpu(cck->rxe_frame_limit_overrun),
- accum_cck->rxe_frame_limit_overrun,
- delta_cck->rxe_frame_limit_overrun,
- max_cck->rxe_frame_limit_overrun);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sent_ack_cnt:",
- le32_to_cpu(cck->sent_ack_cnt),
- accum_cck->sent_ack_cnt, delta_cck->sent_ack_cnt,
- max_cck->sent_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sent_cts_cnt:",
- le32_to_cpu(cck->sent_cts_cnt),
- accum_cck->sent_cts_cnt, delta_cck->sent_cts_cnt,
- max_cck->sent_cts_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sent_ba_rsp_cnt:",
- le32_to_cpu(cck->sent_ba_rsp_cnt),
- accum_cck->sent_ba_rsp_cnt,
- delta_cck->sent_ba_rsp_cnt,
- max_cck->sent_ba_rsp_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "dsp_self_kill:",
- le32_to_cpu(cck->dsp_self_kill),
- accum_cck->dsp_self_kill, delta_cck->dsp_self_kill,
- max_cck->dsp_self_kill);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "mh_format_err:",
- le32_to_cpu(cck->mh_format_err),
- accum_cck->mh_format_err, delta_cck->mh_format_err,
- max_cck->mh_format_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "re_acq_main_rssi_sum:",
- le32_to_cpu(cck->re_acq_main_rssi_sum),
- accum_cck->re_acq_main_rssi_sum,
- delta_cck->re_acq_main_rssi_sum,
- max_cck->re_acq_main_rssi_sum);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_header,
+ "Statistics_Rx - CCK:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "ina_cnt:",
+ le32_to_cpu(cck->ina_cnt), accum_cck->ina_cnt,
+ delta_cck->ina_cnt, max_cck->ina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "fina_cnt:",
+ le32_to_cpu(cck->fina_cnt), accum_cck->fina_cnt,
+ delta_cck->fina_cnt, max_cck->fina_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "plcp_err:",
+ le32_to_cpu(cck->plcp_err), accum_cck->plcp_err,
+ delta_cck->plcp_err, max_cck->plcp_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "crc32_err:",
+ le32_to_cpu(cck->crc32_err), accum_cck->crc32_err,
+ delta_cck->crc32_err, max_cck->crc32_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "overrun_err:",
+ le32_to_cpu(cck->overrun_err), accum_cck->overrun_err,
+ delta_cck->overrun_err, max_cck->overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "early_overrun_err:",
+ le32_to_cpu(cck->early_overrun_err),
+ accum_cck->early_overrun_err,
+ delta_cck->early_overrun_err, max_cck->early_overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "crc32_good:",
+ le32_to_cpu(cck->crc32_good), accum_cck->crc32_good,
+ delta_cck->crc32_good, max_cck->crc32_good);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "false_alarm_cnt:",
+ le32_to_cpu(cck->false_alarm_cnt),
+ accum_cck->false_alarm_cnt, delta_cck->false_alarm_cnt,
+ max_cck->false_alarm_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "fina_sync_err_cnt:",
+ le32_to_cpu(cck->fina_sync_err_cnt),
+ accum_cck->fina_sync_err_cnt,
+ delta_cck->fina_sync_err_cnt, max_cck->fina_sync_err_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sfd_timeout:",
+ le32_to_cpu(cck->sfd_timeout), accum_cck->sfd_timeout,
+ delta_cck->sfd_timeout, max_cck->sfd_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "fina_timeout:",
+ le32_to_cpu(cck->fina_timeout), accum_cck->fina_timeout,
+ delta_cck->fina_timeout, max_cck->fina_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "unresponded_rts:",
+ le32_to_cpu(cck->unresponded_rts),
+ accum_cck->unresponded_rts, delta_cck->unresponded_rts,
+ max_cck->unresponded_rts);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "rxe_frame_lmt_ovrun:",
+ le32_to_cpu(cck->rxe_frame_limit_overrun),
+ accum_cck->rxe_frame_limit_overrun,
+ delta_cck->rxe_frame_limit_overrun,
+ max_cck->rxe_frame_limit_overrun);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sent_ack_cnt:",
+ le32_to_cpu(cck->sent_ack_cnt), accum_cck->sent_ack_cnt,
+ delta_cck->sent_ack_cnt, max_cck->sent_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sent_cts_cnt:",
+ le32_to_cpu(cck->sent_cts_cnt), accum_cck->sent_cts_cnt,
+ delta_cck->sent_cts_cnt, max_cck->sent_cts_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sent_ba_rsp_cnt:",
+ le32_to_cpu(cck->sent_ba_rsp_cnt),
+ accum_cck->sent_ba_rsp_cnt, delta_cck->sent_ba_rsp_cnt,
+ max_cck->sent_ba_rsp_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "dsp_self_kill:",
+ le32_to_cpu(cck->dsp_self_kill), accum_cck->dsp_self_kill,
+ delta_cck->dsp_self_kill, max_cck->dsp_self_kill);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "mh_format_err:",
+ le32_to_cpu(cck->mh_format_err), accum_cck->mh_format_err,
+ delta_cck->mh_format_err, max_cck->mh_format_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "re_acq_main_rssi_sum:",
+ le32_to_cpu(cck->re_acq_main_rssi_sum),
+ accum_cck->re_acq_main_rssi_sum,
+ delta_cck->re_acq_main_rssi_sum,
+ max_cck->re_acq_main_rssi_sum);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_header, "Statistics_Rx - GENERAL:");
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "bogus_cts:",
- le32_to_cpu(general->bogus_cts),
- accum_general->bogus_cts, delta_general->bogus_cts,
- max_general->bogus_cts);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "bogus_ack:",
- le32_to_cpu(general->bogus_ack),
- accum_general->bogus_ack, delta_general->bogus_ack,
- max_general->bogus_ack);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "non_bssid_frames:",
- le32_to_cpu(general->non_bssid_frames),
- accum_general->non_bssid_frames,
- delta_general->non_bssid_frames,
- max_general->non_bssid_frames);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "filtered_frames:",
- le32_to_cpu(general->filtered_frames),
- accum_general->filtered_frames,
- delta_general->filtered_frames,
- max_general->filtered_frames);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "non_channel_beacons:",
- le32_to_cpu(general->non_channel_beacons),
- accum_general->non_channel_beacons,
- delta_general->non_channel_beacons,
- max_general->non_channel_beacons);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "channel_beacons:",
- le32_to_cpu(general->channel_beacons),
- accum_general->channel_beacons,
- delta_general->channel_beacons,
- max_general->channel_beacons);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "num_missed_bcon:",
- le32_to_cpu(general->num_missed_bcon),
- accum_general->num_missed_bcon,
- delta_general->num_missed_bcon,
- max_general->num_missed_bcon);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "adc_rx_saturation_time:",
- le32_to_cpu(general->adc_rx_saturation_time),
- accum_general->adc_rx_saturation_time,
- delta_general->adc_rx_saturation_time,
- max_general->adc_rx_saturation_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "ina_detect_search_tm:",
- le32_to_cpu(general->ina_detection_search_time),
- accum_general->ina_detection_search_time,
- delta_general->ina_detection_search_time,
- max_general->ina_detection_search_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_silence_rssi_a:",
- le32_to_cpu(general->beacon_silence_rssi_a),
- accum_general->beacon_silence_rssi_a,
- delta_general->beacon_silence_rssi_a,
- max_general->beacon_silence_rssi_a);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_silence_rssi_b:",
- le32_to_cpu(general->beacon_silence_rssi_b),
- accum_general->beacon_silence_rssi_b,
- delta_general->beacon_silence_rssi_b,
- max_general->beacon_silence_rssi_b);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_silence_rssi_c:",
- le32_to_cpu(general->beacon_silence_rssi_c),
- accum_general->beacon_silence_rssi_c,
- delta_general->beacon_silence_rssi_c,
- max_general->beacon_silence_rssi_c);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "interference_data_flag:",
- le32_to_cpu(general->interference_data_flag),
- accum_general->interference_data_flag,
- delta_general->interference_data_flag,
- max_general->interference_data_flag);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "channel_load:",
- le32_to_cpu(general->channel_load),
- accum_general->channel_load,
- delta_general->channel_load,
- max_general->channel_load);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "dsp_false_alarms:",
- le32_to_cpu(general->dsp_false_alarms),
- accum_general->dsp_false_alarms,
- delta_general->dsp_false_alarms,
- max_general->dsp_false_alarms);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_rssi_a:",
- le32_to_cpu(general->beacon_rssi_a),
- accum_general->beacon_rssi_a,
- delta_general->beacon_rssi_a,
- max_general->beacon_rssi_a);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_rssi_b:",
- le32_to_cpu(general->beacon_rssi_b),
- accum_general->beacon_rssi_b,
- delta_general->beacon_rssi_b,
- max_general->beacon_rssi_b);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_rssi_c:",
- le32_to_cpu(general->beacon_rssi_c),
- accum_general->beacon_rssi_c,
- delta_general->beacon_rssi_c,
- max_general->beacon_rssi_c);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_energy_a:",
- le32_to_cpu(general->beacon_energy_a),
- accum_general->beacon_energy_a,
- delta_general->beacon_energy_a,
- max_general->beacon_energy_a);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_energy_b:",
- le32_to_cpu(general->beacon_energy_b),
- accum_general->beacon_energy_b,
- delta_general->beacon_energy_b,
- max_general->beacon_energy_b);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "beacon_energy_c:",
- le32_to_cpu(general->beacon_energy_c),
- accum_general->beacon_energy_c,
- delta_general->beacon_energy_c,
- max_general->beacon_energy_c);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_header,
+ "Statistics_Rx - GENERAL:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "bogus_cts:",
+ le32_to_cpu(general->bogus_cts), accum_general->bogus_cts,
+ delta_general->bogus_cts, max_general->bogus_cts);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "bogus_ack:",
+ le32_to_cpu(general->bogus_ack), accum_general->bogus_ack,
+ delta_general->bogus_ack, max_general->bogus_ack);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "non_bssid_frames:",
+ le32_to_cpu(general->non_bssid_frames),
+ accum_general->non_bssid_frames,
+ delta_general->non_bssid_frames,
+ max_general->non_bssid_frames);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "filtered_frames:",
+ le32_to_cpu(general->filtered_frames),
+ accum_general->filtered_frames,
+ delta_general->filtered_frames,
+ max_general->filtered_frames);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "non_channel_beacons:",
+ le32_to_cpu(general->non_channel_beacons),
+ accum_general->non_channel_beacons,
+ delta_general->non_channel_beacons,
+ max_general->non_channel_beacons);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "channel_beacons:",
+ le32_to_cpu(general->channel_beacons),
+ accum_general->channel_beacons,
+ delta_general->channel_beacons,
+ max_general->channel_beacons);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "num_missed_bcon:",
+ le32_to_cpu(general->num_missed_bcon),
+ accum_general->num_missed_bcon,
+ delta_general->num_missed_bcon,
+ max_general->num_missed_bcon);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "adc_rx_saturation_time:",
+ le32_to_cpu(general->adc_rx_saturation_time),
+ accum_general->adc_rx_saturation_time,
+ delta_general->adc_rx_saturation_time,
+ max_general->adc_rx_saturation_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "ina_detect_search_tm:",
+ le32_to_cpu(general->ina_detection_search_time),
+ accum_general->ina_detection_search_time,
+ delta_general->ina_detection_search_time,
+ max_general->ina_detection_search_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "beacon_silence_rssi_a:",
+ le32_to_cpu(general->beacon_silence_rssi_a),
+ accum_general->beacon_silence_rssi_a,
+ delta_general->beacon_silence_rssi_a,
+ max_general->beacon_silence_rssi_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "beacon_silence_rssi_b:",
+ le32_to_cpu(general->beacon_silence_rssi_b),
+ accum_general->beacon_silence_rssi_b,
+ delta_general->beacon_silence_rssi_b,
+ max_general->beacon_silence_rssi_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "beacon_silence_rssi_c:",
+ le32_to_cpu(general->beacon_silence_rssi_c),
+ accum_general->beacon_silence_rssi_c,
+ delta_general->beacon_silence_rssi_c,
+ max_general->beacon_silence_rssi_c);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "interference_data_flag:",
+ le32_to_cpu(general->interference_data_flag),
+ accum_general->interference_data_flag,
+ delta_general->interference_data_flag,
+ max_general->interference_data_flag);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "channel_load:",
+ le32_to_cpu(general->channel_load),
+ accum_general->channel_load, delta_general->channel_load,
+ max_general->channel_load);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "dsp_false_alarms:",
+ le32_to_cpu(general->dsp_false_alarms),
+ accum_general->dsp_false_alarms,
+ delta_general->dsp_false_alarms,
+ max_general->dsp_false_alarms);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "beacon_rssi_a:",
+ le32_to_cpu(general->beacon_rssi_a),
+ accum_general->beacon_rssi_a,
+ delta_general->beacon_rssi_a, max_general->beacon_rssi_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "beacon_rssi_b:",
+ le32_to_cpu(general->beacon_rssi_b),
+ accum_general->beacon_rssi_b,
+ delta_general->beacon_rssi_b, max_general->beacon_rssi_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "beacon_rssi_c:",
+ le32_to_cpu(general->beacon_rssi_c),
+ accum_general->beacon_rssi_c,
+ delta_general->beacon_rssi_c, max_general->beacon_rssi_c);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "beacon_energy_a:",
+ le32_to_cpu(general->beacon_energy_a),
+ accum_general->beacon_energy_a,
+ delta_general->beacon_energy_a,
+ max_general->beacon_energy_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "beacon_energy_b:",
+ le32_to_cpu(general->beacon_energy_b),
+ accum_general->beacon_energy_b,
+ delta_general->beacon_energy_b,
+ max_general->beacon_energy_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "beacon_energy_c:",
+ le32_to_cpu(general->beacon_energy_c),
+ accum_general->beacon_energy_c,
+ delta_general->beacon_energy_c,
+ max_general->beacon_energy_c);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_header, "Statistics_Rx - OFDM_HT:");
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "plcp_err:",
- le32_to_cpu(ht->plcp_err), accum_ht->plcp_err,
- delta_ht->plcp_err, max_ht->plcp_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "overrun_err:",
- le32_to_cpu(ht->overrun_err), accum_ht->overrun_err,
- delta_ht->overrun_err, max_ht->overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "early_overrun_err:",
- le32_to_cpu(ht->early_overrun_err),
- accum_ht->early_overrun_err,
- delta_ht->early_overrun_err,
- max_ht->early_overrun_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "crc32_good:",
- le32_to_cpu(ht->crc32_good), accum_ht->crc32_good,
- delta_ht->crc32_good, max_ht->crc32_good);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "crc32_err:",
- le32_to_cpu(ht->crc32_err), accum_ht->crc32_err,
- delta_ht->crc32_err, max_ht->crc32_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "mh_format_err:",
- le32_to_cpu(ht->mh_format_err),
- accum_ht->mh_format_err,
- delta_ht->mh_format_err, max_ht->mh_format_err);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg_crc32_good:",
- le32_to_cpu(ht->agg_crc32_good),
- accum_ht->agg_crc32_good,
- delta_ht->agg_crc32_good, max_ht->agg_crc32_good);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg_mpdu_cnt:",
- le32_to_cpu(ht->agg_mpdu_cnt),
- accum_ht->agg_mpdu_cnt,
- delta_ht->agg_mpdu_cnt, max_ht->agg_mpdu_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg_cnt:",
- le32_to_cpu(ht->agg_cnt), accum_ht->agg_cnt,
- delta_ht->agg_cnt, max_ht->agg_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "unsupport_mcs:",
- le32_to_cpu(ht->unsupport_mcs),
- accum_ht->unsupport_mcs,
- delta_ht->unsupport_mcs, max_ht->unsupport_mcs);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_header,
+ "Statistics_Rx - OFDM_HT:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "plcp_err:",
+ le32_to_cpu(ht->plcp_err), accum_ht->plcp_err,
+ delta_ht->plcp_err, max_ht->plcp_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "overrun_err:",
+ le32_to_cpu(ht->overrun_err), accum_ht->overrun_err,
+ delta_ht->overrun_err, max_ht->overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "early_overrun_err:",
+ le32_to_cpu(ht->early_overrun_err),
+ accum_ht->early_overrun_err, delta_ht->early_overrun_err,
+ max_ht->early_overrun_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "crc32_good:",
+ le32_to_cpu(ht->crc32_good), accum_ht->crc32_good,
+ delta_ht->crc32_good, max_ht->crc32_good);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "crc32_err:",
+ le32_to_cpu(ht->crc32_err), accum_ht->crc32_err,
+ delta_ht->crc32_err, max_ht->crc32_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "mh_format_err:",
+ le32_to_cpu(ht->mh_format_err), accum_ht->mh_format_err,
+ delta_ht->mh_format_err, max_ht->mh_format_err);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg_crc32_good:",
+ le32_to_cpu(ht->agg_crc32_good), accum_ht->agg_crc32_good,
+ delta_ht->agg_crc32_good, max_ht->agg_crc32_good);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg_mpdu_cnt:",
+ le32_to_cpu(ht->agg_mpdu_cnt), accum_ht->agg_mpdu_cnt,
+ delta_ht->agg_mpdu_cnt, max_ht->agg_mpdu_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg_cnt:",
+ le32_to_cpu(ht->agg_cnt), accum_ht->agg_cnt,
+ delta_ht->agg_cnt, max_ht->agg_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "unsupport_mcs:",
+ le32_to_cpu(ht->unsupport_mcs), accum_ht->unsupport_mcs,
+ delta_ht->unsupport_mcs, max_ht->unsupport_mcs);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-ssize_t il4965_ucode_tx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+ssize_t
+il4965_ucode_tx_stats_read(struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -506,154 +488,145 @@ ssize_t il4965_ucode_tx_stats_read(struct file *file,
}
/* the statistic information display here is based on
- * the last stats notification from uCode
- * might not reflect the current uCode activity
- */
+ * the last stats notification from uCode
+ * might not reflect the current uCode activity
+ */
tx = &il->_4965.stats.tx;
accum_tx = &il->_4965.accum_stats.tx;
delta_tx = &il->_4965.delta_stats.tx;
max_tx = &il->_4965.max_delta.tx;
pos += il4965_stats_flag(il, buf, bufsz);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_header, "Statistics_Tx:");
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "preamble:",
- le32_to_cpu(tx->preamble_cnt),
- accum_tx->preamble_cnt,
- delta_tx->preamble_cnt, max_tx->preamble_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "rx_detected_cnt:",
- le32_to_cpu(tx->rx_detected_cnt),
- accum_tx->rx_detected_cnt,
- delta_tx->rx_detected_cnt, max_tx->rx_detected_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "bt_prio_defer_cnt:",
- le32_to_cpu(tx->bt_prio_defer_cnt),
- accum_tx->bt_prio_defer_cnt,
- delta_tx->bt_prio_defer_cnt,
- max_tx->bt_prio_defer_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "bt_prio_kill_cnt:",
- le32_to_cpu(tx->bt_prio_kill_cnt),
- accum_tx->bt_prio_kill_cnt,
- delta_tx->bt_prio_kill_cnt,
- max_tx->bt_prio_kill_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "few_bytes_cnt:",
- le32_to_cpu(tx->few_bytes_cnt),
- accum_tx->few_bytes_cnt,
- delta_tx->few_bytes_cnt, max_tx->few_bytes_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "cts_timeout:",
- le32_to_cpu(tx->cts_timeout), accum_tx->cts_timeout,
- delta_tx->cts_timeout, max_tx->cts_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "ack_timeout:",
- le32_to_cpu(tx->ack_timeout),
- accum_tx->ack_timeout,
- delta_tx->ack_timeout, max_tx->ack_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "expected_ack_cnt:",
- le32_to_cpu(tx->expected_ack_cnt),
- accum_tx->expected_ack_cnt,
- delta_tx->expected_ack_cnt,
- max_tx->expected_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "actual_ack_cnt:",
- le32_to_cpu(tx->actual_ack_cnt),
- accum_tx->actual_ack_cnt,
- delta_tx->actual_ack_cnt,
- max_tx->actual_ack_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "dump_msdu_cnt:",
- le32_to_cpu(tx->dump_msdu_cnt),
- accum_tx->dump_msdu_cnt,
- delta_tx->dump_msdu_cnt,
- max_tx->dump_msdu_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "abort_nxt_frame_mismatch:",
- le32_to_cpu(tx->burst_abort_next_frame_mismatch_cnt),
- accum_tx->burst_abort_next_frame_mismatch_cnt,
- delta_tx->burst_abort_next_frame_mismatch_cnt,
- max_tx->burst_abort_next_frame_mismatch_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "abort_missing_nxt_frame:",
- le32_to_cpu(tx->burst_abort_missing_next_frame_cnt),
- accum_tx->burst_abort_missing_next_frame_cnt,
- delta_tx->burst_abort_missing_next_frame_cnt,
- max_tx->burst_abort_missing_next_frame_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "cts_timeout_collision:",
- le32_to_cpu(tx->cts_timeout_collision),
- accum_tx->cts_timeout_collision,
- delta_tx->cts_timeout_collision,
- max_tx->cts_timeout_collision);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "ack_ba_timeout_collision:",
- le32_to_cpu(tx->ack_or_ba_timeout_collision),
- accum_tx->ack_or_ba_timeout_collision,
- delta_tx->ack_or_ba_timeout_collision,
- max_tx->ack_or_ba_timeout_collision);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg ba_timeout:",
- le32_to_cpu(tx->agg.ba_timeout),
- accum_tx->agg.ba_timeout,
- delta_tx->agg.ba_timeout,
- max_tx->agg.ba_timeout);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg ba_resched_frames:",
- le32_to_cpu(tx->agg.ba_reschedule_frames),
- accum_tx->agg.ba_reschedule_frames,
- delta_tx->agg.ba_reschedule_frames,
- max_tx->agg.ba_reschedule_frames);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg scd_query_agg_frame:",
- le32_to_cpu(tx->agg.scd_query_agg_frame_cnt),
- accum_tx->agg.scd_query_agg_frame_cnt,
- delta_tx->agg.scd_query_agg_frame_cnt,
- max_tx->agg.scd_query_agg_frame_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg scd_query_no_agg:",
- le32_to_cpu(tx->agg.scd_query_no_agg),
- accum_tx->agg.scd_query_no_agg,
- delta_tx->agg.scd_query_no_agg,
- max_tx->agg.scd_query_no_agg);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg scd_query_agg:",
- le32_to_cpu(tx->agg.scd_query_agg),
- accum_tx->agg.scd_query_agg,
- delta_tx->agg.scd_query_agg,
- max_tx->agg.scd_query_agg);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg scd_query_mismatch:",
- le32_to_cpu(tx->agg.scd_query_mismatch),
- accum_tx->agg.scd_query_mismatch,
- delta_tx->agg.scd_query_mismatch,
- max_tx->agg.scd_query_mismatch);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg frame_not_ready:",
- le32_to_cpu(tx->agg.frame_not_ready),
- accum_tx->agg.frame_not_ready,
- delta_tx->agg.frame_not_ready,
- max_tx->agg.frame_not_ready);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg underrun:",
- le32_to_cpu(tx->agg.underrun),
- accum_tx->agg.underrun,
- delta_tx->agg.underrun, max_tx->agg.underrun);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg bt_prio_kill:",
- le32_to_cpu(tx->agg.bt_prio_kill),
- accum_tx->agg.bt_prio_kill,
- delta_tx->agg.bt_prio_kill,
- max_tx->agg.bt_prio_kill);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "agg rx_ba_rsp_cnt:",
- le32_to_cpu(tx->agg.rx_ba_rsp_cnt),
- accum_tx->agg.rx_ba_rsp_cnt,
- delta_tx->agg.rx_ba_rsp_cnt,
- max_tx->agg.rx_ba_rsp_cnt);
+ pos += scnprintf(buf + pos, bufsz - pos, fmt_header, "Statistics_Tx:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "preamble:",
+ le32_to_cpu(tx->preamble_cnt), accum_tx->preamble_cnt,
+ delta_tx->preamble_cnt, max_tx->preamble_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "rx_detected_cnt:",
+ le32_to_cpu(tx->rx_detected_cnt),
+ accum_tx->rx_detected_cnt, delta_tx->rx_detected_cnt,
+ max_tx->rx_detected_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "bt_prio_defer_cnt:",
+ le32_to_cpu(tx->bt_prio_defer_cnt),
+ accum_tx->bt_prio_defer_cnt, delta_tx->bt_prio_defer_cnt,
+ max_tx->bt_prio_defer_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "bt_prio_kill_cnt:",
+ le32_to_cpu(tx->bt_prio_kill_cnt),
+ accum_tx->bt_prio_kill_cnt, delta_tx->bt_prio_kill_cnt,
+ max_tx->bt_prio_kill_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "few_bytes_cnt:",
+ le32_to_cpu(tx->few_bytes_cnt), accum_tx->few_bytes_cnt,
+ delta_tx->few_bytes_cnt, max_tx->few_bytes_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "cts_timeout:",
+ le32_to_cpu(tx->cts_timeout), accum_tx->cts_timeout,
+ delta_tx->cts_timeout, max_tx->cts_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "ack_timeout:",
+ le32_to_cpu(tx->ack_timeout), accum_tx->ack_timeout,
+ delta_tx->ack_timeout, max_tx->ack_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "expected_ack_cnt:",
+ le32_to_cpu(tx->expected_ack_cnt),
+ accum_tx->expected_ack_cnt, delta_tx->expected_ack_cnt,
+ max_tx->expected_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "actual_ack_cnt:",
+ le32_to_cpu(tx->actual_ack_cnt), accum_tx->actual_ack_cnt,
+ delta_tx->actual_ack_cnt, max_tx->actual_ack_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "dump_msdu_cnt:",
+ le32_to_cpu(tx->dump_msdu_cnt), accum_tx->dump_msdu_cnt,
+ delta_tx->dump_msdu_cnt, max_tx->dump_msdu_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "abort_nxt_frame_mismatch:",
+ le32_to_cpu(tx->burst_abort_next_frame_mismatch_cnt),
+ accum_tx->burst_abort_next_frame_mismatch_cnt,
+ delta_tx->burst_abort_next_frame_mismatch_cnt,
+ max_tx->burst_abort_next_frame_mismatch_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "abort_missing_nxt_frame:",
+ le32_to_cpu(tx->burst_abort_missing_next_frame_cnt),
+ accum_tx->burst_abort_missing_next_frame_cnt,
+ delta_tx->burst_abort_missing_next_frame_cnt,
+ max_tx->burst_abort_missing_next_frame_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "cts_timeout_collision:",
+ le32_to_cpu(tx->cts_timeout_collision),
+ accum_tx->cts_timeout_collision,
+ delta_tx->cts_timeout_collision,
+ max_tx->cts_timeout_collision);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "ack_ba_timeout_collision:",
+ le32_to_cpu(tx->ack_or_ba_timeout_collision),
+ accum_tx->ack_or_ba_timeout_collision,
+ delta_tx->ack_or_ba_timeout_collision,
+ max_tx->ack_or_ba_timeout_collision);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg ba_timeout:",
+ le32_to_cpu(tx->agg.ba_timeout), accum_tx->agg.ba_timeout,
+ delta_tx->agg.ba_timeout, max_tx->agg.ba_timeout);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "agg ba_resched_frames:",
+ le32_to_cpu(tx->agg.ba_reschedule_frames),
+ accum_tx->agg.ba_reschedule_frames,
+ delta_tx->agg.ba_reschedule_frames,
+ max_tx->agg.ba_reschedule_frames);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "agg scd_query_agg_frame:",
+ le32_to_cpu(tx->agg.scd_query_agg_frame_cnt),
+ accum_tx->agg.scd_query_agg_frame_cnt,
+ delta_tx->agg.scd_query_agg_frame_cnt,
+ max_tx->agg.scd_query_agg_frame_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "agg scd_query_no_agg:",
+ le32_to_cpu(tx->agg.scd_query_no_agg),
+ accum_tx->agg.scd_query_no_agg,
+ delta_tx->agg.scd_query_no_agg,
+ max_tx->agg.scd_query_no_agg);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg scd_query_agg:",
+ le32_to_cpu(tx->agg.scd_query_agg),
+ accum_tx->agg.scd_query_agg, delta_tx->agg.scd_query_agg,
+ max_tx->agg.scd_query_agg);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "agg scd_query_mismatch:",
+ le32_to_cpu(tx->agg.scd_query_mismatch),
+ accum_tx->agg.scd_query_mismatch,
+ delta_tx->agg.scd_query_mismatch,
+ max_tx->agg.scd_query_mismatch);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg frame_not_ready:",
+ le32_to_cpu(tx->agg.frame_not_ready),
+ accum_tx->agg.frame_not_ready,
+ delta_tx->agg.frame_not_ready,
+ max_tx->agg.frame_not_ready);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg underrun:",
+ le32_to_cpu(tx->agg.underrun), accum_tx->agg.underrun,
+ delta_tx->agg.underrun, max_tx->agg.underrun);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg bt_prio_kill:",
+ le32_to_cpu(tx->agg.bt_prio_kill),
+ accum_tx->agg.bt_prio_kill, delta_tx->agg.bt_prio_kill,
+ max_tx->agg.bt_prio_kill);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "agg rx_ba_rsp_cnt:",
+ le32_to_cpu(tx->agg.rx_ba_rsp_cnt),
+ accum_tx->agg.rx_ba_rsp_cnt, delta_tx->agg.rx_ba_rsp_cnt,
+ max_tx->agg.rx_ba_rsp_cnt);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
@@ -661,8 +634,8 @@ ssize_t il4965_ucode_tx_stats_read(struct file *file,
}
ssize_t
-il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il4965_ucode_general_stats_read(struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -684,9 +657,9 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
}
/* the statistic information display here is based on
- * the last stats notification from uCode
- * might not reflect the current uCode activity
- */
+ * the last stats notification from uCode
+ * might not reflect the current uCode activity
+ */
general = &il->_4965.stats.general.common;
dbg = &il->_4965.stats.general.common.dbg;
div = &il->_4965.stats.general.common.div;
@@ -701,73 +674,72 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
max_div = &il->_4965.max_delta.general.common.div;
pos += il4965_stats_flag(il, buf, bufsz);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_header, "Statistics_General:");
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_value, "temperature:",
- le32_to_cpu(general->temperature));
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_value, "ttl_timestamp:",
- le32_to_cpu(general->ttl_timestamp));
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "burst_check:",
- le32_to_cpu(dbg->burst_check),
- accum_dbg->burst_check,
- delta_dbg->burst_check, max_dbg->burst_check);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "burst_count:",
- le32_to_cpu(dbg->burst_count),
- accum_dbg->burst_count,
- delta_dbg->burst_count, max_dbg->burst_count);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "wait_for_silence_timeout_count:",
- le32_to_cpu(dbg->wait_for_silence_timeout_cnt),
- accum_dbg->wait_for_silence_timeout_cnt,
- delta_dbg->wait_for_silence_timeout_cnt,
- max_dbg->wait_for_silence_timeout_cnt);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "sleep_time:",
- le32_to_cpu(general->sleep_time),
- accum_general->sleep_time,
- delta_general->sleep_time, max_general->sleep_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "slots_out:",
- le32_to_cpu(general->slots_out),
- accum_general->slots_out,
- delta_general->slots_out, max_general->slots_out);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "slots_idle:",
- le32_to_cpu(general->slots_idle),
- accum_general->slots_idle,
- delta_general->slots_idle, max_general->slots_idle);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "tx_on_a:",
- le32_to_cpu(div->tx_on_a), accum_div->tx_on_a,
- delta_div->tx_on_a, max_div->tx_on_a);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "tx_on_b:",
- le32_to_cpu(div->tx_on_b), accum_div->tx_on_b,
- delta_div->tx_on_b, max_div->tx_on_b);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "exec_time:",
- le32_to_cpu(div->exec_time), accum_div->exec_time,
- delta_div->exec_time, max_div->exec_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "probe_time:",
- le32_to_cpu(div->probe_time), accum_div->probe_time,
- delta_div->probe_time, max_div->probe_time);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "rx_enable_counter:",
- le32_to_cpu(general->rx_enable_counter),
- accum_general->rx_enable_counter,
- delta_general->rx_enable_counter,
- max_general->rx_enable_counter);
- pos += scnprintf(buf + pos, bufsz - pos,
- fmt_table, "num_of_sos_states:",
- le32_to_cpu(general->num_of_sos_states),
- accum_general->num_of_sos_states,
- delta_general->num_of_sos_states,
- max_general->num_of_sos_states);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_header,
+ "Statistics_General:");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_value, "temperature:",
+ le32_to_cpu(general->temperature));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_value, "ttl_timestamp:",
+ le32_to_cpu(general->ttl_timestamp));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "burst_check:",
+ le32_to_cpu(dbg->burst_check), accum_dbg->burst_check,
+ delta_dbg->burst_check, max_dbg->burst_check);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "burst_count:",
+ le32_to_cpu(dbg->burst_count), accum_dbg->burst_count,
+ delta_dbg->burst_count, max_dbg->burst_count);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table,
+ "wait_for_silence_timeout_count:",
+ le32_to_cpu(dbg->wait_for_silence_timeout_cnt),
+ accum_dbg->wait_for_silence_timeout_cnt,
+ delta_dbg->wait_for_silence_timeout_cnt,
+ max_dbg->wait_for_silence_timeout_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "sleep_time:",
+ le32_to_cpu(general->sleep_time),
+ accum_general->sleep_time, delta_general->sleep_time,
+ max_general->sleep_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "slots_out:",
+ le32_to_cpu(general->slots_out), accum_general->slots_out,
+ delta_general->slots_out, max_general->slots_out);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "slots_idle:",
+ le32_to_cpu(general->slots_idle),
+ accum_general->slots_idle, delta_general->slots_idle,
+ max_general->slots_idle);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "tx_on_a:",
+ le32_to_cpu(div->tx_on_a), accum_div->tx_on_a,
+ delta_div->tx_on_a, max_div->tx_on_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "tx_on_b:",
+ le32_to_cpu(div->tx_on_b), accum_div->tx_on_b,
+ delta_div->tx_on_b, max_div->tx_on_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "exec_time:",
+ le32_to_cpu(div->exec_time), accum_div->exec_time,
+ delta_div->exec_time, max_div->exec_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "probe_time:",
+ le32_to_cpu(div->probe_time), accum_div->probe_time,
+ delta_div->probe_time, max_div->probe_time);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "rx_enable_counter:",
+ le32_to_cpu(general->rx_enable_counter),
+ accum_general->rx_enable_counter,
+ delta_general->rx_enable_counter,
+ max_general->rx_enable_counter);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, fmt_table, "num_of_sos_states:",
+ le32_to_cpu(general->num_of_sos_states),
+ accum_general->num_of_sos_states,
+ delta_general->num_of_sos_states,
+ max_general->num_of_sos_states);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
diff --git a/drivers/net/wireless/iwlegacy/4965-mac.c b/drivers/net/wireless/iwlegacy/4965-mac.c
index 9e3f74c8e9a..ca819d87209 100644
--- a/drivers/net/wireless/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/iwlegacy/4965-mac.c
@@ -53,7 +53,6 @@
#include "common.h"
#include "4965.h"
-
/******************************************************************************
*
* module boiler plate
@@ -73,15 +72,14 @@
#define DRV_VERSION IWLWIFI_VERSION VD
-
MODULE_DESCRIPTION(DRV_DESCRIPTION);
MODULE_VERSION(DRV_VERSION);
MODULE_AUTHOR(DRV_COPYRIGHT " " DRV_AUTHOR);
MODULE_LICENSE("GPL");
MODULE_ALIAS("iwl4965");
-void il4965_check_abort_status(struct il_priv *il,
- u8 frame_count, u32 status)
+void
+il4965_check_abort_status(struct il_priv *il, u8 frame_count, u32 status)
{
if (frame_count == 1 && status == TX_STATUS_FAIL_RFKILL_FLUSH) {
IL_ERR("Tx flush command to flush out all frames\n");
@@ -99,7 +97,8 @@ struct il_mod_params il4965_mod_params = {
/* the rest are 0 by default */
};
-void il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
+void
+il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
{
unsigned long flags;
int i;
@@ -112,8 +111,8 @@ void il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
* to an SKB, so we need to unmap and free potential storage */
if (rxq->pool[i].page != NULL) {
pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma,
- PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ PAGE_SIZE << il->hw_params.rx_page_order,
+ PCI_DMA_FROMDEVICE);
__il_free_pages(il, rxq->pool[i].page);
rxq->pool[i].page = NULL;
}
@@ -131,10 +130,11 @@ void il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq)
spin_unlock_irqrestore(&rxq->lock, flags);
}
-int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
+int
+il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
{
u32 rb_size;
- const u32 rfdnlog = RX_QUEUE_SIZE_LOG; /* 256 RBDs */
+ const u32 rfdnlog = RX_QUEUE_SIZE_LOG; /* 256 RBDs */
u32 rb_timeout = 0;
if (il->cfg->mod_params->amsdu_size_8K)
@@ -149,12 +149,10 @@ int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
il_wr(il, FH49_RSCSR_CHNL0_RBDCB_WPTR_REG, 0);
/* Tell device where to find RBD circular buffer in DRAM */
- il_wr(il, FH49_RSCSR_CHNL0_RBDCB_BASE_REG,
- (u32)(rxq->bd_dma >> 8));
+ il_wr(il, FH49_RSCSR_CHNL0_RBDCB_BASE_REG, (u32) (rxq->bd_dma >> 8));
/* Tell device where in DRAM to update its Rx status */
- il_wr(il, FH49_RSCSR_CHNL0_STTS_WPTR_REG,
- rxq->rb_stts_dma >> 4);
+ il_wr(il, FH49_RSCSR_CHNL0_STTS_WPTR_REG, rxq->rb_stts_dma >> 4);
/* Enable Rx DMA
* Direct rx interrupts to hosts
@@ -163,12 +161,12 @@ int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
* 256 RBDs
*/
il_wr(il, FH49_MEM_RCSR_CHNL0_CONFIG_REG,
- FH49_RCSR_RX_CONFIG_CHNL_EN_ENABLE_VAL |
- FH49_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_INT_HOST_VAL |
- FH49_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK |
- rb_size|
- (rb_timeout << FH49_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS)|
- (rfdnlog << FH49_RCSR_RX_CONFIG_RBDCB_SIZE_POS));
+ FH49_RCSR_RX_CONFIG_CHNL_EN_ENABLE_VAL |
+ FH49_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_INT_HOST_VAL |
+ FH49_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK | rb_size | (rb_timeout
+ <<
+ FH49_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS)
+ | (rfdnlog << FH49_RCSR_RX_CONFIG_RBDCB_SIZE_POS));
/* Set interrupt coalescing timer to default (2048 usecs) */
il_write8(il, CSR_INT_COALESCING, IL_HOST_INT_TIMEOUT_DEF);
@@ -176,7 +174,8 @@ int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq)
return 0;
}
-static void il4965_set_pwr_vmain(struct il_priv *il)
+static void
+il4965_set_pwr_vmain(struct il_priv *il)
{
/*
* (for documentation purposes)
@@ -189,11 +188,12 @@ static void il4965_set_pwr_vmain(struct il_priv *il)
*/
il_set_bits_mask_prph(il, APMG_PS_CTRL_REG,
- APMG_PS_CTRL_VAL_PWR_SRC_VMAIN,
- ~APMG_PS_CTRL_MSK_PWR_SRC);
+ APMG_PS_CTRL_VAL_PWR_SRC_VMAIN,
+ ~APMG_PS_CTRL_MSK_PWR_SRC);
}
-int il4965_hw_nic_init(struct il_priv *il)
+int
+il4965_hw_nic_init(struct il_priv *il)
{
unsigned long flags;
struct il_rx_queue *rxq = &il->rxq;
@@ -249,10 +249,10 @@ int il4965_hw_nic_init(struct il_priv *il)
/**
* il4965_dma_addr2rbd_ptr - convert a DMA address to a uCode read buffer ptr
*/
-static inline __le32 il4965_dma_addr2rbd_ptr(struct il_priv *il,
- dma_addr_t dma_addr)
+static inline __le32
+il4965_dma_addr2rbd_ptr(struct il_priv *il, dma_addr_t dma_addr)
{
- return cpu_to_le32((u32)(dma_addr >> 8));
+ return cpu_to_le32((u32) (dma_addr >> 8));
}
/**
@@ -266,7 +266,8 @@ static inline __le32 il4965_dma_addr2rbd_ptr(struct il_priv *il,
* also updates the memory address in the firmware to reference the new
* target buffer.
*/
-void il4965_rx_queue_restock(struct il_priv *il)
+void
+il4965_rx_queue_restock(struct il_priv *il)
{
struct il_rx_queue *rxq = &il->rxq;
struct list_head *element;
@@ -285,8 +286,8 @@ void il4965_rx_queue_restock(struct il_priv *il)
list_del(element);
/* Point to Rx buffer via next RBD in circular buffer */
- rxq->bd[rxq->write] = il4965_dma_addr2rbd_ptr(il,
- rxb->page_dma);
+ rxq->bd[rxq->write] =
+ il4965_dma_addr2rbd_ptr(il, rxb->page_dma);
rxq->queue[rxq->write] = rxb;
rxq->write = (rxq->write + 1) & RX_QUEUE_MASK;
rxq->free_count--;
@@ -297,7 +298,6 @@ void il4965_rx_queue_restock(struct il_priv *il)
if (rxq->free_count <= RX_LOW_WATERMARK)
queue_work(il->workqueue, &il->rx_replenish);
-
/* If we've added more space for the firmware to place data, tell it.
* Increment device's write pointer in multiples of 8. */
if (rxq->write_actual != (rxq->write & ~0x7)) {
@@ -316,7 +316,8 @@ void il4965_rx_queue_restock(struct il_priv *il)
* Also restock the Rx queue via il_rx_queue_restock.
* This is called as a scheduled work item (except for during initialization)
*/
-static void il4965_rx_allocate(struct il_priv *il, gfp_t priority)
+static void
+il4965_rx_allocate(struct il_priv *il, gfp_t priority)
{
struct il_rx_queue *rxq = &il->rxq;
struct list_head *element;
@@ -343,18 +344,16 @@ static void il4965_rx_allocate(struct il_priv *il, gfp_t priority)
page = alloc_pages(gfp_mask, il->hw_params.rx_page_order);
if (!page) {
if (net_ratelimit())
- D_INFO("alloc_pages failed, "
- "order: %d\n",
- il->hw_params.rx_page_order);
+ D_INFO("alloc_pages failed, " "order: %d\n",
+ il->hw_params.rx_page_order);
if (rxq->free_count <= RX_LOW_WATERMARK &&
net_ratelimit())
- IL_ERR(
- "Failed to alloc_pages with %s. "
- "Only %u free buffers remaining.\n",
- priority == GFP_ATOMIC ?
- "GFP_ATOMIC" : "GFP_KERNEL",
- rxq->free_count);
+ IL_ERR("Failed to alloc_pages with %s. "
+ "Only %u free buffers remaining.\n",
+ priority ==
+ GFP_ATOMIC ? "GFP_ATOMIC" : "GFP_KERNEL",
+ rxq->free_count);
/* We don't reschedule replenish work here -- we will
* call the restock method and if it still needs
* more buffers it will schedule replenish */
@@ -377,9 +376,10 @@ static void il4965_rx_allocate(struct il_priv *il, gfp_t priority)
BUG_ON(rxb->page);
rxb->page = page;
/* Get physical address of the RB */
- rxb->page_dma = pci_map_page(il->pci_dev, page, 0,
- PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ rxb->page_dma =
+ pci_map_page(il->pci_dev, page, 0,
+ PAGE_SIZE << il->hw_params.rx_page_order,
+ PCI_DMA_FROMDEVICE);
/* dma address must be no more than 36 bits */
BUG_ON(rxb->page_dma & ~DMA_BIT_MASK(36));
/* and also 256 byte aligned! */
@@ -395,7 +395,8 @@ static void il4965_rx_allocate(struct il_priv *il, gfp_t priority)
}
}
-void il4965_rx_replenish(struct il_priv *il)
+void
+il4965_rx_replenish(struct il_priv *il)
{
unsigned long flags;
@@ -406,7 +407,8 @@ void il4965_rx_replenish(struct il_priv *il)
spin_unlock_irqrestore(&il->lock, flags);
}
-void il4965_rx_replenish_now(struct il_priv *il)
+void
+il4965_rx_replenish_now(struct il_priv *il)
{
il4965_rx_allocate(il, GFP_ATOMIC);
@@ -418,14 +420,15 @@ void il4965_rx_replenish_now(struct il_priv *il)
* This free routine walks the list of POOL entries and if SKB is set to
* non NULL it is unmapped and freed
*/
-void il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq)
+void
+il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq)
{
int i;
for (i = 0; i < RX_QUEUE_SIZE + RX_FREE_BUFFERS; i++) {
if (rxq->pool[i].page != NULL) {
pci_unmap_page(il->pci_dev, rxq->pool[i].page_dma,
- PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ PAGE_SIZE << il->hw_params.rx_page_order,
+ PCI_DMA_FROMDEVICE);
__il_free_pages(il, rxq->pool[i].page);
rxq->pool[i].page = NULL;
}
@@ -436,21 +439,23 @@ void il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq)
dma_free_coherent(&il->pci_dev->dev, sizeof(struct il_rb_status),
rxq->rb_stts, rxq->rb_stts_dma);
rxq->bd = NULL;
- rxq->rb_stts = NULL;
+ rxq->rb_stts = NULL;
}
-int il4965_rxq_stop(struct il_priv *il)
+int
+il4965_rxq_stop(struct il_priv *il)
{
/* stop Rx DMA */
il_wr(il, FH49_MEM_RCSR_CHNL0_CONFIG_REG, 0);
il_poll_bit(il, FH49_MEM_RSSR_RX_STATUS_REG,
- FH49_RSSR_CHNL0_RX_STATUS_CHNL_IDLE, 1000);
+ FH49_RSSR_CHNL0_RX_STATUS_CHNL_IDLE, 1000);
return 0;
}
-int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
+int
+il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
{
int idx = 0;
int band_offset = 0;
@@ -459,7 +464,7 @@ int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
if (rate_n_flags & RATE_MCS_HT_MSK) {
idx = (rate_n_flags & 0xff);
return idx;
- /* Legacy rate format, search for match in table */
+ /* Legacy rate format, search for match in table */
} else {
if (band == IEEE80211_BAND_5GHZ)
band_offset = IL_FIRST_OFDM_RATE;
@@ -471,19 +476,20 @@ int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band)
return -1;
}
-static int il4965_calc_rssi(struct il_priv *il,
- struct il_rx_phy_res *rx_resp)
+static int
+il4965_calc_rssi(struct il_priv *il, struct il_rx_phy_res *rx_resp)
{
/* data from PHY/DSP regarding signal strength, etc.,
* contents are always there, not configurable by host. */
struct il4965_rx_non_cfg_phy *ncphy =
(struct il4965_rx_non_cfg_phy *)rx_resp->non_cfg_phy_buf;
- u32 agc = (le16_to_cpu(ncphy->agc_info) & IL49_AGC_DB_MASK)
- >> IL49_AGC_DB_POS;
+ u32 agc =
+ (le16_to_cpu(ncphy->agc_info) & IL49_AGC_DB_MASK) >>
+ IL49_AGC_DB_POS;
u32 valid_antennae =
(le16_to_cpu(rx_resp->phy_flags) & IL49_RX_PHY_FLAGS_ANTENNAE_MASK)
- >> IL49_RX_PHY_FLAGS_ANTENNAE_OFFSET;
+ >> IL49_RX_PHY_FLAGS_ANTENNAE_OFFSET;
u8 max_rssi = 0;
u32 i;
@@ -505,31 +511,32 @@ static int il4965_calc_rssi(struct il_priv *il,
return max_rssi - agc - IL4965_RSSI_OFFSET;
}
-
-static u32 il4965_translate_rx_status(struct il_priv *il, u32 decrypt_in)
+static u32
+il4965_translate_rx_status(struct il_priv *il, u32 decrypt_in)
{
u32 decrypt_out = 0;
if ((decrypt_in & RX_RES_STATUS_STATION_FOUND) ==
- RX_RES_STATUS_STATION_FOUND)
- decrypt_out |= (RX_RES_STATUS_STATION_FOUND |
- RX_RES_STATUS_NO_STATION_INFO_MISMATCH);
+ RX_RES_STATUS_STATION_FOUND)
+ decrypt_out |=
+ (RX_RES_STATUS_STATION_FOUND |
+ RX_RES_STATUS_NO_STATION_INFO_MISMATCH);
decrypt_out |= (decrypt_in & RX_RES_STATUS_SEC_TYPE_MSK);
/* packet was not encrypted */
if ((decrypt_in & RX_RES_STATUS_SEC_TYPE_MSK) ==
- RX_RES_STATUS_SEC_TYPE_NONE)
+ RX_RES_STATUS_SEC_TYPE_NONE)
return decrypt_out;
/* packet was encrypted with unknown alg */
if ((decrypt_in & RX_RES_STATUS_SEC_TYPE_MSK) ==
- RX_RES_STATUS_SEC_TYPE_ERR)
+ RX_RES_STATUS_SEC_TYPE_ERR)
return decrypt_out;
/* decryption was not done in HW */
if ((decrypt_in & RX_MPDU_RES_STATUS_DEC_DONE_MSK) !=
- RX_MPDU_RES_STATUS_DEC_DONE_MSK)
+ RX_MPDU_RES_STATUS_DEC_DONE_MSK)
return decrypt_out;
switch (decrypt_in & RX_RES_STATUS_SEC_TYPE_MSK) {
@@ -559,26 +566,22 @@ static u32 il4965_translate_rx_status(struct il_priv *il, u32 decrypt_in)
break;
}
- D_RX("decrypt_in:0x%x decrypt_out = 0x%x\n",
- decrypt_in, decrypt_out);
+ D_RX("decrypt_in:0x%x decrypt_out = 0x%x\n", decrypt_in, decrypt_out);
return decrypt_out;
}
-static void il4965_pass_packet_to_mac80211(struct il_priv *il,
- struct ieee80211_hdr *hdr,
- u16 len,
- u32 ampdu_status,
- struct il_rx_buf *rxb,
- struct ieee80211_rx_status *stats)
+static void
+il4965_pass_packet_to_mac80211(struct il_priv *il, struct ieee80211_hdr *hdr,
+ u16 len, u32 ampdu_status, struct il_rx_buf *rxb,
+ struct ieee80211_rx_status *stats)
{
struct sk_buff *skb;
__le16 fc = hdr->frame_control;
/* We only process data packets if the interface is open */
if (unlikely(!il->is_open)) {
- D_DROP(
- "Dropping packet while interface is not open.\n");
+ D_DROP("Dropping packet while interface is not open.\n");
return;
}
@@ -605,8 +608,8 @@ static void il4965_pass_packet_to_mac80211(struct il_priv *il,
/* Called for N_RX (legacy ABG frames), or
* N_RX_MPDU (HT high-throughput N frames). */
-void il4965_hdl_rx(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il4965_hdl_rx(struct il_priv *il, struct il_rx_buf *rxb)
{
struct ieee80211_hdr *header;
struct ieee80211_rx_status rx_status;
@@ -629,12 +632,14 @@ void il4965_hdl_rx(struct il_priv *il,
*/
if (pkt->hdr.cmd == N_RX) {
phy_res = (struct il_rx_phy_res *)pkt->u.raw;
- header = (struct ieee80211_hdr *)(pkt->u.raw + sizeof(*phy_res)
- + phy_res->cfg_phy_cnt);
+ header =
+ (struct ieee80211_hdr *)(pkt->u.raw + sizeof(*phy_res) +
+ phy_res->cfg_phy_cnt);
len = le16_to_cpu(phy_res->byte_count);
- rx_pkt_status = *(__le32 *)(pkt->u.raw + sizeof(*phy_res) +
- phy_res->cfg_phy_cnt + len);
+ rx_pkt_status =
+ *(__le32 *) (pkt->u.raw + sizeof(*phy_res) +
+ phy_res->cfg_phy_cnt + len);
ampdu_status = le32_to_cpu(rx_pkt_status);
} else {
if (!il->_4965.last_phy_res_valid) {
@@ -645,21 +650,20 @@ void il4965_hdl_rx(struct il_priv *il,
amsdu = (struct il_rx_mpdu_res_start *)pkt->u.raw;
header = (struct ieee80211_hdr *)(pkt->u.raw + sizeof(*amsdu));
len = le16_to_cpu(amsdu->byte_count);
- rx_pkt_status = *(__le32 *)(pkt->u.raw + sizeof(*amsdu) + len);
- ampdu_status = il4965_translate_rx_status(il,
- le32_to_cpu(rx_pkt_status));
+ rx_pkt_status = *(__le32 *) (pkt->u.raw + sizeof(*amsdu) + len);
+ ampdu_status =
+ il4965_translate_rx_status(il, le32_to_cpu(rx_pkt_status));
}
if ((unlikely(phy_res->cfg_phy_cnt > 20))) {
D_DROP("dsp size out of range [0,20]: %d/n",
- phy_res->cfg_phy_cnt);
+ phy_res->cfg_phy_cnt);
return;
}
if (!(rx_pkt_status & RX_RES_STATUS_NO_CRC32_ERROR) ||
!(rx_pkt_status & RX_RES_STATUS_NO_RXE_OVERFLOW)) {
- D_RX("Bad CRC or FIFO: 0x%08X.\n",
- le32_to_cpu(rx_pkt_status));
+ D_RX("Bad CRC or FIFO: 0x%08X.\n", le32_to_cpu(rx_pkt_status));
return;
}
@@ -668,18 +672,20 @@ void il4965_hdl_rx(struct il_priv *il,
/* rx_status carries information about the packet to mac80211 */
rx_status.mactime = le64_to_cpu(phy_res->timestamp);
- rx_status.band = (phy_res->phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ?
- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+ rx_status.band =
+ (phy_res->
+ phy_flags & RX_RES_PHY_FLAGS_BAND_24_MSK) ? IEEE80211_BAND_2GHZ :
+ IEEE80211_BAND_5GHZ;
rx_status.freq =
- ieee80211_channel_to_frequency(le16_to_cpu(phy_res->channel),
- rx_status.band);
+ ieee80211_channel_to_frequency(le16_to_cpu(phy_res->channel),
+ rx_status.band);
rx_status.rate_idx =
- il4965_hwrate_to_mac80211_idx(rate_n_flags, rx_status.band);
+ il4965_hwrate_to_mac80211_idx(rate_n_flags, rx_status.band);
rx_status.flag = 0;
/* TSF isn't reliable. In order to allow smooth user experience,
* this W/A doesn't propagate it to the mac80211 */
- /*rx_status.flag |= RX_FLAG_MACTIME_MPDU;*/
+ /*rx_status.flag |= RX_FLAG_MACTIME_MPDU; */
il->ucode_beacon_time = le32_to_cpu(phy_res->beacon_time_stamp);
@@ -687,8 +693,8 @@ void il4965_hdl_rx(struct il_priv *il,
rx_status.signal = il4965_calc_rssi(il, phy_res);
il_dbg_log_rx_data_frame(il, len, header);
- D_STATS("Rssi %d, TSF %llu\n",
- rx_status.signal, (unsigned long long)rx_status.mactime);
+ D_STATS("Rssi %d, TSF %llu\n", rx_status.signal,
+ (unsigned long long)rx_status.mactime);
/*
* "antenna number"
@@ -704,8 +710,8 @@ void il4965_hdl_rx(struct il_priv *il,
* as a bitmask.
*/
rx_status.antenna =
- (le16_to_cpu(phy_res->phy_flags) & RX_RES_PHY_FLAGS_ANTENNA_MSK)
- >> RX_RES_PHY_FLAGS_ANTENNA_POS;
+ (le16_to_cpu(phy_res->phy_flags) & RX_RES_PHY_FLAGS_ANTENNA_MSK) >>
+ RX_RES_PHY_FLAGS_ANTENNA_POS;
/* set the preamble flag if appropriate */
if (phy_res->phy_flags & RX_RES_PHY_FLAGS_SHORT_PREAMBLE_MSK)
@@ -719,14 +725,14 @@ void il4965_hdl_rx(struct il_priv *il,
if (rate_n_flags & RATE_MCS_SGI_MSK)
rx_status.flag |= RX_FLAG_SHORT_GI;
- il4965_pass_packet_to_mac80211(il, header, len, ampdu_status,
- rxb, &rx_status);
+ il4965_pass_packet_to_mac80211(il, header, len, ampdu_status, rxb,
+ &rx_status);
}
/* Cache phy data (Rx signal strength, etc) for HT frame (N_RX_PHY).
* This will be used later in il_hdl_rx() for N_RX_MPDU. */
-void il4965_hdl_rx_phy(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il4965_hdl_rx_phy(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
il->_4965.last_phy_res_valid = true;
@@ -734,11 +740,10 @@ void il4965_hdl_rx_phy(struct il_priv *il,
sizeof(struct il_rx_phy_res));
}
-static int il4965_get_channels_for_scan(struct il_priv *il,
- struct ieee80211_vif *vif,
- enum ieee80211_band band,
- u8 is_active, u8 n_probes,
- struct il_scan_channel *scan_ch)
+static int
+il4965_get_channels_for_scan(struct il_priv *il, struct ieee80211_vif *vif,
+ enum ieee80211_band band, u8 is_active,
+ u8 n_probes, struct il_scan_channel *scan_ch)
{
struct ieee80211_channel *chan;
const struct ieee80211_supported_band *sband;
@@ -769,9 +774,8 @@ static int il4965_get_channels_for_scan(struct il_priv *il,
ch_info = il_get_channel_info(il, band, channel);
if (!il_is_channel_valid(ch_info)) {
- D_SCAN(
- "Channel %d is INVALID for this band.\n",
- channel);
+ D_SCAN("Channel %d is INVALID for this band.\n",
+ channel);
continue;
}
@@ -799,12 +803,13 @@ static int il4965_get_channels_for_scan(struct il_priv *il,
else
scan_ch->tx_gain = ((1 << 5) | (5 << 3));
- D_SCAN("Scanning ch=%d prob=0x%X [%s %d]\n",
- channel, le32_to_cpu(scan_ch->type),
- (scan_ch->type & SCAN_CHANNEL_TYPE_ACTIVE) ?
- "ACTIVE" : "PASSIVE",
- (scan_ch->type & SCAN_CHANNEL_TYPE_ACTIVE) ?
- active_dwell : passive_dwell);
+ D_SCAN("Scanning ch=%d prob=0x%X [%s %d]\n", channel,
+ le32_to_cpu(scan_ch->type),
+ (scan_ch->
+ type & SCAN_CHANNEL_TYPE_ACTIVE) ? "ACTIVE" : "PASSIVE",
+ (scan_ch->
+ type & SCAN_CHANNEL_TYPE_ACTIVE) ? active_dwell :
+ passive_dwell);
scan_ch++;
added++;
@@ -814,12 +819,14 @@ static int il4965_get_channels_for_scan(struct il_priv *il,
return added;
}
-static inline u32 il4965_ant_idx_to_flags(u8 ant_idx)
+static inline u32
+il4965_ant_idx_to_flags(u8 ant_idx)
{
return BIT(ant_idx) << RATE_MCS_ANT_POS;
}
-int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
+int
+il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
{
struct il_host_cmd cmd = {
.id = C_SCAN,
@@ -836,7 +843,7 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
u8 rx_ant = il->hw_params.valid_rx_ant;
u8 rate;
bool is_active = false;
- int chan_mod;
+ int chan_mod;
u8 active_chains;
u8 scan_tx_antennas = il->hw_params.valid_tx_ant;
int ret;
@@ -847,11 +854,11 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
ctx = il_rxon_ctx_from_vif(vif);
if (!il->scan_cmd) {
- il->scan_cmd = kmalloc(sizeof(struct il_scan_cmd) +
- IL_MAX_SCAN_SIZE, GFP_KERNEL);
+ il->scan_cmd =
+ kmalloc(sizeof(struct il_scan_cmd) + IL_MAX_SCAN_SIZE,
+ GFP_KERNEL);
if (!il->scan_cmd) {
- D_SCAN(
- "fail to allocate memory for scan\n");
+ D_SCAN("fail to allocate memory for scan\n");
return -ENOMEM;
}
}
@@ -876,11 +883,11 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
interval = suspend_time;
extra = (suspend_time / interval) << 22;
- scan_suspend_time = (extra |
- ((suspend_time % interval) * 1024));
+ scan_suspend_time =
+ (extra | ((suspend_time % interval) * 1024));
scan->suspend_time = cpu_to_le32(scan_suspend_time);
D_SCAN("suspend_time 0x%X beacon interval %d\n",
- scan_suspend_time, interval);
+ scan_suspend_time, interval);
}
if (il->scan_request->n_ssids) {
@@ -892,7 +899,7 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
continue;
scan->direct_scan[p].id = WLAN_EID_SSID;
scan->direct_scan[p].len =
- il->scan_request->ssids[i].ssid_len;
+ il->scan_request->ssids[i].ssid_len;
memcpy(scan->direct_scan[p].ssid,
il->scan_request->ssids[i].ssid,
il->scan_request->ssids[i].ssid_len);
@@ -910,10 +917,10 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
switch (il->scan_band) {
case IEEE80211_BAND_2GHZ:
scan->flags = RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK;
- chan_mod = le32_to_cpu(
- il->ctx.active.flags &
- RXON_FLG_CHANNEL_MODE_MSK)
- >> RXON_FLG_CHANNEL_MODE_POS;
+ chan_mod =
+ le32_to_cpu(il->ctx.active.
+ flags & RXON_FLG_CHANNEL_MODE_MSK) >>
+ RXON_FLG_CHANNEL_MODE_POS;
if (chan_mod == CHANNEL_MODE_PURE_40) {
rate = RATE_6M_PLCP;
} else {
@@ -946,30 +953,30 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
* the aforementioned issue. Thus use IL_GOOD_CRC_TH_NEVER
* here instead of IL_GOOD_CRC_TH_DISABLED.
*/
- scan->good_CRC_th = is_active ? IL_GOOD_CRC_TH_DEFAULT :
- IL_GOOD_CRC_TH_NEVER;
+ scan->good_CRC_th =
+ is_active ? IL_GOOD_CRC_TH_DEFAULT : IL_GOOD_CRC_TH_NEVER;
band = il->scan_band;
if (il->cfg->scan_rx_antennas[band])
rx_ant = il->cfg->scan_rx_antennas[band];
- il->scan_tx_ant[band] = il4965_toggle_tx_ant(il,
- il->scan_tx_ant[band],
- scan_tx_antennas);
+ il->scan_tx_ant[band] =
+ il4965_toggle_tx_ant(il, il->scan_tx_ant[band], scan_tx_antennas);
rate_flags |= il4965_ant_idx_to_flags(il->scan_tx_ant[band]);
- scan->tx_cmd.rate_n_flags = il4965_hw_set_rate_n_flags(rate, rate_flags);
+ scan->tx_cmd.rate_n_flags =
+ il4965_hw_set_rate_n_flags(rate, rate_flags);
/* In power save mode use one chain, otherwise use all chains */
if (test_bit(S_POWER_PMI, &il->status)) {
/* rx_ant has been set to all valid chains previously */
- active_chains = rx_ant &
- ((u8)(il->chain_noise_data.active_chains));
+ active_chains =
+ rx_ant & ((u8) (il->chain_noise_data.active_chains));
if (!active_chains)
active_chains = rx_ant;
D_SCAN("chain_noise_data.active_chains: %u\n",
- il->chain_noise_data.active_chains);
+ il->chain_noise_data.active_chains);
rx_ant = il4965_first_antenna(active_chains);
}
@@ -981,26 +988,26 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
rx_chain |= 0x1 << RXON_RX_CHAIN_DRIVER_FORCE_POS;
scan->rx_chain = cpu_to_le16(rx_chain);
- cmd_len = il_fill_probe_req(il,
- (struct ieee80211_mgmt *)scan->data,
- vif->addr,
- il->scan_request->ie,
- il->scan_request->ie_len,
- IL_MAX_SCAN_SIZE - sizeof(*scan));
+ cmd_len =
+ il_fill_probe_req(il, (struct ieee80211_mgmt *)scan->data,
+ vif->addr, il->scan_request->ie,
+ il->scan_request->ie_len,
+ IL_MAX_SCAN_SIZE - sizeof(*scan));
scan->tx_cmd.len = cpu_to_le16(cmd_len);
- scan->filter_flags |= (RXON_FILTER_ACCEPT_GRP_MSK |
- RXON_FILTER_BCON_AWARE_MSK);
+ scan->filter_flags |=
+ (RXON_FILTER_ACCEPT_GRP_MSK | RXON_FILTER_BCON_AWARE_MSK);
- scan->channel_count = il4965_get_channels_for_scan(il, vif, band,
- is_active, n_probes,
- (void *)&scan->data[cmd_len]);
+ scan->channel_count =
+ il4965_get_channels_for_scan(il, vif, band, is_active, n_probes,
+ (void *)&scan->data[cmd_len]);
if (scan->channel_count == 0) {
D_SCAN("channel count %d\n", scan->channel_count);
return -EIO;
}
- cmd.len += le16_to_cpu(scan->tx_cmd.len) +
+ cmd.len +=
+ le16_to_cpu(scan->tx_cmd.len) +
scan->channel_count * sizeof(struct il_scan_channel);
cmd.data = scan;
scan->len = cpu_to_le16(cmd.len);
@@ -1014,8 +1021,9 @@ int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif)
return ret;
}
-int il4965_manage_ibss_station(struct il_priv *il,
- struct ieee80211_vif *vif, bool add)
+int
+il4965_manage_ibss_station(struct il_priv *il, struct ieee80211_vif *vif,
+ bool add)
{
struct il_vif_priv *vif_priv = (void *)vif->drv_priv;
@@ -1024,11 +1032,11 @@ int il4965_manage_ibss_station(struct il_priv *il,
vif->bss_conf.bssid,
&vif_priv->ibss_bssid_sta_id);
return il_remove_station(il, vif_priv->ibss_bssid_sta_id,
- vif->bss_conf.bssid);
+ vif->bss_conf.bssid);
}
-void il4965_free_tfds_in_queue(struct il_priv *il,
- int sta_id, int tid, int freed)
+void
+il4965_free_tfds_in_queue(struct il_priv *il, int sta_id, int tid, int freed)
{
lockdep_assert_held(&il->sta_lock);
@@ -1036,18 +1044,18 @@ void il4965_free_tfds_in_queue(struct il_priv *il,
il->stations[sta_id].tid[tid].tfds_in_queue -= freed;
else {
D_TX("free more than tfds_in_queue (%u:%d)\n",
- il->stations[sta_id].tid[tid].tfds_in_queue,
- freed);
+ il->stations[sta_id].tid[tid].tfds_in_queue, freed);
il->stations[sta_id].tid[tid].tfds_in_queue = 0;
}
}
#define IL_TX_QUEUE_MSK 0xfffff
-static bool il4965_is_single_rx_stream(struct il_priv *il)
+static bool
+il4965_is_single_rx_stream(struct il_priv *il)
{
return il->current_ht_config.smps == IEEE80211_SMPS_STATIC ||
- il->current_ht_config.single_chain_sufficient;
+ il->current_ht_config.single_chain_sufficient;
}
#define IL_NUM_RX_CHAINS_MULTIPLE 3
@@ -1065,7 +1073,8 @@ static bool il4965_is_single_rx_stream(struct il_priv *il)
* MIMO (dual stream) requires at least 2, but works better with 3.
* This does not determine *which* chains to use, just how many.
*/
-static int il4965_get_active_rx_chain_count(struct il_priv *il)
+static int
+il4965_get_active_rx_chain_count(struct il_priv *il)
{
/* # of Rx chains to use when expecting MIMO. */
if (il4965_is_single_rx_stream(il))
@@ -1089,14 +1098,14 @@ il4965_get_idle_rx_chain_count(struct il_priv *il, int active_cnt)
case IEEE80211_SMPS_OFF:
return active_cnt;
default:
- WARN(1, "invalid SMPS mode %d",
- il->current_ht_config.smps);
+ WARN(1, "invalid SMPS mode %d", il->current_ht_config.smps);
return active_cnt;
}
}
/* up to 4 chains */
-static u8 il4965_count_chain_bitmap(u32 chain_bitmap)
+static u8
+il4965_count_chain_bitmap(u32 chain_bitmap)
{
u8 res;
res = (chain_bitmap & BIT(0)) >> 0;
@@ -1112,7 +1121,8 @@ static u8 il4965_count_chain_bitmap(u32 chain_bitmap)
* Selects how many and which Rx receivers/antennas/chains to use.
* This should not be used for scan command ... it puts data in wrong place.
*/
-void il4965_set_rxon_chain(struct il_priv *il, struct il_rxon_context *ctx)
+void
+il4965_set_rxon_chain(struct il_priv *il, struct il_rxon_context *ctx)
{
bool is_single = il4965_is_single_rx_stream(il);
bool is_cam = !test_bit(S_POWER_PMI, &il->status);
@@ -1135,7 +1145,6 @@ void il4965_set_rxon_chain(struct il_priv *il, struct il_rxon_context *ctx)
active_rx_cnt = il4965_get_active_rx_chain_count(il);
idle_rx_cnt = il4965_get_idle_rx_chain_count(il, active_rx_cnt);
-
/* correct rx chain count according hw settings
* and chain noise calibration
*/
@@ -1147,7 +1156,7 @@ void il4965_set_rxon_chain(struct il_priv *il, struct il_rxon_context *ctx)
idle_rx_cnt = valid_rx_cnt;
rx_chain |= active_rx_cnt << RXON_RX_CHAIN_MIMO_CNT_POS;
- rx_chain |= idle_rx_cnt << RXON_RX_CHAIN_CNT_POS;
+ rx_chain |= idle_rx_cnt << RXON_RX_CHAIN_CNT_POS;
ctx->staging.rx_chain = cpu_to_le16(rx_chain);
@@ -1156,45 +1165,47 @@ void il4965_set_rxon_chain(struct il_priv *il, struct il_rxon_context *ctx)
else
ctx->staging.rx_chain &= ~RXON_RX_CHAIN_MIMO_FORCE_MSK;
- D_ASSOC("rx_chain=0x%X active=%d idle=%d\n",
- ctx->staging.rx_chain,
- active_rx_cnt, idle_rx_cnt);
+ D_ASSOC("rx_chain=0x%X active=%d idle=%d\n", ctx->staging.rx_chain,
+ active_rx_cnt, idle_rx_cnt);
WARN_ON(active_rx_cnt == 0 || idle_rx_cnt == 0 ||
active_rx_cnt < idle_rx_cnt);
}
-u8 il4965_toggle_tx_ant(struct il_priv *il, u8 ant, u8 valid)
+u8
+il4965_toggle_tx_ant(struct il_priv *il, u8 ant, u8 valid)
{
int i;
u8 ind = ant;
for (i = 0; i < RATE_ANT_NUM - 1; i++) {
- ind = (ind + 1) < RATE_ANT_NUM ? ind + 1 : 0;
+ ind = (ind + 1) < RATE_ANT_NUM ? ind + 1 : 0;
if (valid & BIT(ind))
return ind;
}
return ant;
}
-static const char *il4965_get_fh_string(int cmd)
+static const char *
+il4965_get_fh_string(int cmd)
{
switch (cmd) {
- IL_CMD(FH49_RSCSR_CHNL0_STTS_WPTR_REG);
- IL_CMD(FH49_RSCSR_CHNL0_RBDCB_BASE_REG);
- IL_CMD(FH49_RSCSR_CHNL0_WPTR);
- IL_CMD(FH49_MEM_RCSR_CHNL0_CONFIG_REG);
- IL_CMD(FH49_MEM_RSSR_SHARED_CTRL_REG);
- IL_CMD(FH49_MEM_RSSR_RX_STATUS_REG);
- IL_CMD(FH49_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV);
- IL_CMD(FH49_TSSR_TX_STATUS_REG);
- IL_CMD(FH49_TSSR_TX_ERROR_REG);
+ IL_CMD(FH49_RSCSR_CHNL0_STTS_WPTR_REG);
+ IL_CMD(FH49_RSCSR_CHNL0_RBDCB_BASE_REG);
+ IL_CMD(FH49_RSCSR_CHNL0_WPTR);
+ IL_CMD(FH49_MEM_RCSR_CHNL0_CONFIG_REG);
+ IL_CMD(FH49_MEM_RSSR_SHARED_CTRL_REG);
+ IL_CMD(FH49_MEM_RSSR_RX_STATUS_REG);
+ IL_CMD(FH49_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV);
+ IL_CMD(FH49_TSSR_TX_STATUS_REG);
+ IL_CMD(FH49_TSSR_TX_ERROR_REG);
default:
return "UNKNOWN";
}
}
-int il4965_dump_fh(struct il_priv *il, char **buf, bool display)
+int
+il4965_dump_fh(struct il_priv *il, char **buf, bool display)
{
int i;
#ifdef CONFIG_IWLEGACY_DEBUG
@@ -1218,28 +1229,29 @@ int il4965_dump_fh(struct il_priv *il, char **buf, bool display)
*buf = kmalloc(bufsz, GFP_KERNEL);
if (!*buf)
return -ENOMEM;
- pos += scnprintf(*buf + pos, bufsz - pos,
- "FH register values:\n");
+ pos +=
+ scnprintf(*buf + pos, bufsz - pos, "FH register values:\n");
for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) {
- pos += scnprintf(*buf + pos, bufsz - pos,
- " %34s: 0X%08x\n",
- il4965_get_fh_string(fh_tbl[i]),
- il_rd(il, fh_tbl[i]));
+ pos +=
+ scnprintf(*buf + pos, bufsz - pos,
+ " %34s: 0X%08x\n",
+ il4965_get_fh_string(fh_tbl[i]), il_rd(il,
+ fh_tbl
+ [i]));
}
return pos;
}
#endif
IL_ERR("FH register values:\n");
- for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) {
- IL_ERR(" %34s: 0X%08x\n",
- il4965_get_fh_string(fh_tbl[i]),
- il_rd(il, fh_tbl[i]));
+ for (i = 0; i < ARRAY_SIZE(fh_tbl); i++) {
+ IL_ERR(" %34s: 0X%08x\n", il4965_get_fh_string(fh_tbl[i]),
+ il_rd(il, fh_tbl[i]));
}
return 0;
}
-void il4965_hdl_missed_beacon(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il4965_hdl_missed_beacon(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_missed_beacon_notif *missed_beacon;
@@ -1247,12 +1259,11 @@ void il4965_hdl_missed_beacon(struct il_priv *il,
missed_beacon = &pkt->u.missed_beacon;
if (le32_to_cpu(missed_beacon->consecutive_missed_beacons) >
il->missed_beacon_threshold) {
- D_CALIB(
- "missed bcn cnsq %d totl %d rcd %d expctd %d\n",
- le32_to_cpu(missed_beacon->consecutive_missed_beacons),
- le32_to_cpu(missed_beacon->total_missed_becons),
- le32_to_cpu(missed_beacon->num_recvd_beacons),
- le32_to_cpu(missed_beacon->num_expected_beacons));
+ D_CALIB("missed bcn cnsq %d totl %d rcd %d expctd %d\n",
+ le32_to_cpu(missed_beacon->consecutive_missed_beacons),
+ le32_to_cpu(missed_beacon->total_missed_becons),
+ le32_to_cpu(missed_beacon->num_recvd_beacons),
+ le32_to_cpu(missed_beacon->num_expected_beacons));
if (!test_bit(S_SCANNING, &il->status))
il4965_init_sensitivity(il);
}
@@ -1261,7 +1272,8 @@ void il4965_hdl_missed_beacon(struct il_priv *il,
/* Calculate noise level, based on measurements during network silence just
* before arriving beacon. This measurement can be done only if we know
* exactly when to expect beacons, therefore only when we're associated. */
-static void il4965_rx_calc_noise(struct il_priv *il)
+static void
+il4965_rx_calc_noise(struct il_priv *il)
{
struct stats_rx_non_phy *rx_info;
int num_active_rx = 0;
@@ -1271,11 +1283,11 @@ static void il4965_rx_calc_noise(struct il_priv *il)
rx_info = &(il->_4965.stats.rx.general);
bcn_silence_a =
- le32_to_cpu(rx_info->beacon_silence_rssi_a) & IN_BAND_FILTER;
+ le32_to_cpu(rx_info->beacon_silence_rssi_a) & IN_BAND_FILTER;
bcn_silence_b =
- le32_to_cpu(rx_info->beacon_silence_rssi_b) & IN_BAND_FILTER;
+ le32_to_cpu(rx_info->beacon_silence_rssi_b) & IN_BAND_FILTER;
bcn_silence_c =
- le32_to_cpu(rx_info->beacon_silence_rssi_c) & IN_BAND_FILTER;
+ le32_to_cpu(rx_info->beacon_silence_rssi_c) & IN_BAND_FILTER;
if (bcn_silence_a) {
total_silence += bcn_silence_a;
@@ -1296,9 +1308,8 @@ static void il4965_rx_calc_noise(struct il_priv *il)
else
last_rx_noise = IL_NOISE_MEAS_NOT_AVAILABLE;
- D_CALIB("inband silence a %u, b %u, c %u, dBm %d\n",
- bcn_silence_a, bcn_silence_b, bcn_silence_c,
- last_rx_noise);
+ D_CALIB("inband silence a %u, b %u, c %u, dBm %d\n", bcn_silence_a,
+ bcn_silence_b, bcn_silence_c, last_rx_noise);
}
#ifdef CONFIG_IWLEGACY_DEBUGFS
@@ -1307,8 +1318,8 @@ static void il4965_rx_calc_noise(struct il_priv *il)
* FIXME: This function is for debugging, do not deal with
* the case of counters roll-over.
*/
-static void il4965_accumulative_stats(struct il_priv *il,
- __le32 *stats)
+static void
+il4965_accumulative_stats(struct il_priv *il, __le32 * stats)
{
int i, size;
__le32 *prev_stats;
@@ -1317,22 +1328,23 @@ static void il4965_accumulative_stats(struct il_priv *il,
struct stats_general_common *general, *accum_general;
struct stats_tx *tx, *accum_tx;
- prev_stats = (__le32 *)&il->_4965.stats;
- accum_stats = (u32 *)&il->_4965.accum_stats;
+ prev_stats = (__le32 *) & il->_4965.stats;
+ accum_stats = (u32 *) & il->_4965.accum_stats;
size = sizeof(struct il_notif_stats);
general = &il->_4965.stats.general.common;
accum_general = &il->_4965.accum_stats.general.common;
tx = &il->_4965.stats.tx;
accum_tx = &il->_4965.accum_stats.tx;
- delta = (u32 *)&il->_4965.delta_stats;
- max_delta = (u32 *)&il->_4965.max_delta;
+ delta = (u32 *) & il->_4965.delta_stats;
+ max_delta = (u32 *) & il->_4965.max_delta;
for (i = sizeof(__le32); i < size;
- i += sizeof(__le32), stats++, prev_stats++, delta++,
- max_delta++, accum_stats++) {
+ i +=
+ sizeof(__le32), stats++, prev_stats++, delta++, max_delta++,
+ accum_stats++) {
if (le32_to_cpu(*stats) > le32_to_cpu(*prev_stats)) {
- *delta = (le32_to_cpu(*stats) -
- le32_to_cpu(*prev_stats));
+ *delta =
+ (le32_to_cpu(*stats) - le32_to_cpu(*prev_stats));
*accum_stats += *delta;
if (*delta > *max_delta)
*max_delta = *delta;
@@ -1347,31 +1359,27 @@ static void il4965_accumulative_stats(struct il_priv *il,
#define REG_RECALIB_PERIOD (60)
-void il4965_hdl_stats(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il4965_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb)
{
int change;
struct il_rx_pkt *pkt = rxb_addr(rxb);
- D_RX(
- "Statistics notification received (%d vs %d).\n",
- (int)sizeof(struct il_notif_stats),
- le32_to_cpu(pkt->len_n_flags) &
- IL_RX_FRAME_SIZE_MSK);
-
- change = ((il->_4965.stats.general.common.temperature !=
- pkt->u.stats.general.common.temperature) ||
- ((il->_4965.stats.flag &
- STATS_REPLY_FLG_HT40_MODE_MSK) !=
- (pkt->u.stats.flag &
- STATS_REPLY_FLG_HT40_MODE_MSK)));
+ D_RX("Statistics notification received (%d vs %d).\n",
+ (int)sizeof(struct il_notif_stats),
+ le32_to_cpu(pkt->len_n_flags) & IL_RX_FRAME_SIZE_MSK);
+
+ change =
+ ((il->_4965.stats.general.common.temperature !=
+ pkt->u.stats.general.common.temperature) ||
+ ((il->_4965.stats.flag & STATS_REPLY_FLG_HT40_MODE_MSK) !=
+ (pkt->u.stats.flag & STATS_REPLY_FLG_HT40_MODE_MSK)));
#ifdef CONFIG_IWLEGACY_DEBUGFS
- il4965_accumulative_stats(il, (__le32 *)&pkt->u.stats);
+ il4965_accumulative_stats(il, (__le32 *) & pkt->u.stats);
#endif
/* TODO: reading some of stats is unneeded */
- memcpy(&il->_4965.stats, &pkt->u.stats,
- sizeof(il->_4965.stats));
+ memcpy(&il->_4965.stats, &pkt->u.stats, sizeof(il->_4965.stats));
set_bit(S_STATS, &il->status);
@@ -1379,8 +1387,8 @@ void il4965_hdl_stats(struct il_priv *il,
* REG_RECALIB_PERIOD seconds to ensure we get a
* thermal update even if the uCode doesn't give
* us one */
- mod_timer(&il->stats_periodic, jiffies +
- msecs_to_jiffies(REG_RECALIB_PERIOD * 1000));
+ mod_timer(&il->stats_periodic,
+ jiffies + msecs_to_jiffies(REG_RECALIB_PERIOD * 1000));
if (unlikely(!test_bit(S_SCANNING, &il->status)) &&
(pkt->hdr.cmd == N_STATS)) {
@@ -1391,19 +1399,18 @@ void il4965_hdl_stats(struct il_priv *il,
il->cfg->ops->lib->temp_ops.temperature(il);
}
-void il4965_hdl_c_stats(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il4965_hdl_c_stats(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
if (le32_to_cpu(pkt->u.stats.flag) & UCODE_STATS_CLEAR_MSK) {
#ifdef CONFIG_IWLEGACY_DEBUGFS
memset(&il->_4965.accum_stats, 0,
- sizeof(struct il_notif_stats));
+ sizeof(struct il_notif_stats));
memset(&il->_4965.delta_stats, 0,
- sizeof(struct il_notif_stats));
- memset(&il->_4965.max_delta, 0,
- sizeof(struct il_notif_stats));
+ sizeof(struct il_notif_stats));
+ memset(&il->_4965.max_delta, 0, sizeof(struct il_notif_stats));
#endif
D_RX("Statistics have been cleared\n");
}
@@ -1448,7 +1455,8 @@ static const u8 tid_to_ac[] = {
IEEE80211_AC_VO
};
-static inline int il4965_get_ac_from_tid(u16 tid)
+static inline int
+il4965_get_ac_from_tid(u16 tid)
{
if (likely(tid < ARRAY_SIZE(tid_to_ac)))
return tid_to_ac[tid];
@@ -1470,12 +1478,11 @@ il4965_get_fifo_from_tid(struct il_rxon_context *ctx, u16 tid)
/*
* handle build C_TX command notification.
*/
-static void il4965_tx_cmd_build_basic(struct il_priv *il,
- struct sk_buff *skb,
- struct il_tx_cmd *tx_cmd,
- struct ieee80211_tx_info *info,
- struct ieee80211_hdr *hdr,
- u8 std_id)
+static void
+il4965_tx_cmd_build_basic(struct il_priv *il, struct sk_buff *skb,
+ struct il_tx_cmd *tx_cmd,
+ struct ieee80211_tx_info *info,
+ struct ieee80211_hdr *hdr, u8 std_id)
{
__le16 fc = hdr->frame_control;
__le32 tx_flags = tx_cmd->tx_flags;
@@ -1527,10 +1534,9 @@ static void il4965_tx_cmd_build_basic(struct il_priv *il,
#define RTS_DFAULT_RETRY_LIMIT 60
-static void il4965_tx_cmd_build_rate(struct il_priv *il,
- struct il_tx_cmd *tx_cmd,
- struct ieee80211_tx_info *info,
- __le16 fc)
+static void
+il4965_tx_cmd_build_rate(struct il_priv *il, struct il_tx_cmd *tx_cmd,
+ struct ieee80211_tx_info *info, __le16 fc)
{
u32 rate_flags;
int rate_idx;
@@ -1538,7 +1544,7 @@ static void il4965_tx_cmd_build_rate(struct il_priv *il,
u8 data_retry_limit;
u8 rate_plcp;
- /* Set retry limit on DATA packets and Probe Responses*/
+ /* Set retry limit on DATA packets and Probe Responses */
if (ieee80211_is_probe_resp(fc))
data_retry_limit = 3;
else
@@ -1566,10 +1572,11 @@ static void il4965_tx_cmd_build_rate(struct il_priv *il,
* idx is invalid.
*/
rate_idx = info->control.rates[0].idx;
- if ((info->control.rates[0].flags & IEEE80211_TX_RC_MCS) ||
- rate_idx < 0 || rate_idx > RATE_COUNT_LEGACY)
- rate_idx = rate_lowest_index(&il->bands[info->band],
- info->control.sta);
+ if ((info->control.rates[0].flags & IEEE80211_TX_RC_MCS) || rate_idx < 0
+ || rate_idx > RATE_COUNT_LEGACY)
+ rate_idx =
+ rate_lowest_index(&il->bands[info->band],
+ info->control.sta);
/* For 5 GHZ band, remap mac80211 rate indices into driver indices */
if (info->band == IEEE80211_BAND_5GHZ)
rate_idx += IL_FIRST_OFDM_RATE;
@@ -1583,20 +1590,21 @@ static void il4965_tx_cmd_build_rate(struct il_priv *il,
rate_flags |= RATE_MCS_CCK_MSK;
/* Set up antennas */
- il->mgmt_tx_ant = il4965_toggle_tx_ant(il, il->mgmt_tx_ant,
- il->hw_params.valid_tx_ant);
+ il->mgmt_tx_ant =
+ il4965_toggle_tx_ant(il, il->mgmt_tx_ant,
+ il->hw_params.valid_tx_ant);
rate_flags |= il4965_ant_idx_to_flags(il->mgmt_tx_ant);
/* Set the rate in the TX cmd */
- tx_cmd->rate_n_flags = il4965_hw_set_rate_n_flags(rate_plcp, rate_flags);
+ tx_cmd->rate_n_flags =
+ il4965_hw_set_rate_n_flags(rate_plcp, rate_flags);
}
-static void il4965_tx_cmd_build_hwcrypto(struct il_priv *il,
- struct ieee80211_tx_info *info,
- struct il_tx_cmd *tx_cmd,
- struct sk_buff *skb_frag,
- int sta_id)
+static void
+il4965_tx_cmd_build_hwcrypto(struct il_priv *il, struct ieee80211_tx_info *info,
+ struct il_tx_cmd *tx_cmd, struct sk_buff *skb_frag,
+ int sta_id)
{
struct ieee80211_key_conf *keyconf = info->control.hw_key;
@@ -1619,13 +1627,14 @@ static void il4965_tx_cmd_build_hwcrypto(struct il_priv *il,
tx_cmd->sec_ctl |= TX_CMD_SEC_KEY128;
/* fall through */
case WLAN_CIPHER_SUITE_WEP40:
- tx_cmd->sec_ctl |= (TX_CMD_SEC_WEP |
- (keyconf->keyidx & TX_CMD_SEC_MSK) << TX_CMD_SEC_SHIFT);
+ tx_cmd->sec_ctl |=
+ (TX_CMD_SEC_WEP | (keyconf->keyidx & TX_CMD_SEC_MSK) <<
+ TX_CMD_SEC_SHIFT);
memcpy(&tx_cmd->key[3], keyconf->key, keyconf->keylen);
- D_TX("Configuring packet for WEP encryption "
- "with key %d\n", keyconf->keyidx);
+ D_TX("Configuring packet for WEP encryption " "with key %d\n",
+ keyconf->keyidx);
break;
default:
@@ -1637,7 +1646,8 @@ static void il4965_tx_cmd_build_hwcrypto(struct il_priv *il,
/*
* start C_TX command process
*/
-int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
+int
+il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
{
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
@@ -1694,8 +1704,7 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
sta_id = il_sta_id_or_broadcast(il, ctx, info->control.sta);
if (sta_id == IL_INVALID_STATION) {
- D_DROP("Dropping - INVALID STATION: %pM\n",
- hdr->addr1);
+ D_DROP("Dropping - INVALID STATION: %pM\n", hdr->addr1);
goto drop_unlock;
}
}
@@ -1729,8 +1738,7 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
* The microcode will clear the more data
* bit in the last frame it transmits.
*/
- hdr->frame_control |=
- cpu_to_le16(IEEE80211_FCTL_MOREDATA);
+ hdr->frame_control |= cpu_to_le16(IEEE80211_FCTL_MOREDATA);
} else
txq_id = ctx->ac_to_queue[skb_get_queue_mapping(skb)];
@@ -1746,8 +1754,8 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
}
seq_number = il->stations[sta_id].tid[tid].seq_number;
seq_number &= IEEE80211_SCTL_SEQ;
- hdr->seq_ctrl = hdr->seq_ctrl &
- cpu_to_le16(IEEE80211_SCTL_FRAG);
+ hdr->seq_ctrl =
+ hdr->seq_ctrl & cpu_to_le16(IEEE80211_SCTL_FRAG);
hdr->seq_ctrl |= cpu_to_le16(seq_number);
seq_number += 0x10;
/* aggregation is on for this <sta,tid> */
@@ -1793,15 +1801,15 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
* locate the frame within the tx queue and do post-tx processing.
*/
out_cmd->hdr.cmd = C_TX;
- out_cmd->hdr.sequence = cpu_to_le16((u16)(QUEUE_TO_SEQ(txq_id) |
- IDX_TO_SEQ(q->write_ptr)));
+ out_cmd->hdr.sequence =
+ cpu_to_le16((u16)
+ (QUEUE_TO_SEQ(txq_id) | IDX_TO_SEQ(q->write_ptr)));
/* Copy MAC header from skb into command buffer */
memcpy(tx_cmd->hdr, hdr, hdr_len);
-
/* Total # bytes to be transmitted */
- len = (u16)skb->len;
+ len = (u16) skb->len;
tx_cmd->len = cpu_to_le16(len);
if (info->control.hw_key)
@@ -1823,8 +1831,7 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
* of the MAC header (device reads on dword boundaries).
* We'll tell device about this padding later.
*/
- len = sizeof(struct il_tx_cmd) +
- sizeof(struct il_cmd_header) + hdr_len;
+ len = sizeof(struct il_tx_cmd) + sizeof(struct il_cmd_header) + hdr_len;
firstlen = (len + 3) & ~3;
/* Tell NIC about any 2-byte padding after MAC header */
@@ -1833,15 +1840,15 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
/* Physical address of this Tx command's header (not MAC header!),
* within command buffer array. */
- txcmd_phys = pci_map_single(il->pci_dev,
- &out_cmd->hdr, firstlen,
- PCI_DMA_BIDIRECTIONAL);
+ txcmd_phys =
+ pci_map_single(il->pci_dev, &out_cmd->hdr, firstlen,
+ PCI_DMA_BIDIRECTIONAL);
dma_unmap_addr_set(out_meta, mapping, txcmd_phys);
dma_unmap_len_set(out_meta, len, firstlen);
/* Add buffer containing Tx command and MAC(!) header to TFD's
* first entry */
- il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq,
- txcmd_phys, firstlen, 1, 0);
+ il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq, txcmd_phys, firstlen,
+ 1, 0);
if (!ieee80211_has_morefrags(hdr->frame_control)) {
txq->need_update = 1;
@@ -1854,35 +1861,36 @@ int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb)
* if any (802.11 null frames have no payload). */
secondlen = skb->len - hdr_len;
if (secondlen > 0) {
- phys_addr = pci_map_single(il->pci_dev, skb->data + hdr_len,
- secondlen, PCI_DMA_TODEVICE);
- il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq,
- phys_addr, secondlen,
- 0, 0);
+ phys_addr =
+ pci_map_single(il->pci_dev, skb->data + hdr_len, secondlen,
+ PCI_DMA_TODEVICE);
+ il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq, phys_addr,
+ secondlen, 0, 0);
}
- scratch_phys = txcmd_phys + sizeof(struct il_cmd_header) +
- offsetof(struct il_tx_cmd, scratch);
+ scratch_phys =
+ txcmd_phys + sizeof(struct il_cmd_header) +
+ offsetof(struct il_tx_cmd, scratch);
/* take back ownership of DMA buffer to enable update */
- pci_dma_sync_single_for_cpu(il->pci_dev, txcmd_phys,
- firstlen, PCI_DMA_BIDIRECTIONAL);
+ pci_dma_sync_single_for_cpu(il->pci_dev, txcmd_phys, firstlen,
+ PCI_DMA_BIDIRECTIONAL);
tx_cmd->dram_lsb_ptr = cpu_to_le32(scratch_phys);
tx_cmd->dram_msb_ptr = il_get_dma_hi_addr(scratch_phys);
- D_TX("sequence nr = 0X%x\n",
- le16_to_cpu(out_cmd->hdr.sequence));
+ D_TX("sequence nr = 0X%x\n", le16_to_cpu(out_cmd->hdr.sequence));
D_TX("tx_flags = 0X%x\n", le32_to_cpu(tx_cmd->tx_flags));
- il_print_hex_dump(il, IL_DL_TX, (u8 *)tx_cmd, sizeof(*tx_cmd));
- il_print_hex_dump(il, IL_DL_TX, (u8 *)tx_cmd->hdr, hdr_len);
+ il_print_hex_dump(il, IL_DL_TX, (u8 *) tx_cmd, sizeof(*tx_cmd));
+ il_print_hex_dump(il, IL_DL_TX, (u8 *) tx_cmd->hdr, hdr_len);
/* Set up entry for this TFD in Tx byte-count array */
if (info->flags & IEEE80211_TX_CTL_AMPDU)
il->cfg->ops->lib->txq_update_byte_cnt_tbl(il, txq,
- le16_to_cpu(tx_cmd->len));
+ le16_to_cpu(tx_cmd->
+ len));
- pci_dma_sync_single_for_device(il->pci_dev, txcmd_phys,
- firstlen, PCI_DMA_BIDIRECTIONAL);
+ pci_dma_sync_single_for_device(il->pci_dev, txcmd_phys, firstlen,
+ PCI_DMA_BIDIRECTIONAL);
/* Tell device the write idx *just past* this latest filled TFD */
q->write_ptr = il_queue_inc_wrap(q->write_ptr, q->n_bd);
@@ -1924,19 +1932,19 @@ drop_unlock:
return -1;
}
-static inline int il4965_alloc_dma_ptr(struct il_priv *il,
- struct il_dma_ptr *ptr, size_t size)
+static inline int
+il4965_alloc_dma_ptr(struct il_priv *il, struct il_dma_ptr *ptr, size_t size)
{
- ptr->addr = dma_alloc_coherent(&il->pci_dev->dev, size, &ptr->dma,
- GFP_KERNEL);
+ ptr->addr =
+ dma_alloc_coherent(&il->pci_dev->dev, size, &ptr->dma, GFP_KERNEL);
if (!ptr->addr)
return -ENOMEM;
ptr->size = size;
return 0;
}
-static inline void il4965_free_dma_ptr(struct il_priv *il,
- struct il_dma_ptr *ptr)
+static inline void
+il4965_free_dma_ptr(struct il_priv *il, struct il_dma_ptr *ptr)
{
if (unlikely(!ptr->addr))
return;
@@ -1950,7 +1958,8 @@ static inline void il4965_free_dma_ptr(struct il_priv *il,
*
* Destroy all TX DMA queues and structures
*/
-void il4965_hw_txq_ctx_free(struct il_priv *il)
+void
+il4965_hw_txq_ctx_free(struct il_priv *il)
{
int txq_id;
@@ -1977,7 +1986,8 @@ void il4965_hw_txq_ctx_free(struct il_priv *il)
* @param il
* @return error code
*/
-int il4965_txq_ctx_alloc(struct il_priv *il)
+int
+il4965_txq_ctx_alloc(struct il_priv *il)
{
int ret;
int txq_id, slots_num;
@@ -1986,8 +1996,9 @@ int il4965_txq_ctx_alloc(struct il_priv *il)
/* Free all tx/cmd queues and keep-warm buffer */
il4965_hw_txq_ctx_free(il);
- ret = il4965_alloc_dma_ptr(il, &il->scd_bc_tbls,
- il->hw_params.scd_bc_tbls_size);
+ ret =
+ il4965_alloc_dma_ptr(il, &il->scd_bc_tbls,
+ il->hw_params.scd_bc_tbls_size);
if (ret) {
IL_ERR("Scheduler BC Table allocation failed\n");
goto error_bc_tbls;
@@ -2016,11 +2027,10 @@ int il4965_txq_ctx_alloc(struct il_priv *il)
/* Alloc and init all Tx queues, including the command queue (#4/#9) */
for (txq_id = 0; txq_id < il->hw_params.max_txq_num; txq_id++) {
- slots_num = (txq_id == il->cmd_queue) ?
- TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
- ret = il_tx_queue_init(il,
- &il->txq[txq_id], slots_num,
- txq_id);
+ slots_num =
+ (txq_id ==
+ il->cmd_queue) ? TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
+ ret = il_tx_queue_init(il, &il->txq[txq_id], slots_num, txq_id);
if (ret) {
IL_ERR("Tx %d queue init failed\n", txq_id);
goto error;
@@ -2029,16 +2039,17 @@ int il4965_txq_ctx_alloc(struct il_priv *il)
return ret;
- error:
+error:
il4965_hw_txq_ctx_free(il);
il4965_free_dma_ptr(il, &il->kw);
- error_kw:
+error_kw:
il4965_free_dma_ptr(il, &il->scd_bc_tbls);
- error_bc_tbls:
+error_bc_tbls:
return ret;
}
-void il4965_txq_ctx_reset(struct il_priv *il)
+void
+il4965_txq_ctx_reset(struct il_priv *il)
{
int txq_id, slots_num;
unsigned long flags;
@@ -2055,17 +2066,17 @@ void il4965_txq_ctx_reset(struct il_priv *il)
/* Alloc and init all Tx queues, including the command queue (#4) */
for (txq_id = 0; txq_id < il->hw_params.max_txq_num; txq_id++) {
- slots_num = txq_id == il->cmd_queue ?
- TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
- il_tx_queue_reset(il, &il->txq[txq_id],
- slots_num, txq_id);
+ slots_num =
+ txq_id == il->cmd_queue ? TFD_CMD_SLOTS : TFD_TX_CMD_SLOTS;
+ il_tx_queue_reset(il, &il->txq[txq_id], slots_num, txq_id);
}
}
/**
* il4965_txq_ctx_stop - Stop all Tx DMA channels
*/
-void il4965_txq_ctx_stop(struct il_priv *il)
+void
+il4965_txq_ctx_stop(struct il_priv *il)
{
int ch, txq_id;
unsigned long flags;
@@ -2077,15 +2088,13 @@ void il4965_txq_ctx_stop(struct il_priv *il)
/* Stop each Tx DMA channel, and wait for it to be idle */
for (ch = 0; ch < il->hw_params.dma_chnl_num; ch++) {
- il_wr(il,
- FH49_TCSR_CHNL_TX_CONFIG_REG(ch), 0x0);
- if (il_poll_bit(il, FH49_TSSR_TX_STATUS_REG,
- FH49_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ch),
- 1000))
+ il_wr(il, FH49_TCSR_CHNL_TX_CONFIG_REG(ch), 0x0);
+ if (il_poll_bit
+ (il, FH49_TSSR_TX_STATUS_REG,
+ FH49_TSSR_TX_STATUS_REG_MSK_CHNL_IDLE(ch), 1000))
IL_ERR("Failing on timeout while stopping"
- " DMA channel %d [0x%08x]", ch,
- il_rd(il,
- FH49_TSSR_TX_STATUS_REG));
+ " DMA channel %d [0x%08x]", ch, il_rd(il,
+ FH49_TSSR_TX_STATUS_REG));
}
spin_unlock_irqrestore(&il->lock, flags);
@@ -2106,7 +2115,8 @@ void il4965_txq_ctx_stop(struct il_priv *il)
* Should never return anything < 7, because they should already
* be in use as EDCA AC (0-3), Command (4), reserved (5, 6)
*/
-static int il4965_txq_ctx_activate_free(struct il_priv *il)
+static int
+il4965_txq_ctx_activate_free(struct il_priv *il)
{
int txq_id;
@@ -2119,22 +2129,21 @@ static int il4965_txq_ctx_activate_free(struct il_priv *il)
/**
* il4965_tx_queue_stop_scheduler - Stop queue, but keep configuration
*/
-static void il4965_tx_queue_stop_scheduler(struct il_priv *il,
- u16 txq_id)
+static void
+il4965_tx_queue_stop_scheduler(struct il_priv *il, u16 txq_id)
{
/* Simply stop the queue, but don't change any configuration;
* the SCD_ACT_EN bit is the write-enable mask for the ACTIVE bit. */
- il_wr_prph(il,
- IL49_SCD_QUEUE_STATUS_BITS(txq_id),
- (0 << IL49_SCD_QUEUE_STTS_REG_POS_ACTIVE)|
- (1 << IL49_SCD_QUEUE_STTS_REG_POS_SCD_ACT_EN));
+ il_wr_prph(il, IL49_SCD_QUEUE_STATUS_BITS(txq_id),
+ (0 << IL49_SCD_QUEUE_STTS_REG_POS_ACTIVE) | (1 <<
+ IL49_SCD_QUEUE_STTS_REG_POS_SCD_ACT_EN));
}
/**
* il4965_tx_queue_set_q2ratid - Map unique receiver/tid combination to a queue
*/
-static int il4965_tx_queue_set_q2ratid(struct il_priv *il, u16 ra_tid,
- u16 txq_id)
+static int
+il4965_tx_queue_set_q2ratid(struct il_priv *il, u16 ra_tid, u16 txq_id)
{
u32 tbl_dw_addr;
u32 tbl_dw;
@@ -2142,8 +2151,8 @@ static int il4965_tx_queue_set_q2ratid(struct il_priv *il, u16 ra_tid,
scd_q2ratid = ra_tid & IL_SCD_QUEUE_RA_TID_MAP_RATID_MSK;
- tbl_dw_addr = il->scd_base_addr +
- IL49_SCD_TRANSLATE_TBL_OFFSET_QUEUE(txq_id);
+ tbl_dw_addr =
+ il->scd_base_addr + IL49_SCD_TRANSLATE_TBL_OFFSET_QUEUE(txq_id);
tbl_dw = il_read_targ_mem(il, tbl_dw_addr);
@@ -2163,8 +2172,9 @@ static int il4965_tx_queue_set_q2ratid(struct il_priv *il, u16 ra_tid,
* NOTE: txq_id must be greater than IL49_FIRST_AMPDU_QUEUE,
* i.e. it must be one of the higher queues used for aggregation
*/
-static int il4965_txq_agg_enable(struct il_priv *il, int txq_id,
- int tx_fifo, int sta_id, int tid, u16 ssn_idx)
+static int
+il4965_txq_agg_enable(struct il_priv *il, int txq_id, int tx_fifo, int sta_id,
+ int tid, u16 ssn_idx)
{
unsigned long flags;
u16 ra_tid;
@@ -2172,9 +2182,8 @@ static int il4965_txq_agg_enable(struct il_priv *il, int txq_id,
if ((IL49_FIRST_AMPDU_QUEUE > txq_id) ||
(IL49_FIRST_AMPDU_QUEUE +
- il->cfg->base_params->num_of_ampdu_queues <= txq_id)) {
- IL_WARN(
- "queue number out of range: %d, must be %d to %d\n",
+ il->cfg->base_params->num_of_ampdu_queues <= txq_id)) {
+ IL_WARN("queue number out of range: %d, must be %d to %d\n",
txq_id, IL49_FIRST_AMPDU_QUEUE,
IL49_FIRST_AMPDU_QUEUE +
il->cfg->base_params->num_of_ampdu_queues - 1);
@@ -2207,14 +2216,17 @@ static int il4965_txq_agg_enable(struct il_priv *il, int txq_id,
/* Set up Tx win size and frame limit for this queue */
il_write_targ_mem(il,
- il->scd_base_addr + IL49_SCD_CONTEXT_QUEUE_OFFSET(txq_id),
- (SCD_WIN_SIZE << IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_POS) &
- IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_MSK);
+ il->scd_base_addr +
+ IL49_SCD_CONTEXT_QUEUE_OFFSET(txq_id),
+ (SCD_WIN_SIZE << IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_POS)
+ & IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_MSK);
- il_write_targ_mem(il, il->scd_base_addr +
- IL49_SCD_CONTEXT_QUEUE_OFFSET(txq_id) + sizeof(u32),
- (SCD_FRAME_LIMIT << IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS)
- & IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK);
+ il_write_targ_mem(il,
+ il->scd_base_addr +
+ IL49_SCD_CONTEXT_QUEUE_OFFSET(txq_id) + sizeof(u32),
+ (SCD_FRAME_LIMIT <<
+ IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS) &
+ IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK);
il_set_bits_prph(il, IL49_SCD_INTERRUPT_MASK, (1 << txq_id));
@@ -2226,9 +2238,9 @@ static int il4965_txq_agg_enable(struct il_priv *il, int txq_id,
return 0;
}
-
-int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
- struct ieee80211_sta *sta, u16 tid, u16 *ssn)
+int
+il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta, u16 tid, u16 * ssn)
{
int sta_id;
int tx_fifo;
@@ -2241,8 +2253,7 @@ int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
if (unlikely(tx_fifo < 0))
return tx_fifo;
- IL_WARN("%s on ra = %pM tid = %d\n",
- __func__, sta->addr, tid);
+ IL_WARN("%s on ra = %pM tid = %d\n", __func__, sta->addr, tid);
sta_id = il_sta_id(sta);
if (sta_id == IL_INVALID_STATION) {
@@ -2267,12 +2278,10 @@ int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
tid_data = &il->stations[sta_id].tid[tid];
*ssn = SEQ_TO_SN(tid_data->seq_number);
tid_data->agg.txq_id = txq_id;
- il_set_swq_id(&il->txq[txq_id],
- il4965_get_ac_from_tid(tid), txq_id);
+ il_set_swq_id(&il->txq[txq_id], il4965_get_ac_from_tid(tid), txq_id);
spin_unlock_irqrestore(&il->sta_lock, flags);
- ret = il4965_txq_agg_enable(il, txq_id, tx_fifo,
- sta_id, tid, *ssn);
+ ret = il4965_txq_agg_enable(il, txq_id, tx_fifo, sta_id, tid, *ssn);
if (ret)
return ret;
@@ -2283,9 +2292,8 @@ int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
tid_data->agg.state = IL_AGG_ON;
ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid);
} else {
- D_HT(
- "HW queue is NOT empty: %d packets in HW queue\n",
- tid_data->tfds_in_queue);
+ D_HT("HW queue is NOT empty: %d packets in HW queue\n",
+ tid_data->tfds_in_queue);
tid_data->agg.state = IL_EMPTYING_HW_QUEUE_ADDBA;
}
spin_unlock_irqrestore(&il->sta_lock, flags);
@@ -2296,14 +2304,13 @@ int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
* txq_id must be greater than IL49_FIRST_AMPDU_QUEUE
* il->lock must be held by the caller
*/
-static int il4965_txq_agg_disable(struct il_priv *il, u16 txq_id,
- u16 ssn_idx, u8 tx_fifo)
+static int
+il4965_txq_agg_disable(struct il_priv *il, u16 txq_id, u16 ssn_idx, u8 tx_fifo)
{
if ((IL49_FIRST_AMPDU_QUEUE > txq_id) ||
(IL49_FIRST_AMPDU_QUEUE +
- il->cfg->base_params->num_of_ampdu_queues <= txq_id)) {
- IL_WARN(
- "queue number out of range: %d, must be %d to %d\n",
+ il->cfg->base_params->num_of_ampdu_queues <= txq_id)) {
+ IL_WARN("queue number out of range: %d, must be %d to %d\n",
txq_id, IL49_FIRST_AMPDU_QUEUE,
IL49_FIRST_AMPDU_QUEUE +
il->cfg->base_params->num_of_ampdu_queues - 1);
@@ -2312,24 +2319,23 @@ static int il4965_txq_agg_disable(struct il_priv *il, u16 txq_id,
il4965_tx_queue_stop_scheduler(il, txq_id);
- il_clear_bits_prph(il,
- IL49_SCD_QUEUECHAIN_SEL, (1 << txq_id));
+ il_clear_bits_prph(il, IL49_SCD_QUEUECHAIN_SEL, (1 << txq_id));
il->txq[txq_id].q.read_ptr = (ssn_idx & 0xff);
il->txq[txq_id].q.write_ptr = (ssn_idx & 0xff);
/* supposes that ssn_idx is valid (!= 0xFFF) */
il4965_set_wr_ptrs(il, txq_id, ssn_idx);
- il_clear_bits_prph(il,
- IL49_SCD_INTERRUPT_MASK, (1 << txq_id));
+ il_clear_bits_prph(il, IL49_SCD_INTERRUPT_MASK, (1 << txq_id));
il_txq_ctx_deactivate(il, txq_id);
il4965_tx_queue_set_status(il, &il->txq[txq_id], tx_fifo, 0);
return 0;
}
-int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif,
- struct ieee80211_sta *sta, u16 tid)
+int
+il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta, u16 tid)
{
int tx_fifo_id, txq_id, sta_id, ssn;
struct il_tid_data *tid_data;
@@ -2376,13 +2382,13 @@ int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif,
if (write_ptr != read_ptr) {
D_HT("Stopping a non empty AGG HW QUEUE\n");
il->stations[sta_id].tid[tid].agg.state =
- IL_EMPTYING_HW_QUEUE_DELBA;
+ IL_EMPTYING_HW_QUEUE_DELBA;
spin_unlock_irqrestore(&il->sta_lock, flags);
return 0;
}
D_HT("HW queue is empty\n");
- turn_off:
+turn_off:
il->stations[sta_id].tid[tid].agg.state = IL_AGG_OFF;
/* do not restore/save irqs */
@@ -2404,8 +2410,8 @@ int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif,
return 0;
}
-int il4965_txq_check_empty(struct il_priv *il,
- int sta_id, u8 tid, int txq_id)
+int
+il4965_txq_check_empty(struct il_priv *il, int sta_id, u8 tid, int txq_id)
{
struct il_queue *q = &il->txq[txq_id].q;
u8 *addr = il->stations[sta_id].sta.sta.addr;
@@ -2420,12 +2426,11 @@ int il4965_txq_check_empty(struct il_priv *il,
case IL_EMPTYING_HW_QUEUE_DELBA:
/* We are reclaiming the last packet of the */
/* aggregated HW queue */
- if (txq_id == tid_data->agg.txq_id &&
+ if (txq_id == tid_data->agg.txq_id &&
q->read_ptr == q->write_ptr) {
u16 ssn = SEQ_TO_SN(tid_data->seq_number);
int tx_fifo = il4965_get_fifo_from_tid(ctx, tid);
- D_HT(
- "HW queue empty: continue DELBA flow\n");
+ D_HT("HW queue empty: continue DELBA flow\n");
il4965_txq_agg_disable(il, txq_id, ssn, tx_fifo);
tid_data->agg.state = IL_AGG_OFF;
ieee80211_stop_tx_ba_cb_irqsafe(ctx->vif, addr, tid);
@@ -2434,8 +2439,7 @@ int il4965_txq_check_empty(struct il_priv *il,
case IL_EMPTYING_HW_QUEUE_ADDBA:
/* We are reclaiming the last packet of the queue */
if (tid_data->tfds_in_queue == 0) {
- D_HT(
- "HW queue empty: continue ADDBA flow\n");
+ D_HT("HW queue empty: continue ADDBA flow\n");
tid_data->agg.state = IL_AGG_ON;
ieee80211_start_tx_ba_cb_irqsafe(ctx->vif, addr, tid);
}
@@ -2445,9 +2449,9 @@ int il4965_txq_check_empty(struct il_priv *il,
return 0;
}
-static void il4965_non_agg_tx_status(struct il_priv *il,
- struct il_rxon_context *ctx,
- const u8 *addr1)
+static void
+il4965_non_agg_tx_status(struct il_priv *il, struct il_rxon_context *ctx,
+ const u8 * addr1)
{
struct ieee80211_sta *sta;
struct il_station_priv *sta_priv;
@@ -2465,10 +2469,9 @@ static void il4965_non_agg_tx_status(struct il_priv *il,
}
static void
-il4965_tx_status(struct il_priv *il, struct il_tx_info *tx_info,
- bool is_agg)
+il4965_tx_status(struct il_priv *il, struct il_tx_info *tx_info, bool is_agg)
{
- struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) tx_info->skb->data;
+ struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)tx_info->skb->data;
if (!is_agg)
il4965_non_agg_tx_status(il, tx_info->ctx, hdr->addr1);
@@ -2476,7 +2479,8 @@ il4965_tx_status(struct il_priv *il, struct il_tx_info *tx_info,
ieee80211_tx_status_irqsafe(il->hw, tx_info->skb);
}
-int il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx)
+int
+il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx)
{
struct il_tx_queue *txq = &il->txq[txq_id];
struct il_queue *q = &txq->q;
@@ -2486,13 +2490,12 @@ int il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx)
if (idx >= q->n_bd || il_queue_used(q, idx) == 0) {
IL_ERR("Read idx for DMA queue txq id (%d), idx %d, "
- "is out of range [0-%d] %d %d.\n", txq_id,
- idx, q->n_bd, q->write_ptr, q->read_ptr);
+ "is out of range [0-%d] %d %d.\n", txq_id, idx, q->n_bd,
+ q->write_ptr, q->read_ptr);
return 0;
}
- for (idx = il_queue_inc_wrap(idx, q->n_bd);
- q->read_ptr != idx;
+ for (idx = il_queue_inc_wrap(idx, q->n_bd); q->read_ptr != idx;
q->read_ptr = il_queue_inc_wrap(q->read_ptr, q->n_bd)) {
tx_info = &txq->txb[txq->q.read_ptr];
@@ -2519,10 +2522,9 @@ int il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx)
* Go through block-ack's bitmap of ACK'd frames, update driver's record of
* ACK vs. not. This gets sent to mac80211, then to rate scaling algo.
*/
-static int il4965_tx_status_reply_compressed_ba(struct il_priv *il,
- struct il_ht_agg *agg,
- struct il_compressed_ba_resp *ba_resp)
-
+static int
+il4965_tx_status_reply_compressed_ba(struct il_priv *il, struct il_ht_agg *agg,
+ struct il_compressed_ba_resp *ba_resp)
{
int i, sh, ack;
u16 seq_ctl = le16_to_cpu(ba_resp->seq_ctl);
@@ -2531,7 +2533,7 @@ static int il4965_tx_status_reply_compressed_ba(struct il_priv *il,
struct ieee80211_tx_info *info;
u64 bitmap, sent_bitmap;
- if (unlikely(!agg->wait_for_ba)) {
+ if (unlikely(!agg->wait_for_ba)) {
if (unlikely(ba_resp->bitmap))
IL_ERR("Received BA when not expected\n");
return -EINVAL;
@@ -2539,12 +2541,11 @@ static int il4965_tx_status_reply_compressed_ba(struct il_priv *il,
/* Mark that the expected block-ack response arrived */
agg->wait_for_ba = 0;
- D_TX_REPLY("BA %d %d\n", agg->start_idx,
- ba_resp->seq_ctl);
+ D_TX_REPLY("BA %d %d\n", agg->start_idx, ba_resp->seq_ctl);
/* Calculate shift to align block-ack bits with our Tx win bits */
sh = agg->start_idx - SEQ_TO_IDX(seq_ctl >> 4);
- if (sh < 0) /* tbw something is wrong with indices */
+ if (sh < 0) /* tbw something is wrong with indices */
sh += 0x100;
if (agg->frame_count > (64 - sh)) {
@@ -2565,16 +2566,13 @@ static int il4965_tx_status_reply_compressed_ba(struct il_priv *il,
while (sent_bitmap) {
ack = sent_bitmap & 1ULL;
successes += ack;
- D_TX_REPLY("%s ON i=%d idx=%d raw=%d\n",
- ack ? "ACK" : "NACK", i,
- (agg->start_idx + i) & 0xff,
- agg->start_idx + i);
+ D_TX_REPLY("%s ON i=%d idx=%d raw=%d\n", ack ? "ACK" : "NACK",
+ i, (agg->start_idx + i) & 0xff, agg->start_idx + i);
sent_bitmap >>= 1;
++i;
}
- D_TX_REPLY("Bitmap %llx\n",
- (unsigned long long)bitmap);
+ D_TX_REPLY("Bitmap %llx\n", (unsigned long long)bitmap);
info = IEEE80211_SKB_CB(il->txq[scd_flow].txb[agg->start_idx].skb);
memset(&info->status, 0, sizeof(info->status));
@@ -2590,13 +2588,14 @@ static int il4965_tx_status_reply_compressed_ba(struct il_priv *il,
/**
* translate ucode response to mac80211 tx status control values
*/
-void il4965_hwrate_to_tx_control(struct il_priv *il, u32 rate_n_flags,
- struct ieee80211_tx_info *info)
+void
+il4965_hwrate_to_tx_control(struct il_priv *il, u32 rate_n_flags,
+ struct ieee80211_tx_info *info)
{
struct ieee80211_tx_rate *r = &info->control.rates[0];
info->antenna_sel_tx =
- ((rate_n_flags & RATE_MCS_ANT_ABC_MSK) >> RATE_MCS_ANT_POS);
+ ((rate_n_flags & RATE_MCS_ANT_ABC_MSK) >> RATE_MCS_ANT_POS);
if (rate_n_flags & RATE_MCS_HT_MSK)
r->flags |= IEEE80211_TX_RC_MCS;
if (rate_n_flags & RATE_MCS_GF_MSK)
@@ -2616,8 +2615,8 @@ void il4965_hwrate_to_tx_control(struct il_priv *il, u32 rate_n_flags,
* Handles block-acknowledge notification from device, which reports success
* of frames sent via aggregation.
*/
-void il4965_hdl_compressed_ba(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il4965_hdl_compressed_ba(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_compressed_ba_resp *ba_resp = &pkt->u.compressed_ba;
@@ -2636,8 +2635,7 @@ void il4965_hdl_compressed_ba(struct il_priv *il,
u16 ba_resp_scd_ssn = le16_to_cpu(ba_resp->scd_ssn);
if (scd_flow >= il->hw_params.max_txq_num) {
- IL_ERR(
- "BUG_ON scd_flow is bigger than number of queues\n");
+ IL_ERR("BUG_ON scd_flow is bigger than number of queues\n");
return;
}
@@ -2652,9 +2650,8 @@ void il4965_hdl_compressed_ba(struct il_priv *il,
* since it is possible happen very often and in order
* not to fill the syslog, don't enable the logging by default
*/
- D_TX_REPLY(
- "BA scd_flow %d does not match txq_id %d\n",
- scd_flow, agg->txq_id);
+ D_TX_REPLY("BA scd_flow %d does not match txq_id %d\n",
+ scd_flow, agg->txq_id);
return;
}
@@ -2663,22 +2660,15 @@ void il4965_hdl_compressed_ba(struct il_priv *il,
spin_lock_irqsave(&il->sta_lock, flags);
- D_TX_REPLY("N_COMPRESSED_BA [%d] Received from %pM, "
- "sta_id = %d\n",
- agg->wait_for_ba,
- (u8 *) &ba_resp->sta_addr_lo32,
- ba_resp->sta_id);
- D_TX_REPLY("TID = %d, SeqCtl = %d, bitmap = 0x%llx,"
- "scd_flow = "
- "%d, scd_ssn = %d\n",
- ba_resp->tid,
- ba_resp->seq_ctl,
- (unsigned long long)le64_to_cpu(ba_resp->bitmap),
- ba_resp->scd_flow,
- ba_resp->scd_ssn);
- D_TX_REPLY("DAT start_idx = %d, bitmap = 0x%llx\n",
- agg->start_idx,
- (unsigned long long)agg->bitmap);
+ D_TX_REPLY("N_COMPRESSED_BA [%d] Received from %pM, " "sta_id = %d\n",
+ agg->wait_for_ba, (u8 *) & ba_resp->sta_addr_lo32,
+ ba_resp->sta_id);
+ D_TX_REPLY("TID = %d, SeqCtl = %d, bitmap = 0x%llx," "scd_flow = "
+ "%d, scd_ssn = %d\n", ba_resp->tid, ba_resp->seq_ctl,
+ (unsigned long long)le64_to_cpu(ba_resp->bitmap),
+ ba_resp->scd_flow, ba_resp->scd_ssn);
+ D_TX_REPLY("DAT start_idx = %d, bitmap = 0x%llx\n", agg->start_idx,
+ (unsigned long long)agg->bitmap);
/* Update driver's record of ACK vs. not for each frame in win */
il4965_tx_status_reply_compressed_ba(il, agg, ba_resp);
@@ -2703,7 +2693,8 @@ void il4965_hdl_compressed_ba(struct il_priv *il,
}
#ifdef CONFIG_IWLEGACY_DEBUG
-const char *il4965_get_tx_fail_reason(u32 status)
+const char *
+il4965_get_tx_fail_reason(u32 status)
{
#define TX_STATUS_FAIL(x) case TX_STATUS_FAIL_ ## x: return #x
#define TX_STATUS_POSTPONE(x) case TX_STATUS_POSTPONE_ ## x: return #x
@@ -2711,27 +2702,27 @@ const char *il4965_get_tx_fail_reason(u32 status)
switch (status & TX_STATUS_MSK) {
case TX_STATUS_SUCCESS:
return "SUCCESS";
- TX_STATUS_POSTPONE(DELAY);
- TX_STATUS_POSTPONE(FEW_BYTES);
- TX_STATUS_POSTPONE(QUIET_PERIOD);
- TX_STATUS_POSTPONE(CALC_TTAK);
- TX_STATUS_FAIL(INTERNAL_CROSSED_RETRY);
- TX_STATUS_FAIL(SHORT_LIMIT);
- TX_STATUS_FAIL(LONG_LIMIT);
- TX_STATUS_FAIL(FIFO_UNDERRUN);
- TX_STATUS_FAIL(DRAIN_FLOW);
- TX_STATUS_FAIL(RFKILL_FLUSH);
- TX_STATUS_FAIL(LIFE_EXPIRE);
- TX_STATUS_FAIL(DEST_PS);
- TX_STATUS_FAIL(HOST_ABORTED);
- TX_STATUS_FAIL(BT_RETRY);
- TX_STATUS_FAIL(STA_INVALID);
- TX_STATUS_FAIL(FRAG_DROPPED);
- TX_STATUS_FAIL(TID_DISABLE);
- TX_STATUS_FAIL(FIFO_FLUSHED);
- TX_STATUS_FAIL(INSUFFICIENT_CF_POLL);
- TX_STATUS_FAIL(PASSIVE_NO_RX);
- TX_STATUS_FAIL(NO_BEACON_ON_RADAR);
+ TX_STATUS_POSTPONE(DELAY);
+ TX_STATUS_POSTPONE(FEW_BYTES);
+ TX_STATUS_POSTPONE(QUIET_PERIOD);
+ TX_STATUS_POSTPONE(CALC_TTAK);
+ TX_STATUS_FAIL(INTERNAL_CROSSED_RETRY);
+ TX_STATUS_FAIL(SHORT_LIMIT);
+ TX_STATUS_FAIL(LONG_LIMIT);
+ TX_STATUS_FAIL(FIFO_UNDERRUN);
+ TX_STATUS_FAIL(DRAIN_FLOW);
+ TX_STATUS_FAIL(RFKILL_FLUSH);
+ TX_STATUS_FAIL(LIFE_EXPIRE);
+ TX_STATUS_FAIL(DEST_PS);
+ TX_STATUS_FAIL(HOST_ABORTED);
+ TX_STATUS_FAIL(BT_RETRY);
+ TX_STATUS_FAIL(STA_INVALID);
+ TX_STATUS_FAIL(FRAG_DROPPED);
+ TX_STATUS_FAIL(TID_DISABLE);
+ TX_STATUS_FAIL(FIFO_FLUSHED);
+ TX_STATUS_FAIL(INSUFFICIENT_CF_POLL);
+ TX_STATUS_FAIL(PASSIVE_NO_RX);
+ TX_STATUS_FAIL(NO_BEACON_ON_RADAR);
}
return "UNKNOWN";
@@ -2764,29 +2755,29 @@ il4965_sta_alloc_lq(struct il_priv *il, u8 sta_id)
if (r >= IL_FIRST_CCK_RATE && r <= IL_LAST_CCK_RATE)
rate_flags |= RATE_MCS_CCK_MSK;
- rate_flags |= il4965_first_antenna(il->hw_params.valid_tx_ant) <<
- RATE_MCS_ANT_POS;
- rate_n_flags = il4965_hw_set_rate_n_flags(il_rates[r].plcp,
- rate_flags);
+ rate_flags |=
+ il4965_first_antenna(il->hw_params.
+ valid_tx_ant) << RATE_MCS_ANT_POS;
+ rate_n_flags = il4965_hw_set_rate_n_flags(il_rates[r].plcp, rate_flags);
for (i = 0; i < LINK_QUAL_MAX_RETRY_NUM; i++)
link_cmd->rs_table[i].rate_n_flags = rate_n_flags;
link_cmd->general_params.single_stream_ant_msk =
- il4965_first_antenna(il->hw_params.valid_tx_ant);
+ il4965_first_antenna(il->hw_params.valid_tx_ant);
link_cmd->general_params.dual_stream_ant_msk =
- il->hw_params.valid_tx_ant &
- ~il4965_first_antenna(il->hw_params.valid_tx_ant);
+ il->hw_params.valid_tx_ant & ~il4965_first_antenna(il->hw_params.
+ valid_tx_ant);
if (!link_cmd->general_params.dual_stream_ant_msk) {
link_cmd->general_params.dual_stream_ant_msk = ANT_AB;
} else if (il4965_num_of_ant(il->hw_params.valid_tx_ant) == 2) {
link_cmd->general_params.dual_stream_ant_msk =
- il->hw_params.valid_tx_ant;
+ il->hw_params.valid_tx_ant;
}
link_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF;
link_cmd->agg_params.agg_time_limit =
- cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
+ cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
link_cmd->sta_id = sta_id;
@@ -2800,7 +2791,7 @@ il4965_sta_alloc_lq(struct il_priv *il, u8 sta_id)
*/
int
il4965_add_bssid_station(struct il_priv *il, struct il_rxon_context *ctx,
- const u8 *addr, u8 *sta_id_r)
+ const u8 * addr, u8 * sta_id_r)
{
int ret;
u8 sta_id;
@@ -2826,9 +2817,8 @@ il4965_add_bssid_station(struct il_priv *il, struct il_rxon_context *ctx,
/* Set up default rate scaling table in device's station table */
link_cmd = il4965_sta_alloc_lq(il, sta_id);
if (!link_cmd) {
- IL_ERR(
- "Unable to initialize rate scaling for station %pM.\n",
- addr);
+ IL_ERR("Unable to initialize rate scaling for station %pM.\n",
+ addr);
return -ENOMEM;
}
@@ -2843,15 +2833,15 @@ il4965_add_bssid_station(struct il_priv *il, struct il_rxon_context *ctx,
return 0;
}
-static int il4965_static_wepkey_cmd(struct il_priv *il,
- struct il_rxon_context *ctx,
- bool send_if_empty)
+static int
+il4965_static_wepkey_cmd(struct il_priv *il, struct il_rxon_context *ctx,
+ bool send_if_empty)
{
int i, not_empty = 0;
u8 buff[sizeof(struct il_wep_cmd) +
sizeof(struct il_wep_key) * WEP_KEYS_MAX];
struct il_wep_cmd *wep_cmd = (struct il_wep_cmd *)buff;
- size_t cmd_size = sizeof(struct il_wep_cmd);
+ size_t cmd_size = sizeof(struct il_wep_cmd);
struct il_host_cmd cmd = {
.id = ctx->wep_key_cmd,
.data = wep_cmd,
@@ -2860,10 +2850,10 @@ static int il4965_static_wepkey_cmd(struct il_priv *il,
might_sleep();
- memset(wep_cmd, 0, cmd_size +
- (sizeof(struct il_wep_key) * WEP_KEYS_MAX));
+ memset(wep_cmd, 0,
+ cmd_size + (sizeof(struct il_wep_key) * WEP_KEYS_MAX));
- for (i = 0; i < WEP_KEYS_MAX ; i++) {
+ for (i = 0; i < WEP_KEYS_MAX; i++) {
wep_cmd->key[i].key_idx = i;
if (ctx->wep_keys[i].key_size) {
wep_cmd->key[i].key_offset = i;
@@ -2874,7 +2864,7 @@ static int il4965_static_wepkey_cmd(struct il_priv *il,
wep_cmd->key[i].key_size = ctx->wep_keys[i].key_size;
memcpy(&wep_cmd->key[i].key[3], ctx->wep_keys[i].key,
- ctx->wep_keys[i].key_size);
+ ctx->wep_keys[i].key_size);
}
wep_cmd->global_key_type = WEP_KEY_WEP_TYPE;
@@ -2890,42 +2880,39 @@ static int il4965_static_wepkey_cmd(struct il_priv *il,
return 0;
}
-int il4965_restore_default_wep_keys(struct il_priv *il,
- struct il_rxon_context *ctx)
+int
+il4965_restore_default_wep_keys(struct il_priv *il, struct il_rxon_context *ctx)
{
lockdep_assert_held(&il->mutex);
return il4965_static_wepkey_cmd(il, ctx, false);
}
-int il4965_remove_default_wep_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf)
+int
+il4965_remove_default_wep_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf)
{
int ret;
lockdep_assert_held(&il->mutex);
- D_WEP("Removing default WEP key: idx=%d\n",
- keyconf->keyidx);
+ D_WEP("Removing default WEP key: idx=%d\n", keyconf->keyidx);
memset(&ctx->wep_keys[keyconf->keyidx], 0, sizeof(ctx->wep_keys[0]));
if (il_is_rfkill(il)) {
- D_WEP(
- "Not sending C_WEPKEY command due to RFKILL.\n");
+ D_WEP("Not sending C_WEPKEY command due to RFKILL.\n");
/* but keys in device are clear anyway so return success */
return 0;
}
ret = il4965_static_wepkey_cmd(il, ctx, 1);
- D_WEP("Remove default WEP key: idx=%d ret=%d\n",
- keyconf->keyidx, ret);
+ D_WEP("Remove default WEP key: idx=%d ret=%d\n", keyconf->keyidx, ret);
return ret;
}
-int il4965_set_default_wep_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf)
+int
+il4965_set_default_wep_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf)
{
int ret;
@@ -2943,19 +2930,18 @@ int il4965_set_default_wep_key(struct il_priv *il,
ctx->wep_keys[keyconf->keyidx].key_size = keyconf->keylen;
memcpy(&ctx->wep_keys[keyconf->keyidx].key, &keyconf->key,
- keyconf->keylen);
+ keyconf->keylen);
ret = il4965_static_wepkey_cmd(il, ctx, false);
- D_WEP("Set default WEP key: len=%d idx=%d ret=%d\n",
- keyconf->keylen, keyconf->keyidx, ret);
+ D_WEP("Set default WEP key: len=%d idx=%d ret=%d\n", keyconf->keylen,
+ keyconf->keyidx, ret);
return ret;
}
-static int il4965_set_wep_dynamic_key_info(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+static int
+il4965_set_wep_dynamic_key_info(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
unsigned long flags;
__le16 key_flags = 0;
@@ -2981,37 +2967,36 @@ static int il4965_set_wep_dynamic_key_info(struct il_priv *il,
il->stations[sta_id].keyinfo.keylen = keyconf->keylen;
il->stations[sta_id].keyinfo.keyidx = keyconf->keyidx;
- memcpy(il->stations[sta_id].keyinfo.key,
- keyconf->key, keyconf->keylen);
+ memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, keyconf->keylen);
- memcpy(&il->stations[sta_id].sta.key.key[3],
- keyconf->key, keyconf->keylen);
+ memcpy(&il->stations[sta_id].sta.key.key[3], keyconf->key,
+ keyconf->keylen);
- if ((il->stations[sta_id].sta.key.key_flags & STA_KEY_FLG_ENCRYPT_MSK)
- == STA_KEY_FLG_NO_ENC)
+ if ((il->stations[sta_id].sta.key.
+ key_flags & STA_KEY_FLG_ENCRYPT_MSK) == STA_KEY_FLG_NO_ENC)
il->stations[sta_id].sta.key.key_offset =
- il_get_free_ucode_key_idx(il);
+ il_get_free_ucode_key_idx(il);
/* else, we are overriding an existing key => no need to allocated room
* in uCode. */
WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET,
- "no space for a new key");
+ "no space for a new key");
il->stations[sta_id].sta.key.key_flags = key_flags;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
}
-static int il4965_set_ccmp_dynamic_key_info(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+static int
+il4965_set_ccmp_dynamic_key_info(struct il_priv *il,
+ struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
unsigned long flags;
__le16 key_flags = 0;
@@ -3032,37 +3017,35 @@ static int il4965_set_ccmp_dynamic_key_info(struct il_priv *il,
il->stations[sta_id].keyinfo.cipher = keyconf->cipher;
il->stations[sta_id].keyinfo.keylen = keyconf->keylen;
- memcpy(il->stations[sta_id].keyinfo.key, keyconf->key,
- keyconf->keylen);
+ memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, keyconf->keylen);
- memcpy(il->stations[sta_id].sta.key.key, keyconf->key,
- keyconf->keylen);
+ memcpy(il->stations[sta_id].sta.key.key, keyconf->key, keyconf->keylen);
- if ((il->stations[sta_id].sta.key.key_flags & STA_KEY_FLG_ENCRYPT_MSK)
- == STA_KEY_FLG_NO_ENC)
+ if ((il->stations[sta_id].sta.key.
+ key_flags & STA_KEY_FLG_ENCRYPT_MSK) == STA_KEY_FLG_NO_ENC)
il->stations[sta_id].sta.key.key_offset =
- il_get_free_ucode_key_idx(il);
+ il_get_free_ucode_key_idx(il);
/* else, we are overriding an existing key => no need to allocated room
* in uCode. */
WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET,
- "no space for a new key");
+ "no space for a new key");
il->stations[sta_id].sta.key.key_flags = key_flags;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
}
-static int il4965_set_tkip_dynamic_key_info(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+static int
+il4965_set_tkip_dynamic_key_info(struct il_priv *il,
+ struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
unsigned long flags;
int ret = 0;
@@ -3083,19 +3066,18 @@ static int il4965_set_tkip_dynamic_key_info(struct il_priv *il,
il->stations[sta_id].keyinfo.cipher = keyconf->cipher;
il->stations[sta_id].keyinfo.keylen = 16;
- if ((il->stations[sta_id].sta.key.key_flags & STA_KEY_FLG_ENCRYPT_MSK)
- == STA_KEY_FLG_NO_ENC)
+ if ((il->stations[sta_id].sta.key.
+ key_flags & STA_KEY_FLG_ENCRYPT_MSK) == STA_KEY_FLG_NO_ENC)
il->stations[sta_id].sta.key.key_offset =
- il_get_free_ucode_key_idx(il);
+ il_get_free_ucode_key_idx(il);
/* else, we are overriding an existing key => no need to allocated room
* in uCode. */
WARN(il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET,
- "no space for a new key");
+ "no space for a new key");
il->stations[sta_id].sta.key.key_flags = key_flags;
-
/* This copy is acutally not needed: we get the key with each TX */
memcpy(il->stations[sta_id].keyinfo.key, keyconf->key, 16);
@@ -3106,10 +3088,10 @@ static int il4965_set_tkip_dynamic_key_info(struct il_priv *il,
return ret;
}
-void il4965_update_tkip_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf,
- struct ieee80211_sta *sta, u32 iv32, u16 *phase1key)
+void
+il4965_update_tkip_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf,
+ struct ieee80211_sta *sta, u32 iv32, u16 * phase1key)
{
u8 sta_id;
unsigned long flags;
@@ -3131,7 +3113,7 @@ void il4965_update_tkip_key(struct il_priv *il,
for (i = 0; i < 5; i++)
il->stations[sta_id].sta.key.tkip_rx_ttak[i] =
- cpu_to_le16(phase1key[i]);
+ cpu_to_le16(phase1key[i]);
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
@@ -3142,10 +3124,9 @@ void il4965_update_tkip_key(struct il_priv *il,
}
-int il4965_remove_dynamic_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf,
- u8 sta_id)
+int
+il4965_remove_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
unsigned long flags;
u16 key_flags;
@@ -3160,8 +3141,7 @@ int il4965_remove_dynamic_key(struct il_priv *il,
key_flags = le16_to_cpu(il->stations[sta_id].sta.key.key_flags);
keyidx = (key_flags >> STA_KEY_FLG_KEYID_POS) & 0x3;
- D_WEP("Remove dynamic key: idx=%d sta=%d\n",
- keyconf->keyidx, sta_id);
+ D_WEP("Remove dynamic key: idx=%d sta=%d\n", keyconf->keyidx, sta_id);
if (keyconf->keyidx != keyidx) {
/* We need to remove a key with idx different that the one
@@ -3174,41 +3154,40 @@ int il4965_remove_dynamic_key(struct il_priv *il,
}
if (il->stations[sta_id].sta.key.key_offset == WEP_INVALID_OFFSET) {
- IL_WARN("Removing wrong key %d 0x%x\n",
- keyconf->keyidx, key_flags);
+ IL_WARN("Removing wrong key %d 0x%x\n", keyconf->keyidx,
+ key_flags);
spin_unlock_irqrestore(&il->sta_lock, flags);
return 0;
}
- if (!test_and_clear_bit(il->stations[sta_id].sta.key.key_offset,
- &il->ucode_key_table))
+ if (!test_and_clear_bit
+ (il->stations[sta_id].sta.key.key_offset, &il->ucode_key_table))
IL_ERR("idx %d not used in uCode key table.\n",
- il->stations[sta_id].sta.key.key_offset);
- memset(&il->stations[sta_id].keyinfo, 0,
- sizeof(struct il_hw_key));
- memset(&il->stations[sta_id].sta.key, 0,
- sizeof(struct il4965_keyinfo));
+ il->stations[sta_id].sta.key.key_offset);
+ memset(&il->stations[sta_id].keyinfo, 0, sizeof(struct il_hw_key));
+ memset(&il->stations[sta_id].sta.key, 0, sizeof(struct il4965_keyinfo));
il->stations[sta_id].sta.key.key_flags =
- STA_KEY_FLG_NO_ENC | STA_KEY_FLG_INVALID;
+ STA_KEY_FLG_NO_ENC | STA_KEY_FLG_INVALID;
il->stations[sta_id].sta.key.key_offset = WEP_INVALID_OFFSET;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_KEY_MASK;
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
if (il_is_rfkill(il)) {
- D_WEP(
- "Not sending C_ADD_STA command because RFKILL enabled.\n");
+ D_WEP
+ ("Not sending C_ADD_STA command because RFKILL enabled.\n");
spin_unlock_irqrestore(&il->sta_lock, flags);
return 0;
}
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
}
-int il4965_set_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf, u8 sta_id)
+int
+il4965_set_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf, u8 sta_id)
{
int ret;
@@ -3219,29 +3198,25 @@ int il4965_set_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
switch (keyconf->cipher) {
case WLAN_CIPHER_SUITE_CCMP:
- ret = il4965_set_ccmp_dynamic_key_info(il, ctx,
- keyconf, sta_id);
+ ret =
+ il4965_set_ccmp_dynamic_key_info(il, ctx, keyconf, sta_id);
break;
case WLAN_CIPHER_SUITE_TKIP:
- ret = il4965_set_tkip_dynamic_key_info(il, ctx,
- keyconf, sta_id);
+ ret =
+ il4965_set_tkip_dynamic_key_info(il, ctx, keyconf, sta_id);
break;
case WLAN_CIPHER_SUITE_WEP40:
case WLAN_CIPHER_SUITE_WEP104:
- ret = il4965_set_wep_dynamic_key_info(il, ctx,
- keyconf, sta_id);
+ ret = il4965_set_wep_dynamic_key_info(il, ctx, keyconf, sta_id);
break;
default:
- IL_ERR(
- "Unknown alg: %s cipher = %x\n", __func__,
- keyconf->cipher);
+ IL_ERR("Unknown alg: %s cipher = %x\n", __func__,
+ keyconf->cipher);
ret = -EINVAL;
}
- D_WEP(
- "Set dynamic key: cipher=%x len=%d idx=%d sta=%d ret=%d\n",
- keyconf->cipher, keyconf->keylen, keyconf->keyidx,
- sta_id, ret);
+ D_WEP("Set dynamic key: cipher=%x len=%d idx=%d sta=%d ret=%d\n",
+ keyconf->cipher, keyconf->keylen, keyconf->keyidx, sta_id, ret);
return ret;
}
@@ -3253,16 +3228,15 @@ int il4965_set_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
* and marks it driver active, so that it will be restored to the
* device at the next best time.
*/
-int il4965_alloc_bcast_station(struct il_priv *il,
- struct il_rxon_context *ctx)
+int
+il4965_alloc_bcast_station(struct il_priv *il, struct il_rxon_context *ctx)
{
struct il_link_quality_cmd *link_cmd;
unsigned long flags;
u8 sta_id;
spin_lock_irqsave(&il->sta_lock, flags);
- sta_id = il_prep_station(il, ctx, il_bcast_addr,
- false, NULL);
+ sta_id = il_prep_station(il, ctx, il_bcast_addr, false, NULL);
if (sta_id == IL_INVALID_STATION) {
IL_ERR("Unable to prepare broadcast station\n");
spin_unlock_irqrestore(&il->sta_lock, flags);
@@ -3276,8 +3250,8 @@ int il4965_alloc_bcast_station(struct il_priv *il,
link_cmd = il4965_sta_alloc_lq(il, sta_id);
if (!link_cmd) {
- IL_ERR(
- "Unable to initialize rate scaling for bcast station.\n");
+ IL_ERR
+ ("Unable to initialize rate scaling for bcast station.\n");
return -ENOMEM;
}
@@ -3294,8 +3268,8 @@ int il4965_alloc_bcast_station(struct il_priv *il,
* Only used by iwl4965. Placed here to have all bcast station management
* code together.
*/
-static int il4965_update_bcast_station(struct il_priv *il,
- struct il_rxon_context *ctx)
+static int
+il4965_update_bcast_station(struct il_priv *il, struct il_rxon_context *ctx)
{
unsigned long flags;
struct il_link_quality_cmd *link_cmd;
@@ -3303,8 +3277,8 @@ static int il4965_update_bcast_station(struct il_priv *il,
link_cmd = il4965_sta_alloc_lq(il, sta_id);
if (!link_cmd) {
- IL_ERR(
- "Unable to initialize rate scaling for bcast station.\n");
+ IL_ERR
+ ("Unable to initialize rate scaling for bcast station.\n");
return -ENOMEM;
}
@@ -3312,15 +3286,16 @@ static int il4965_update_bcast_station(struct il_priv *il,
if (il->stations[sta_id].lq)
kfree(il->stations[sta_id].lq);
else
- D_INFO(
- "Bcast station rate scaling has not been initialized yet.\n");
+ D_INFO
+ ("Bcast station rate scaling has not been initialized yet.\n");
il->stations[sta_id].lq = link_cmd;
spin_unlock_irqrestore(&il->sta_lock, flags);
return 0;
}
-int il4965_update_bcast_stations(struct il_priv *il)
+int
+il4965_update_bcast_stations(struct il_priv *il)
{
return il4965_update_bcast_station(il, &il->ctx);
}
@@ -3328,7 +3303,8 @@ int il4965_update_bcast_stations(struct il_priv *il)
/**
* il4965_sta_tx_modify_enable_tid - Enable Tx for this TID in station table
*/
-int il4965_sta_tx_modify_enable_tid(struct il_priv *il, int sta_id, int tid)
+int
+il4965_sta_tx_modify_enable_tid(struct il_priv *il, int sta_id, int tid)
{
unsigned long flags;
struct il_addsta_cmd sta_cmd;
@@ -3341,14 +3317,15 @@ int il4965_sta_tx_modify_enable_tid(struct il_priv *il, int sta_id, int tid)
il->stations[sta_id].sta.tid_disable_tx &= cpu_to_le16(~(1 << tid));
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
}
-int il4965_sta_rx_agg_start(struct il_priv *il, struct ieee80211_sta *sta,
- int tid, u16 ssn)
+int
+il4965_sta_rx_agg_start(struct il_priv *il, struct ieee80211_sta *sta, int tid,
+ u16 ssn)
{
unsigned long flags;
int sta_id;
@@ -3363,18 +3340,18 @@ int il4965_sta_rx_agg_start(struct il_priv *il, struct ieee80211_sta *sta,
spin_lock_irqsave(&il->sta_lock, flags);
il->stations[sta_id].sta.station_flags_msk = 0;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_ADDBA_TID_MSK;
- il->stations[sta_id].sta.add_immediate_ba_tid = (u8)tid;
+ il->stations[sta_id].sta.add_immediate_ba_tid = (u8) tid;
il->stations[sta_id].sta.add_immediate_ba_ssn = cpu_to_le16(ssn);
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
}
-int il4965_sta_rx_agg_stop(struct il_priv *il, struct ieee80211_sta *sta,
- int tid)
+int
+il4965_sta_rx_agg_stop(struct il_priv *il, struct ieee80211_sta *sta, int tid)
{
unsigned long flags;
int sta_id;
@@ -3391,10 +3368,10 @@ int il4965_sta_rx_agg_stop(struct il_priv *il, struct ieee80211_sta *sta,
spin_lock_irqsave(&il->sta_lock, flags);
il->stations[sta_id].sta.station_flags_msk = 0;
il->stations[sta_id].sta.sta.modify_mask = STA_MODIFY_DELBA_TID_MSK;
- il->stations[sta_id].sta.remove_immediate_ba_tid = (u8)tid;
+ il->stations[sta_id].sta.remove_immediate_ba_tid = (u8) tid;
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags);
return il_send_add_sta(il, &sta_cmd, CMD_SYNC);
@@ -3409,16 +3386,16 @@ il4965_sta_modify_sleep_tx_count(struct il_priv *il, int sta_id, int cnt)
il->stations[sta_id].sta.station_flags |= STA_FLG_PWR_SAVE_MSK;
il->stations[sta_id].sta.station_flags_msk = STA_FLG_PWR_SAVE_MSK;
il->stations[sta_id].sta.sta.modify_mask =
- STA_MODIFY_SLEEP_TX_COUNT_MSK;
+ STA_MODIFY_SLEEP_TX_COUNT_MSK;
il->stations[sta_id].sta.sleep_tx_count = cpu_to_le16(cnt);
il->stations[sta_id].sta.mode = STA_CONTROL_MODIFY_MSK;
- il_send_add_sta(il,
- &il->stations[sta_id].sta, CMD_ASYNC);
+ il_send_add_sta(il, &il->stations[sta_id].sta, CMD_ASYNC);
spin_unlock_irqrestore(&il->sta_lock, flags);
}
-void il4965_update_chain_flags(struct il_priv *il)
+void
+il4965_update_chain_flags(struct il_priv *il)
{
if (il->cfg->ops->hcmd->set_rxon_chain) {
il->cfg->ops->hcmd->set_rxon_chain(il, &il->ctx);
@@ -3427,12 +3404,12 @@ void il4965_update_chain_flags(struct il_priv *il)
}
}
-static void il4965_clear_free_frames(struct il_priv *il)
+static void
+il4965_clear_free_frames(struct il_priv *il)
{
struct list_head *element;
- D_INFO("%d frames on pre-allocated heap on clear.\n",
- il->frames_count);
+ D_INFO("%d frames on pre-allocated heap on clear.\n", il->frames_count);
while (!list_empty(&il->free_frames)) {
element = il->free_frames.next;
@@ -3443,12 +3420,13 @@ static void il4965_clear_free_frames(struct il_priv *il)
if (il->frames_count) {
IL_WARN("%d frames still in use. Did we lose one?\n",
- il->frames_count);
+ il->frames_count);
il->frames_count = 0;
}
}
-static struct il_frame *il4965_get_free_frame(struct il_priv *il)
+static struct il_frame *
+il4965_get_free_frame(struct il_priv *il)
{
struct il_frame *frame;
struct list_head *element;
@@ -3468,15 +3446,16 @@ static struct il_frame *il4965_get_free_frame(struct il_priv *il)
return list_entry(element, struct il_frame, list);
}
-static void il4965_free_frame(struct il_priv *il, struct il_frame *frame)
+static void
+il4965_free_frame(struct il_priv *il, struct il_frame *frame)
{
memset(frame, 0, sizeof(*frame));
list_add(&frame->list, &il->free_frames);
}
-static u32 il4965_fill_beacon_frame(struct il_priv *il,
- struct ieee80211_hdr *hdr,
- int left)
+static u32
+il4965_fill_beacon_frame(struct il_priv *il, struct ieee80211_hdr *hdr,
+ int left)
{
lockdep_assert_held(&il->mutex);
@@ -3492,9 +3471,10 @@ static u32 il4965_fill_beacon_frame(struct il_priv *il,
}
/* Parse the beacon frame to find the TIM element and set tim_idx & tim_size */
-static void il4965_set_beacon_tim(struct il_priv *il,
- struct il_tx_beacon_cmd *tx_beacon_cmd,
- u8 *beacon, u32 frame_size)
+static void
+il4965_set_beacon_tim(struct il_priv *il,
+ struct il_tx_beacon_cmd *tx_beacon_cmd, u8 * beacon,
+ u32 frame_size)
{
u16 tim_idx;
struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)beacon;
@@ -3507,19 +3487,19 @@ static void il4965_set_beacon_tim(struct il_priv *il,
/* Parse variable-length elements of beacon to find WLAN_EID_TIM */
while ((tim_idx < (frame_size - 2)) &&
- (beacon[tim_idx] != WLAN_EID_TIM))
- tim_idx += beacon[tim_idx+1] + 2;
+ (beacon[tim_idx] != WLAN_EID_TIM))
+ tim_idx += beacon[tim_idx + 1] + 2;
/* If TIM field was found, set variables */
if ((tim_idx < (frame_size - 1)) && (beacon[tim_idx] == WLAN_EID_TIM)) {
tx_beacon_cmd->tim_idx = cpu_to_le16(tim_idx);
- tx_beacon_cmd->tim_size = beacon[tim_idx+1];
+ tx_beacon_cmd->tim_size = beacon[tim_idx + 1];
} else
IL_WARN("Unable to find TIM Element in beacon\n");
}
-static unsigned int il4965_hw_get_beacon_cmd(struct il_priv *il,
- struct il_frame *frame)
+static unsigned int
+il4965_hw_get_beacon_cmd(struct il_priv *il, struct il_frame *frame)
{
struct il_tx_beacon_cmd *tx_beacon_cmd;
u32 frame_size;
@@ -3542,38 +3522,42 @@ static unsigned int il4965_hw_get_beacon_cmd(struct il_priv *il,
memset(tx_beacon_cmd, 0, sizeof(*tx_beacon_cmd));
/* Set up TX beacon contents */
- frame_size = il4965_fill_beacon_frame(il, tx_beacon_cmd->frame,
- sizeof(frame->u) - sizeof(*tx_beacon_cmd));
+ frame_size =
+ il4965_fill_beacon_frame(il, tx_beacon_cmd->frame,
+ sizeof(frame->u) - sizeof(*tx_beacon_cmd));
if (WARN_ON_ONCE(frame_size > MAX_MPDU_SIZE))
return 0;
if (!frame_size)
return 0;
/* Set up TX command fields */
- tx_beacon_cmd->tx.len = cpu_to_le16((u16)frame_size);
+ tx_beacon_cmd->tx.len = cpu_to_le16((u16) frame_size);
tx_beacon_cmd->tx.sta_id = il->beacon_ctx->bcast_sta_id;
tx_beacon_cmd->tx.stop_time.life_time = TX_CMD_LIFE_TIME_INFINITE;
- tx_beacon_cmd->tx.tx_flags = TX_CMD_FLG_SEQ_CTL_MSK |
- TX_CMD_FLG_TSF_MSK | TX_CMD_FLG_STA_RATE_MSK;
+ tx_beacon_cmd->tx.tx_flags =
+ TX_CMD_FLG_SEQ_CTL_MSK | TX_CMD_FLG_TSF_MSK |
+ TX_CMD_FLG_STA_RATE_MSK;
/* Set up TX beacon command fields */
- il4965_set_beacon_tim(il, tx_beacon_cmd, (u8 *)tx_beacon_cmd->frame,
- frame_size);
+ il4965_set_beacon_tim(il, tx_beacon_cmd, (u8 *) tx_beacon_cmd->frame,
+ frame_size);
/* Set up packet rate and flags */
rate = il_get_lowest_plcp(il, il->beacon_ctx);
- il->mgmt_tx_ant = il4965_toggle_tx_ant(il, il->mgmt_tx_ant,
- il->hw_params.valid_tx_ant);
+ il->mgmt_tx_ant =
+ il4965_toggle_tx_ant(il, il->mgmt_tx_ant,
+ il->hw_params.valid_tx_ant);
rate_flags = il4965_ant_idx_to_flags(il->mgmt_tx_ant);
if ((rate >= IL_FIRST_CCK_RATE) && (rate <= IL_LAST_CCK_RATE))
rate_flags |= RATE_MCS_CCK_MSK;
- tx_beacon_cmd->tx.rate_n_flags = il4965_hw_set_rate_n_flags(rate,
- rate_flags);
+ tx_beacon_cmd->tx.rate_n_flags =
+ il4965_hw_set_rate_n_flags(rate, rate_flags);
return sizeof(*tx_beacon_cmd) + frame_size;
}
-int il4965_send_beacon_cmd(struct il_priv *il)
+int
+il4965_send_beacon_cmd(struct il_priv *il)
{
struct il_frame *frame;
unsigned int frame_size;
@@ -3582,7 +3566,7 @@ int il4965_send_beacon_cmd(struct il_priv *il)
frame = il4965_get_free_frame(il);
if (!frame) {
IL_ERR("Could not obtain free frame buffer for beacon "
- "command.\n");
+ "command.\n");
return -ENOMEM;
}
@@ -3593,35 +3577,37 @@ int il4965_send_beacon_cmd(struct il_priv *il)
return -EINVAL;
}
- rc = il_send_cmd_pdu(il, C_TX_BEACON, frame_size,
- &frame->u.cmd[0]);
+ rc = il_send_cmd_pdu(il, C_TX_BEACON, frame_size, &frame->u.cmd[0]);
il4965_free_frame(il, frame);
return rc;
}
-static inline dma_addr_t il4965_tfd_tb_get_addr(struct il_tfd *tfd, u8 idx)
+static inline dma_addr_t
+il4965_tfd_tb_get_addr(struct il_tfd *tfd, u8 idx)
{
struct il_tfd_tb *tb = &tfd->tbs[idx];
dma_addr_t addr = get_unaligned_le32(&tb->lo);
if (sizeof(dma_addr_t) > sizeof(u32))
addr |=
- ((dma_addr_t)(le16_to_cpu(tb->hi_n_len) & 0xF) << 16) << 16;
+ ((dma_addr_t) (le16_to_cpu(tb->hi_n_len) & 0xF) << 16) <<
+ 16;
return addr;
}
-static inline u16 il4965_tfd_tb_get_len(struct il_tfd *tfd, u8 idx)
+static inline u16
+il4965_tfd_tb_get_len(struct il_tfd *tfd, u8 idx)
{
struct il_tfd_tb *tb = &tfd->tbs[idx];
return le16_to_cpu(tb->hi_n_len) >> 4;
}
-static inline void il4965_tfd_set_tb(struct il_tfd *tfd, u8 idx,
- dma_addr_t addr, u16 len)
+static inline void
+il4965_tfd_set_tb(struct il_tfd *tfd, u8 idx, dma_addr_t addr, u16 len)
{
struct il_tfd_tb *tb = &tfd->tbs[idx];
u16 hi_n_len = len << 4;
@@ -3635,7 +3621,8 @@ static inline void il4965_tfd_set_tb(struct il_tfd *tfd, u8 idx,
tfd->num_tbs = idx + 1;
}
-static inline u8 il4965_tfd_get_num_tbs(struct il_tfd *tfd)
+static inline u8
+il4965_tfd_get_num_tbs(struct il_tfd *tfd)
{
return tfd->num_tbs & 0x1f;
}
@@ -3648,7 +3635,8 @@ static inline u8 il4965_tfd_get_num_tbs(struct il_tfd *tfd)
* Does NOT advance any TFD circular buffer read/write idxes
* Does NOT free the TFD itself (which is within circular buffer)
*/
-void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
+void
+il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
{
struct il_tfd *tfd_tmp = (struct il_tfd *)txq->tfds;
struct il_tfd *tfd;
@@ -3670,16 +3658,15 @@ void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
/* Unmap tx_cmd */
if (num_tbs)
- pci_unmap_single(dev,
- dma_unmap_addr(&txq->meta[idx], mapping),
- dma_unmap_len(&txq->meta[idx], len),
- PCI_DMA_BIDIRECTIONAL);
+ pci_unmap_single(dev, dma_unmap_addr(&txq->meta[idx], mapping),
+ dma_unmap_len(&txq->meta[idx], len),
+ PCI_DMA_BIDIRECTIONAL);
/* Unmap chunks, if any. */
for (i = 1; i < num_tbs; i++)
pci_unmap_single(dev, il4965_tfd_tb_get_addr(tfd, i),
- il4965_tfd_tb_get_len(tfd, i),
- PCI_DMA_TODEVICE);
+ il4965_tfd_tb_get_len(tfd, i),
+ PCI_DMA_TODEVICE);
/* free SKB */
if (txq->txb) {
@@ -3695,10 +3682,9 @@ void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq)
}
}
-int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il,
- struct il_tx_queue *txq,
- dma_addr_t addr, u16 len,
- u8 reset, u8 pad)
+int
+il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
+ dma_addr_t addr, u16 len, u8 reset, u8 pad)
{
struct il_queue *q;
struct il_tfd *tfd, *tfd_tmp;
@@ -3716,14 +3702,13 @@ int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il,
/* Each TFD can point to a maximum 20 Tx buffers */
if (num_tbs >= IL_NUM_OF_TBS) {
IL_ERR("Error can not send more than %d chunks\n",
- IL_NUM_OF_TBS);
+ IL_NUM_OF_TBS);
return -EINVAL;
}
BUG_ON(addr & ~DMA_BIT_MASK(36));
if (unlikely(addr & ~IL_TX_DMA_MASK))
- IL_ERR("Unaligned address = %llx\n",
- (unsigned long long)addr);
+ IL_ERR("Unaligned address = %llx\n", (unsigned long long)addr);
il4965_tfd_set_tb(tfd, num_tbs, addr, len);
@@ -3737,14 +3722,13 @@ int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il,
* 4965 supports up to 16 Tx queues in DRAM, mapped to up to 8 Tx DMA
* channels supported in hardware.
*/
-int il4965_hw_tx_queue_init(struct il_priv *il,
- struct il_tx_queue *txq)
+int
+il4965_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq)
{
int txq_id = txq->q.id;
/* Circular buffer (TFD queue in DRAM) physical base address */
- il_wr(il, FH49_MEM_CBBC_QUEUE(txq_id),
- txq->q.dma_addr >> 8);
+ il_wr(il, FH49_MEM_CBBC_QUEUE(txq_id), txq->q.dma_addr >> 8);
return 0;
}
@@ -3754,8 +3738,8 @@ int il4965_hw_tx_queue_init(struct il_priv *il,
* Generic RX handler implementations
*
******************************************************************************/
-static void il4965_hdl_alive(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il4965_hdl_alive(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_alive_resp *palive;
@@ -3763,15 +3747,12 @@ static void il4965_hdl_alive(struct il_priv *il,
palive = &pkt->u.alive_frame;
- D_INFO("Alive ucode status 0x%08X revision "
- "0x%01X 0x%01X\n",
- palive->is_valid, palive->ver_type,
- palive->ver_subtype);
+ D_INFO("Alive ucode status 0x%08X revision " "0x%01X 0x%01X\n",
+ palive->is_valid, palive->ver_type, palive->ver_subtype);
if (palive->ver_subtype == INITIALIZE_SUBTYPE) {
D_INFO("Initialization Alive received.\n");
- memcpy(&il->card_alive_init,
- &pkt->u.alive_frame,
+ memcpy(&il->card_alive_init, &pkt->u.alive_frame,
sizeof(struct il_init_alive_resp));
pwork = &il->init_alive_start;
} else {
@@ -3784,8 +3765,7 @@ static void il4965_hdl_alive(struct il_priv *il,
/* We delay the ALIVE response by 5ms to
* give the HW RF Kill time to activate... */
if (palive->is_valid == UCODE_VALID_OK)
- queue_delayed_work(il->workqueue, pwork,
- msecs_to_jiffies(5));
+ queue_delayed_work(il->workqueue, pwork, msecs_to_jiffies(5));
else
IL_WARN("uCode did not respond OK.\n");
}
@@ -3800,7 +3780,8 @@ static void il4965_hdl_alive(struct il_priv *il,
* was received. We need to ensure we receive the stats in order
* to update the temperature used for calibrating the TXPOWER.
*/
-static void il4965_bg_stats_periodic(unsigned long data)
+static void
+il4965_bg_stats_periodic(unsigned long data)
{
struct il_priv *il = (struct il_priv *)data;
@@ -3814,28 +3795,27 @@ static void il4965_bg_stats_periodic(unsigned long data)
il_send_stats_request(il, CMD_ASYNC, false);
}
-static void il4965_hdl_beacon(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il4965_hdl_beacon(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il4965_beacon_notif *beacon =
- (struct il4965_beacon_notif *)pkt->u.raw;
+ (struct il4965_beacon_notif *)pkt->u.raw;
#ifdef CONFIG_IWLEGACY_DEBUG
u8 rate = il4965_hw_get_rate(beacon->beacon_notify_hdr.rate_n_flags);
- D_RX("beacon status %x retries %d iss %d "
- "tsf %d %d rate %d\n",
- le32_to_cpu(beacon->beacon_notify_hdr.u.status) & TX_STATUS_MSK,
- beacon->beacon_notify_hdr.failure_frame,
- le32_to_cpu(beacon->ibss_mgr_status),
- le32_to_cpu(beacon->high_tsf),
- le32_to_cpu(beacon->low_tsf), rate);
+ D_RX("beacon status %x retries %d iss %d " "tsf %d %d rate %d\n",
+ le32_to_cpu(beacon->beacon_notify_hdr.u.status) & TX_STATUS_MSK,
+ beacon->beacon_notify_hdr.failure_frame,
+ le32_to_cpu(beacon->ibss_mgr_status),
+ le32_to_cpu(beacon->high_tsf), le32_to_cpu(beacon->low_tsf), rate);
#endif
il->ibss_manager = le32_to_cpu(beacon->ibss_mgr_status);
}
-static void il4965_perform_ct_kill_task(struct il_priv *il)
+static void
+il4965_perform_ct_kill_task(struct il_priv *il)
{
unsigned long flags;
@@ -3845,7 +3825,7 @@ static void il4965_perform_ct_kill_task(struct il_priv *il)
ieee80211_stop_queues(il->hw);
_il_wr(il, CSR_UCODE_DRV_GP1_SET,
- CSR_UCODE_DRV_GP1_REG_BIT_CT_KILL_EXIT);
+ CSR_UCODE_DRV_GP1_REG_BIT_CT_KILL_EXIT);
_il_rd(il, CSR_UCODE_DRV_GP1);
spin_lock_irqsave(&il->reg_lock, flags);
@@ -3856,33 +3836,30 @@ static void il4965_perform_ct_kill_task(struct il_priv *il)
/* Handle notification from uCode that card's power state is changing
* due to software, hardware, or critical temperature RFKILL */
-static void il4965_hdl_card_state(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il4965_hdl_card_state(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
u32 flags = le32_to_cpu(pkt->u.card_state_notif.flags);
unsigned long status = il->status;
D_RF_KILL("Card state received: HW:%s SW:%s CT:%s\n",
- (flags & HW_CARD_DISABLED) ? "Kill" : "On",
- (flags & SW_CARD_DISABLED) ? "Kill" : "On",
- (flags & CT_CARD_DISABLED) ?
- "Reached" : "Not reached");
+ (flags & HW_CARD_DISABLED) ? "Kill" : "On",
+ (flags & SW_CARD_DISABLED) ? "Kill" : "On",
+ (flags & CT_CARD_DISABLED) ? "Reached" : "Not reached");
- if (flags & (SW_CARD_DISABLED | HW_CARD_DISABLED |
- CT_CARD_DISABLED)) {
+ if (flags & (SW_CARD_DISABLED | HW_CARD_DISABLED | CT_CARD_DISABLED)) {
_il_wr(il, CSR_UCODE_DRV_GP1_SET,
- CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
+ CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
- il_wr(il, HBUS_TARG_MBX_C,
- HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED);
+ il_wr(il, HBUS_TARG_MBX_C, HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED);
if (!(flags & RXON_CARD_DISABLED)) {
_il_wr(il, CSR_UCODE_DRV_GP1_CLR,
- CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
+ CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
il_wr(il, HBUS_TARG_MBX_C,
- HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED);
+ HBUS_TARG_MBX_C_REG_BIT_CMD_BLOCKED);
}
}
@@ -3900,7 +3877,7 @@ static void il4965_hdl_card_state(struct il_priv *il,
if ((test_bit(S_RF_KILL_HW, &status) !=
test_bit(S_RF_KILL_HW, &il->status)))
wiphy_rfkill_set_hw_state(il->hw->wiphy,
- test_bit(S_RF_KILL_HW, &il->status));
+ test_bit(S_RF_KILL_HW, &il->status));
else
wake_up(&il->wait_command_queue);
}
@@ -3914,16 +3891,15 @@ static void il4965_hdl_card_state(struct il_priv *il,
* This function chains into the hardware specific files for them to setup
* any hardware specific handlers as well.
*/
-static void il4965_setup_handlers(struct il_priv *il)
+static void
+il4965_setup_handlers(struct il_priv *il)
{
il->handlers[N_ALIVE] = il4965_hdl_alive;
il->handlers[N_ERROR] = il_hdl_error;
il->handlers[N_CHANNEL_SWITCH] = il_hdl_csa;
- il->handlers[N_SPECTRUM_MEASUREMENT] =
- il_hdl_spectrum_measurement;
+ il->handlers[N_SPECTRUM_MEASUREMENT] = il_hdl_spectrum_measurement;
il->handlers[N_PM_SLEEP] = il_hdl_pm_sleep;
- il->handlers[N_PM_DEBUG_STATS] =
- il_hdl_pm_debug_stats;
+ il->handlers[N_PM_DEBUG_STATS] = il_hdl_pm_debug_stats;
il->handlers[N_BEACON] = il4965_hdl_beacon;
/*
@@ -3937,11 +3913,9 @@ static void il4965_setup_handlers(struct il_priv *il)
il_setup_rx_scan_handlers(il);
/* status change handler */
- il->handlers[N_CARD_STATE] =
- il4965_hdl_card_state;
+ il->handlers[N_CARD_STATE] = il4965_hdl_card_state;
- il->handlers[N_MISSED_BEACONS] =
- il4965_hdl_missed_beacon;
+ il->handlers[N_MISSED_BEACONS] = il4965_hdl_missed_beacon;
/* Rx handlers */
il->handlers[N_RX_PHY] = il4965_hdl_rx_phy;
il->handlers[N_RX_MPDU] = il4965_hdl_rx;
@@ -3958,7 +3932,8 @@ static void il4965_setup_handlers(struct il_priv *il)
* the appropriate handlers, including command responses,
* frame-received notifications, and other notifications.
*/
-void il4965_rx_handle(struct il_priv *il)
+void
+il4965_rx_handle(struct il_priv *il)
{
struct il_rx_buf *rxb;
struct il_rx_pkt *pkt;
@@ -3972,7 +3947,7 @@ void il4965_rx_handle(struct il_priv *il)
/* uCode's read idx (stored in shared DRAM) indicates the last Rx
* buffer that the driver may process (last buffer filled by ucode). */
- r = le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF;
+ r = le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF;
i = rxq->read;
/* Rx interrupt, but nothing sent from uCode */
@@ -4005,7 +3980,7 @@ void il4965_rx_handle(struct il_priv *il)
pkt = rxb_addr(rxb);
len = le32_to_cpu(pkt->len_n_flags) & IL_RX_FRAME_SIZE_MSK;
- len += sizeof(u32); /* account for status word */
+ len += sizeof(u32); /* account for status word */
/* Reclaim a command buffer only if this packet is a response
* to a (driver-originated) command.
@@ -4014,28 +3989,23 @@ void il4965_rx_handle(struct il_priv *il)
* Ucode should set SEQ_RX_FRAME bit if ucode-originated,
* but apparently a few don't get set; catch them here. */
reclaim = !(pkt->hdr.sequence & SEQ_RX_FRAME) &&
- (pkt->hdr.cmd != N_RX_PHY) &&
- (pkt->hdr.cmd != N_RX) &&
- (pkt->hdr.cmd != N_RX_MPDU) &&
- (pkt->hdr.cmd != N_COMPRESSED_BA) &&
- (pkt->hdr.cmd != N_STATS) &&
- (pkt->hdr.cmd != C_TX);
+ (pkt->hdr.cmd != N_RX_PHY) && (pkt->hdr.cmd != N_RX) &&
+ (pkt->hdr.cmd != N_RX_MPDU) &&
+ (pkt->hdr.cmd != N_COMPRESSED_BA) &&
+ (pkt->hdr.cmd != N_STATS) && (pkt->hdr.cmd != C_TX);
/* Based on type of command response or notification,
* handle those that need handling via function in
* handlers table. See il4965_setup_handlers() */
if (il->handlers[pkt->hdr.cmd]) {
- D_RX("r = %d, i = %d, %s, 0x%02x\n", r,
- i, il_get_cmd_string(pkt->hdr.cmd),
- pkt->hdr.cmd);
+ D_RX("r = %d, i = %d, %s, 0x%02x\n", r, i,
+ il_get_cmd_string(pkt->hdr.cmd), pkt->hdr.cmd);
il->isr_stats.handlers[pkt->hdr.cmd]++;
il->handlers[pkt->hdr.cmd] (il, rxb);
} else {
/* No handling needed */
- D_RX(
- "r %d i %d No handler needed for %s, 0x%02x\n",
- r, i, il_get_cmd_string(pkt->hdr.cmd),
- pkt->hdr.cmd);
+ D_RX("r %d i %d No handler needed for %s, 0x%02x\n", r,
+ i, il_get_cmd_string(pkt->hdr.cmd), pkt->hdr.cmd);
}
/*
@@ -4060,9 +4030,10 @@ void il4965_rx_handle(struct il_priv *il)
* rx_free list for reuse later. */
spin_lock_irqsave(&rxq->lock, flags);
if (rxb->page != NULL) {
- rxb->page_dma = pci_map_page(il->pci_dev, rxb->page,
- 0, PAGE_SIZE << il->hw_params.rx_page_order,
- PCI_DMA_FROMDEVICE);
+ rxb->page_dma =
+ pci_map_page(il->pci_dev, rxb->page, 0,
+ PAGE_SIZE << il->hw_params.
+ rx_page_order, PCI_DMA_FROMDEVICE);
list_add_tail(&rxb->list, &rxq->rx_free);
rxq->free_count++;
} else
@@ -4092,14 +4063,16 @@ void il4965_rx_handle(struct il_priv *il)
}
/* call this function to flush any scheduled tasklet */
-static inline void il4965_synchronize_irq(struct il_priv *il)
+static inline void
+il4965_synchronize_irq(struct il_priv *il)
{
- /* wait to make sure we flush pending tasklet*/
+ /* wait to make sure we flush pending tasklet */
synchronize_irq(il->pci_dev->irq);
tasklet_kill(&il->irq_tasklet);
}
-static void il4965_irq_tasklet(struct il_priv *il)
+static void
+il4965_irq_tasklet(struct il_priv *il)
{
u32 inta, handled = 0;
u32 inta_fh;
@@ -4127,8 +4100,8 @@ static void il4965_irq_tasklet(struct il_priv *il)
if (il_get_debug_level(il) & IL_DL_ISR) {
/* just for debug */
inta_mask = _il_rd(il, CSR_INT_MASK);
- D_ISR("inta 0x%08x, enabled 0x%08x, fh 0x%08x\n",
- inta, inta_mask, inta_fh);
+ D_ISR("inta 0x%08x, enabled 0x%08x, fh 0x%08x\n", inta,
+ inta_mask, inta_fh);
}
#endif
@@ -4157,13 +4130,12 @@ static void il4965_irq_tasklet(struct il_priv *il)
return;
}
-
#ifdef CONFIG_IWLEGACY_DEBUG
if (il_get_debug_level(il) & (IL_DL_ISR)) {
/* NIC fires this, but we don't use it, redundant with WAKEUP */
if (inta & CSR_INT_BIT_SCD) {
D_ISR("Scheduler finished to transmit "
- "the frame/frames.\n");
+ "the frame/frames.\n");
il->isr_stats.sch++;
}
@@ -4180,12 +4152,13 @@ static void il4965_irq_tasklet(struct il_priv *il)
/* HW RF KILL switch toggled */
if (inta & CSR_INT_BIT_RF_KILL) {
int hw_rf_kill = 0;
- if (!(_il_rd(il, CSR_GP_CNTRL) &
- CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW))
+ if (!
+ (_il_rd(il, CSR_GP_CNTRL) &
+ CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW))
hw_rf_kill = 1;
IL_WARN("RF_KILL bit toggled to %s.\n",
- hw_rf_kill ? "disable radio" : "enable radio");
+ hw_rf_kill ? "disable radio" : "enable radio");
il->isr_stats.rfkill++;
@@ -4214,8 +4187,8 @@ static void il4965_irq_tasklet(struct il_priv *il)
/* Error detected by uCode */
if (inta & CSR_INT_BIT_SW_ERR) {
- IL_ERR("Microcode SW error detected. "
- " Restarting 0x%X.\n", inta);
+ IL_ERR("Microcode SW error detected. " " Restarting 0x%X.\n",
+ inta);
il->isr_stats.sw++;
il_irq_handle_error(il);
handled |= CSR_INT_BIT_SW_ERR;
@@ -4261,7 +4234,7 @@ static void il4965_irq_tasklet(struct il_priv *il)
if (inta & ~(il->inta_mask)) {
IL_WARN("Disabled INTA bits 0x%08x were pending\n",
- inta & ~il->inta_mask);
+ inta & ~il->inta_mask);
IL_WARN(" with FH49_INT = 0x%08x\n", inta_fh);
}
@@ -4278,9 +4251,8 @@ static void il4965_irq_tasklet(struct il_priv *il)
inta = _il_rd(il, CSR_INT);
inta_mask = _il_rd(il, CSR_INT_MASK);
inta_fh = _il_rd(il, CSR_FH_INT_STATUS);
- D_ISR(
- "End inta 0x%08x, enabled 0x%08x, fh 0x%08x, "
- "flags 0x%08lx\n", inta, inta_mask, inta_fh, flags);
+ D_ISR("End inta 0x%08x, enabled 0x%08x, fh 0x%08x, "
+ "flags 0x%08lx\n", inta, inta_mask, inta_fh, flags);
}
#endif
}
@@ -4304,15 +4276,17 @@ static void il4965_irq_tasklet(struct il_priv *il)
* level that is used instead of the global debug level if it (the per
* device debug level) is set.
*/
-static ssize_t il4965_show_debug_level(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il4965_show_debug_level(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
return sprintf(buf, "0x%08X\n", il_get_debug_level(il));
}
-static ssize_t il4965_store_debug_level(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+
+static ssize_t
+il4965_store_debug_level(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
unsigned long val;
@@ -4324,21 +4298,19 @@ static ssize_t il4965_store_debug_level(struct device *d,
else {
il->debug_level = val;
if (il_alloc_traffic_mem(il))
- IL_ERR(
- "Not enough memory to generate traffic log\n");
+ IL_ERR("Not enough memory to generate traffic log\n");
}
return strnlen(buf, count);
}
-static DEVICE_ATTR(debug_level, S_IWUSR | S_IRUGO,
- il4965_show_debug_level, il4965_store_debug_level);
-
+static DEVICE_ATTR(debug_level, S_IWUSR | S_IRUGO, il4965_show_debug_level,
+ il4965_store_debug_level);
#endif /* CONFIG_IWLEGACY_DEBUG */
-
-static ssize_t il4965_show_temperature(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il4965_show_temperature(struct device *d, struct device_attribute *attr,
+ char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
@@ -4350,8 +4322,8 @@ static ssize_t il4965_show_temperature(struct device *d,
static DEVICE_ATTR(temperature, S_IRUGO, il4965_show_temperature, NULL);
-static ssize_t il4965_show_tx_power(struct device *d,
- struct device_attribute *attr, char *buf)
+static ssize_t
+il4965_show_tx_power(struct device *d, struct device_attribute *attr, char *buf)
{
struct il_priv *il = dev_get_drvdata(d);
@@ -4361,9 +4333,9 @@ static ssize_t il4965_show_tx_power(struct device *d,
return sprintf(buf, "%d\n", il->tx_power_user_lmt);
}
-static ssize_t il4965_store_tx_power(struct device *d,
- struct device_attribute *attr,
- const char *buf, size_t count)
+static ssize_t
+il4965_store_tx_power(struct device *d, struct device_attribute *attr,
+ const char *buf, size_t count)
{
struct il_priv *il = dev_get_drvdata(d);
unsigned long val;
@@ -4375,16 +4347,15 @@ static ssize_t il4965_store_tx_power(struct device *d,
else {
ret = il_set_tx_power(il, val, false);
if (ret)
- IL_ERR("failed setting tx power (0x%d).\n",
- ret);
+ IL_ERR("failed setting tx power (0x%d).\n", ret);
else
ret = count;
}
return ret;
}
-static DEVICE_ATTR(tx_power, S_IWUSR | S_IRUGO,
- il4965_show_tx_power, il4965_store_tx_power);
+static DEVICE_ATTR(tx_power, S_IWUSR | S_IRUGO, il4965_show_tx_power,
+ il4965_store_tx_power);
static struct attribute *il_sysfs_entries[] = {
&dev_attr_temperature.attr,
@@ -4406,7 +4377,8 @@ static struct attribute_group il_attribute_group = {
*
******************************************************************************/
-static void il4965_dealloc_ucode_pci(struct il_priv *il)
+static void
+il4965_dealloc_ucode_pci(struct il_priv *il)
{
il_free_fw_desc(il->pci_dev, &il->ucode_code);
il_free_fw_desc(il->pci_dev, &il->ucode_data);
@@ -4416,18 +4388,19 @@ static void il4965_dealloc_ucode_pci(struct il_priv *il)
il_free_fw_desc(il->pci_dev, &il->ucode_boot);
}
-static void il4965_nic_start(struct il_priv *il)
+static void
+il4965_nic_start(struct il_priv *il)
{
/* Remove all resets to allow NIC to operate */
_il_wr(il, CSR_RESET, 0);
}
static void il4965_ucode_callback(const struct firmware *ucode_raw,
- void *context);
-static int il4965_mac_setup_register(struct il_priv *il,
- u32 max_probe_length);
+ void *context);
+static int il4965_mac_setup_register(struct il_priv *il, u32 max_probe_length);
-static int __must_check il4965_request_firmware(struct il_priv *il, bool first)
+static int __must_check
+il4965_request_firmware(struct il_priv *il, bool first)
{
const char *name_pre = il->cfg->fw_name_pre;
char tag[8];
@@ -4447,8 +4420,7 @@ static int __must_check il4965_request_firmware(struct il_priv *il, bool first)
sprintf(il->firmware_name, "%s%s%s", name_pre, tag, ".ucode");
- D_INFO("attempting to load firmware '%s'\n",
- il->firmware_name);
+ D_INFO("attempting to load firmware '%s'\n", il->firmware_name);
return request_firmware_nowait(THIS_MODULE, 1, il->firmware_name,
&il->pci_dev->dev, GFP_KERNEL, il,
@@ -4460,9 +4432,9 @@ struct il4965_firmware_pieces {
size_t inst_size, data_size, init_size, init_data_size, boot_size;
};
-static int il4965_load_firmware(struct il_priv *il,
- const struct firmware *ucode_raw,
- struct il4965_firmware_pieces *pieces)
+static int
+il4965_load_firmware(struct il_priv *il, const struct firmware *ucode_raw,
+ struct il4965_firmware_pieces *pieces)
{
struct il_ucode_header *ucode = (void *)ucode_raw->data;
u32 api_ver, hdr_size;
@@ -4484,21 +4456,19 @@ static int il4965_load_firmware(struct il_priv *il,
pieces->inst_size = le32_to_cpu(ucode->v1.inst_size);
pieces->data_size = le32_to_cpu(ucode->v1.data_size);
pieces->init_size = le32_to_cpu(ucode->v1.init_size);
- pieces->init_data_size =
- le32_to_cpu(ucode->v1.init_data_size);
+ pieces->init_data_size = le32_to_cpu(ucode->v1.init_data_size);
pieces->boot_size = le32_to_cpu(ucode->v1.boot_size);
src = ucode->v1.data;
break;
}
/* Verify size of file vs. image size info in file's header */
- if (ucode_raw->size != hdr_size + pieces->inst_size +
- pieces->data_size + pieces->init_size +
- pieces->init_data_size + pieces->boot_size) {
+ if (ucode_raw->size !=
+ hdr_size + pieces->inst_size + pieces->data_size +
+ pieces->init_size + pieces->init_data_size + pieces->boot_size) {
- IL_ERR(
- "uCode file size %d does not match expected size\n",
- (int)ucode_raw->size);
+ IL_ERR("uCode file size %d does not match expected size\n",
+ (int)ucode_raw->size);
return -EINVAL;
}
@@ -4535,20 +4505,19 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
u32 max_probe_length = 200;
u32 standard_phy_calibration_size =
- IL_DEFAULT_STANDARD_PHY_CALIBRATE_TBL_SIZE;
+ IL_DEFAULT_STANDARD_PHY_CALIBRATE_TBL_SIZE;
memset(&pieces, 0, sizeof(pieces));
if (!ucode_raw) {
if (il->fw_idx <= il->cfg->ucode_api_max)
- IL_ERR(
- "request for firmware file '%s' failed.\n",
- il->firmware_name);
+ IL_ERR("request for firmware file '%s' failed.\n",
+ il->firmware_name);
goto try_again;
}
- D_INFO("Loaded firmware file '%s' (%zd bytes).\n",
- il->firmware_name, ucode_raw->size);
+ D_INFO("Loaded firmware file '%s' (%zd bytes).\n", il->firmware_name,
+ ucode_raw->size);
/* Make sure that we got at least the API version number */
if (ucode_raw->size < 4) {
@@ -4572,32 +4541,25 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
* on the API version read from firmware header from here on forward
*/
if (api_ver < api_min || api_ver > api_max) {
- IL_ERR(
- "Driver unable to support your firmware API. "
- "Driver supports v%u, firmware is v%u.\n",
- api_max, api_ver);
+ IL_ERR("Driver unable to support your firmware API. "
+ "Driver supports v%u, firmware is v%u.\n", api_max,
+ api_ver);
goto try_again;
}
if (api_ver != api_max)
- IL_ERR(
- "Firmware has old API version. Expected v%u, "
- "got v%u. New firmware can be obtained "
- "from http://www.intellinuxwireless.org.\n",
- api_max, api_ver);
+ IL_ERR("Firmware has old API version. Expected v%u, "
+ "got v%u. New firmware can be obtained "
+ "from http://www.intellinuxwireless.org.\n", api_max,
+ api_ver);
IL_INFO("loaded firmware version %u.%u.%u.%u\n",
- IL_UCODE_MAJOR(il->ucode_ver),
- IL_UCODE_MINOR(il->ucode_ver),
- IL_UCODE_API(il->ucode_ver),
- IL_UCODE_SERIAL(il->ucode_ver));
+ IL_UCODE_MAJOR(il->ucode_ver), IL_UCODE_MINOR(il->ucode_ver),
+ IL_UCODE_API(il->ucode_ver), IL_UCODE_SERIAL(il->ucode_ver));
- snprintf(il->hw->wiphy->fw_version,
- sizeof(il->hw->wiphy->fw_version),
- "%u.%u.%u.%u",
- IL_UCODE_MAJOR(il->ucode_ver),
- IL_UCODE_MINOR(il->ucode_ver),
- IL_UCODE_API(il->ucode_ver),
+ snprintf(il->hw->wiphy->fw_version, sizeof(il->hw->wiphy->fw_version),
+ "%u.%u.%u.%u", IL_UCODE_MAJOR(il->ucode_ver),
+ IL_UCODE_MINOR(il->ucode_ver), IL_UCODE_API(il->ucode_ver),
IL_UCODE_SERIAL(il->ucode_ver));
/*
@@ -4606,47 +4568,41 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
* user just got a corrupted version of the latest API.
*/
- D_INFO("f/w package hdr ucode version raw = 0x%x\n",
- il->ucode_ver);
- D_INFO("f/w package hdr runtime inst size = %Zd\n",
- pieces.inst_size);
- D_INFO("f/w package hdr runtime data size = %Zd\n",
- pieces.data_size);
- D_INFO("f/w package hdr init inst size = %Zd\n",
- pieces.init_size);
- D_INFO("f/w package hdr init data size = %Zd\n",
- pieces.init_data_size);
- D_INFO("f/w package hdr boot inst size = %Zd\n",
- pieces.boot_size);
+ D_INFO("f/w package hdr ucode version raw = 0x%x\n", il->ucode_ver);
+ D_INFO("f/w package hdr runtime inst size = %Zd\n", pieces.inst_size);
+ D_INFO("f/w package hdr runtime data size = %Zd\n", pieces.data_size);
+ D_INFO("f/w package hdr init inst size = %Zd\n", pieces.init_size);
+ D_INFO("f/w package hdr init data size = %Zd\n", pieces.init_data_size);
+ D_INFO("f/w package hdr boot inst size = %Zd\n", pieces.boot_size);
/* Verify that uCode images will fit in card's SRAM */
if (pieces.inst_size > il->hw_params.max_inst_size) {
IL_ERR("uCode instr len %Zd too large to fit in\n",
- pieces.inst_size);
+ pieces.inst_size);
goto try_again;
}
if (pieces.data_size > il->hw_params.max_data_size) {
IL_ERR("uCode data len %Zd too large to fit in\n",
- pieces.data_size);
+ pieces.data_size);
goto try_again;
}
if (pieces.init_size > il->hw_params.max_inst_size) {
IL_ERR("uCode init instr len %Zd too large to fit in\n",
- pieces.init_size);
+ pieces.init_size);
goto try_again;
}
if (pieces.init_data_size > il->hw_params.max_data_size) {
IL_ERR("uCode init data len %Zd too large to fit in\n",
- pieces.init_data_size);
+ pieces.init_data_size);
goto try_again;
}
if (pieces.boot_size > il->hw_params.max_bsm_size) {
IL_ERR("uCode boot instr len %Zd too large to fit in\n",
- pieces.boot_size);
+ pieces.boot_size);
goto try_again;
}
@@ -4697,41 +4653,39 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
/* Runtime instructions (first block of data in file) */
D_INFO("Copying (but not loading) uCode instr len %Zd\n",
- pieces.inst_size);
+ pieces.inst_size);
memcpy(il->ucode_code.v_addr, pieces.inst, pieces.inst_size);
D_INFO("uCode instr buf vaddr = 0x%p, paddr = 0x%08x\n",
- il->ucode_code.v_addr, (u32)il->ucode_code.p_addr);
+ il->ucode_code.v_addr, (u32) il->ucode_code.p_addr);
/*
* Runtime data
* NOTE: Copy into backup buffer will be done in il_up()
*/
D_INFO("Copying (but not loading) uCode data len %Zd\n",
- pieces.data_size);
+ pieces.data_size);
memcpy(il->ucode_data.v_addr, pieces.data, pieces.data_size);
memcpy(il->ucode_data_backup.v_addr, pieces.data, pieces.data_size);
/* Initialization instructions */
if (pieces.init_size) {
- D_INFO(
- "Copying (but not loading) init instr len %Zd\n",
- pieces.init_size);
+ D_INFO("Copying (but not loading) init instr len %Zd\n",
+ pieces.init_size);
memcpy(il->ucode_init.v_addr, pieces.init, pieces.init_size);
}
/* Initialization data */
if (pieces.init_data_size) {
- D_INFO(
- "Copying (but not loading) init data len %Zd\n",
- pieces.init_data_size);
+ D_INFO("Copying (but not loading) init data len %Zd\n",
+ pieces.init_data_size);
memcpy(il->ucode_init_data.v_addr, pieces.init_data,
pieces.init_data_size);
}
/* Bootstrap instructions */
D_INFO("Copying (but not loading) boot instr len %Zd\n",
- pieces.boot_size);
+ pieces.boot_size);
memcpy(il->ucode_boot.v_addr, pieces.boot, pieces.boot_size);
/*
@@ -4739,9 +4693,9 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
* base on the size of standard phy calibration commands table size
*/
il->_4965.phy_calib_chain_noise_reset_cmd =
- standard_phy_calibration_size;
+ standard_phy_calibration_size;
il->_4965.phy_calib_chain_noise_gain_cmd =
- standard_phy_calibration_size + 1;
+ standard_phy_calibration_size + 1;
/**************************************************
* This is still part of probe() in a sense...
@@ -4754,11 +4708,10 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
err = il_dbgfs_register(il, DRV_NAME);
if (err)
- IL_ERR(
- "failed to create debugfs files. Ignoring error: %d\n", err);
+ IL_ERR("failed to create debugfs files. Ignoring error: %d\n",
+ err);
- err = sysfs_create_group(&il->pci_dev->dev.kobj,
- &il_attribute_group);
+ err = sysfs_create_group(&il->pci_dev->dev.kobj, &il_attribute_group);
if (err) {
IL_ERR("failed to create sysfs device attributes\n");
goto out_unbind;
@@ -4769,23 +4722,23 @@ il4965_ucode_callback(const struct firmware *ucode_raw, void *context)
complete(&il->_4965.firmware_loading_complete);
return;
- try_again:
+try_again:
/* try next, if any */
if (il4965_request_firmware(il, false))
goto out_unbind;
release_firmware(ucode_raw);
return;
- err_pci_alloc:
+err_pci_alloc:
IL_ERR("failed to allocate pci memory\n");
il4965_dealloc_ucode_pci(il);
- out_unbind:
+out_unbind:
complete(&il->_4965.firmware_loading_complete);
device_release_driver(&il->pci_dev->dev);
release_firmware(ucode_raw);
}
-static const char * const desc_lookup_text[] = {
+static const char *const desc_lookup_text[] = {
"OK",
"FAIL",
"BAD_PARAM",
@@ -4816,26 +4769,30 @@ static const char * const desc_lookup_text[] = {
"DEBUG_3",
};
-static struct { char *name; u8 num; } advanced_lookup[] = {
- { "NMI_INTERRUPT_WDG", 0x34 },
- { "SYSASSERT", 0x35 },
- { "UCODE_VERSION_MISMATCH", 0x37 },
- { "BAD_COMMAND", 0x38 },
- { "NMI_INTERRUPT_DATA_ACTION_PT", 0x3C },
- { "FATAL_ERROR", 0x3D },
- { "NMI_TRM_HW_ERR", 0x46 },
- { "NMI_INTERRUPT_TRM", 0x4C },
- { "NMI_INTERRUPT_BREAK_POINT", 0x54 },
- { "NMI_INTERRUPT_WDG_RXF_FULL", 0x5C },
- { "NMI_INTERRUPT_WDG_NO_RBD_RXF_FULL", 0x64 },
- { "NMI_INTERRUPT_HOST", 0x66 },
- { "NMI_INTERRUPT_ACTION_PT", 0x7C },
- { "NMI_INTERRUPT_UNKNOWN", 0x84 },
- { "NMI_INTERRUPT_INST_ACTION_PT", 0x86 },
- { "ADVANCED_SYSASSERT", 0 },
-};
-
-static const char *il4965_desc_lookup(u32 num)
+static struct {
+ char *name;
+ u8 num;
+} advanced_lookup[] = {
+ {
+ "NMI_INTERRUPT_WDG", 0x34}, {
+ "SYSASSERT", 0x35}, {
+ "UCODE_VERSION_MISMATCH", 0x37}, {
+ "BAD_COMMAND", 0x38}, {
+ "NMI_INTERRUPT_DATA_ACTION_PT", 0x3C}, {
+ "FATAL_ERROR", 0x3D}, {
+ "NMI_TRM_HW_ERR", 0x46}, {
+ "NMI_INTERRUPT_TRM", 0x4C}, {
+ "NMI_INTERRUPT_BREAK_POINT", 0x54}, {
+ "NMI_INTERRUPT_WDG_RXF_FULL", 0x5C}, {
+ "NMI_INTERRUPT_WDG_NO_RBD_RXF_FULL", 0x64}, {
+ "NMI_INTERRUPT_HOST", 0x66}, {
+ "NMI_INTERRUPT_ACTION_PT", 0x7C}, {
+ "NMI_INTERRUPT_UNKNOWN", 0x84}, {
+ "NMI_INTERRUPT_INST_ACTION_PT", 0x86}, {
+"ADVANCED_SYSASSERT", 0},};
+
+static const char *
+il4965_desc_lookup(u32 num)
{
int i;
int max = ARRAY_SIZE(desc_lookup_text);
@@ -4854,7 +4811,8 @@ static const char *il4965_desc_lookup(u32 num)
#define ERROR_START_OFFSET (1 * sizeof(u32))
#define ERROR_ELEM_SIZE (7 * sizeof(u32))
-void il4965_dump_nic_error_log(struct il_priv *il)
+void
+il4965_dump_nic_error_log(struct il_priv *il)
{
u32 data2, line;
u32 desc, time, count, base, data1;
@@ -4868,9 +4826,8 @@ void il4965_dump_nic_error_log(struct il_priv *il)
}
if (!il->cfg->ops->lib->is_valid_rtc_data_addr(base)) {
- IL_ERR(
- "Not valid error log pointer 0x%08X for %s uCode\n",
- base, (il->ucode_type == UCODE_INIT) ? "Init" : "RT");
+ IL_ERR("Not valid error log pointer 0x%08X for %s uCode\n",
+ base, (il->ucode_type == UCODE_INIT) ? "Init" : "RT");
return;
}
@@ -4878,8 +4835,7 @@ void il4965_dump_nic_error_log(struct il_priv *il)
if (ERROR_START_OFFSET <= count * ERROR_ELEM_SIZE) {
IL_ERR("Start IWL Error Log Dump:\n");
- IL_ERR("Status: 0x%08lX, count: %d\n",
- il->status, count);
+ IL_ERR("Status: 0x%08lX, count: %d\n", il->status, count);
}
desc = il_read_targ_mem(il, base + 1 * sizeof(u32));
@@ -4896,15 +4852,16 @@ void il4965_dump_nic_error_log(struct il_priv *il)
hcmd = il_read_targ_mem(il, base + 22 * sizeof(u32));
IL_ERR("Desc Time "
- "data1 data2 line\n");
+ "data1 data2 line\n");
IL_ERR("%-28s (0x%04X) %010u 0x%08X 0x%08X %u\n",
- il4965_desc_lookup(desc), desc, time, data1, data2, line);
+ il4965_desc_lookup(desc), desc, time, data1, data2, line);
IL_ERR("pc blink1 blink2 ilink1 ilink2 hcmd\n");
- IL_ERR("0x%05X 0x%05X 0x%05X 0x%05X 0x%05X 0x%05X\n",
- pc, blink1, blink2, ilink1, ilink2, hcmd);
+ IL_ERR("0x%05X 0x%05X 0x%05X 0x%05X 0x%05X 0x%05X\n", pc, blink1,
+ blink2, ilink1, ilink2, hcmd);
}
-static void il4965_rf_kill_ct_config(struct il_priv *il)
+static void
+il4965_rf_kill_ct_config(struct il_priv *il)
{
struct il_ct_kill_config cmd;
unsigned long flags;
@@ -4912,21 +4869,19 @@ static void il4965_rf_kill_ct_config(struct il_priv *il)
spin_lock_irqsave(&il->lock, flags);
_il_wr(il, CSR_UCODE_DRV_GP1_CLR,
- CSR_UCODE_DRV_GP1_REG_BIT_CT_KILL_EXIT);
+ CSR_UCODE_DRV_GP1_REG_BIT_CT_KILL_EXIT);
spin_unlock_irqrestore(&il->lock, flags);
cmd.critical_temperature_R =
- cpu_to_le32(il->hw_params.ct_kill_threshold);
+ cpu_to_le32(il->hw_params.ct_kill_threshold);
- ret = il_send_cmd_pdu(il, C_CT_KILL_CONFIG,
- sizeof(cmd), &cmd);
+ ret = il_send_cmd_pdu(il, C_CT_KILL_CONFIG, sizeof(cmd), &cmd);
if (ret)
IL_ERR("C_CT_KILL_CONFIG failed\n");
else
- D_INFO("C_CT_KILL_CONFIG "
- "succeeded, "
- "critical temperature is %d\n",
- il->hw_params.ct_kill_threshold);
+ D_INFO("C_CT_KILL_CONFIG " "succeeded, "
+ "critical temperature is %d\n",
+ il->hw_params.ct_kill_threshold);
}
static const s8 default_queue_to_tx_fifo[] = {
@@ -4941,7 +4896,8 @@ static const s8 default_queue_to_tx_fifo[] = {
#define IL_MASK(lo, hi) ((1 << (hi)) | ((1 << (hi)) - (1 << (lo))))
-static int il4965_alive_notify(struct il_priv *il)
+static int
+il4965_alive_notify(struct il_priv *il)
{
u32 a;
unsigned long flags;
@@ -4951,32 +4907,32 @@ static int il4965_alive_notify(struct il_priv *il)
spin_lock_irqsave(&il->lock, flags);
/* Clear 4965's internal Tx Scheduler data base */
- il->scd_base_addr = il_rd_prph(il,
- IL49_SCD_SRAM_BASE_ADDR);
+ il->scd_base_addr = il_rd_prph(il, IL49_SCD_SRAM_BASE_ADDR);
a = il->scd_base_addr + IL49_SCD_CONTEXT_DATA_OFFSET;
for (; a < il->scd_base_addr + IL49_SCD_TX_STTS_BITMAP_OFFSET; a += 4)
il_write_targ_mem(il, a, 0);
for (; a < il->scd_base_addr + IL49_SCD_TRANSLATE_TBL_OFFSET; a += 4)
il_write_targ_mem(il, a, 0);
- for (; a < il->scd_base_addr +
- IL49_SCD_TRANSLATE_TBL_OFFSET_QUEUE(il->hw_params.max_txq_num); a += 4)
+ for (;
+ a <
+ il->scd_base_addr +
+ IL49_SCD_TRANSLATE_TBL_OFFSET_QUEUE(il->hw_params.max_txq_num);
+ a += 4)
il_write_targ_mem(il, a, 0);
/* Tel 4965 where to find Tx byte count tables */
- il_wr_prph(il, IL49_SCD_DRAM_BASE_ADDR,
- il->scd_bc_tbls.dma >> 10);
+ il_wr_prph(il, IL49_SCD_DRAM_BASE_ADDR, il->scd_bc_tbls.dma >> 10);
/* Enable DMA channel */
- for (chan = 0; chan < FH49_TCSR_CHNL_NUM ; chan++)
- il_wr(il,
- FH49_TCSR_CHNL_TX_CONFIG_REG(chan),
- FH49_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE |
- FH49_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE);
+ for (chan = 0; chan < FH49_TCSR_CHNL_NUM; chan++)
+ il_wr(il, FH49_TCSR_CHNL_TX_CONFIG_REG(chan),
+ FH49_TCSR_TX_CONFIG_REG_VAL_DMA_CHNL_ENABLE |
+ FH49_TCSR_TX_CONFIG_REG_VAL_DMA_CREDIT_ENABLE);
/* Update FH chicken bits */
reg_val = il_rd(il, FH49_TX_CHICKEN_BITS_REG);
il_wr(il, FH49_TX_CHICKEN_BITS_REG,
- reg_val | FH49_TX_CHICKEN_BITS_SCD_AUTO_RETRY_EN);
+ reg_val | FH49_TX_CHICKEN_BITS_SCD_AUTO_RETRY_EN);
/* Disable chain mode for all queues */
il_wr_prph(il, IL49_SCD_QUEUECHAIN_SEL, 0);
@@ -4989,23 +4945,25 @@ static int il4965_alive_notify(struct il_priv *il)
il_wr(il, HBUS_TARG_WRPTR, 0 | (i << 8));
/* Max Tx Window size for Scheduler-ACK mode */
- il_write_targ_mem(il, il->scd_base_addr +
- IL49_SCD_CONTEXT_QUEUE_OFFSET(i),
- (SCD_WIN_SIZE <<
- IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_POS) &
- IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_MSK);
+ il_write_targ_mem(il,
+ il->scd_base_addr +
+ IL49_SCD_CONTEXT_QUEUE_OFFSET(i),
+ (SCD_WIN_SIZE <<
+ IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_POS) &
+ IL49_SCD_QUEUE_CTX_REG1_WIN_SIZE_MSK);
/* Frame limit */
- il_write_targ_mem(il, il->scd_base_addr +
- IL49_SCD_CONTEXT_QUEUE_OFFSET(i) +
- sizeof(u32),
- (SCD_FRAME_LIMIT <<
- IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS) &
- IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK);
+ il_write_targ_mem(il,
+ il->scd_base_addr +
+ IL49_SCD_CONTEXT_QUEUE_OFFSET(i) +
+ sizeof(u32),
+ (SCD_FRAME_LIMIT <<
+ IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS) &
+ IL49_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK);
}
il_wr_prph(il, IL49_SCD_INTERRUPT_MASK,
- (1 << il->hw_params.max_txq_num) - 1);
+ (1 << il->hw_params.max_txq_num) - 1);
/* Activate all Tx DMA/FIFO channels */
il4965_txq_set_sched(il, IL_MASK(0, 6));
@@ -5043,7 +5001,8 @@ static int il4965_alive_notify(struct il_priv *il)
* from protocol/runtime uCode (initialization uCode's
* Alive gets handled by il_init_alive_start()).
*/
-static void il4965_alive_start(struct il_priv *il)
+static void
+il4965_alive_start(struct il_priv *il)
{
int ret = 0;
struct il_rxon_context *ctx = &il->ctx;
@@ -5069,12 +5028,10 @@ static void il4965_alive_start(struct il_priv *il)
ret = il4965_alive_notify(il);
if (ret) {
- IL_WARN(
- "Could not complete ALIVE transition [ntf]: %d\n", ret);
+ IL_WARN("Could not complete ALIVE transition [ntf]: %d\n", ret);
goto restart;
}
-
/* After the ALIVE response, we can send host commands to the uCode */
set_bit(S_ALIVE, &il->status);
@@ -5090,7 +5047,7 @@ static void il4965_alive_start(struct il_priv *il)
if (il_is_associated_ctx(ctx)) {
struct il_rxon_cmd *active_rxon =
- (struct il_rxon_cmd *)&ctx->active;
+ (struct il_rxon_cmd *)&ctx->active;
/* apply any changes in staging */
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
active_rxon->filter_flags &= ~RXON_FILTER_ASSOC_MSK;
@@ -5123,13 +5080,14 @@ static void il4965_alive_start(struct il_priv *il)
return;
- restart:
+restart:
queue_work(il->workqueue, &il->restart);
}
static void il4965_cancel_deferred_work(struct il_priv *il);
-static void __il4965_down(struct il_priv *il)
+static void
+__il4965_down(struct il_priv *il)
{
unsigned long flags;
int exit_pending;
@@ -5171,25 +5129,28 @@ static void __il4965_down(struct il_priv *il)
/* If we have not previously called il_init() then
* clear all bits but the RF Kill bit and return */
if (!il_is_init(il)) {
- il->status = test_bit(S_RF_KILL_HW, &il->status) <<
- S_RF_KILL_HW |
- test_bit(S_GEO_CONFIGURED, &il->status) <<
- S_GEO_CONFIGURED |
- test_bit(S_EXIT_PENDING, &il->status) <<
- S_EXIT_PENDING;
+ il->status =
+ test_bit(S_RF_KILL_HW,
+ &il->
+ status) << S_RF_KILL_HW |
+ test_bit(S_GEO_CONFIGURED,
+ &il->
+ status) << S_GEO_CONFIGURED |
+ test_bit(S_EXIT_PENDING, &il->status) << S_EXIT_PENDING;
goto exit;
}
/* ...otherwise clear out all the status bits but the RF Kill
* bit and continue taking the NIC down. */
- il->status &= test_bit(S_RF_KILL_HW, &il->status) <<
- S_RF_KILL_HW |
- test_bit(S_GEO_CONFIGURED, &il->status) <<
- S_GEO_CONFIGURED |
- test_bit(S_FW_ERROR, &il->status) <<
- S_FW_ERROR |
- test_bit(S_EXIT_PENDING, &il->status) <<
- S_EXIT_PENDING;
+ il->status &=
+ test_bit(S_RF_KILL_HW,
+ &il->status) << S_RF_KILL_HW | test_bit(S_GEO_CONFIGURED,
+ &il->
+ status) <<
+ S_GEO_CONFIGURED | test_bit(S_FW_ERROR,
+ &il->
+ status) << S_FW_ERROR |
+ test_bit(S_EXIT_PENDING, &il->status) << S_EXIT_PENDING;
il4965_txq_ctx_stop(il);
il4965_rxq_stop(il);
@@ -5199,13 +5160,12 @@ static void __il4965_down(struct il_priv *il)
udelay(5);
/* Make sure (redundant) we've released our request to stay awake */
- il_clear_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
+ il_clear_bit(il, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
/* Stop the device, and put it in low power state */
il_apm_stop(il);
- exit:
+exit:
memset(&il->card_alive, 0, sizeof(struct il_alive_resp));
dev_kfree_skb(il->beacon_skb);
@@ -5215,7 +5175,8 @@ static void __il4965_down(struct il_priv *il)
il4965_clear_free_frames(il);
}
-static void il4965_down(struct il_priv *il)
+static void
+il4965_down(struct il_priv *il)
{
mutex_lock(&il->mutex);
__il4965_down(il);
@@ -5226,29 +5187,30 @@ static void il4965_down(struct il_priv *il)
#define HW_READY_TIMEOUT (50)
-static int il4965_set_hw_ready(struct il_priv *il)
+static int
+il4965_set_hw_ready(struct il_priv *il)
{
int ret = 0;
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_NIC_READY);
+ CSR_HW_IF_CONFIG_REG_BIT_NIC_READY);
/* See if we got it */
- ret = _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_NIC_READY,
- CSR_HW_IF_CONFIG_REG_BIT_NIC_READY,
- HW_READY_TIMEOUT);
+ ret =
+ _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
+ CSR_HW_IF_CONFIG_REG_BIT_NIC_READY,
+ CSR_HW_IF_CONFIG_REG_BIT_NIC_READY, HW_READY_TIMEOUT);
if (ret != -ETIMEDOUT)
il->hw_ready = true;
else
il->hw_ready = false;
- D_INFO("hardware %s\n",
- (il->hw_ready == 1) ? "ready" : "not ready");
+ D_INFO("hardware %s\n", (il->hw_ready == 1) ? "ready" : "not ready");
return ret;
}
-static int il4965_prepare_card_hw(struct il_priv *il)
+static int
+il4965_prepare_card_hw(struct il_priv *il)
{
int ret = 0;
@@ -5259,12 +5221,12 @@ static int il4965_prepare_card_hw(struct il_priv *il)
return ret;
/* If HW is not ready, prepare the conditions to check again */
- il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_PREPARE);
+ il_set_bit(il, CSR_HW_IF_CONFIG_REG, CSR_HW_IF_CONFIG_REG_PREPARE);
- ret = _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
- ~CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE,
- CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE, 150000);
+ ret =
+ _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
+ ~CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE,
+ CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE, 150000);
/* HW should be ready by now, check again. */
if (ret != -ETIMEDOUT)
@@ -5275,7 +5237,8 @@ static int il4965_prepare_card_hw(struct il_priv *il)
#define MAX_HW_RESTARTS 5
-static int __il4965_up(struct il_priv *il)
+static int
+__il4965_up(struct il_priv *il)
{
int i;
int ret;
@@ -5304,8 +5267,7 @@ static int __il4965_up(struct il_priv *il)
}
/* If platform's RF_KILL switch is NOT set to KILL */
- if (_il_rd(il,
- CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
+ if (_il_rd(il, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
clear_bit(S_RF_KILL_HW, &il->status);
else
set_bit(S_RF_KILL_HW, &il->status);
@@ -5331,8 +5293,7 @@ static int __il4965_up(struct il_priv *il)
/* make sure rfkill handshake bits are cleared */
_il_wr(il, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_SW_BIT_RFKILL);
- _il_wr(il, CSR_UCODE_DRV_GP1_CLR,
- CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
+ _il_wr(il, CSR_UCODE_DRV_GP1_CLR, CSR_UCODE_DRV_GP1_BIT_CMD_BLOCKED);
/* clear (again), then enable host interrupts */
_il_wr(il, CSR_INT, 0xFFFFFFFF);
@@ -5356,8 +5317,7 @@ static int __il4965_up(struct il_priv *il)
ret = il->cfg->ops->lib->load_ucode(il);
if (ret) {
- IL_ERR("Unable to set up bootstrap uCode: %d\n",
- ret);
+ IL_ERR("Unable to set up bootstrap uCode: %d\n", ret);
continue;
}
@@ -5379,14 +5339,14 @@ static int __il4965_up(struct il_priv *il)
return -EIO;
}
-
/*****************************************************************************
*
* Workqueue callbacks
*
*****************************************************************************/
-static void il4965_bg_init_alive_start(struct work_struct *data)
+static void
+il4965_bg_init_alive_start(struct work_struct *data)
{
struct il_priv *il =
container_of(data, struct il_priv, init_alive_start.work);
@@ -5400,7 +5360,8 @@ out:
mutex_unlock(&il->mutex);
}
-static void il4965_bg_alive_start(struct work_struct *data)
+static void
+il4965_bg_alive_start(struct work_struct *data)
{
struct il_priv *il =
container_of(data, struct il_priv, alive_start.work);
@@ -5414,10 +5375,11 @@ out:
mutex_unlock(&il->mutex);
}
-static void il4965_bg_run_time_calib_work(struct work_struct *work)
+static void
+il4965_bg_run_time_calib_work(struct work_struct *work)
{
struct il_priv *il = container_of(work, struct il_priv,
- run_time_calib_work);
+ run_time_calib_work);
mutex_lock(&il->mutex);
@@ -5428,16 +5390,15 @@ static void il4965_bg_run_time_calib_work(struct work_struct *work)
}
if (il->start_calib) {
- il4965_chain_noise_calibration(il,
- (void *)&il->_4965.stats);
- il4965_sensitivity_calibration(il,
- (void *)&il->_4965.stats);
+ il4965_chain_noise_calibration(il, (void *)&il->_4965.stats);
+ il4965_sensitivity_calibration(il, (void *)&il->_4965.stats);
}
mutex_unlock(&il->mutex);
}
-static void il4965_bg_restart(struct work_struct *data)
+static void
+il4965_bg_restart(struct work_struct *data)
{
struct il_priv *il = container_of(data, struct il_priv, restart);
@@ -5468,10 +5429,10 @@ static void il4965_bg_restart(struct work_struct *data)
}
}
-static void il4965_bg_rx_replenish(struct work_struct *data)
+static void
+il4965_bg_rx_replenish(struct work_struct *data)
{
- struct il_priv *il =
- container_of(data, struct il_priv, rx_replenish);
+ struct il_priv *il = container_of(data, struct il_priv, rx_replenish);
if (test_bit(S_EXIT_PENDING, &il->status))
return;
@@ -5493,8 +5454,8 @@ static void il4965_bg_rx_replenish(struct work_struct *data)
* Not a mac80211 entry point function, but it fits in with all the
* other mac80211 functions grouped here.
*/
-static int il4965_mac_setup_register(struct il_priv *il,
- u32 max_probe_length)
+static int
+il4965_mac_setup_register(struct il_priv *il, u32 max_probe_length)
{
int ret;
struct ieee80211_hw *hw = il->hw;
@@ -5502,15 +5463,15 @@ static int il4965_mac_setup_register(struct il_priv *il,
hw->rate_control_algorithm = "iwl-4965-rs";
/* Tell mac80211 our characteristics */
- hw->flags = IEEE80211_HW_SIGNAL_DBM |
- IEEE80211_HW_AMPDU_AGGREGATION |
- IEEE80211_HW_NEED_DTIM_PERIOD |
- IEEE80211_HW_SPECTRUM_MGMT |
- IEEE80211_HW_REPORTS_TX_ACK_STATUS;
+ hw->flags =
+ IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_AMPDU_AGGREGATION |
+ IEEE80211_HW_NEED_DTIM_PERIOD | IEEE80211_HW_SPECTRUM_MGMT |
+ IEEE80211_HW_REPORTS_TX_ACK_STATUS;
if (il->cfg->sku & IL_SKU_N)
- hw->flags |= IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS |
- IEEE80211_HW_SUPPORTS_STATIC_SMPS;
+ hw->flags |=
+ IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS |
+ IEEE80211_HW_SUPPORTS_STATIC_SMPS;
hw->sta_data_size = sizeof(struct il_station_priv);
hw->vif_data_size = sizeof(struct il_vif_priv);
@@ -5518,8 +5479,8 @@ static int il4965_mac_setup_register(struct il_priv *il,
hw->wiphy->interface_modes |= il->ctx.interface_modes;
hw->wiphy->interface_modes |= il->ctx.exclusive_interface_modes;
- hw->wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY |
- WIPHY_FLAG_DISABLE_BEACON_HINTS;
+ hw->wiphy->flags |=
+ WIPHY_FLAG_CUSTOM_REGULATORY | WIPHY_FLAG_DISABLE_BEACON_HINTS;
/*
* For now, disable PS by default because it affects
@@ -5538,10 +5499,10 @@ static int il4965_mac_setup_register(struct il_priv *il,
if (il->bands[IEEE80211_BAND_2GHZ].n_channels)
il->hw->wiphy->bands[IEEE80211_BAND_2GHZ] =
- &il->bands[IEEE80211_BAND_2GHZ];
+ &il->bands[IEEE80211_BAND_2GHZ];
if (il->bands[IEEE80211_BAND_5GHZ].n_channels)
il->hw->wiphy->bands[IEEE80211_BAND_5GHZ] =
- &il->bands[IEEE80211_BAND_5GHZ];
+ &il->bands[IEEE80211_BAND_5GHZ];
il_leds_init(il);
@@ -5555,8 +5516,8 @@ static int il4965_mac_setup_register(struct il_priv *il,
return 0;
}
-
-int il4965_mac_start(struct ieee80211_hw *hw)
+int
+il4965_mac_start(struct ieee80211_hw *hw)
{
struct il_priv *il = hw->priv;
int ret;
@@ -5579,8 +5540,8 @@ int il4965_mac_start(struct ieee80211_hw *hw)
/* Wait for START_ALIVE from Run Time ucode. Otherwise callbacks from
* mac80211 will not be run successfully. */
ret = wait_event_timeout(il->wait_command_queue,
- test_bit(S_READY, &il->status),
- UCODE_READY_TIMEOUT);
+ test_bit(S_READY, &il->status),
+ UCODE_READY_TIMEOUT);
if (!ret) {
if (!test_bit(S_READY, &il->status)) {
IL_ERR("START_ALIVE timeout after %dms.\n",
@@ -5597,7 +5558,8 @@ out:
return 0;
}
-void il4965_mac_stop(struct ieee80211_hw *hw)
+void
+il4965_mac_stop(struct ieee80211_hw *hw)
{
struct il_priv *il = hw->priv;
@@ -5620,14 +5582,15 @@ void il4965_mac_stop(struct ieee80211_hw *hw)
D_MAC80211("leave\n");
}
-void il4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+void
+il4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
{
struct il_priv *il = hw->priv;
D_MACDUMP("enter\n");
D_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len,
- ieee80211_get_tx_rate(hw, IEEE80211_SKB_CB(skb))->bitrate);
+ ieee80211_get_tx_rate(hw, IEEE80211_SKB_CB(skb))->bitrate);
if (il4965_tx_skb(il, skb))
dev_kfree_skb_any(skb);
@@ -5635,26 +5598,26 @@ void il4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
D_MACDUMP("leave\n");
}
-void il4965_mac_update_tkip_key(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_key_conf *keyconf,
- struct ieee80211_sta *sta,
- u32 iv32, u16 *phase1key)
+void
+il4965_mac_update_tkip_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_key_conf *keyconf,
+ struct ieee80211_sta *sta, u32 iv32, u16 * phase1key)
{
struct il_priv *il = hw->priv;
struct il_vif_priv *vif_priv = (void *)vif->drv_priv;
D_MAC80211("enter\n");
- il4965_update_tkip_key(il, vif_priv->ctx, keyconf, sta,
- iv32, phase1key);
+ il4965_update_tkip_key(il, vif_priv->ctx, keyconf, sta, iv32,
+ phase1key);
D_MAC80211("leave\n");
}
-int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
- struct ieee80211_vif *vif, struct ieee80211_sta *sta,
- struct ieee80211_key_conf *key)
+int
+il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
+ struct ieee80211_vif *vif, struct ieee80211_sta *sta,
+ struct ieee80211_key_conf *key)
{
struct il_priv *il = hw->priv;
struct il_vif_priv *vif_priv = (void *)vif->drv_priv;
@@ -5684,23 +5647,23 @@ int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
* In legacy wep mode, we use another host command to the uCode.
*/
if ((key->cipher == WLAN_CIPHER_SUITE_WEP40 ||
- key->cipher == WLAN_CIPHER_SUITE_WEP104) &&
- !sta) {
+ key->cipher == WLAN_CIPHER_SUITE_WEP104) && !sta) {
if (cmd == SET_KEY)
is_default_wep_key = !ctx->key_mapping_keys;
else
is_default_wep_key =
- (key->hw_key_idx == HW_KEY_DEFAULT);
+ (key->hw_key_idx == HW_KEY_DEFAULT);
}
switch (cmd) {
case SET_KEY:
if (is_default_wep_key)
- ret = il4965_set_default_wep_key(il,
- vif_priv->ctx, key);
+ ret =
+ il4965_set_default_wep_key(il, vif_priv->ctx, key);
else
- ret = il4965_set_dynamic_key(il, vif_priv->ctx,
- key, sta_id);
+ ret =
+ il4965_set_dynamic_key(il, vif_priv->ctx, key,
+ sta_id);
D_MAC80211("enable hwcrypto key\n");
break;
@@ -5708,8 +5671,7 @@ int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
if (is_default_wep_key)
ret = il4965_remove_default_wep_key(il, ctx, key);
else
- ret = il4965_remove_dynamic_key(il, ctx,
- key, sta_id);
+ ret = il4965_remove_dynamic_key(il, ctx, key, sta_id);
D_MAC80211("disable hwcrypto key\n");
break;
@@ -5723,17 +5685,16 @@ int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
return ret;
}
-int il4965_mac_ampdu_action(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- enum ieee80211_ampdu_mlme_action action,
- struct ieee80211_sta *sta, u16 tid, u16 *ssn,
- u8 buf_size)
+int
+il4965_mac_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ enum ieee80211_ampdu_mlme_action action,
+ struct ieee80211_sta *sta, u16 tid, u16 * ssn,
+ u8 buf_size)
{
struct il_priv *il = hw->priv;
int ret = -EINVAL;
- D_HT("A-MPDU action on addr %pM tid %d\n",
- sta->addr, tid);
+ D_HT("A-MPDU action on addr %pM tid %d\n", sta->addr, tid);
if (!(il->cfg->sku & IL_SKU_N))
return -EACCES;
@@ -5770,9 +5731,9 @@ int il4965_mac_ampdu_action(struct ieee80211_hw *hw,
return ret;
}
-int il4965_mac_sta_add(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_sta *sta)
+int
+il4965_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta)
{
struct il_priv *il = hw->priv;
struct il_station_priv *sta_priv = (void *)sta->drv_priv;
@@ -5781,20 +5742,18 @@ int il4965_mac_sta_add(struct ieee80211_hw *hw,
int ret;
u8 sta_id;
- D_INFO("received request to add station %pM\n",
- sta->addr);
+ D_INFO("received request to add station %pM\n", sta->addr);
mutex_lock(&il->mutex);
- D_INFO("proceeding to add station %pM\n",
- sta->addr);
+ D_INFO("proceeding to add station %pM\n", sta->addr);
sta_priv->common.sta_id = IL_INVALID_STATION;
atomic_set(&sta_priv->pending_frames, 0);
- ret = il_add_station_common(il, vif_priv->ctx, sta->addr,
- is_ap, sta, &sta_id);
+ ret =
+ il_add_station_common(il, vif_priv->ctx, sta->addr, is_ap, sta,
+ &sta_id);
if (ret) {
- IL_ERR("Unable to add station %pM (%d)\n",
- sta->addr, ret);
+ IL_ERR("Unable to add station %pM (%d)\n", sta->addr, ret);
/* Should we return success if return code is EEXIST ? */
mutex_unlock(&il->mutex);
return ret;
@@ -5803,16 +5762,16 @@ int il4965_mac_sta_add(struct ieee80211_hw *hw,
sta_priv->common.sta_id = sta_id;
/* Initialize rate scaling */
- D_INFO("Initializing rate scaling for station %pM\n",
- sta->addr);
+ D_INFO("Initializing rate scaling for station %pM\n", sta->addr);
il4965_rs_rate_init(il, sta, sta_id);
mutex_unlock(&il->mutex);
return 0;
}
-void il4965_mac_channel_switch(struct ieee80211_hw *hw,
- struct ieee80211_channel_switch *ch_switch)
+void
+il4965_mac_channel_switch(struct ieee80211_hw *hw,
+ struct ieee80211_channel_switch *ch_switch)
{
struct il_priv *il = hw->priv;
const struct il_channel_info *ch_info;
@@ -5860,15 +5819,15 @@ void il4965_mac_channel_switch(struct ieee80211_hw *hw,
if (ctx->ht.enabled) {
if (conf_is_ht40_minus(conf)) {
ctx->ht.extension_chan_offset =
- IEEE80211_HT_PARAM_CHA_SEC_BELOW;
+ IEEE80211_HT_PARAM_CHA_SEC_BELOW;
ctx->ht.is_40mhz = true;
} else if (conf_is_ht40_plus(conf)) {
ctx->ht.extension_chan_offset =
- IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
+ IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
ctx->ht.is_40mhz = true;
} else {
ctx->ht.extension_chan_offset =
- IEEE80211_HT_PARAM_CHA_SEC_NONE;
+ IEEE80211_HT_PARAM_CHA_SEC_NONE;
ctx->ht.is_40mhz = false;
}
} else
@@ -5901,10 +5860,9 @@ out:
D_MAC80211("leave\n");
}
-void il4965_configure_filter(struct ieee80211_hw *hw,
- unsigned int changed_flags,
- unsigned int *total_flags,
- u64 multicast)
+void
+il4965_configure_filter(struct ieee80211_hw *hw, unsigned int changed_flags,
+ unsigned int *total_flags, u64 multicast)
{
struct il_priv *il = hw->priv;
__le32 filter_or = 0, filter_nand = 0;
@@ -5916,8 +5874,8 @@ void il4965_configure_filter(struct ieee80211_hw *hw,
filter_nand |= (flag); \
} while (0)
- D_MAC80211("Enter: changed: 0x%x, total: 0x%x\n",
- changed_flags, *total_flags);
+ D_MAC80211("Enter: changed: 0x%x, total: 0x%x\n", changed_flags,
+ *total_flags);
CHK(FIF_OTHER_BSS | FIF_PROMISC_IN_BSS, RXON_FILTER_PROMISC_MSK);
/* Setting _just_ RXON_FILTER_CTL2HOST_MSK causes FH errors */
@@ -5944,8 +5902,9 @@ void il4965_configure_filter(struct ieee80211_hw *hw,
* since we currently do not support programming multicast
* filters into the device.
*/
- *total_flags &= FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS |
- FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL;
+ *total_flags &=
+ FIF_OTHER_BSS | FIF_ALLMULTI | FIF_PROMISC_IN_BSS |
+ FIF_BCN_PRBRESP_PROMISC | FIF_CONTROL;
}
/*****************************************************************************
@@ -5954,10 +5913,11 @@ void il4965_configure_filter(struct ieee80211_hw *hw,
*
*****************************************************************************/
-static void il4965_bg_txpower_work(struct work_struct *work)
+static void
+il4965_bg_txpower_work(struct work_struct *work)
{
struct il_priv *il = container_of(work, struct il_priv,
- txpower_work);
+ txpower_work);
mutex_lock(&il->mutex);
@@ -5981,7 +5941,8 @@ out:
mutex_unlock(&il->mutex);
}
-static void il4965_setup_deferred_work(struct il_priv *il)
+static void
+il4965_setup_deferred_work(struct il_priv *il)
{
il->workqueue = create_singlethread_workqueue(DRV_NAME);
@@ -6005,11 +5966,13 @@ static void il4965_setup_deferred_work(struct il_priv *il)
il->watchdog.data = (unsigned long)il;
il->watchdog.function = il_bg_watchdog;
- tasklet_init(&il->irq_tasklet, (void (*)(unsigned long))
- il4965_irq_tasklet, (unsigned long)il);
+ tasklet_init(&il->irq_tasklet,
+ (void (*)(unsigned long))il4965_irq_tasklet,
+ (unsigned long)il);
}
-static void il4965_cancel_deferred_work(struct il_priv *il)
+static void
+il4965_cancel_deferred_work(struct il_priv *il)
{
cancel_work_sync(&il->txpower_work);
cancel_delayed_work_sync(&il->init_alive_start);
@@ -6021,14 +5984,14 @@ static void il4965_cancel_deferred_work(struct il_priv *il)
del_timer_sync(&il->stats_periodic);
}
-static void il4965_init_hw_rates(struct il_priv *il,
- struct ieee80211_rate *rates)
+static void
+il4965_init_hw_rates(struct il_priv *il, struct ieee80211_rate *rates)
{
int i;
for (i = 0; i < RATE_COUNT_LEGACY; i++) {
rates[i].bitrate = il_rates[i].ieee * 5;
- rates[i].hw_value = i; /* Rate scaling will work on idxes */
+ rates[i].hw_value = i; /* Rate scaling will work on idxes */
rates[i].hw_value_short = i;
rates[i].flags = 0;
if ((i >= IL_FIRST_CCK_RATE) && (i <= IL_LAST_CCK_RATE)) {
@@ -6036,24 +5999,25 @@ static void il4965_init_hw_rates(struct il_priv *il,
* If CCK != 1M then set short preamble rate flag.
*/
rates[i].flags |=
- (il_rates[i].plcp == RATE_1M_PLCP) ?
- 0 : IEEE80211_RATE_SHORT_PREAMBLE;
+ (il_rates[i].plcp ==
+ RATE_1M_PLCP) ? 0 : IEEE80211_RATE_SHORT_PREAMBLE;
}
}
}
+
/*
* Acquire il->lock before calling this function !
*/
-void il4965_set_wr_ptrs(struct il_priv *il, int txq_id, u32 idx)
+void
+il4965_set_wr_ptrs(struct il_priv *il, int txq_id, u32 idx)
{
- il_wr(il, HBUS_TARG_WRPTR,
- (idx & 0xff) | (txq_id << 8));
+ il_wr(il, HBUS_TARG_WRPTR, (idx & 0xff) | (txq_id << 8));
il_wr_prph(il, IL49_SCD_QUEUE_RDPTR(txq_id), idx);
}
-void il4965_tx_queue_set_status(struct il_priv *il,
- struct il_tx_queue *txq,
- int tx_fifo_id, int scd_retry)
+void
+il4965_tx_queue_set_status(struct il_priv *il, struct il_tx_queue *txq,
+ int tx_fifo_id, int scd_retry)
{
int txq_id = txq->q.id;
@@ -6062,21 +6026,22 @@ void il4965_tx_queue_set_status(struct il_priv *il,
/* Set up and activate */
il_wr_prph(il, IL49_SCD_QUEUE_STATUS_BITS(txq_id),
- (active << IL49_SCD_QUEUE_STTS_REG_POS_ACTIVE) |
- (tx_fifo_id << IL49_SCD_QUEUE_STTS_REG_POS_TXF) |
- (scd_retry << IL49_SCD_QUEUE_STTS_REG_POS_WSL) |
- (scd_retry << IL49_SCD_QUEUE_STTS_REG_POS_SCD_ACK) |
- IL49_SCD_QUEUE_STTS_REG_MSK);
+ (active << IL49_SCD_QUEUE_STTS_REG_POS_ACTIVE) | (tx_fifo_id
+ <<
+ IL49_SCD_QUEUE_STTS_REG_POS_TXF)
+ | (scd_retry << IL49_SCD_QUEUE_STTS_REG_POS_WSL) | (scd_retry
+ <<
+ IL49_SCD_QUEUE_STTS_REG_POS_SCD_ACK)
+ | IL49_SCD_QUEUE_STTS_REG_MSK);
txq->sched_retry = scd_retry;
- D_INFO("%s %s Queue %d on AC %d\n",
- active ? "Activate" : "Deactivate",
- scd_retry ? "BA" : "AC", txq_id, tx_fifo_id);
+ D_INFO("%s %s Queue %d on AC %d\n", active ? "Activate" : "Deactivate",
+ scd_retry ? "BA" : "AC", txq_id, tx_fifo_id);
}
-
-static int il4965_init_drv(struct il_priv *il)
+static int
+il4965_init_drv(struct il_priv *il)
{
int ret;
@@ -6100,8 +6065,7 @@ static int il4965_init_drv(struct il_priv *il)
/* Choose which receivers/antennas to use */
if (il->cfg->ops->hcmd->set_rxon_chain)
- il->cfg->ops->hcmd->set_rxon_chain(il,
- &il->ctx);
+ il->cfg->ops->hcmd->set_rxon_chain(il, &il->ctx);
il_init_scan_params(il);
@@ -6126,7 +6090,8 @@ err:
return ret;
}
-static void il4965_uninit_drv(struct il_priv *il)
+static void
+il4965_uninit_drv(struct il_priv *il)
{
il4965_calib_free_results(il);
il_free_geos(il);
@@ -6134,7 +6099,8 @@ static void il4965_uninit_drv(struct il_priv *il)
kfree(il->scan_cmd);
}
-static void il4965_hw_detect(struct il_priv *il)
+static void
+il4965_hw_detect(struct il_priv *il)
{
il->hw_rev = _il_rd(il, CSR_HW_REV);
il->hw_wa_rev = _il_rd(il, CSR_HW_REV_WA_REG);
@@ -6142,7 +6108,8 @@ static void il4965_hw_detect(struct il_priv *il)
D_INFO("HW Revision ID = 0x%X\n", il->rev_id);
}
-static int il4965_set_hw_params(struct il_priv *il)
+static int
+il4965_set_hw_params(struct il_priv *il)
{
il->hw_params.max_rxq_size = RX_QUEUE_SIZE;
il->hw_params.max_rxq_log = RX_QUEUE_SIZE_LOG;
@@ -6205,10 +6172,8 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
il->ctx.wep_key_cmd = C_WEPKEY;
il->ctx.ac_to_fifo = il4965_bss_ac_to_fifo;
il->ctx.ac_to_queue = il4965_bss_ac_to_queue;
- il->ctx.exclusive_interface_modes =
- BIT(NL80211_IFTYPE_ADHOC);
- il->ctx.interface_modes =
- BIT(NL80211_IFTYPE_STATION);
+ il->ctx.exclusive_interface_modes = BIT(NL80211_IFTYPE_ADHOC);
+ il->ctx.interface_modes = BIT(NL80211_IFTYPE_STATION);
il->ctx.ap_devtype = RXON_DEV_TYPE_AP;
il->ctx.ibss_devtype = RXON_DEV_TYPE_IBSS;
il->ctx.station_devtype = RXON_DEV_TYPE_ESS;
@@ -6227,8 +6192,9 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
/**************************
* 2. Initializing PCI bus
**************************/
- pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
- PCIE_LINK_STATE_CLKPM);
+ pci_disable_link_state(pdev,
+ PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 |
+ PCIE_LINK_STATE_CLKPM);
if (pci_enable_device(pdev)) {
err = -ENODEV;
@@ -6243,8 +6209,8 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
if (err) {
err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
if (!err)
- err = pci_set_consistent_dma_mask(pdev,
- DMA_BIT_MASK(32));
+ err =
+ pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
/* both attempts failed: */
if (err) {
IL_WARN("No suitable DMA available.\n");
@@ -6258,7 +6224,6 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_set_drvdata(pdev, il);
-
/***********************
* 3. Read REV register
***********************/
@@ -6269,7 +6234,7 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
}
D_INFO("pci_resource_len = 0x%08llx\n",
- (unsigned long long) pci_resource_len(pdev, 0));
+ (unsigned long long)pci_resource_len(pdev, 0));
D_INFO("pci_resource_base = %p\n", il->hw_base);
/* these spin locks will be used in apm_ops.init and EEPROM access
@@ -6286,8 +6251,7 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
_il_wr(il, CSR_RESET, CSR_RESET_REG_FLAG_NEVO_RESET);
il4965_hw_detect(il);
- IL_INFO("Detected %s, REV=0x%X\n",
- il->cfg->name, il->hw_rev);
+ IL_INFO("Detected %s, REV=0x%X\n", il->cfg->name, il->hw_rev);
/* We disable the RETRY_TIMEOUT register (0x41) to keep
* PCI Tx retries from interfering with C3 CPU state */
@@ -6347,8 +6311,7 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
pci_enable_msi(il->pci_dev);
- err = request_irq(il->pci_dev->irq, il_isr,
- IRQF_SHARED, DRV_NAME, il);
+ err = request_irq(il->pci_dev->irq, il_isr, IRQF_SHARED, DRV_NAME, il);
if (err) {
IL_ERR("Error allocating IRQ %d\n", il->pci_dev->irq);
goto out_disable_msi;
@@ -6371,14 +6334,13 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
il_enable_rfkill_int(il);
/* If platform's RF_KILL switch is NOT set to KILL */
- if (_il_rd(il, CSR_GP_CNTRL) &
- CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
+ if (_il_rd(il, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW)
clear_bit(S_RF_KILL_HW, &il->status);
else
set_bit(S_RF_KILL_HW, &il->status);
wiphy_rfkill_set_hw_state(il->hw->wiphy,
- test_bit(S_RF_KILL_HW, &il->status));
+ test_bit(S_RF_KILL_HW, &il->status));
il_power_initialize(il);
@@ -6390,30 +6352,31 @@ il4965_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
return 0;
- out_destroy_workqueue:
+out_destroy_workqueue:
destroy_workqueue(il->workqueue);
il->workqueue = NULL;
free_irq(il->pci_dev->irq, il);
- out_disable_msi:
+out_disable_msi:
pci_disable_msi(il->pci_dev);
il4965_uninit_drv(il);
- out_free_eeprom:
+out_free_eeprom:
il_eeprom_free(il);
- out_iounmap:
+out_iounmap:
pci_iounmap(pdev, il->hw_base);
- out_pci_release_regions:
+out_pci_release_regions:
pci_set_drvdata(pdev, NULL);
pci_release_regions(pdev);
- out_pci_disable_device:
+out_pci_disable_device:
pci_disable_device(pdev);
- out_ieee80211_free_hw:
+out_ieee80211_free_hw:
il_free_traffic_mem(il);
ieee80211_free_hw(il->hw);
- out:
+out:
return err;
}
-static void __devexit il4965_pci_remove(struct pci_dev *pdev)
+static void __devexit
+il4965_pci_remove(struct pci_dev *pdev)
{
struct il_priv *il = pci_get_drvdata(pdev);
unsigned long flags;
@@ -6469,7 +6432,6 @@ static void __devexit il4965_pci_remove(struct pci_dev *pdev)
il_eeprom_free(il);
-
/*netif_stop_queue(dev); */
flush_workqueue(il->workqueue);
@@ -6498,7 +6460,8 @@ static void __devexit il4965_pci_remove(struct pci_dev *pdev)
* Activate/Deactivate Tx DMA/FIFO channels according tx fifos mask
* must be called under il->lock and mac access
*/
-void il4965_txq_set_sched(struct il_priv *il, u32 mask)
+void
+il4965_txq_set_sched(struct il_priv *il, u32 mask)
{
il_wr_prph(il, IL49_SCD_TXFACT, mask);
}
@@ -6525,7 +6488,8 @@ static struct pci_driver il4965_driver = {
.driver.pm = IL_LEGACY_PM_OPS,
};
-static int __init il4965_init(void)
+static int __init
+il4965_init(void)
{
int ret;
@@ -6551,7 +6515,8 @@ error_register:
return ret;
}
-static void __exit il4965_exit(void)
+static void __exit
+il4965_exit(void)
{
pci_unregister_driver(&il4965_driver);
il4965_rate_control_unregister();
@@ -6571,8 +6536,8 @@ module_param_named(queues_num, il4965_mod_params.num_of_queues, int, S_IRUGO);
MODULE_PARM_DESC(queues_num, "number of hw queues.");
module_param_named(11n_disable, il4965_mod_params.disable_11n, int, S_IRUGO);
MODULE_PARM_DESC(11n_disable, "disable 11n functionality");
-module_param_named(amsdu_size_8K, il4965_mod_params.amsdu_size_8K,
- int, S_IRUGO);
+module_param_named(amsdu_size_8K, il4965_mod_params.amsdu_size_8K, int,
+ S_IRUGO);
MODULE_PARM_DESC(amsdu_size_8K, "enable 8K amsdu size");
module_param_named(fw_restart, il4965_mod_params.restart_fw, int, S_IRUGO);
MODULE_PARM_DESC(fw_restart, "restart firmware in case of error");
diff --git a/drivers/net/wireless/iwlegacy/4965-rs.c b/drivers/net/wireless/iwlegacy/4965-rs.c
index f9db9df2132..3ea23615705 100644
--- a/drivers/net/wireless/iwlegacy/4965-rs.c
+++ b/drivers/net/wireless/iwlegacy/4965-rs.c
@@ -95,22 +95,23 @@ static const u8 ant_toggle_lookup[] = {
*
*/
const struct il_rate_info il_rates[RATE_COUNT] = {
- IL_DECLARE_RATE_INFO(1, INV, INV, 2, INV, 2, INV, 2), /* 1mbps */
- IL_DECLARE_RATE_INFO(2, INV, 1, 5, 1, 5, 1, 5), /* 2mbps */
- IL_DECLARE_RATE_INFO(5, INV, 2, 6, 2, 11, 2, 11), /*5.5mbps */
- IL_DECLARE_RATE_INFO(11, INV, 9, 12, 9, 12, 5, 18), /* 11mbps */
- IL_DECLARE_RATE_INFO(6, 6, 5, 9, 5, 11, 5, 11), /* 6mbps */
- IL_DECLARE_RATE_INFO(9, 6, 6, 11, 6, 11, 5, 11), /* 9mbps */
- IL_DECLARE_RATE_INFO(12, 12, 11, 18, 11, 18, 11, 18), /* 12mbps */
- IL_DECLARE_RATE_INFO(18, 18, 12, 24, 12, 24, 11, 24), /* 18mbps */
- IL_DECLARE_RATE_INFO(24, 24, 18, 36, 18, 36, 18, 36), /* 24mbps */
- IL_DECLARE_RATE_INFO(36, 36, 24, 48, 24, 48, 24, 48), /* 36mbps */
- IL_DECLARE_RATE_INFO(48, 48, 36, 54, 36, 54, 36, 54), /* 48mbps */
- IL_DECLARE_RATE_INFO(54, 54, 48, INV, 48, INV, 48, INV),/* 54mbps */
- IL_DECLARE_RATE_INFO(60, 60, 48, INV, 48, INV, 48, INV),/* 60mbps */
+ IL_DECLARE_RATE_INFO(1, INV, INV, 2, INV, 2, INV, 2), /* 1mbps */
+ IL_DECLARE_RATE_INFO(2, INV, 1, 5, 1, 5, 1, 5), /* 2mbps */
+ IL_DECLARE_RATE_INFO(5, INV, 2, 6, 2, 11, 2, 11), /*5.5mbps */
+ IL_DECLARE_RATE_INFO(11, INV, 9, 12, 9, 12, 5, 18), /* 11mbps */
+ IL_DECLARE_RATE_INFO(6, 6, 5, 9, 5, 11, 5, 11), /* 6mbps */
+ IL_DECLARE_RATE_INFO(9, 6, 6, 11, 6, 11, 5, 11), /* 9mbps */
+ IL_DECLARE_RATE_INFO(12, 12, 11, 18, 11, 18, 11, 18), /* 12mbps */
+ IL_DECLARE_RATE_INFO(18, 18, 12, 24, 12, 24, 11, 24), /* 18mbps */
+ IL_DECLARE_RATE_INFO(24, 24, 18, 36, 18, 36, 18, 36), /* 24mbps */
+ IL_DECLARE_RATE_INFO(36, 36, 24, 48, 24, 48, 24, 48), /* 36mbps */
+ IL_DECLARE_RATE_INFO(48, 48, 36, 54, 36, 54, 36, 54), /* 48mbps */
+ IL_DECLARE_RATE_INFO(54, 54, 48, INV, 48, INV, 48, INV), /* 54mbps */
+ IL_DECLARE_RATE_INFO(60, 60, 48, INV, 48, INV, 48, INV), /* 60mbps */
};
-static int il4965_hwrate_to_plcp_idx(u32 rate_n_flags)
+static int
+il4965_hwrate_to_plcp_idx(u32 rate_n_flags)
{
int idx = 0;
@@ -122,13 +123,13 @@ static int il4965_hwrate_to_plcp_idx(u32 rate_n_flags)
idx = idx - RATE_MIMO2_6M_PLCP;
idx += IL_FIRST_OFDM_RATE;
- /* skip 9M not supported in ht*/
+ /* skip 9M not supported in ht */
if (idx >= RATE_9M_IDX)
idx += 1;
if (idx >= IL_FIRST_OFDM_RATE && idx <= IL_LAST_OFDM_RATE)
return idx;
- /* legacy rate format, search for match in table */
+ /* legacy rate format, search for match in table */
} else {
for (idx = 0; idx < ARRAY_SIZE(il_rates); idx++)
if (il_rates[idx].plcp == (rate_n_flags & 0xFF))
@@ -139,21 +140,22 @@ static int il4965_hwrate_to_plcp_idx(u32 rate_n_flags)
}
static void il4965_rs_rate_scale_perform(struct il_priv *il,
- struct sk_buff *skb,
- struct ieee80211_sta *sta,
- struct il_lq_sta *lq_sta);
+ struct sk_buff *skb,
+ struct ieee80211_sta *sta,
+ struct il_lq_sta *lq_sta);
static void il4965_rs_fill_link_cmd(struct il_priv *il,
- struct il_lq_sta *lq_sta, u32 rate_n_flags);
+ struct il_lq_sta *lq_sta, u32 rate_n_flags);
static void il4965_rs_stay_in_table(struct il_lq_sta *lq_sta,
- bool force_search);
+ bool force_search);
#ifdef CONFIG_MAC80211_DEBUGFS
static void il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta,
- u32 *rate_n_flags, int idx);
+ u32 * rate_n_flags, int idx);
#else
-static void il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta,
- u32 *rate_n_flags, int idx)
-{}
+static void
+il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta, u32 * rate_n_flags, int idx)
+{
+}
#endif
/**
@@ -172,55 +174,56 @@ static s32 expected_tpt_legacy[RATE_COUNT] = {
};
static s32 expected_tpt_siso20MHz[4][RATE_COUNT] = {
- {0, 0, 0, 0, 42, 0, 76, 102, 124, 158, 183, 193, 202}, /* Norm */
- {0, 0, 0, 0, 46, 0, 82, 110, 132, 167, 192, 202, 210}, /* SGI */
- {0, 0, 0, 0, 48, 0, 93, 135, 176, 251, 319, 351, 381}, /* AGG */
- {0, 0, 0, 0, 53, 0, 102, 149, 193, 275, 348, 381, 413}, /* AGG+SGI */
+ {0, 0, 0, 0, 42, 0, 76, 102, 124, 158, 183, 193, 202}, /* Norm */
+ {0, 0, 0, 0, 46, 0, 82, 110, 132, 167, 192, 202, 210}, /* SGI */
+ {0, 0, 0, 0, 48, 0, 93, 135, 176, 251, 319, 351, 381}, /* AGG */
+ {0, 0, 0, 0, 53, 0, 102, 149, 193, 275, 348, 381, 413}, /* AGG+SGI */
};
static s32 expected_tpt_siso40MHz[4][RATE_COUNT] = {
- {0, 0, 0, 0, 77, 0, 127, 160, 184, 220, 242, 250, 257}, /* Norm */
- {0, 0, 0, 0, 83, 0, 135, 169, 193, 229, 250, 257, 264}, /* SGI */
- {0, 0, 0, 0, 96, 0, 182, 259, 328, 451, 553, 598, 640}, /* AGG */
- {0, 0, 0, 0, 106, 0, 199, 282, 357, 487, 593, 640, 683}, /* AGG+SGI */
+ {0, 0, 0, 0, 77, 0, 127, 160, 184, 220, 242, 250, 257}, /* Norm */
+ {0, 0, 0, 0, 83, 0, 135, 169, 193, 229, 250, 257, 264}, /* SGI */
+ {0, 0, 0, 0, 96, 0, 182, 259, 328, 451, 553, 598, 640}, /* AGG */
+ {0, 0, 0, 0, 106, 0, 199, 282, 357, 487, 593, 640, 683}, /* AGG+SGI */
};
static s32 expected_tpt_mimo2_20MHz[4][RATE_COUNT] = {
- {0, 0, 0, 0, 74, 0, 123, 155, 179, 213, 235, 243, 250}, /* Norm */
- {0, 0, 0, 0, 81, 0, 131, 164, 187, 221, 242, 250, 256}, /* SGI */
- {0, 0, 0, 0, 92, 0, 175, 250, 317, 436, 534, 578, 619}, /* AGG */
- {0, 0, 0, 0, 102, 0, 192, 273, 344, 470, 573, 619, 660}, /* AGG+SGI*/
+ {0, 0, 0, 0, 74, 0, 123, 155, 179, 213, 235, 243, 250}, /* Norm */
+ {0, 0, 0, 0, 81, 0, 131, 164, 187, 221, 242, 250, 256}, /* SGI */
+ {0, 0, 0, 0, 92, 0, 175, 250, 317, 436, 534, 578, 619}, /* AGG */
+ {0, 0, 0, 0, 102, 0, 192, 273, 344, 470, 573, 619, 660}, /* AGG+SGI */
};
static s32 expected_tpt_mimo2_40MHz[4][RATE_COUNT] = {
- {0, 0, 0, 0, 123, 0, 182, 214, 235, 264, 279, 285, 289}, /* Norm */
- {0, 0, 0, 0, 131, 0, 191, 222, 242, 270, 284, 289, 293}, /* SGI */
- {0, 0, 0, 0, 180, 0, 327, 446, 545, 708, 828, 878, 922}, /* AGG */
- {0, 0, 0, 0, 197, 0, 355, 481, 584, 752, 872, 922, 966}, /* AGG+SGI */
+ {0, 0, 0, 0, 123, 0, 182, 214, 235, 264, 279, 285, 289}, /* Norm */
+ {0, 0, 0, 0, 131, 0, 191, 222, 242, 270, 284, 289, 293}, /* SGI */
+ {0, 0, 0, 0, 180, 0, 327, 446, 545, 708, 828, 878, 922}, /* AGG */
+ {0, 0, 0, 0, 197, 0, 355, 481, 584, 752, 872, 922, 966}, /* AGG+SGI */
};
/* mbps, mcs */
static const struct il_rate_mcs_info il_rate_mcs[RATE_COUNT] = {
- { "1", "BPSK DSSS"},
- { "2", "QPSK DSSS"},
+ {"1", "BPSK DSSS"},
+ {"2", "QPSK DSSS"},
{"5.5", "BPSK CCK"},
- { "11", "QPSK CCK"},
- { "6", "BPSK 1/2"},
- { "9", "BPSK 1/2"},
- { "12", "QPSK 1/2"},
- { "18", "QPSK 3/4"},
- { "24", "16QAM 1/2"},
- { "36", "16QAM 3/4"},
- { "48", "64QAM 2/3"},
- { "54", "64QAM 3/4"},
- { "60", "64QAM 5/6"},
+ {"11", "QPSK CCK"},
+ {"6", "BPSK 1/2"},
+ {"9", "BPSK 1/2"},
+ {"12", "QPSK 1/2"},
+ {"18", "QPSK 3/4"},
+ {"24", "16QAM 1/2"},
+ {"36", "16QAM 3/4"},
+ {"48", "64QAM 2/3"},
+ {"54", "64QAM 3/4"},
+ {"60", "64QAM 5/6"},
};
#define MCS_IDX_PER_STREAM (8)
-static inline u8 il4965_rs_extract_rate(u32 rate_n_flags)
+static inline u8
+il4965_rs_extract_rate(u32 rate_n_flags)
{
- return (u8)(rate_n_flags & 0xFF);
+ return (u8) (rate_n_flags & 0xFF);
}
static void
@@ -234,7 +237,8 @@ il4965_rs_rate_scale_clear_win(struct il_rate_scale_data *win)
win->stamp = 0;
}
-static inline u8 il4965_rs_is_valid_ant(u8 valid_antenna, u8 ant_type)
+static inline u8
+il4965_rs_is_valid_ant(u8 valid_antenna, u8 ant_type)
{
return (ant_type & valid_antenna) == ant_type;
}
@@ -264,8 +268,8 @@ il4965_rs_tl_rm_old_stats(struct il_traffic_load *tl, u32 curr_time)
* increment traffic load value for tid and also remove
* any old values if passed the certain time period
*/
-static u8 il4965_rs_tl_add_packet(struct il_lq_sta *lq_data,
- struct ieee80211_hdr *hdr)
+static u8
+il4965_rs_tl_add_packet(struct il_lq_sta *lq_data, struct ieee80211_hdr *hdr)
{
u32 curr_time = jiffies_to_msecs(jiffies);
u32 time_diff;
@@ -317,7 +321,8 @@ static u8 il4965_rs_tl_add_packet(struct il_lq_sta *lq_data,
/*
get the traffic load value for tid
*/
-static u32 il4965_rs_tl_get_load(struct il_lq_sta *lq_data, u8 tid)
+static u32
+il4965_rs_tl_get_load(struct il_lq_sta *lq_data, u8 tid)
{
u32 curr_time = jiffies_to_msecs(jiffies);
u32 time_diff;
@@ -345,9 +350,9 @@ static u32 il4965_rs_tl_get_load(struct il_lq_sta *lq_data, u8 tid)
return tl->total;
}
-static int il4965_rs_tl_turn_on_agg_for_tid(struct il_priv *il,
- struct il_lq_sta *lq_data, u8 tid,
- struct ieee80211_sta *sta)
+static int
+il4965_rs_tl_turn_on_agg_for_tid(struct il_priv *il, struct il_lq_sta *lq_data,
+ u8 tid, struct ieee80211_sta *sta)
{
int ret = -EAGAIN;
u32 load;
@@ -355,8 +360,7 @@ static int il4965_rs_tl_turn_on_agg_for_tid(struct il_priv *il,
load = il4965_rs_tl_get_load(lq_data, tid);
if (load > IL_AGG_LOAD_THRESHOLD) {
- D_HT("Starting Tx agg: STA: %pM tid: %d\n",
- sta->addr, tid);
+ D_HT("Starting Tx agg: STA: %pM tid: %d\n", sta->addr, tid);
ret = ieee80211_start_tx_ba_session(sta, tid, 5000);
if (ret == -EAGAIN) {
/*
@@ -364,33 +368,33 @@ static int il4965_rs_tl_turn_on_agg_for_tid(struct il_priv *il,
* this might be cause by reloading firmware
* stop the tx ba session here
*/
- IL_ERR("Fail start Tx agg on tid: %d\n",
- tid);
+ IL_ERR("Fail start Tx agg on tid: %d\n", tid);
ieee80211_stop_tx_ba_session(sta, tid);
}
} else {
IL_ERR("Aggregation not enabled for tid %d "
- "because load = %u\n", tid, load);
+ "because load = %u\n", tid, load);
}
return ret;
}
-static void il4965_rs_tl_turn_on_agg(struct il_priv *il, u8 tid,
- struct il_lq_sta *lq_data,
- struct ieee80211_sta *sta)
+static void
+il4965_rs_tl_turn_on_agg(struct il_priv *il, u8 tid, struct il_lq_sta *lq_data,
+ struct ieee80211_sta *sta)
{
if (tid < TID_MAX_LOAD_COUNT)
il4965_rs_tl_turn_on_agg_for_tid(il, lq_data, tid, sta);
else
- IL_ERR("tid exceeds max load count: %d/%d\n",
- tid, TID_MAX_LOAD_COUNT);
+ IL_ERR("tid exceeds max load count: %d/%d\n", tid,
+ TID_MAX_LOAD_COUNT);
}
-static inline int il4965_get_il4965_num_of_ant_from_rate(u32 rate_n_flags)
+static inline int
+il4965_get_il4965_num_of_ant_from_rate(u32 rate_n_flags)
{
return !!(rate_n_flags & RATE_MCS_ANT_A_MSK) +
- !!(rate_n_flags & RATE_MCS_ANT_B_MSK) +
- !!(rate_n_flags & RATE_MCS_ANT_C_MSK);
+ !!(rate_n_flags & RATE_MCS_ANT_B_MSK) +
+ !!(rate_n_flags & RATE_MCS_ANT_C_MSK);
}
/*
@@ -412,11 +416,12 @@ il4965_get_expected_tpt(struct il_scale_tbl_info *tbl, int rs_idx)
* at this rate. win->data contains the bitmask of successful
* packets.
*/
-static int il4965_rs_collect_tx_data(struct il_scale_tbl_info *tbl,
- int scale_idx, int attempts, int successes)
+static int
+il4965_rs_collect_tx_data(struct il_scale_tbl_info *tbl, int scale_idx,
+ int attempts, int successes)
{
struct il_rate_scale_data *win = NULL;
- static const u64 mask = (((u64)1) << (RATE_MAX_WINDOW - 1));
+ static const u64 mask = (((u64) 1) << (RATE_MAX_WINDOW - 1));
s32 fail_count, tpt;
if (scale_idx < 0 || scale_idx >= RATE_COUNT)
@@ -466,8 +471,8 @@ static int il4965_rs_collect_tx_data(struct il_scale_tbl_info *tbl,
/* Calculate current success ratio, avoid divide-by-0! */
if (win->counter > 0)
- win->success_ratio = 128 * (100 * win->success_counter)
- / win->counter;
+ win->success_ratio =
+ 128 * (100 * win->success_counter) / win->counter;
else
win->success_ratio = IL_INVALID_VALUE;
@@ -489,9 +494,9 @@ static int il4965_rs_collect_tx_data(struct il_scale_tbl_info *tbl,
/*
* Fill uCode API rate_n_flags field, based on "search" or "active" table.
*/
-static u32 il4965_rate_n_flags_from_tbl(struct il_priv *il,
- struct il_scale_tbl_info *tbl,
- int idx, u8 use_green)
+static u32
+il4965_rate_n_flags_from_tbl(struct il_priv *il, struct il_scale_tbl_info *tbl,
+ int idx, u8 use_green)
{
u32 rate_n_flags = 0;
@@ -508,15 +513,15 @@ static u32 il4965_rate_n_flags_from_tbl(struct il_priv *il,
rate_n_flags = RATE_MCS_HT_MSK;
if (is_siso(tbl->lq_type))
- rate_n_flags |= il_rates[idx].plcp_siso;
+ rate_n_flags |= il_rates[idx].plcp_siso;
else
- rate_n_flags |= il_rates[idx].plcp_mimo2;
+ rate_n_flags |= il_rates[idx].plcp_mimo2;
} else {
IL_ERR("Invalid tbl->lq_type %d\n", tbl->lq_type);
}
- rate_n_flags |= ((tbl->ant_type << RATE_MCS_ANT_POS) &
- RATE_MCS_ANT_ABC_MSK);
+ rate_n_flags |=
+ ((tbl->ant_type << RATE_MCS_ANT_POS) & RATE_MCS_ANT_ABC_MSK);
if (is_Ht(tbl->lq_type)) {
if (tbl->is_ht40) {
@@ -543,19 +548,20 @@ static u32 il4965_rate_n_flags_from_tbl(struct il_priv *il,
* Interpret uCode API's rate_n_flags format,
* fill "search" or "active" tx mode table.
*/
-static int il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
- enum ieee80211_band band,
- struct il_scale_tbl_info *tbl,
- int *rate_idx)
+static int
+il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
+ enum ieee80211_band band,
+ struct il_scale_tbl_info *tbl, int *rate_idx)
{
u32 ant_msk = (rate_n_flags & RATE_MCS_ANT_ABC_MSK);
- u8 il4965_num_of_ant = il4965_get_il4965_num_of_ant_from_rate(rate_n_flags);
+ u8 il4965_num_of_ant =
+ il4965_get_il4965_num_of_ant_from_rate(rate_n_flags);
u8 mcs;
memset(tbl, 0, sizeof(struct il_scale_tbl_info));
*rate_idx = il4965_hwrate_to_plcp_idx(rate_n_flags);
- if (*rate_idx == RATE_INVALID) {
+ if (*rate_idx == RATE_INVALID) {
*rate_idx = -1;
return -EINVAL;
}
@@ -574,7 +580,7 @@ static int il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
else
tbl->lq_type = LQ_G;
}
- /* HT rate format */
+ /* HT rate format */
} else {
if (rate_n_flags & RATE_MCS_SGI_MSK)
tbl->is_SGI = 1;
@@ -591,8 +597,8 @@ static int il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
/* SISO */
if (mcs <= RATE_SISO_60M_PLCP) {
if (il4965_num_of_ant == 1)
- tbl->lq_type = LQ_SISO; /*else NONE*/
- /* MIMO2 */
+ tbl->lq_type = LQ_SISO; /*else NONE */
+ /* MIMO2 */
} else {
if (il4965_num_of_ant == 2)
tbl->lq_type = LQ_MIMO2;
@@ -603,8 +609,9 @@ static int il4965_rs_get_tbl_info_from_mcs(const u32 rate_n_flags,
/* switch to another antenna/antennas and return 1 */
/* if no other valid antenna found, return 0 */
-static int il4965_rs_toggle_antenna(u32 valid_ant, u32 *rate_n_flags,
- struct il_scale_tbl_info *tbl)
+static int
+il4965_rs_toggle_antenna(u32 valid_ant, u32 * rate_n_flags,
+ struct il_scale_tbl_info *tbl)
{
u8 new_ant_type;
@@ -633,13 +640,14 @@ static int il4965_rs_toggle_antenna(u32 valid_ant, u32 *rate_n_flags,
* Green-field mode is valid if the station supports it and
* there are no non-GF stations present in the BSS.
*/
-static bool il4965_rs_use_green(struct ieee80211_sta *sta)
+static bool
+il4965_rs_use_green(struct ieee80211_sta *sta)
{
struct il_station_priv *sta_priv = (void *)sta->drv_priv;
struct il_rxon_context *ctx = sta_priv->common.ctx;
return (sta->ht_cap.cap & IEEE80211_HT_CAP_GRN_FLD) &&
- !(ctx->ht.non_gf_sta_present);
+ !(ctx->ht.non_gf_sta_present);
}
/**
@@ -649,9 +657,10 @@ static bool il4965_rs_use_green(struct ieee80211_sta *sta)
* basic available rates.
*
*/
-static u16 il4965_rs_get_supported_rates(struct il_lq_sta *lq_sta,
- struct ieee80211_hdr *hdr,
- enum il_table_type rate_type)
+static u16
+il4965_rs_get_supported_rates(struct il_lq_sta *lq_sta,
+ struct ieee80211_hdr *hdr,
+ enum il_table_type rate_type)
{
if (is_legacy(rate_type)) {
return lq_sta->active_legacy_rate;
@@ -665,7 +674,7 @@ static u16 il4965_rs_get_supported_rates(struct il_lq_sta *lq_sta,
static u16
il4965_rs_get_adjacent_rate(struct il_priv *il, u8 idx, u16 rate_mask,
- int rate_type)
+ int rate_type)
{
u8 high = RATE_INVALID;
u8 low = RATE_INVALID;
@@ -720,9 +729,10 @@ il4965_rs_get_adjacent_rate(struct il_priv *il, u8 idx, u16 rate_mask,
return (high << 8) | low;
}
-static u32 il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
- struct il_scale_tbl_info *tbl,
- u8 scale_idx, u8 ht_possible)
+static u32
+il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
+ struct il_scale_tbl_info *tbl, u8 scale_idx,
+ u8 ht_possible)
{
s32 low;
u16 rate_mask;
@@ -744,7 +754,7 @@ static u32 il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
if (il4965_num_of_ant(tbl->ant_type) > 1)
tbl->ant_type =
- il4965_first_antenna(il->hw_params.valid_tx_ant);
+ il4965_first_antenna(il->hw_params.valid_tx_ant);
tbl->is_ht40 = 0;
tbl->is_SGI = 0;
@@ -757,10 +767,11 @@ static u32 il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
if (is_legacy(tbl->lq_type)) {
/* supp_rates has no CCK bits in A mode */
if (lq_sta->band == IEEE80211_BAND_5GHZ)
- rate_mask = (u16)(rate_mask &
- (lq_sta->supp_rates << IL_FIRST_OFDM_RATE));
+ rate_mask =
+ (u16) (rate_mask &
+ (lq_sta->supp_rates << IL_FIRST_OFDM_RATE));
else
- rate_mask = (u16)(rate_mask & lq_sta->supp_rates);
+ rate_mask = (u16) (rate_mask & lq_sta->supp_rates);
}
/* If we switched from HT to legacy, check current rate */
@@ -769,8 +780,8 @@ static u32 il4965_rs_get_lower_rate(struct il_lq_sta *lq_sta,
goto out;
}
- high_low = il4965_rs_get_adjacent_rate(lq_sta->drv,
- scale_idx, rate_mask,
+ high_low =
+ il4965_rs_get_adjacent_rate(lq_sta->drv, scale_idx, rate_mask,
tbl->lq_type);
low = high_low & 0xff;
@@ -784,8 +795,9 @@ out:
/*
* Simple function to compare two rate scale table types
*/
-static bool il4965_table_type_matches(struct il_scale_tbl_info *a,
- struct il_scale_tbl_info *b)
+static bool
+il4965_table_type_matches(struct il_scale_tbl_info *a,
+ struct il_scale_tbl_info *b)
{
return (a->lq_type == b->lq_type && a->ant_type == b->ant_type &&
a->is_SGI == b->is_SGI);
@@ -796,8 +808,8 @@ static bool il4965_table_type_matches(struct il_scale_tbl_info *a,
*/
static void
il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
- struct ieee80211_sta *sta, void *il_sta,
- struct sk_buff *skb)
+ struct ieee80211_sta *sta, void *il_sta,
+ struct sk_buff *skb)
{
int legacy_success;
int retries;
@@ -814,8 +826,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
struct il_station_priv *sta_priv = (void *)sta->drv_priv;
struct il_rxon_context *ctx = sta_priv->common.ctx;
- D_RATE(
- "get frame ack response, update rate scale win\n");
+ D_RATE("get frame ack response, update rate scale win\n");
/* Treat uninitialized rate scaling data same as non-existing. */
if (!lq_sta) {
@@ -845,8 +856,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
*/
table = &lq_sta->lq;
tx_rate = le32_to_cpu(table->rs_table[0].rate_n_flags);
- il4965_rs_get_tbl_info_from_mcs(tx_rate,
- il->band, &tbl_type, &rs_idx);
+ il4965_rs_get_tbl_info_from_mcs(tx_rate, il->band, &tbl_type, &rs_idx);
if (il->band == IEEE80211_BAND_5GHZ)
rs_idx -= IL_FIRST_OFDM_RATE;
mac_flags = info->status.rates[0].flags;
@@ -869,12 +879,11 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
tbl_type.is_ht40 != !!(mac_flags & IEEE80211_TX_RC_40_MHZ_WIDTH) ||
tbl_type.is_dup != !!(mac_flags & IEEE80211_TX_RC_DUP_DATA) ||
tbl_type.ant_type != info->antenna_sel_tx ||
- !!(tx_rate & RATE_MCS_HT_MSK) != !!(mac_flags & IEEE80211_TX_RC_MCS) ||
- !!(tx_rate & RATE_MCS_GF_MSK) != !!(mac_flags & IEEE80211_TX_RC_GREEN_FIELD) ||
- rs_idx != mac_idx) {
- D_RATE(
- "initial rate %d does not match %d (0x%x)\n",
- mac_idx, rs_idx, tx_rate);
+ !!(tx_rate & RATE_MCS_HT_MSK) != !!(mac_flags & IEEE80211_TX_RC_MCS)
+ || !!(tx_rate & RATE_MCS_GF_MSK) !=
+ !!(mac_flags & IEEE80211_TX_RC_GREEN_FIELD) || rs_idx != mac_idx) {
+ D_RATE("initial rate %d does not match %d (0x%x)\n", mac_idx,
+ rs_idx, tx_rate);
/*
* Since rates mis-match, the last LQ command may have failed.
* After IL_MISSED_RATE_MAX mis-matches, resync the uCode with
@@ -883,8 +892,7 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
lq_sta->missed_rate_counter++;
if (lq_sta->missed_rate_counter > IL_MISSED_RATE_MAX) {
lq_sta->missed_rate_counter = 0;
- il_send_lq_cmd(il, ctx, &lq_sta->lq,
- CMD_ASYNC, false);
+ il_send_lq_cmd(il, ctx, &lq_sta->lq, CMD_ASYNC, false);
}
/* Regardless, ignore this status info for outdated rate */
return;
@@ -893,25 +901,25 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
lq_sta->missed_rate_counter = 0;
/* Figure out if rate scale algorithm is in active or search table */
- if (il4965_table_type_matches(&tbl_type,
- &(lq_sta->lq_info[lq_sta->active_tbl]))) {
+ if (il4965_table_type_matches
+ (&tbl_type, &(lq_sta->lq_info[lq_sta->active_tbl]))) {
curr_tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
other_tbl = &(lq_sta->lq_info[1 - lq_sta->active_tbl]);
- } else if (il4965_table_type_matches(&tbl_type,
- &lq_sta->lq_info[1 - lq_sta->active_tbl])) {
+ } else
+ if (il4965_table_type_matches
+ (&tbl_type, &lq_sta->lq_info[1 - lq_sta->active_tbl])) {
curr_tbl = &(lq_sta->lq_info[1 - lq_sta->active_tbl]);
other_tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
} else {
- D_RATE(
- "Neither active nor search matches tx rate\n");
+ D_RATE("Neither active nor search matches tx rate\n");
tmp_tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
- D_RATE("active- lq:%x, ant:%x, SGI:%d\n",
- tmp_tbl->lq_type, tmp_tbl->ant_type, tmp_tbl->is_SGI);
+ D_RATE("active- lq:%x, ant:%x, SGI:%d\n", tmp_tbl->lq_type,
+ tmp_tbl->ant_type, tmp_tbl->is_SGI);
tmp_tbl = &(lq_sta->lq_info[1 - lq_sta->active_tbl]);
- D_RATE("search- lq:%x, ant:%x, SGI:%d\n",
- tmp_tbl->lq_type, tmp_tbl->ant_type, tmp_tbl->is_SGI);
- D_RATE("actual- lq:%x, ant:%x, SGI:%d\n",
- tbl_type.lq_type, tbl_type.ant_type, tbl_type.is_SGI);
+ D_RATE("search- lq:%x, ant:%x, SGI:%d\n", tmp_tbl->lq_type,
+ tmp_tbl->ant_type, tmp_tbl->is_SGI);
+ D_RATE("actual- lq:%x, ant:%x, SGI:%d\n", tbl_type.lq_type,
+ tbl_type.ant_type, tbl_type.is_SGI);
/*
* no matching table found, let's by-pass the data collection
* and continue to perform rate scale to find the rate table
@@ -930,21 +938,22 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
if (info->flags & IEEE80211_TX_STAT_AMPDU) {
tx_rate = le32_to_cpu(table->rs_table[0].rate_n_flags);
il4965_rs_get_tbl_info_from_mcs(tx_rate, il->band, &tbl_type,
- &rs_idx);
+ &rs_idx);
il4965_rs_collect_tx_data(curr_tbl, rs_idx,
- info->status.ampdu_len,
- info->status.ampdu_ack_len);
+ info->status.ampdu_len,
+ info->status.ampdu_ack_len);
/* Update success/fail counts if not searching for new mode */
if (lq_sta->stay_in_tbl) {
lq_sta->total_success += info->status.ampdu_ack_len;
- lq_sta->total_failed += (info->status.ampdu_len -
- info->status.ampdu_ack_len);
+ lq_sta->total_failed +=
+ (info->status.ampdu_len -
+ info->status.ampdu_ack_len);
}
} else {
- /*
- * For legacy, update frame history with for each Tx retry.
- */
+ /*
+ * For legacy, update frame history with for each Tx retry.
+ */
retries = info->status.rates[0].count - 1;
/* HW doesn't send more than 15 retries */
retries = min(retries, 15);
@@ -955,20 +964,21 @@ il4965_rs_tx_status(void *il_r, struct ieee80211_supported_band *sband,
for (i = 0; i <= retries; ++i) {
tx_rate = le32_to_cpu(table->rs_table[i].rate_n_flags);
il4965_rs_get_tbl_info_from_mcs(tx_rate, il->band,
- &tbl_type, &rs_idx);
+ &tbl_type, &rs_idx);
/*
* Only collect stats if retried rate is in the same RS
* table as active/search.
*/
if (il4965_table_type_matches(&tbl_type, curr_tbl))
tmp_tbl = curr_tbl;
- else if (il4965_table_type_matches(&tbl_type,
- other_tbl))
+ else if (il4965_table_type_matches
+ (&tbl_type, other_tbl))
tmp_tbl = other_tbl;
else
continue;
il4965_rs_collect_tx_data(tmp_tbl, rs_idx, 1,
- i < retries ? 0 : legacy_success);
+ i <
+ retries ? 0 : legacy_success);
}
/* Update success/fail counts if not searching for new mode */
@@ -993,8 +1003,9 @@ done:
* These control how long we stay using same modulation mode before
* searching for a new mode.
*/
-static void il4965_rs_set_stay_in_table(struct il_priv *il, u8 is_legacy,
- struct il_lq_sta *lq_sta)
+static void
+il4965_rs_set_stay_in_table(struct il_priv *il, u8 is_legacy,
+ struct il_lq_sta *lq_sta)
{
D_RATE("we are staying in the same table\n");
lq_sta->stay_in_tbl = 1; /* only place this gets set */
@@ -1017,11 +1028,12 @@ static void il4965_rs_set_stay_in_table(struct il_priv *il, u8 is_legacy,
/*
* Find correct throughput table for given mode of modulation
*/
-static void il4965_rs_set_expected_tpt_table(struct il_lq_sta *lq_sta,
- struct il_scale_tbl_info *tbl)
+static void
+il4965_rs_set_expected_tpt_table(struct il_lq_sta *lq_sta,
+ struct il_scale_tbl_info *tbl)
{
/* Used to choose among HT tables */
- s32 (*ht_tbl_pointer)[RATE_COUNT];
+ s32(*ht_tbl_pointer)[RATE_COUNT];
/* Check for invalid LQ type */
if (WARN_ON_ONCE(!is_legacy(tbl->lq_type) && !is_Ht(tbl->lq_type))) {
@@ -1044,16 +1056,16 @@ static void il4965_rs_set_expected_tpt_table(struct il_lq_sta *lq_sta,
ht_tbl_pointer = expected_tpt_siso40MHz;
else if (is_mimo2(tbl->lq_type) && (!tbl->is_ht40 || lq_sta->is_dup))
ht_tbl_pointer = expected_tpt_mimo2_20MHz;
- else /* if (is_mimo2(tbl->lq_type)) <-- must be true */
+ else /* if (is_mimo2(tbl->lq_type)) <-- must be true */
ht_tbl_pointer = expected_tpt_mimo2_40MHz;
- if (!tbl->is_SGI && !lq_sta->is_agg) /* Normal */
+ if (!tbl->is_SGI && !lq_sta->is_agg) /* Normal */
tbl->expected_tpt = ht_tbl_pointer[0];
else if (tbl->is_SGI && !lq_sta->is_agg) /* SGI */
tbl->expected_tpt = ht_tbl_pointer[1];
else if (!tbl->is_SGI && lq_sta->is_agg) /* AGG */
tbl->expected_tpt = ht_tbl_pointer[2];
- else /* AGG+SGI */
+ else /* AGG+SGI */
tbl->expected_tpt = ht_tbl_pointer[3];
}
@@ -1069,10 +1081,9 @@ static void il4965_rs_set_expected_tpt_table(struct il_lq_sta *lq_sta,
* to decrease to match "active" throughput. When moving from MIMO to SISO,
* bit rate will typically need to increase, but not if performance was bad.
*/
-static s32 il4965_rs_get_best_rate(struct il_priv *il,
- struct il_lq_sta *lq_sta,
- struct il_scale_tbl_info *tbl, /* "search" */
- u16 rate_mask, s8 idx)
+static s32
+il4965_rs_get_best_rate(struct il_priv *il, struct il_lq_sta *lq_sta, struct il_scale_tbl_info *tbl, /* "search" */
+ u16 rate_mask, s8 idx)
{
/* "active" values */
struct il_scale_tbl_info *active_tbl =
@@ -1089,8 +1100,9 @@ static s32 il4965_rs_get_best_rate(struct il_priv *il,
new_rate = high = low = start_hi = RATE_INVALID;
- for (; ;) {
- high_low = il4965_rs_get_adjacent_rate(il, rate, rate_mask,
+ for (;;) {
+ high_low =
+ il4965_rs_get_adjacent_rate(il, rate, rate_mask,
tbl->lq_type);
low = high_low & 0xff;
@@ -1112,9 +1124,8 @@ static s32 il4965_rs_get_best_rate(struct il_priv *il,
* "active" throughput (under perfect conditions).
*/
if ((100 * tpt_tbl[rate] > lq_sta->last_tpt &&
- (active_sr > RATE_DECREASE_TH &&
- active_sr <= RATE_HIGH_TH &&
- tpt_tbl[rate] <= active_tpt)) ||
+ (active_sr > RATE_DECREASE_TH && active_sr <= RATE_HIGH_TH
+ && tpt_tbl[rate] <= active_tpt)) ||
(active_sr >= RATE_SCALE_SWITCH &&
tpt_tbl[rate] > active_tpt)) {
@@ -1136,7 +1147,7 @@ static s32 il4965_rs_get_best_rate(struct il_priv *il,
else
break;
- /* Else try to raise the "search" rate to match "active" */
+ /* Else try to raise the "search" rate to match "active" */
} else {
/* (2nd or later pass)
* If we've already tried to lower the rate, and are
@@ -1149,7 +1160,7 @@ static s32 il4965_rs_get_best_rate(struct il_priv *il,
start_hi = high;
rate = high;
- /* Higher rate not available, use the original */
+ /* Higher rate not available, use the original */
} else {
new_rate = rate;
break;
@@ -1163,11 +1174,11 @@ static s32 il4965_rs_get_best_rate(struct il_priv *il,
/*
* Set up search table for MIMO2
*/
-static int il4965_rs_switch_to_mimo2(struct il_priv *il,
- struct il_lq_sta *lq_sta,
- struct ieee80211_conf *conf,
- struct ieee80211_sta *sta,
- struct il_scale_tbl_info *tbl, int idx)
+static int
+il4965_rs_switch_to_mimo2(struct il_priv *il, struct il_lq_sta *lq_sta,
+ struct ieee80211_conf *conf,
+ struct ieee80211_sta *sta,
+ struct il_scale_tbl_info *tbl, int idx)
{
u16 rate_mask;
s32 rate;
@@ -1178,8 +1189,8 @@ static int il4965_rs_switch_to_mimo2(struct il_priv *il,
if (!conf_is_ht(conf) || !sta->ht_cap.ht_supported)
return -1;
- if (((sta->ht_cap.cap & IEEE80211_HT_CAP_SM_PS) >> 2)
- == WLAN_HT_CAP_SM_PS_STATIC)
+ if (((sta->ht_cap.cap & IEEE80211_HT_CAP_SM_PS) >> 2) ==
+ WLAN_HT_CAP_SM_PS_STATIC)
return -1;
/* Need both Tx chains/antennas to support MIMO */
@@ -1203,30 +1214,27 @@ static int il4965_rs_switch_to_mimo2(struct il_priv *il,
rate = il4965_rs_get_best_rate(il, lq_sta, tbl, rate_mask, idx);
- D_RATE("LQ: MIMO2 best rate %d mask %X\n",
- rate, rate_mask);
+ D_RATE("LQ: MIMO2 best rate %d mask %X\n", rate, rate_mask);
if (rate == RATE_INVALID || !((1 << rate) & rate_mask)) {
- D_RATE(
- "Can't switch with idx %d rate mask %x\n",
- rate, rate_mask);
+ D_RATE("Can't switch with idx %d rate mask %x\n", rate,
+ rate_mask);
return -1;
}
- tbl->current_rate = il4965_rate_n_flags_from_tbl(il,
- tbl, rate, is_green);
+ tbl->current_rate =
+ il4965_rate_n_flags_from_tbl(il, tbl, rate, is_green);
- D_RATE("LQ: Switch to new mcs %X idx is green %X\n",
- tbl->current_rate, is_green);
+ D_RATE("LQ: Switch to new mcs %X idx is green %X\n", tbl->current_rate,
+ is_green);
return 0;
}
/*
* Set up search table for SISO
*/
-static int il4965_rs_switch_to_siso(struct il_priv *il,
- struct il_lq_sta *lq_sta,
- struct ieee80211_conf *conf,
- struct ieee80211_sta *sta,
- struct il_scale_tbl_info *tbl, int idx)
+static int
+il4965_rs_switch_to_siso(struct il_priv *il, struct il_lq_sta *lq_sta,
+ struct ieee80211_conf *conf, struct ieee80211_sta *sta,
+ struct il_scale_tbl_info *tbl, int idx)
{
u16 rate_mask;
u8 is_green = lq_sta->is_green;
@@ -1251,40 +1259,39 @@ static int il4965_rs_switch_to_siso(struct il_priv *il,
tbl->is_ht40 = 0;
if (is_green)
- tbl->is_SGI = 0; /*11n spec: no SGI in SISO+Greenfield*/
+ tbl->is_SGI = 0; /*11n spec: no SGI in SISO+Greenfield */
il4965_rs_set_expected_tpt_table(lq_sta, tbl);
rate = il4965_rs_get_best_rate(il, lq_sta, tbl, rate_mask, idx);
D_RATE("LQ: get best rate %d mask %X\n", rate, rate_mask);
if (rate == RATE_INVALID || !((1 << rate) & rate_mask)) {
- D_RATE(
- "can not switch with idx %d rate mask %x\n",
- rate, rate_mask);
+ D_RATE("can not switch with idx %d rate mask %x\n", rate,
+ rate_mask);
return -1;
}
- tbl->current_rate = il4965_rate_n_flags_from_tbl(il,
- tbl, rate, is_green);
- D_RATE("LQ: Switch to new mcs %X idx is green %X\n",
- tbl->current_rate, is_green);
+ tbl->current_rate =
+ il4965_rate_n_flags_from_tbl(il, tbl, rate, is_green);
+ D_RATE("LQ: Switch to new mcs %X idx is green %X\n", tbl->current_rate,
+ is_green);
return 0;
}
/*
* Try to switch to new modulation mode from legacy
*/
-static int il4965_rs_move_legacy_other(struct il_priv *il,
- struct il_lq_sta *lq_sta,
- struct ieee80211_conf *conf,
- struct ieee80211_sta *sta,
- int idx)
+static int
+il4965_rs_move_legacy_other(struct il_priv *il, struct il_lq_sta *lq_sta,
+ struct ieee80211_conf *conf,
+ struct ieee80211_sta *sta, int idx)
{
struct il_scale_tbl_info *tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
struct il_scale_tbl_info *search_tbl =
- &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
+ &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
struct il_rate_scale_data *win = &(tbl->win[idx]);
- u32 sz = (sizeof(struct il_scale_tbl_info) -
- (sizeof(struct il_rate_scale_data) * RATE_COUNT));
+ u32 sz =
+ (sizeof(struct il_scale_tbl_info) -
+ (sizeof(struct il_rate_scale_data) * RATE_COUNT));
u8 start_action;
u8 valid_tx_ant = il->hw_params.valid_tx_ant;
u8 tx_chains_num = il->hw_params.tx_chains_num;
@@ -1294,7 +1301,7 @@ static int il4965_rs_move_legacy_other(struct il_priv *il,
tbl->action = IL_LEGACY_SWITCH_SISO;
start_action = tbl->action;
- for (; ;) {
+ for (;;) {
lq_sta->action_counter++;
switch (tbl->action) {
case IL_LEGACY_SWITCH_ANTENNA1:
@@ -1302,9 +1309,9 @@ static int il4965_rs_move_legacy_other(struct il_priv *il,
D_RATE("LQ: Legacy toggle Antenna\n");
if ((tbl->action == IL_LEGACY_SWITCH_ANTENNA1 &&
- tx_chains_num <= 1) ||
+ tx_chains_num <= 1) ||
(tbl->action == IL_LEGACY_SWITCH_ANTENNA2 &&
- tx_chains_num <= 2))
+ tx_chains_num <= 2))
break;
/* Don't change antenna if success has been great */
@@ -1314,11 +1321,12 @@ static int il4965_rs_move_legacy_other(struct il_priv *il,
/* Set up search table to try other antenna */
memcpy(search_tbl, tbl, sz);
- if (il4965_rs_toggle_antenna(valid_tx_ant,
- &search_tbl->current_rate, search_tbl)) {
+ if (il4965_rs_toggle_antenna
+ (valid_tx_ant, &search_tbl->current_rate,
+ search_tbl)) {
update_search_tbl_counter = 1;
il4965_rs_set_expected_tpt_table(lq_sta,
- search_tbl);
+ search_tbl);
goto out;
}
break;
@@ -1328,8 +1336,9 @@ static int il4965_rs_move_legacy_other(struct il_priv *il,
/* Set up search table to try SISO */
memcpy(search_tbl, tbl, sz);
search_tbl->is_SGI = 0;
- ret = il4965_rs_switch_to_siso(il, lq_sta, conf, sta,
- search_tbl, idx);
+ ret =
+ il4965_rs_switch_to_siso(il, lq_sta, conf, sta,
+ search_tbl, idx);
if (!ret) {
lq_sta->action_counter = 0;
goto out;
@@ -1352,13 +1361,13 @@ static int il4965_rs_move_legacy_other(struct il_priv *il,
else
search_tbl->ant_type = ANT_BC;
- if (!il4965_rs_is_valid_ant(valid_tx_ant,
- search_tbl->ant_type))
+ if (!il4965_rs_is_valid_ant
+ (valid_tx_ant, search_tbl->ant_type))
break;
- ret = il4965_rs_switch_to_mimo2(il, lq_sta,
- conf, sta,
- search_tbl, idx);
+ ret =
+ il4965_rs_switch_to_mimo2(il, lq_sta, conf, sta,
+ search_tbl, idx);
if (!ret) {
lq_sta->action_counter = 0;
goto out;
@@ -1390,19 +1399,20 @@ out:
/*
* Try to switch to new modulation mode from SISO
*/
-static int il4965_rs_move_siso_to_other(struct il_priv *il,
- struct il_lq_sta *lq_sta,
- struct ieee80211_conf *conf,
- struct ieee80211_sta *sta, int idx)
+static int
+il4965_rs_move_siso_to_other(struct il_priv *il, struct il_lq_sta *lq_sta,
+ struct ieee80211_conf *conf,
+ struct ieee80211_sta *sta, int idx)
{
u8 is_green = lq_sta->is_green;
struct il_scale_tbl_info *tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
struct il_scale_tbl_info *search_tbl =
- &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
+ &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
struct il_rate_scale_data *win = &(tbl->win[idx]);
struct ieee80211_sta_ht_cap *ht_cap = &sta->ht_cap;
- u32 sz = (sizeof(struct il_scale_tbl_info) -
- (sizeof(struct il_rate_scale_data) * RATE_COUNT));
+ u32 sz =
+ (sizeof(struct il_scale_tbl_info) -
+ (sizeof(struct il_rate_scale_data) * RATE_COUNT));
u8 start_action;
u8 valid_tx_ant = il->hw_params.valid_tx_ant;
u8 tx_chains_num = il->hw_params.tx_chains_num;
@@ -1418,17 +1428,18 @@ static int il4965_rs_move_siso_to_other(struct il_priv *il,
case IL_SISO_SWITCH_ANTENNA2:
D_RATE("LQ: SISO toggle Antenna\n");
if ((tbl->action == IL_SISO_SWITCH_ANTENNA1 &&
- tx_chains_num <= 1) ||
+ tx_chains_num <= 1) ||
(tbl->action == IL_SISO_SWITCH_ANTENNA2 &&
- tx_chains_num <= 2))
+ tx_chains_num <= 2))
break;
if (win->success_ratio >= IL_RS_GOOD_RATIO)
break;
memcpy(search_tbl, tbl, sz);
- if (il4965_rs_toggle_antenna(valid_tx_ant,
- &search_tbl->current_rate, search_tbl)) {
+ if (il4965_rs_toggle_antenna
+ (valid_tx_ant, &search_tbl->current_rate,
+ search_tbl)) {
update_search_tbl_counter = 1;
goto out;
}
@@ -1447,22 +1458,22 @@ static int il4965_rs_move_siso_to_other(struct il_priv *il,
else
search_tbl->ant_type = ANT_BC;
- if (!il4965_rs_is_valid_ant(valid_tx_ant,
- search_tbl->ant_type))
+ if (!il4965_rs_is_valid_ant
+ (valid_tx_ant, search_tbl->ant_type))
break;
- ret = il4965_rs_switch_to_mimo2(il, lq_sta,
- conf, sta,
- search_tbl, idx);
+ ret =
+ il4965_rs_switch_to_mimo2(il, lq_sta, conf, sta,
+ search_tbl, idx);
if (!ret)
goto out;
break;
case IL_SISO_SWITCH_GI:
- if (!tbl->is_ht40 && !(ht_cap->cap &
- IEEE80211_HT_CAP_SGI_20))
+ if (!tbl->is_ht40 &&
+ !(ht_cap->cap & IEEE80211_HT_CAP_SGI_20))
break;
- if (tbl->is_ht40 && !(ht_cap->cap &
- IEEE80211_HT_CAP_SGI_40))
+ if (tbl->is_ht40 &&
+ !(ht_cap->cap & IEEE80211_HT_CAP_SGI_40))
break;
D_RATE("LQ: SISO toggle SGI/NGI\n");
@@ -1472,8 +1483,7 @@ static int il4965_rs_move_siso_to_other(struct il_priv *il,
if (!tbl->is_SGI)
break;
else
- IL_ERR(
- "SGI was set in GF+SISO\n");
+ IL_ERR("SGI was set in GF+SISO\n");
}
search_tbl->is_SGI = !tbl->is_SGI;
il4965_rs_set_expected_tpt_table(lq_sta, search_tbl);
@@ -1483,8 +1493,8 @@ static int il4965_rs_move_siso_to_other(struct il_priv *il,
break;
}
search_tbl->current_rate =
- il4965_rate_n_flags_from_tbl(il, search_tbl,
- idx, is_green);
+ il4965_rate_n_flags_from_tbl(il, search_tbl, idx,
+ is_green);
update_search_tbl_counter = 1;
goto out;
}
@@ -1498,7 +1508,7 @@ static int il4965_rs_move_siso_to_other(struct il_priv *il,
search_tbl->lq_type = LQ_NONE;
return 0;
- out:
+out:
lq_sta->search_better_tbl = 1;
tbl->action++;
if (tbl->action > IL_SISO_SWITCH_GI)
@@ -1512,19 +1522,20 @@ static int il4965_rs_move_siso_to_other(struct il_priv *il,
/*
* Try to switch to new modulation mode from MIMO2
*/
-static int il4965_rs_move_mimo2_to_other(struct il_priv *il,
- struct il_lq_sta *lq_sta,
- struct ieee80211_conf *conf,
- struct ieee80211_sta *sta, int idx)
+static int
+il4965_rs_move_mimo2_to_other(struct il_priv *il, struct il_lq_sta *lq_sta,
+ struct ieee80211_conf *conf,
+ struct ieee80211_sta *sta, int idx)
{
s8 is_green = lq_sta->is_green;
struct il_scale_tbl_info *tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
struct il_scale_tbl_info *search_tbl =
- &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
+ &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
struct il_rate_scale_data *win = &(tbl->win[idx]);
struct ieee80211_sta_ht_cap *ht_cap = &sta->ht_cap;
- u32 sz = (sizeof(struct il_scale_tbl_info) -
- (sizeof(struct il_rate_scale_data) * RATE_COUNT));
+ u32 sz =
+ (sizeof(struct il_scale_tbl_info) -
+ (sizeof(struct il_rate_scale_data) * RATE_COUNT));
u8 start_action;
u8 valid_tx_ant = il->hw_params.valid_tx_ant;
u8 tx_chains_num = il->hw_params.tx_chains_num;
@@ -1546,8 +1557,9 @@ static int il4965_rs_move_mimo2_to_other(struct il_priv *il,
break;
memcpy(search_tbl, tbl, sz);
- if (il4965_rs_toggle_antenna(valid_tx_ant,
- &search_tbl->current_rate, search_tbl)) {
+ if (il4965_rs_toggle_antenna
+ (valid_tx_ant, &search_tbl->current_rate,
+ search_tbl)) {
update_search_tbl_counter = 1;
goto out;
}
@@ -1567,24 +1579,24 @@ static int il4965_rs_move_mimo2_to_other(struct il_priv *il,
else
search_tbl->ant_type = ANT_C;
- if (!il4965_rs_is_valid_ant(valid_tx_ant,
- search_tbl->ant_type))
+ if (!il4965_rs_is_valid_ant
+ (valid_tx_ant, search_tbl->ant_type))
break;
- ret = il4965_rs_switch_to_siso(il, lq_sta,
- conf, sta,
- search_tbl, idx);
+ ret =
+ il4965_rs_switch_to_siso(il, lq_sta, conf, sta,
+ search_tbl, idx);
if (!ret)
goto out;
break;
case IL_MIMO2_SWITCH_GI:
- if (!tbl->is_ht40 && !(ht_cap->cap &
- IEEE80211_HT_CAP_SGI_20))
+ if (!tbl->is_ht40 &&
+ !(ht_cap->cap & IEEE80211_HT_CAP_SGI_20))
break;
- if (tbl->is_ht40 && !(ht_cap->cap &
- IEEE80211_HT_CAP_SGI_40))
+ if (tbl->is_ht40 &&
+ !(ht_cap->cap & IEEE80211_HT_CAP_SGI_40))
break;
D_RATE("LQ: MIMO2 toggle SGI/NGI\n");
@@ -1605,8 +1617,8 @@ static int il4965_rs_move_mimo2_to_other(struct il_priv *il,
break;
}
search_tbl->current_rate =
- il4965_rate_n_flags_from_tbl(il, search_tbl,
- idx, is_green);
+ il4965_rate_n_flags_from_tbl(il, search_tbl, idx,
+ is_green);
update_search_tbl_counter = 1;
goto out;
@@ -1620,7 +1632,7 @@ static int il4965_rs_move_mimo2_to_other(struct il_priv *il,
}
search_tbl->lq_type = LQ_NONE;
return 0;
- out:
+out:
lq_sta->search_better_tbl = 1;
tbl->action++;
if (tbl->action > IL_MIMO2_SWITCH_GI)
@@ -1659,9 +1671,9 @@ il4965_rs_stay_in_table(struct il_lq_sta *lq_sta, bool force_search)
/* Elapsed time using current modulation mode */
if (lq_sta->flush_timer)
flush_interval_passed =
- time_after(jiffies,
- (unsigned long)(lq_sta->flush_timer +
- RATE_SCALE_FLUSH_INTVL));
+ time_after(jiffies,
+ (unsigned long)(lq_sta->flush_timer +
+ RATE_SCALE_FLUSH_INTVL));
/*
* Check if we should allow search for new modulation mode.
@@ -1677,9 +1689,8 @@ il4965_rs_stay_in_table(struct il_lq_sta *lq_sta, bool force_search)
(!lq_sta->search_better_tbl && lq_sta->flush_timer &&
flush_interval_passed)) {
D_RATE("LQ: stay is expired %d %d %d\n:",
- lq_sta->total_failed,
- lq_sta->total_success,
- flush_interval_passed);
+ lq_sta->total_failed, lq_sta->total_success,
+ flush_interval_passed);
/* Allow search for new mode */
lq_sta->stay_in_tbl = 0; /* only place reset */
@@ -1687,23 +1698,23 @@ il4965_rs_stay_in_table(struct il_lq_sta *lq_sta, bool force_search)
lq_sta->total_success = 0;
lq_sta->flush_timer = 0;
- /*
- * Else if we've used this modulation mode enough repetitions
- * (regardless of elapsed time or success/failure), reset
- * history bitmaps and rate-specific stats for all rates in
- * active table.
- */
+ /*
+ * Else if we've used this modulation mode enough repetitions
+ * (regardless of elapsed time or success/failure), reset
+ * history bitmaps and rate-specific stats for all rates in
+ * active table.
+ */
} else {
lq_sta->table_count++;
- if (lq_sta->table_count >=
- lq_sta->table_count_limit) {
+ if (lq_sta->table_count >= lq_sta->table_count_limit) {
lq_sta->table_count = 0;
- D_RATE(
- "LQ: stay in table clear win\n");
+ D_RATE("LQ: stay in table clear win\n");
for (i = 0; i < RATE_COUNT; i++)
- il4965_rs_rate_scale_clear_win(
- &(tbl->win[i]));
+ il4965_rs_rate_scale_clear_win(&
+ (tbl->
+ win
+ [i]));
}
}
@@ -1712,8 +1723,7 @@ il4965_rs_stay_in_table(struct il_lq_sta *lq_sta, bool force_search)
* "search" table). */
if (!lq_sta->stay_in_tbl) {
for (i = 0; i < RATE_COUNT; i++)
- il4965_rs_rate_scale_clear_win(
- &(tbl->win[i]));
+ il4965_rs_rate_scale_clear_win(&(tbl->win[i]));
}
}
}
@@ -1722,11 +1732,10 @@ il4965_rs_stay_in_table(struct il_lq_sta *lq_sta, bool force_search)
* setup rate table in uCode
* return rate_n_flags as used in the table
*/
-static u32 il4965_rs_update_rate_tbl(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct il_lq_sta *lq_sta,
- struct il_scale_tbl_info *tbl,
- int idx, u8 is_green)
+static u32
+il4965_rs_update_rate_tbl(struct il_priv *il, struct il_rxon_context *ctx,
+ struct il_lq_sta *lq_sta,
+ struct il_scale_tbl_info *tbl, int idx, u8 is_green)
{
u32 rate;
@@ -1741,10 +1750,10 @@ static u32 il4965_rs_update_rate_tbl(struct il_priv *il,
/*
* Do rate scaling and search for new modulation mode.
*/
-static void il4965_rs_rate_scale_perform(struct il_priv *il,
- struct sk_buff *skb,
- struct ieee80211_sta *sta,
- struct il_lq_sta *lq_sta)
+static void
+il4965_rs_rate_scale_perform(struct il_priv *il, struct sk_buff *skb,
+ struct ieee80211_sta *sta,
+ struct il_lq_sta *lq_sta)
{
struct ieee80211_hw *hw = il->hw;
struct ieee80211_conf *conf = &hw->conf;
@@ -1818,8 +1827,7 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
/* current tx rate */
idx = lq_sta->last_txrate_idx;
- D_RATE("Rate scale idx %d for type %d\n", idx,
- tbl->lq_type);
+ D_RATE("Rate scale idx %d for type %d\n", idx, tbl->lq_type);
/* rates available for this association, and for modulation mode */
rate_mask = il4965_rs_get_supported_rates(lq_sta, hdr, tbl->lq_type);
@@ -1830,11 +1838,12 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
if (is_legacy(tbl->lq_type)) {
if (lq_sta->band == IEEE80211_BAND_5GHZ)
/* supp_rates has no CCK bits in A mode */
- rate_scale_idx_msk = (u16) (rate_mask &
- (lq_sta->supp_rates << IL_FIRST_OFDM_RATE));
+ rate_scale_idx_msk =
+ (u16) (rate_mask &
+ (lq_sta->supp_rates << IL_FIRST_OFDM_RATE));
else
- rate_scale_idx_msk = (u16) (rate_mask &
- lq_sta->supp_rates);
+ rate_scale_idx_msk =
+ (u16) (rate_mask & lq_sta->supp_rates);
} else
rate_scale_idx_msk = rate_mask;
@@ -1845,14 +1854,15 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
if (!((1 << idx) & rate_scale_idx_msk)) {
IL_ERR("Current Rate is not valid\n");
if (lq_sta->search_better_tbl) {
- /* revert to active table if search table is not valid*/
+ /* revert to active table if search table is not valid */
tbl->lq_type = LQ_NONE;
lq_sta->search_better_tbl = 0;
tbl = &(lq_sta->lq_info[lq_sta->active_tbl]);
/* get "active" rate info */
idx = il4965_hwrate_to_plcp_idx(tbl->current_rate);
- rate = il4965_rs_update_rate_tbl(il, ctx, lq_sta,
- tbl, idx, is_green);
+ rate =
+ il4965_rs_update_rate_tbl(il, ctx, lq_sta, tbl, idx,
+ is_green);
}
return;
}
@@ -1864,8 +1874,7 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
}
/* force user max rate if set by user */
- if (lq_sta->max_rate_idx != -1 &&
- lq_sta->max_rate_idx < idx) {
+ if (lq_sta->max_rate_idx != -1 && lq_sta->max_rate_idx < idx) {
idx = lq_sta->max_rate_idx;
update_lq = 1;
win = &(tbl->win[idx]);
@@ -1884,9 +1893,8 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
fail_count = win->counter - win->success_counter;
if (fail_count < RATE_MIN_FAILURE_TH &&
win->success_counter < RATE_MIN_SUCCESS_TH) {
- D_RATE("LQ: still below TH. succ=%d total=%d "
- "for idx %d\n",
- win->success_counter, win->counter, idx);
+ D_RATE("LQ: still below TH. succ=%d total=%d " "for idx %d\n",
+ win->success_counter, win->counter, idx);
/* Can't calculate this yet; not enough history */
win->average_tpt = IL_INVALID_VALUE;
@@ -1899,12 +1907,11 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
}
/* Else we have enough samples; calculate estimate of
* actual average throughput */
- if (win->average_tpt != ((win->success_ratio *
- tbl->expected_tpt[idx] + 64) / 128)) {
- IL_ERR(
- "expected_tpt should have been calculated by now\n");
- win->average_tpt = ((win->success_ratio *
- tbl->expected_tpt[idx] + 64) / 128);
+ if (win->average_tpt !=
+ ((win->success_ratio * tbl->expected_tpt[idx] + 64) / 128)) {
+ IL_ERR("expected_tpt should have been calculated by now\n");
+ win->average_tpt =
+ ((win->success_ratio * tbl->expected_tpt[idx] + 64) / 128);
}
/* If we are searching for better modulation mode, check success. */
@@ -1915,10 +1922,9 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
if (win->average_tpt > lq_sta->last_tpt) {
D_RATE("LQ: SWITCHING TO NEW TBL "
- "suc=%d cur-tpt=%d old-tpt=%d\n",
- win->success_ratio,
- win->average_tpt,
- lq_sta->last_tpt);
+ "suc=%d cur-tpt=%d old-tpt=%d\n",
+ win->success_ratio, win->average_tpt,
+ lq_sta->last_tpt);
if (!is_legacy(tbl->lq_type))
lq_sta->enable_counter = 1;
@@ -1927,14 +1933,13 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
lq_sta->active_tbl = active_tbl;
current_tpt = win->average_tpt;
- /* Else poor success; go back to mode in "active" table */
+ /* Else poor success; go back to mode in "active" table */
} else {
D_RATE("LQ: GOING BACK TO THE OLD TBL "
- "suc=%d cur-tpt=%d old-tpt=%d\n",
- win->success_ratio,
- win->average_tpt,
- lq_sta->last_tpt);
+ "suc=%d cur-tpt=%d old-tpt=%d\n",
+ win->success_ratio, win->average_tpt,
+ lq_sta->last_tpt);
/* Nullify "search" table */
tbl->lq_type = LQ_NONE;
@@ -1960,15 +1965,14 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
/* (Else) not in search of better modulation mode, try for better
* starting rate, while staying in this mode. */
- high_low = il4965_rs_get_adjacent_rate(il, idx,
- rate_scale_idx_msk,
+ high_low =
+ il4965_rs_get_adjacent_rate(il, idx, rate_scale_idx_msk,
tbl->lq_type);
low = high_low & 0xff;
high = (high_low >> 8) & 0xff;
/* If user set max rate, dont allow higher than user constrain */
- if (lq_sta->max_rate_idx != -1 &&
- lq_sta->max_rate_idx < high)
+ if (lq_sta->max_rate_idx != -1 && lq_sta->max_rate_idx < high)
high = RATE_INVALID;
sr = win->success_ratio;
@@ -1984,13 +1988,11 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
/* Too many failures, decrease rate */
if (sr <= RATE_DECREASE_TH || current_tpt == 0) {
- D_RATE(
- "decrease rate because of low success_ratio\n");
+ D_RATE("decrease rate because of low success_ratio\n");
scale_action = -1;
- /* No throughput measured yet for adjacent rates; try increase. */
- } else if (low_tpt == IL_INVALID_VALUE &&
- high_tpt == IL_INVALID_VALUE) {
+ /* No throughput measured yet for adjacent rates; try increase. */
+ } else if (low_tpt == IL_INVALID_VALUE && high_tpt == IL_INVALID_VALUE) {
if (high != RATE_INVALID && sr >= RATE_INCREASE_TH)
scale_action = 1;
@@ -2010,19 +2012,17 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
/* Higher adjacent rate's throughput is measured */
if (high_tpt != IL_INVALID_VALUE) {
/* Higher rate has better throughput */
- if (high_tpt > current_tpt &&
- sr >= RATE_INCREASE_TH) {
+ if (high_tpt > current_tpt && sr >= RATE_INCREASE_TH) {
scale_action = 1;
} else {
scale_action = 0;
}
- /* Lower adjacent rate's throughput is measured */
+ /* Lower adjacent rate's throughput is measured */
} else if (low_tpt != IL_INVALID_VALUE) {
/* Lower rate has better throughput */
if (low_tpt > current_tpt) {
- D_RATE(
- "decrease rate because of low tpt\n");
+ D_RATE("decrease rate because of low tpt\n");
scale_action = -1;
} else if (sr >= RATE_INCREASE_TH) {
scale_action = 1;
@@ -2059,19 +2059,19 @@ static void il4965_rs_rate_scale_perform(struct il_priv *il,
break;
}
- D_RATE("choose rate scale idx %d action %d low %d "
- "high %d type %d\n",
- idx, scale_action, low, high, tbl->lq_type);
+ D_RATE("choose rate scale idx %d action %d low %d " "high %d type %d\n",
+ idx, scale_action, low, high, tbl->lq_type);
lq_update:
/* Replace uCode's rate table for the destination station. */
if (update_lq)
- rate = il4965_rs_update_rate_tbl(il, ctx, lq_sta,
- tbl, idx, is_green);
+ rate =
+ il4965_rs_update_rate_tbl(il, ctx, lq_sta, tbl, idx,
+ is_green);
/* Should we stay with this modulation mode,
* or search for a new one? */
- il4965_rs_stay_in_table(lq_sta, false);
+ il4965_rs_stay_in_table(lq_sta, false);
/*
* Search for new modulation mode if we're:
@@ -2079,41 +2079,35 @@ lq_update:
* 2) Not just finishing up a search
* 3) Allowing a new search
*/
- if (!update_lq && !done_search && !lq_sta->stay_in_tbl &&
- win->counter) {
- /* Save current throughput to compare with "search" throughput*/
+ if (!update_lq && !done_search && !lq_sta->stay_in_tbl && win->counter) {
+ /* Save current throughput to compare with "search" throughput */
lq_sta->last_tpt = current_tpt;
/* Select a new "search" modulation mode to try.
* If one is found, set up the new "search" table. */
if (is_legacy(tbl->lq_type))
- il4965_rs_move_legacy_other(il, lq_sta,
- conf, sta, idx);
+ il4965_rs_move_legacy_other(il, lq_sta, conf, sta, idx);
else if (is_siso(tbl->lq_type))
- il4965_rs_move_siso_to_other(il, lq_sta,
- conf, sta, idx);
- else /* (is_mimo2(tbl->lq_type)) */
- il4965_rs_move_mimo2_to_other(il, lq_sta,
- conf, sta, idx);
+ il4965_rs_move_siso_to_other(il, lq_sta, conf, sta,
+ idx);
+ else /* (is_mimo2(tbl->lq_type)) */
+ il4965_rs_move_mimo2_to_other(il, lq_sta, conf, sta,
+ idx);
/* If new "search" mode was selected, set up in uCode table */
if (lq_sta->search_better_tbl) {
/* Access the "search" table, clear its history. */
tbl = &(lq_sta->lq_info[(1 - lq_sta->active_tbl)]);
for (i = 0; i < RATE_COUNT; i++)
- il4965_rs_rate_scale_clear_win(
- &(tbl->win[i]));
+ il4965_rs_rate_scale_clear_win(&(tbl->win[i]));
/* Use new "search" start rate */
idx = il4965_hwrate_to_plcp_idx(tbl->current_rate);
- D_RATE(
- "Switch current mcs: %X idx: %d\n",
- tbl->current_rate, idx);
- il4965_rs_fill_link_cmd(il, lq_sta,
- tbl->current_rate);
- il_send_lq_cmd(il, ctx,
- &lq_sta->lq, CMD_ASYNC, false);
+ D_RATE("Switch current mcs: %X idx: %d\n",
+ tbl->current_rate, idx);
+ il4965_rs_fill_link_cmd(il, lq_sta, tbl->current_rate);
+ il_send_lq_cmd(il, ctx, &lq_sta->lq, CMD_ASYNC, false);
} else
done_search = 1;
}
@@ -2140,13 +2134,12 @@ lq_update:
(lq_sta->tx_agg_tid_en & (1 << tid)) &&
tid != MAX_TID_COUNT) {
tid_data =
- &il->stations[lq_sta->lq.sta_id].tid[tid];
+ &il->stations[lq_sta->lq.sta_id].tid[tid];
if (tid_data->agg.state == IL_AGG_OFF) {
- D_RATE(
- "try to aggregate tid %d\n",
- tid);
+ D_RATE("try to aggregate tid %d\n",
+ tid);
il4965_rs_tl_turn_on_agg(il, tid,
- lq_sta, sta);
+ lq_sta, sta);
}
}
il4965_rs_set_stay_in_table(il, 0, lq_sta);
@@ -2154,8 +2147,8 @@ lq_update:
}
out:
- tbl->current_rate = il4965_rate_n_flags_from_tbl(il, tbl,
- idx, is_green);
+ tbl->current_rate =
+ il4965_rate_n_flags_from_tbl(il, tbl, idx, is_green);
i = idx;
lq_sta->last_txrate_idx = i;
}
@@ -2174,10 +2167,9 @@ out:
* calling this function (which runs C_TX_LINK_QUALITY_CMD,
* which requires station table entry to exist).
*/
-static void il4965_rs_initialize_lq(struct il_priv *il,
- struct ieee80211_conf *conf,
- struct ieee80211_sta *sta,
- struct il_lq_sta *lq_sta)
+static void
+il4965_rs_initialize_lq(struct il_priv *il, struct ieee80211_conf *conf,
+ struct ieee80211_sta *sta, struct il_lq_sta *lq_sta)
{
struct il_scale_tbl_info *tbl;
int rate_idx;
@@ -2230,7 +2222,7 @@ static void il4965_rs_initialize_lq(struct il_priv *il,
static void
il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
- struct ieee80211_tx_rate_control *txrc)
+ struct ieee80211_tx_rate_control *txrc)
{
struct sk_buff *skb = txrc->skb;
@@ -2266,28 +2258,28 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
if (!lq_sta)
return;
- rate_idx = lq_sta->last_txrate_idx;
+ rate_idx = lq_sta->last_txrate_idx;
if (lq_sta->last_rate_n_flags & RATE_MCS_HT_MSK) {
rate_idx -= IL_FIRST_OFDM_RATE;
/* 6M and 9M shared same MCS idx */
rate_idx = (rate_idx > 0) ? (rate_idx - 1) : 0;
if (il4965_rs_extract_rate(lq_sta->last_rate_n_flags) >=
- RATE_MIMO2_6M_PLCP)
+ RATE_MIMO2_6M_PLCP)
rate_idx = rate_idx + MCS_IDX_PER_STREAM;
info->control.rates[0].flags = IEEE80211_TX_RC_MCS;
if (lq_sta->last_rate_n_flags & RATE_MCS_SGI_MSK)
info->control.rates[0].flags |=
- IEEE80211_TX_RC_SHORT_GI;
+ IEEE80211_TX_RC_SHORT_GI;
if (lq_sta->last_rate_n_flags & RATE_MCS_DUP_MSK)
info->control.rates[0].flags |=
- IEEE80211_TX_RC_DUP_DATA;
+ IEEE80211_TX_RC_DUP_DATA;
if (lq_sta->last_rate_n_flags & RATE_MCS_HT40_MSK)
info->control.rates[0].flags |=
- IEEE80211_TX_RC_40_MHZ_WIDTH;
+ IEEE80211_TX_RC_40_MHZ_WIDTH;
if (lq_sta->last_rate_n_flags & RATE_MCS_GF_MSK)
info->control.rates[0].flags |=
- IEEE80211_TX_RC_GREEN_FIELD;
+ IEEE80211_TX_RC_GREEN_FIELD;
} else {
/* Check for invalid rates */
if (rate_idx < 0 || rate_idx >= RATE_COUNT_LEGACY ||
@@ -2303,12 +2295,12 @@ il4965_rs_get_rate(void *il_r, struct ieee80211_sta *sta, void *il_sta,
}
-static void *il4965_rs_alloc_sta(void *il_rate, struct ieee80211_sta *sta,
- gfp_t gfp)
+static void *
+il4965_rs_alloc_sta(void *il_rate, struct ieee80211_sta *sta, gfp_t gfp)
{
struct il_lq_sta *lq_sta;
struct il_station_priv *sta_priv =
- (struct il_station_priv *) sta->drv_priv;
+ (struct il_station_priv *)sta->drv_priv;
struct il_priv *il;
il = (struct il_priv *)il_rate;
@@ -2323,9 +2315,7 @@ static void *il4965_rs_alloc_sta(void *il_rate, struct ieee80211_sta *sta,
* Called after adding a new station to initialize rate scaling
*/
void
-il4965_rs_rate_init(struct il_priv *il,
- struct ieee80211_sta *sta,
- u8 sta_id)
+il4965_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta, u8 sta_id)
{
int i, j;
struct ieee80211_hw *hw = il->hw;
@@ -2335,28 +2325,26 @@ il4965_rs_rate_init(struct il_priv *il,
struct il_lq_sta *lq_sta;
struct ieee80211_supported_band *sband;
- sta_priv = (struct il_station_priv *) sta->drv_priv;
+ sta_priv = (struct il_station_priv *)sta->drv_priv;
lq_sta = &sta_priv->lq_sta;
sband = hw->wiphy->bands[conf->channel->band];
-
lq_sta->lq.sta_id = sta_id;
for (j = 0; j < LQ_SIZE; j++)
for (i = 0; i < RATE_COUNT; i++)
- il4965_rs_rate_scale_clear_win(
- &lq_sta->lq_info[j].win[i]);
+ il4965_rs_rate_scale_clear_win(&lq_sta->lq_info[j].
+ win[i]);
lq_sta->flush_timer = 0;
lq_sta->supp_rates = sta->supp_rates[sband->band];
for (j = 0; j < LQ_SIZE; j++)
for (i = 0; i < RATE_COUNT; i++)
- il4965_rs_rate_scale_clear_win(
- &lq_sta->lq_info[j].win[i]);
+ il4965_rs_rate_scale_clear_win(&lq_sta->lq_info[j].
+ win[i]);
- D_RATE("LQ:"
- "*** rate scale station global init for station %d ***\n",
- sta_id);
+ D_RATE("LQ:" "*** rate scale station global init for station %d ***\n",
+ sta_id);
/* TODO: what is a good starting rate for STA? About middle? Maybe not
* the lowest or the highest rate.. Could consider using RSSI from
* previous packets? Need to have IEEE 802.1X auth succeed immediately
@@ -2374,26 +2362,26 @@ il4965_rs_rate_init(struct il_priv *il,
*/
lq_sta->active_siso_rate = ht_cap->mcs.rx_mask[0] << 1;
lq_sta->active_siso_rate |= ht_cap->mcs.rx_mask[0] & 0x1;
- lq_sta->active_siso_rate &= ~((u16)0x2);
+ lq_sta->active_siso_rate &= ~((u16) 0x2);
lq_sta->active_siso_rate <<= IL_FIRST_OFDM_RATE;
/* Same here */
lq_sta->active_mimo2_rate = ht_cap->mcs.rx_mask[1] << 1;
lq_sta->active_mimo2_rate |= ht_cap->mcs.rx_mask[1] & 0x1;
- lq_sta->active_mimo2_rate &= ~((u16)0x2);
+ lq_sta->active_mimo2_rate &= ~((u16) 0x2);
lq_sta->active_mimo2_rate <<= IL_FIRST_OFDM_RATE;
/* These values will be overridden later */
lq_sta->lq.general_params.single_stream_ant_msk =
- il4965_first_antenna(il->hw_params.valid_tx_ant);
+ il4965_first_antenna(il->hw_params.valid_tx_ant);
lq_sta->lq.general_params.dual_stream_ant_msk =
- il->hw_params.valid_tx_ant &
- ~il4965_first_antenna(il->hw_params.valid_tx_ant);
+ il->hw_params.valid_tx_ant & ~il4965_first_antenna(il->hw_params.
+ valid_tx_ant);
if (!lq_sta->lq.general_params.dual_stream_ant_msk) {
lq_sta->lq.general_params.dual_stream_ant_msk = ANT_AB;
} else if (il4965_num_of_ant(il->hw_params.valid_tx_ant) == 2) {
lq_sta->lq.general_params.dual_stream_ant_msk =
- il->hw_params.valid_tx_ant;
+ il->hw_params.valid_tx_ant;
}
/* as default allow aggregation for all tids */
@@ -2413,8 +2401,9 @@ il4965_rs_rate_init(struct il_priv *il,
il4965_rs_initialize_lq(il, conf, sta, lq_sta);
}
-static void il4965_rs_fill_link_cmd(struct il_priv *il,
- struct il_lq_sta *lq_sta, u32 new_rate)
+static void
+il4965_rs_fill_link_cmd(struct il_priv *il, struct il_lq_sta *lq_sta,
+ u32 new_rate)
{
struct il_scale_tbl_info tbl_type;
int idx = 0;
@@ -2429,8 +2418,8 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
il4965_rs_dbgfs_set_mcs(lq_sta, &new_rate, idx);
/* Interpret new_rate (rate_n_flags) */
- il4965_rs_get_tbl_info_from_mcs(new_rate, lq_sta->band,
- &tbl_type, &rate_idx);
+ il4965_rs_get_tbl_info_from_mcs(new_rate, lq_sta->band, &tbl_type,
+ &rate_idx);
/* How many times should we repeat the initial rate? */
if (is_legacy(tbl_type.lq_type)) {
@@ -2441,19 +2430,18 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
}
lq_cmd->general_params.mimo_delimiter =
- is_mimo(tbl_type.lq_type) ? 1 : 0;
+ is_mimo(tbl_type.lq_type) ? 1 : 0;
/* Fill 1st table entry (idx 0) */
lq_cmd->rs_table[idx].rate_n_flags = cpu_to_le32(new_rate);
if (il4965_num_of_ant(tbl_type.ant_type) == 1) {
lq_cmd->general_params.single_stream_ant_msk =
- tbl_type.ant_type;
+ tbl_type.ant_type;
} else if (il4965_num_of_ant(tbl_type.ant_type) == 2) {
- lq_cmd->general_params.dual_stream_ant_msk =
- tbl_type.ant_type;
- } /* otherwise we don't modify the existing value */
-
+ lq_cmd->general_params.dual_stream_ant_msk = tbl_type.ant_type;
+ }
+ /* otherwise we don't modify the existing value */
idx++;
repeat_rate--;
if (il)
@@ -2470,7 +2458,8 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
ant_toggle_cnt++;
else if (il &&
il4965_rs_toggle_antenna(valid_tx_ant,
- &new_rate, &tbl_type))
+ &new_rate,
+ &tbl_type))
ant_toggle_cnt = 1;
}
@@ -2479,14 +2468,13 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
/* Fill next table entry */
lq_cmd->rs_table[idx].rate_n_flags =
- cpu_to_le32(new_rate);
+ cpu_to_le32(new_rate);
repeat_rate--;
idx++;
}
- il4965_rs_get_tbl_info_from_mcs(new_rate,
- lq_sta->band, &tbl_type,
- &rate_idx);
+ il4965_rs_get_tbl_info_from_mcs(new_rate, lq_sta->band,
+ &tbl_type, &rate_idx);
/* Indicate to uCode which entries might be MIMO.
* If initial rate was MIMO, this will finally end up
@@ -2495,8 +2483,8 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
lq_cmd->general_params.mimo_delimiter = idx;
/* Get next rate */
- new_rate = il4965_rs_get_lower_rate(lq_sta,
- &tbl_type, rate_idx,
+ new_rate =
+ il4965_rs_get_lower_rate(lq_sta, &tbl_type, rate_idx,
use_ht_possible);
/* How many times should we repeat the next rate? */
@@ -2505,7 +2493,7 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
ant_toggle_cnt++;
else if (il &&
il4965_rs_toggle_antenna(valid_tx_ant,
- &new_rate, &tbl_type))
+ &new_rate, &tbl_type))
ant_toggle_cnt = 1;
repeat_rate = IL_NUMBER_TRY;
@@ -2531,22 +2519,24 @@ static void il4965_rs_fill_link_cmd(struct il_priv *il,
lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF;
lq_cmd->agg_params.agg_time_limit =
- cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
+ cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
}
-static void
-*il4965_rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
+static void *
+il4965_rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
{
return hw->priv;
}
+
/* rate scale requires free function to be implemented */
-static void il4965_rs_free(void *il_rate)
+static void
+il4965_rs_free(void *il_rate)
{
return;
}
-static void il4965_rs_free_sta(void *il_r, struct ieee80211_sta *sta,
- void *il_sta)
+static void
+il4965_rs_free_sta(void *il_r, struct ieee80211_sta *sta, void *il_sta)
{
struct il_priv *il __maybe_unused = il_r;
@@ -2554,15 +2544,16 @@ static void il4965_rs_free_sta(void *il_r, struct ieee80211_sta *sta,
D_RATE("leave\n");
}
-
#ifdef CONFIG_MAC80211_DEBUGFS
-static int il4965_open_file_generic(struct inode *inode, struct file *file)
+static int
+il4965_open_file_generic(struct inode *inode, struct file *file)
{
file->private_data = inode->i_private;
return 0;
}
-static void il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta,
- u32 *rate_n_flags, int idx)
+
+static void
+il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta, u32 * rate_n_flags, int idx)
{
struct il_priv *il;
u8 valid_tx_ant;
@@ -2572,16 +2563,17 @@ static void il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta,
valid_tx_ant = il->hw_params.valid_tx_ant;
if (lq_sta->dbg_fixed_rate) {
ant_sel_tx =
- ((lq_sta->dbg_fixed_rate & RATE_MCS_ANT_ABC_MSK)
- >> RATE_MCS_ANT_POS);
+ ((lq_sta->
+ dbg_fixed_rate & RATE_MCS_ANT_ABC_MSK) >>
+ RATE_MCS_ANT_POS);
if ((valid_tx_ant & ant_sel_tx) == ant_sel_tx) {
*rate_n_flags = lq_sta->dbg_fixed_rate;
D_RATE("Fixed rate ON\n");
} else {
lq_sta->dbg_fixed_rate = 0;
- IL_ERR(
- "Invalid antenna selection 0x%X, Valid is 0x%X\n",
- ant_sel_tx, valid_tx_ant);
+ IL_ERR
+ ("Invalid antenna selection 0x%X, Valid is 0x%X\n",
+ ant_sel_tx, valid_tx_ant);
D_RATE("Fixed rate OFF\n");
}
} else {
@@ -2589,8 +2581,10 @@ static void il4965_rs_dbgfs_set_mcs(struct il_lq_sta *lq_sta,
}
}
-static ssize_t il4965_rs_sta_dbgfs_scale_table_write(struct file *file,
- const char __user *user_buf, size_t count, loff_t *ppos)
+static ssize_t
+il4965_rs_sta_dbgfs_scale_table_write(struct file *file,
+ const char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_lq_sta *lq_sta = file->private_data;
struct il_priv *il;
@@ -2598,12 +2592,12 @@ static ssize_t il4965_rs_sta_dbgfs_scale_table_write(struct file *file,
size_t buf_size;
u32 parsed_rate;
struct il_station_priv *sta_priv =
- container_of(lq_sta, struct il_station_priv, lq_sta);
+ container_of(lq_sta, struct il_station_priv, lq_sta);
struct il_rxon_context *ctx = sta_priv->common.ctx;
il = lq_sta->drv;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
@@ -2613,23 +2607,23 @@ static ssize_t il4965_rs_sta_dbgfs_scale_table_write(struct file *file,
lq_sta->dbg_fixed_rate = 0;
lq_sta->active_legacy_rate = 0x0FFF; /* 1 - 54 MBits, includes CCK */
- lq_sta->active_siso_rate = 0x1FD0; /* 6 - 60 MBits, no 9, no CCK */
- lq_sta->active_mimo2_rate = 0x1FD0; /* 6 - 60 MBits, no 9, no CCK */
+ lq_sta->active_siso_rate = 0x1FD0; /* 6 - 60 MBits, no 9, no CCK */
+ lq_sta->active_mimo2_rate = 0x1FD0; /* 6 - 60 MBits, no 9, no CCK */
- D_RATE("sta_id %d rate 0x%X\n",
- lq_sta->lq.sta_id, lq_sta->dbg_fixed_rate);
+ D_RATE("sta_id %d rate 0x%X\n", lq_sta->lq.sta_id,
+ lq_sta->dbg_fixed_rate);
if (lq_sta->dbg_fixed_rate) {
il4965_rs_fill_link_cmd(NULL, lq_sta, lq_sta->dbg_fixed_rate);
- il_send_lq_cmd(lq_sta->drv, ctx, &lq_sta->lq, CMD_ASYNC,
- false);
+ il_send_lq_cmd(lq_sta->drv, ctx, &lq_sta->lq, CMD_ASYNC, false);
}
return count;
}
-static ssize_t il4965_rs_sta_dbgfs_scale_table_read(struct file *file,
- char __user *user_buf, size_t count, loff_t *ppos)
+static ssize_t
+il4965_rs_sta_dbgfs_scale_table_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
char *buff;
int desc = 0;
@@ -2646,64 +2640,80 @@ static ssize_t il4965_rs_sta_dbgfs_scale_table_read(struct file *file,
if (!buff)
return -ENOMEM;
- desc += sprintf(buff+desc, "sta_id %d\n", lq_sta->lq.sta_id);
- desc += sprintf(buff+desc, "failed=%d success=%d rate=0%X\n",
- lq_sta->total_failed, lq_sta->total_success,
- lq_sta->active_legacy_rate);
- desc += sprintf(buff+desc, "fixed rate 0x%X\n",
- lq_sta->dbg_fixed_rate);
- desc += sprintf(buff+desc, "valid_tx_ant %s%s%s\n",
- (il->hw_params.valid_tx_ant & ANT_A) ? "ANT_A," : "",
- (il->hw_params.valid_tx_ant & ANT_B) ? "ANT_B," : "",
- (il->hw_params.valid_tx_ant & ANT_C) ? "ANT_C" : "");
- desc += sprintf(buff+desc, "lq type %s\n",
- (is_legacy(tbl->lq_type)) ? "legacy" : "HT");
+ desc += sprintf(buff + desc, "sta_id %d\n", lq_sta->lq.sta_id);
+ desc +=
+ sprintf(buff + desc, "failed=%d success=%d rate=0%X\n",
+ lq_sta->total_failed, lq_sta->total_success,
+ lq_sta->active_legacy_rate);
+ desc +=
+ sprintf(buff + desc, "fixed rate 0x%X\n", lq_sta->dbg_fixed_rate);
+ desc +=
+ sprintf(buff + desc, "valid_tx_ant %s%s%s\n",
+ (il->hw_params.valid_tx_ant & ANT_A) ? "ANT_A," : "",
+ (il->hw_params.valid_tx_ant & ANT_B) ? "ANT_B," : "",
+ (il->hw_params.valid_tx_ant & ANT_C) ? "ANT_C" : "");
+ desc +=
+ sprintf(buff + desc, "lq type %s\n",
+ (is_legacy(tbl->lq_type)) ? "legacy" : "HT");
if (is_Ht(tbl->lq_type)) {
- desc += sprintf(buff+desc, " %s",
- (is_siso(tbl->lq_type)) ? "SISO" : "MIMO2");
- desc += sprintf(buff+desc, " %s",
- (tbl->is_ht40) ? "40MHz" : "20MHz");
- desc += sprintf(buff+desc, " %s %s %s\n",
- (tbl->is_SGI) ? "SGI" : "",
- (lq_sta->is_green) ? "GF enabled" : "",
- (lq_sta->is_agg) ? "AGG on" : "");
+ desc +=
+ sprintf(buff + desc, " %s",
+ (is_siso(tbl->lq_type)) ? "SISO" : "MIMO2");
+ desc +=
+ sprintf(buff + desc, " %s",
+ (tbl->is_ht40) ? "40MHz" : "20MHz");
+ desc +=
+ sprintf(buff + desc, " %s %s %s\n",
+ (tbl->is_SGI) ? "SGI" : "",
+ (lq_sta->is_green) ? "GF enabled" : "",
+ (lq_sta->is_agg) ? "AGG on" : "");
}
- desc += sprintf(buff+desc, "last tx rate=0x%X\n",
- lq_sta->last_rate_n_flags);
- desc += sprintf(buff+desc, "general:"
- "flags=0x%X mimo-d=%d s-ant0x%x d-ant=0x%x\n",
- lq_sta->lq.general_params.flags,
- lq_sta->lq.general_params.mimo_delimiter,
- lq_sta->lq.general_params.single_stream_ant_msk,
- lq_sta->lq.general_params.dual_stream_ant_msk);
-
- desc += sprintf(buff+desc, "agg:"
- "time_limit=%d dist_start_th=%d frame_cnt_limit=%d\n",
- le16_to_cpu(lq_sta->lq.agg_params.agg_time_limit),
- lq_sta->lq.agg_params.agg_dis_start_th,
- lq_sta->lq.agg_params.agg_frame_cnt_limit);
-
- desc += sprintf(buff+desc,
- "Start idx [0]=0x%x [1]=0x%x [2]=0x%x [3]=0x%x\n",
- lq_sta->lq.general_params.start_rate_idx[0],
- lq_sta->lq.general_params.start_rate_idx[1],
- lq_sta->lq.general_params.start_rate_idx[2],
- lq_sta->lq.general_params.start_rate_idx[3]);
+ desc +=
+ sprintf(buff + desc, "last tx rate=0x%X\n",
+ lq_sta->last_rate_n_flags);
+ desc +=
+ sprintf(buff + desc,
+ "general:" "flags=0x%X mimo-d=%d s-ant0x%x d-ant=0x%x\n",
+ lq_sta->lq.general_params.flags,
+ lq_sta->lq.general_params.mimo_delimiter,
+ lq_sta->lq.general_params.single_stream_ant_msk,
+ lq_sta->lq.general_params.dual_stream_ant_msk);
+
+ desc +=
+ sprintf(buff + desc,
+ "agg:"
+ "time_limit=%d dist_start_th=%d frame_cnt_limit=%d\n",
+ le16_to_cpu(lq_sta->lq.agg_params.agg_time_limit),
+ lq_sta->lq.agg_params.agg_dis_start_th,
+ lq_sta->lq.agg_params.agg_frame_cnt_limit);
+
+ desc +=
+ sprintf(buff + desc,
+ "Start idx [0]=0x%x [1]=0x%x [2]=0x%x [3]=0x%x\n",
+ lq_sta->lq.general_params.start_rate_idx[0],
+ lq_sta->lq.general_params.start_rate_idx[1],
+ lq_sta->lq.general_params.start_rate_idx[2],
+ lq_sta->lq.general_params.start_rate_idx[3]);
for (i = 0; i < LINK_QUAL_MAX_RETRY_NUM; i++) {
- idx = il4965_hwrate_to_plcp_idx(
- le32_to_cpu(lq_sta->lq.rs_table[i].rate_n_flags));
+ idx =
+ il4965_hwrate_to_plcp_idx(le32_to_cpu
+ (lq_sta->lq.rs_table[i].
+ rate_n_flags));
if (is_legacy(tbl->lq_type)) {
- desc += sprintf(buff+desc, " rate[%d] 0x%X %smbps\n",
- i,
- le32_to_cpu(lq_sta->lq.rs_table[i].rate_n_flags),
- il_rate_mcs[idx].mbps);
+ desc +=
+ sprintf(buff + desc, " rate[%d] 0x%X %smbps\n", i,
+ le32_to_cpu(lq_sta->lq.rs_table[i].
+ rate_n_flags),
+ il_rate_mcs[idx].mbps);
} else {
- desc += sprintf(buff+desc,
- " rate[%d] 0x%X %smbps (%s)\n",
- i,
- le32_to_cpu(lq_sta->lq.rs_table[i].rate_n_flags),
- il_rate_mcs[idx].mbps, il_rate_mcs[idx].mcs);
+ desc +=
+ sprintf(buff + desc, " rate[%d] 0x%X %smbps (%s)\n",
+ i,
+ le32_to_cpu(lq_sta->lq.rs_table[i].
+ rate_n_flags),
+ il_rate_mcs[idx].mbps,
+ il_rate_mcs[idx].mcs);
}
}
@@ -2718,8 +2728,10 @@ static const struct file_operations rs_sta_dbgfs_scale_table_ops = {
.open = il4965_open_file_generic,
.llseek = default_llseek,
};
-static ssize_t il4965_rs_sta_dbgfs_stats_table_read(struct file *file,
- char __user *user_buf, size_t count, loff_t *ppos)
+
+static ssize_t
+il4965_rs_sta_dbgfs_stats_table_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
char *buff;
int desc = 0;
@@ -2733,22 +2745,22 @@ static ssize_t il4965_rs_sta_dbgfs_stats_table_read(struct file *file,
return -ENOMEM;
for (i = 0; i < LQ_SIZE; i++) {
- desc += sprintf(buff+desc,
- "%s type=%d SGI=%d HT40=%d DUP=%d GF=%d\n"
- "rate=0x%X\n",
- lq_sta->active_tbl == i ? "*" : "x",
- lq_sta->lq_info[i].lq_type,
- lq_sta->lq_info[i].is_SGI,
- lq_sta->lq_info[i].is_ht40,
- lq_sta->lq_info[i].is_dup,
- lq_sta->is_green,
- lq_sta->lq_info[i].current_rate);
+ desc +=
+ sprintf(buff + desc,
+ "%s type=%d SGI=%d HT40=%d DUP=%d GF=%d\n"
+ "rate=0x%X\n", lq_sta->active_tbl == i ? "*" : "x",
+ lq_sta->lq_info[i].lq_type,
+ lq_sta->lq_info[i].is_SGI,
+ lq_sta->lq_info[i].is_ht40,
+ lq_sta->lq_info[i].is_dup, lq_sta->is_green,
+ lq_sta->lq_info[i].current_rate);
for (j = 0; j < RATE_COUNT; j++) {
- desc += sprintf(buff+desc,
- "counter=%d success=%d %%=%d\n",
- lq_sta->lq_info[i].win[j].counter,
- lq_sta->lq_info[i].win[j].success_counter,
- lq_sta->lq_info[i].win[j].success_ratio);
+ desc +=
+ sprintf(buff + desc,
+ "counter=%d success=%d %%=%d\n",
+ lq_sta->lq_info[i].win[j].counter,
+ lq_sta->lq_info[i].win[j].success_counter,
+ lq_sta->lq_info[i].win[j].success_ratio);
}
}
ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
@@ -2762,8 +2774,10 @@ static const struct file_operations rs_sta_dbgfs_stats_table_ops = {
.llseek = default_llseek,
};
-static ssize_t il4965_rs_sta_dbgfs_rate_scale_data_read(struct file *file,
- char __user *user_buf, size_t count, loff_t *ppos)
+static ssize_t
+il4965_rs_sta_dbgfs_rate_scale_data_read(struct file *file,
+ char __user * user_buf, size_t count,
+ loff_t * ppos)
{
char buff[120];
int desc = 0;
@@ -2776,13 +2790,13 @@ static ssize_t il4965_rs_sta_dbgfs_rate_scale_data_read(struct file *file,
il = lq_sta->drv;
if (is_Ht(tbl->lq_type))
- desc += sprintf(buff+desc,
- "Bit Rate= %d Mb/s\n",
- tbl->expected_tpt[lq_sta->last_txrate_idx]);
+ desc +=
+ sprintf(buff + desc, "Bit Rate= %d Mb/s\n",
+ tbl->expected_tpt[lq_sta->last_txrate_idx]);
else
- desc += sprintf(buff+desc,
- "Bit Rate= %d Mb/s\n",
- il_rates[lq_sta->last_txrate_idx].ieee >> 1);
+ desc +=
+ sprintf(buff + desc, "Bit Rate= %d Mb/s\n",
+ il_rates[lq_sta->last_txrate_idx].ieee >> 1);
ret = simple_read_from_buffer(user_buf, count, ppos, buff, desc);
return ret;
@@ -2794,26 +2808,27 @@ static const struct file_operations rs_sta_dbgfs_rate_scale_data_ops = {
.llseek = default_llseek,
};
-static void il4965_rs_add_debugfs(void *il, void *il_sta,
- struct dentry *dir)
+static void
+il4965_rs_add_debugfs(void *il, void *il_sta, struct dentry *dir)
{
struct il_lq_sta *lq_sta = il_sta;
lq_sta->rs_sta_dbgfs_scale_table_file =
- debugfs_create_file("rate_scale_table", S_IRUSR | S_IWUSR, dir,
+ debugfs_create_file("rate_scale_table", S_IRUSR | S_IWUSR, dir,
lq_sta, &rs_sta_dbgfs_scale_table_ops);
lq_sta->rs_sta_dbgfs_stats_table_file =
- debugfs_create_file("rate_stats_table", S_IRUSR, dir,
- lq_sta, &rs_sta_dbgfs_stats_table_ops);
+ debugfs_create_file("rate_stats_table", S_IRUSR, dir, lq_sta,
+ &rs_sta_dbgfs_stats_table_ops);
lq_sta->rs_sta_dbgfs_rate_scale_data_file =
- debugfs_create_file("rate_scale_data", S_IRUSR, dir,
- lq_sta, &rs_sta_dbgfs_rate_scale_data_ops);
+ debugfs_create_file("rate_scale_data", S_IRUSR, dir, lq_sta,
+ &rs_sta_dbgfs_rate_scale_data_ops);
lq_sta->rs_sta_dbgfs_tx_agg_tid_en_file =
- debugfs_create_u8("tx_agg_tid_enable", S_IRUSR | S_IWUSR, dir,
- &lq_sta->tx_agg_tid_en);
+ debugfs_create_u8("tx_agg_tid_enable", S_IRUSR | S_IWUSR, dir,
+ &lq_sta->tx_agg_tid_en);
}
-static void il4965_rs_remove_debugfs(void *il, void *il_sta)
+static void
+il4965_rs_remove_debugfs(void *il, void *il_sta)
{
struct il_lq_sta *lq_sta = il_sta;
debugfs_remove(lq_sta->rs_sta_dbgfs_scale_table_file);
@@ -2833,6 +2848,7 @@ il4965_rs_rate_init_stub(void *il_r, struct ieee80211_supported_band *sband,
struct ieee80211_sta *sta, void *il_sta)
{
}
+
static struct rate_control_ops rs_4965_ops = {
.module = NULL,
.name = IL4965_RS_NAME,
@@ -2849,12 +2865,14 @@ static struct rate_control_ops rs_4965_ops = {
#endif
};
-int il4965_rate_control_register(void)
+int
+il4965_rate_control_register(void)
{
return ieee80211_rate_control_register(&rs_4965_ops);
}
-void il4965_rate_control_unregister(void)
+void
+il4965_rate_control_unregister(void)
{
ieee80211_rate_control_unregister(&rs_4965_ops);
}
diff --git a/drivers/net/wireless/iwlegacy/4965.c b/drivers/net/wireless/iwlegacy/4965.c
index cbbb2c03f51..be054f1452b 100644
--- a/drivers/net/wireless/iwlegacy/4965.c
+++ b/drivers/net/wireless/iwlegacy/4965.c
@@ -48,7 +48,7 @@
* it's a pretty good bet that everything between them is good, too.
*/
static int
-il4965_verify_inst_sparse(struct il_priv *il, __le32 *image, u32 len)
+il4965_verify_inst_sparse(struct il_priv *il, __le32 * image, u32 len)
{
u32 val;
int ret = 0;
@@ -57,12 +57,11 @@ il4965_verify_inst_sparse(struct il_priv *il, __le32 *image, u32 len)
D_INFO("ucode inst image size is %u\n", len);
- for (i = 0; i < len; i += 100, image += 100/sizeof(u32)) {
+ for (i = 0; i < len; i += 100, image += 100 / sizeof(u32)) {
/* read data comes through single port, auto-incr addr */
/* NOTE: Use the debugless read so we don't flood kernel log
* if IL_DL_IO is set */
- il_wr(il, HBUS_TARG_MEM_RADDR,
- i + IL4965_RTC_INST_LOWER_BOUND);
+ il_wr(il, HBUS_TARG_MEM_RADDR, i + IL4965_RTC_INST_LOWER_BOUND);
val = _il_rd(il, HBUS_TARG_MEM_RDAT);
if (val != le32_to_cpu(*image)) {
ret = -EIO;
@@ -79,8 +78,8 @@ il4965_verify_inst_sparse(struct il_priv *il, __le32 *image, u32 len)
* il4965_verify_inst_full - verify runtime uCode image in card vs. host,
* looking at all data.
*/
-static int il4965_verify_inst_full(struct il_priv *il, __le32 *image,
- u32 len)
+static int
+il4965_verify_inst_full(struct il_priv *il, __le32 * image, u32 len)
{
u32 val;
u32 save_len = len;
@@ -89,8 +88,7 @@ static int il4965_verify_inst_full(struct il_priv *il, __le32 *image,
D_INFO("ucode inst image size is %u\n", len);
- il_wr(il, HBUS_TARG_MEM_RADDR,
- IL4965_RTC_INST_LOWER_BOUND);
+ il_wr(il, HBUS_TARG_MEM_RADDR, IL4965_RTC_INST_LOWER_BOUND);
errcnt = 0;
for (; len > 0; len -= sizeof(u32), image++) {
@@ -100,8 +98,8 @@ static int il4965_verify_inst_full(struct il_priv *il, __le32 *image,
val = _il_rd(il, HBUS_TARG_MEM_RDAT);
if (val != le32_to_cpu(*image)) {
IL_ERR("uCode INST section is invalid at "
- "offset 0x%x, is 0x%x, s/b 0x%x\n",
- save_len - len, val, le32_to_cpu(*image));
+ "offset 0x%x, is 0x%x, s/b 0x%x\n",
+ save_len - len, val, le32_to_cpu(*image));
ret = -EIO;
errcnt++;
if (errcnt >= 20)
@@ -110,8 +108,7 @@ static int il4965_verify_inst_full(struct il_priv *il, __le32 *image,
}
if (!errcnt)
- D_INFO(
- "ucode image in INSTRUCTION memory is good\n");
+ D_INFO("ucode image in INSTRUCTION memory is good\n");
return ret;
}
@@ -120,14 +117,15 @@ static int il4965_verify_inst_full(struct il_priv *il, __le32 *image,
* il4965_verify_ucode - determine which instruction image is in SRAM,
* and verify its contents
*/
-int il4965_verify_ucode(struct il_priv *il)
+int
+il4965_verify_ucode(struct il_priv *il)
{
__le32 *image;
u32 len;
int ret;
/* Try bootstrap */
- image = (__le32 *)il->ucode_boot.v_addr;
+ image = (__le32 *) il->ucode_boot.v_addr;
len = il->ucode_boot.len;
ret = il4965_verify_inst_sparse(il, image, len);
if (!ret) {
@@ -136,7 +134,7 @@ int il4965_verify_ucode(struct il_priv *il)
}
/* Try initialize */
- image = (__le32 *)il->ucode_init.v_addr;
+ image = (__le32 *) il->ucode_init.v_addr;
len = il->ucode_init.len;
ret = il4965_verify_inst_sparse(il, image, len);
if (!ret) {
@@ -145,7 +143,7 @@ int il4965_verify_ucode(struct il_priv *il)
}
/* Try runtime/protocol */
- image = (__le32 *)il->ucode_code.v_addr;
+ image = (__le32 *) il->ucode_code.v_addr;
len = il->ucode_code.len;
ret = il4965_verify_inst_sparse(il, image, len);
if (!ret) {
@@ -158,7 +156,7 @@ int il4965_verify_ucode(struct il_priv *il)
/* Since nothing seems to match, show first several data entries in
* instruction SRAM, so maybe visual inspection will give a clue.
* Selection of bootstrap image (vs. other images) is arbitrary. */
- image = (__le32 *)il->ucode_boot.v_addr;
+ image = (__le32 *) il->ucode_boot.v_addr;
len = il->ucode_boot.len;
ret = il4965_verify_inst_full(il, image, len);
@@ -177,7 +175,8 @@ int il4965_verify_ucode(struct il_priv *il)
* EEPROM chip, not a single event, so even reads could conflict if they
* weren't arbitrated by the semaphore.
*/
-int il4965_eeprom_acquire_semaphore(struct il_priv *il)
+int
+il4965_eeprom_acquire_semaphore(struct il_priv *il)
{
u16 count;
int ret;
@@ -185,13 +184,14 @@ int il4965_eeprom_acquire_semaphore(struct il_priv *il)
for (count = 0; count < EEPROM_SEM_RETRY_LIMIT; count++) {
/* Request semaphore */
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM);
+ CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM);
/* See if we got it */
- ret = _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
- CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
- EEPROM_SEM_TIMEOUT);
+ ret =
+ _il_poll_bit(il, CSR_HW_IF_CONFIG_REG,
+ CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
+ CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
+ EEPROM_SEM_TIMEOUT);
if (ret >= 0)
return ret;
}
@@ -199,43 +199,43 @@ int il4965_eeprom_acquire_semaphore(struct il_priv *il)
return ret;
}
-void il4965_eeprom_release_semaphore(struct il_priv *il)
+void
+il4965_eeprom_release_semaphore(struct il_priv *il)
{
il_clear_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM);
+ CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM);
}
-int il4965_eeprom_check_version(struct il_priv *il)
+int
+il4965_eeprom_check_version(struct il_priv *il)
{
u16 eeprom_ver;
u16 calib_ver;
eeprom_ver = il_eeprom_query16(il, EEPROM_VERSION);
- calib_ver = il_eeprom_query16(il,
- EEPROM_4965_CALIB_VERSION_OFFSET);
+ calib_ver = il_eeprom_query16(il, EEPROM_4965_CALIB_VERSION_OFFSET);
if (eeprom_ver < il->cfg->eeprom_ver ||
calib_ver < il->cfg->eeprom_calib_ver)
goto err;
- IL_INFO("device EEPROM VER=0x%x, CALIB=0x%x\n",
- eeprom_ver, calib_ver);
+ IL_INFO("device EEPROM VER=0x%x, CALIB=0x%x\n", eeprom_ver, calib_ver);
return 0;
err:
IL_ERR("Unsupported (too old) EEPROM VER=0x%x < 0x%x "
- "CALIB=0x%x < 0x%x\n",
- eeprom_ver, il->cfg->eeprom_ver,
- calib_ver, il->cfg->eeprom_calib_ver);
+ "CALIB=0x%x < 0x%x\n", eeprom_ver, il->cfg->eeprom_ver,
+ calib_ver, il->cfg->eeprom_calib_ver);
return -EINVAL;
}
-void il4965_eeprom_get_mac(const struct il_priv *il, u8 *mac)
+void
+il4965_eeprom_get_mac(const struct il_priv *il, u8 * mac)
{
const u8 *addr = il_eeprom_query_addr(il,
- EEPROM_MAC_ADDRESS);
+ EEPROM_MAC_ADDRESS);
memcpy(mac, addr, ETH_ALEN);
}
@@ -260,7 +260,8 @@ il4965_send_led_cmd(struct il_priv *il, struct il_led_cmd *led_cmd)
}
/* Set led register off */
-void il4965_led_enable(struct il_priv *il)
+void
+il4965_led_enable(struct il_priv *il)
{
_il_wr(il, CSR_LED_REG, CSR_LED_REG_TRUN_ON);
}
@@ -283,7 +284,8 @@ static int il4965_hw_get_temperature(struct il_priv *il);
#define IL4965_MODULE_FIRMWARE(api) _IL4965_MODULE_FIRMWARE(api)
/* check contents of special bootstrap uCode SRAM */
-static int il4965_verify_bsm(struct il_priv *il)
+static int
+il4965_verify_bsm(struct il_priv *il)
{
__le32 *image = il->ucode_boot.v_addr;
u32 len = il->ucode_boot.len;
@@ -294,16 +296,14 @@ static int il4965_verify_bsm(struct il_priv *il)
/* verify BSM SRAM contents */
val = il_rd_prph(il, BSM_WR_DWCOUNT_REG);
- for (reg = BSM_SRAM_LOWER_BOUND;
- reg < BSM_SRAM_LOWER_BOUND + len;
+ for (reg = BSM_SRAM_LOWER_BOUND; reg < BSM_SRAM_LOWER_BOUND + len;
reg += sizeof(u32), image++) {
val = il_rd_prph(il, reg);
if (val != le32_to_cpu(*image)) {
IL_ERR("BSM uCode verification failed at "
- "addr 0x%08X+%u (of %u), is 0x%x, s/b 0x%x\n",
- BSM_SRAM_LOWER_BOUND,
- reg - BSM_SRAM_LOWER_BOUND, len,
- val, le32_to_cpu(*image));
+ "addr 0x%08X+%u (of %u), is 0x%x, s/b 0x%x\n",
+ BSM_SRAM_LOWER_BOUND, reg - BSM_SRAM_LOWER_BOUND,
+ len, val, le32_to_cpu(*image));
return -EIO;
}
}
@@ -345,7 +345,8 @@ static int il4965_verify_bsm(struct il_priv *il)
* the runtime uCode instructions and the backup data cache into SRAM,
* and re-launches the runtime uCode from where it left off.
*/
-static int il4965_load_bsm(struct il_priv *il)
+static int
+il4965_load_bsm(struct il_priv *il)
{
__le32 *image = il->ucode_boot.v_addr;
u32 len = il->ucode_boot.len;
@@ -394,8 +395,7 @@ static int il4965_load_bsm(struct il_priv *il)
/* Tell BSM to copy from BSM SRAM into instruction SRAM, when asked */
il_wr_prph(il, BSM_WR_MEM_SRC_REG, 0x0);
- il_wr_prph(il,
- BSM_WR_MEM_DST_REG, IL49_RTC_INST_LOWER_BOUND);
+ il_wr_prph(il, BSM_WR_MEM_DST_REG, IL49_RTC_INST_LOWER_BOUND);
il_wr_prph(il, BSM_WR_DWCOUNT_REG, len / sizeof(u32));
/* Load bootstrap code into instruction SRAM now,
@@ -418,9 +418,7 @@ static int il4965_load_bsm(struct il_priv *il)
/* Enable future boot loads whenever power management unit triggers it
* (e.g. when powering back up after power-save shutdown) */
- il_wr_prph(il,
- BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START_EN);
-
+ il_wr_prph(il, BSM_WR_CTRL_REG, BSM_WR_CTRL_REG_BIT_START_EN);
return 0;
}
@@ -434,7 +432,8 @@ static int il4965_load_bsm(struct il_priv *il)
* We need to replace them to load runtime uCode inst and data,
* and to save runtime data when powering down.
*/
-static int il4965_set_ucode_ptrs(struct il_priv *il)
+static int
+il4965_set_ucode_ptrs(struct il_priv *il)
{
dma_addr_t pinst;
dma_addr_t pdata;
@@ -447,13 +446,12 @@ static int il4965_set_ucode_ptrs(struct il_priv *il)
/* Tell bootstrap uCode where to find image to load */
il_wr_prph(il, BSM_DRAM_INST_PTR_REG, pinst);
il_wr_prph(il, BSM_DRAM_DATA_PTR_REG, pdata);
- il_wr_prph(il, BSM_DRAM_DATA_BYTECOUNT_REG,
- il->ucode_data.len);
+ il_wr_prph(il, BSM_DRAM_DATA_BYTECOUNT_REG, il->ucode_data.len);
/* Inst byte count must be last to set up, bit 31 signals uCode
* that all new ptr/size info is in place */
il_wr_prph(il, BSM_DRAM_INST_BYTECOUNT_REG,
- il->ucode_code.len | BSM_DRAM_INST_LOAD);
+ il->ucode_code.len | BSM_DRAM_INST_LOAD);
D_INFO("Runtime uCode pointers are set.\n");
return ret;
@@ -470,7 +468,8 @@ static int il4965_set_ucode_ptrs(struct il_priv *il)
*
* Tell "initialize" uCode to go ahead and load the runtime uCode.
*/
-static void il4965_init_alive_start(struct il_priv *il)
+static void
+il4965_init_alive_start(struct il_priv *il)
{
/* Bootstrap uCode has loaded initialize uCode ... verify inst image.
* This is a paranoid check, because we would not have gotten the
@@ -501,15 +500,18 @@ restart:
queue_work(il->workqueue, &il->restart);
}
-static bool iw4965_is_ht40_channel(__le32 rxon_flags)
+static bool
+iw4965_is_ht40_channel(__le32 rxon_flags)
{
- int chan_mod = le32_to_cpu(rxon_flags & RXON_FLG_CHANNEL_MODE_MSK)
- >> RXON_FLG_CHANNEL_MODE_POS;
+ int chan_mod =
+ le32_to_cpu(rxon_flags & RXON_FLG_CHANNEL_MODE_MSK) >>
+ RXON_FLG_CHANNEL_MODE_POS;
return (chan_mod == CHANNEL_MODE_PURE_40 ||
chan_mod == CHANNEL_MODE_MIXED);
}
-static void il4965_nic_config(struct il_priv *il)
+static void
+il4965_nic_config(struct il_priv *il)
{
unsigned long flags;
u16 radio_cfg;
@@ -521,18 +523,18 @@ static void il4965_nic_config(struct il_priv *il)
/* write radio config values to register */
if (EEPROM_RF_CFG_TYPE_MSK(radio_cfg) == EEPROM_4965_RF_CFG_TYPE_MAX)
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- EEPROM_RF_CFG_TYPE_MSK(radio_cfg) |
- EEPROM_RF_CFG_STEP_MSK(radio_cfg) |
- EEPROM_RF_CFG_DASH_MSK(radio_cfg));
+ EEPROM_RF_CFG_TYPE_MSK(radio_cfg) |
+ EEPROM_RF_CFG_STEP_MSK(radio_cfg) |
+ EEPROM_RF_CFG_DASH_MSK(radio_cfg));
/* set CSR_HW_CONFIG_REG for uCode use */
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI |
- CSR_HW_IF_CONFIG_REG_BIT_MAC_SI);
+ CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI |
+ CSR_HW_IF_CONFIG_REG_BIT_MAC_SI);
- il->calib_info = (struct il_eeprom_calib_info *)
- il_eeprom_query_addr(il,
- EEPROM_4965_CALIB_TXPOWER_OFFSET);
+ il->calib_info =
+ (struct il_eeprom_calib_info *)il_eeprom_query_addr(il,
+ EEPROM_4965_CALIB_TXPOWER_OFFSET);
spin_unlock_irqrestore(&il->lock, flags);
}
@@ -540,12 +542,12 @@ static void il4965_nic_config(struct il_priv *il)
/* Reset differential Rx gains in NIC to prepare for chain noise calibration.
* Called after every association, but this runs only once!
* ... once chain noise is calibrated the first time, it's good forever. */
-static void il4965_chain_noise_reset(struct il_priv *il)
+static void
+il4965_chain_noise_reset(struct il_priv *il)
{
struct il_chain_noise_data *data = &(il->chain_noise_data);
- if (data->state == IL_CHAIN_NOISE_ALIVE &&
- il_is_any_associated(il)) {
+ if (data->state == IL_CHAIN_NOISE_ALIVE && il_is_any_associated(il)) {
struct il_calib_diff_gain_cmd cmd;
/* clear data for chain noise calibration algorithm */
@@ -562,10 +564,8 @@ static void il4965_chain_noise_reset(struct il_priv *il)
cmd.diff_gain_a = 0;
cmd.diff_gain_b = 0;
cmd.diff_gain_c = 0;
- if (il_send_cmd_pdu(il, C_PHY_CALIBRATION,
- sizeof(cmd), &cmd))
- IL_ERR(
- "Could not send C_PHY_CALIBRATION\n");
+ if (il_send_cmd_pdu(il, C_PHY_CALIBRATION, sizeof(cmd), &cmd))
+ IL_ERR("Could not send C_PHY_CALIBRATION\n");
data->state = IL_CHAIN_NOISE_ACCUMULATE;
D_CALIB("Run chain_noise_calibrate\n");
}
@@ -573,7 +573,7 @@ static void il4965_chain_noise_reset(struct il_priv *il)
static struct il_sensitivity_ranges il4965_sensitivity = {
.min_nrg_cck = 97,
- .max_nrg_cck = 0, /* not used, set to 0 */
+ .max_nrg_cck = 0, /* not used, set to 0 */
.auto_corr_min_ofdm = 85,
.auto_corr_min_ofdm_mrc = 170,
@@ -598,11 +598,12 @@ static struct il_sensitivity_ranges il4965_sensitivity = {
.nrg_th_cca = 62,
};
-static void il4965_set_ct_threshold(struct il_priv *il)
+static void
+il4965_set_ct_threshold(struct il_priv *il)
{
/* want Kelvin */
il->hw_params.ct_kill_threshold =
- CELSIUS_TO_KELVIN(CT_KILL_THRESHOLD_LEGACY);
+ CELSIUS_TO_KELVIN(CT_KILL_THRESHOLD_LEGACY);
}
/**
@@ -610,18 +611,19 @@ static void il4965_set_ct_threshold(struct il_priv *il)
*
* Called when initializing driver
*/
-static int il4965_hw_set_hw_params(struct il_priv *il)
+static int
+il4965_hw_set_hw_params(struct il_priv *il)
{
if (il->cfg->mod_params->num_of_queues >= IL_MIN_NUM_QUEUES &&
il->cfg->mod_params->num_of_queues <= IL49_NUM_QUEUES)
il->cfg->base_params->num_of_queues =
- il->cfg->mod_params->num_of_queues;
+ il->cfg->mod_params->num_of_queues;
il->hw_params.max_txq_num = il->cfg->base_params->num_of_queues;
il->hw_params.dma_chnl_num = FH49_TCSR_CHNL_NUM;
il->hw_params.scd_bc_tbls_size =
- il->cfg->base_params->num_of_queues *
- sizeof(struct il4965_scd_bc_tbl);
+ il->cfg->base_params->num_of_queues *
+ sizeof(struct il4965_scd_bc_tbl);
il->hw_params.tfd_size = sizeof(struct il_tfd);
il->hw_params.max_stations = IL4965_STATION_COUNT;
il->ctx.bcast_sta_id = IL4965_BROADCAST_ID;
@@ -645,7 +647,8 @@ static int il4965_hw_set_hw_params(struct il_priv *il)
return 0;
}
-static s32 il4965_math_div_round(s32 num, s32 denom, s32 *res)
+static s32
+il4965_math_div_round(s32 num, s32 denom, s32 * res)
{
s32 sign = 1;
@@ -674,8 +677,8 @@ static s32 il4965_math_div_round(s32 num, s32 denom, s32 *res)
* Voltage indication is higher for lower voltage.
* Lower voltage requires more gain (lower gain table idx).
*/
-static s32 il4965_get_voltage_compensation(s32 eeprom_voltage,
- s32 current_voltage)
+static s32
+il4965_get_voltage_compensation(s32 eeprom_voltage, s32 current_voltage)
{
s32 comp = 0;
@@ -684,7 +687,7 @@ static s32 il4965_get_voltage_compensation(s32 eeprom_voltage,
return 0;
il4965_math_div_round(current_voltage - eeprom_voltage,
- TX_POWER_IL_VOLTAGE_CODES_PER_03V, &comp);
+ TX_POWER_IL_VOLTAGE_CODES_PER_03V, &comp);
if (current_voltage > eeprom_voltage)
comp *= 2;
@@ -694,7 +697,8 @@ static s32 il4965_get_voltage_compensation(s32 eeprom_voltage,
return comp;
}
-static s32 il4965_get_tx_atten_grp(u16 channel)
+static s32
+il4965_get_tx_atten_grp(u16 channel)
{
if (channel >= CALIB_IL_TX_ATTEN_GR5_FCH &&
channel <= CALIB_IL_TX_ATTEN_GR5_LCH)
@@ -719,7 +723,8 @@ static s32 il4965_get_tx_atten_grp(u16 channel)
return -EINVAL;
}
-static u32 il4965_get_sub_band(const struct il_priv *il, u32 channel)
+static u32
+il4965_get_sub_band(const struct il_priv *il, u32 channel)
{
s32 b = -1;
@@ -735,7 +740,8 @@ static u32 il4965_get_sub_band(const struct il_priv *il, u32 channel)
return b;
}
-static s32 il4965_interpolate_value(s32 x, s32 x1, s32 y1, s32 x2, s32 y2)
+static s32
+il4965_interpolate_value(s32 x, s32 x1, s32 y1, s32 x2, s32 y2)
{
s32 val;
@@ -755,8 +761,9 @@ static s32 il4965_interpolate_value(s32 x, s32 x1, s32 y1, s32 x2, s32 y2)
* differences in channel frequencies, which is proportional to differences
* in channel number.
*/
-static int il4965_interpolate_chan(struct il_priv *il, u32 channel,
- struct il_eeprom_calib_ch_info *chan_info)
+static int
+il4965_interpolate_chan(struct il_priv *il, u32 channel,
+ struct il_eeprom_calib_ch_info *chan_info)
{
s32 s = -1;
u32 c;
@@ -777,8 +784,8 @@ static int il4965_interpolate_chan(struct il_priv *il, u32 channel,
ch_i2 = il->calib_info->band_info[s].ch2.ch_num;
chan_info->ch_num = (u8) channel;
- D_TXPOWER("channel %d subband %d factory cal ch %d & %d\n",
- channel, s, ch_i1, ch_i2);
+ D_TXPOWER("channel %d subband %d factory cal ch %d & %d\n", channel, s,
+ ch_i1, ch_i2);
for (c = 0; c < EEPROM_TX_POWER_TX_CHAINS; c++) {
for (m = 0; m < EEPROM_TX_POWER_MEASUREMENTS; m++) {
@@ -790,36 +797,33 @@ static int il4965_interpolate_chan(struct il_priv *il, u32 channel,
omeas->actual_pow =
(u8) il4965_interpolate_value(channel, ch_i1,
- m1->actual_pow,
- ch_i2,
- m2->actual_pow);
+ m1->actual_pow, ch_i2,
+ m2->actual_pow);
omeas->gain_idx =
(u8) il4965_interpolate_value(channel, ch_i1,
- m1->gain_idx, ch_i2,
- m2->gain_idx);
+ m1->gain_idx, ch_i2,
+ m2->gain_idx);
omeas->temperature =
(u8) il4965_interpolate_value(channel, ch_i1,
- m1->temperature,
- ch_i2,
- m2->temperature);
+ m1->temperature,
+ ch_i2,
+ m2->temperature);
omeas->pa_det =
(s8) il4965_interpolate_value(channel, ch_i1,
- m1->pa_det, ch_i2,
- m2->pa_det);
-
- D_TXPOWER(
- "chain %d meas %d AP1=%d AP2=%d AP=%d\n", c, m,
- m1->actual_pow, m2->actual_pow, omeas->actual_pow);
- D_TXPOWER(
- "chain %d meas %d NI1=%d NI2=%d NI=%d\n", c, m,
- m1->gain_idx, m2->gain_idx, omeas->gain_idx);
- D_TXPOWER(
- "chain %d meas %d PA1=%d PA2=%d PA=%d\n", c, m,
- m1->pa_det, m2->pa_det, omeas->pa_det);
- D_TXPOWER(
- "chain %d meas %d T1=%d T2=%d T=%d\n", c, m,
- m1->temperature, m2->temperature,
- omeas->temperature);
+ m1->pa_det, ch_i2,
+ m2->pa_det);
+
+ D_TXPOWER("chain %d meas %d AP1=%d AP2=%d AP=%d\n", c,
+ m, m1->actual_pow, m2->actual_pow,
+ omeas->actual_pow);
+ D_TXPOWER("chain %d meas %d NI1=%d NI2=%d NI=%d\n", c,
+ m, m1->gain_idx, m2->gain_idx,
+ omeas->gain_idx);
+ D_TXPOWER("chain %d meas %d PA1=%d PA2=%d PA=%d\n", c,
+ m, m1->pa_det, m2->pa_det, omeas->pa_det);
+ D_TXPOWER("chain %d meas %d T1=%d T2=%d T=%d\n", c,
+ m, m1->temperature, m2->temperature,
+ omeas->temperature);
}
}
@@ -842,14 +846,20 @@ static struct il4965_txpower_comp_entry {
s32 degrees_per_05db_a;
s32 degrees_per_05db_a_denom;
} tx_power_cmp_tble[CALIB_CH_GROUP_MAX] = {
- {9, 2}, /* group 0 5.2, ch 34-43 */
- {4, 1}, /* group 1 5.2, ch 44-70 */
- {4, 1}, /* group 2 5.2, ch 71-124 */
- {4, 1}, /* group 3 5.2, ch 125-200 */
- {3, 1} /* group 4 2.4, ch all */
+ {
+ 9, 2}, /* group 0 5.2, ch 34-43 */
+ {
+ 4, 1}, /* group 1 5.2, ch 44-70 */
+ {
+ 4, 1}, /* group 2 5.2, ch 71-124 */
+ {
+ 4, 1}, /* group 3 5.2, ch 125-200 */
+ {
+ 3, 1} /* group 4 2.4, ch all */
};
-static s32 get_min_power_idx(s32 rate_power_idx, u32 band)
+static s32
+get_min_power_idx(s32 rate_power_idx, u32 band)
{
if (!band) {
if ((rate_power_idx & 7) <= 4)
@@ -1088,9 +1098,10 @@ static const struct gain_entry gain_table[2][108] = {
}
};
-static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
- u8 is_ht40, u8 ctrl_chan_high,
- struct il4965_tx_power_db *tx_power_tbl)
+static int
+il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel, u8 is_ht40,
+ u8 ctrl_chan_high,
+ struct il4965_tx_power_db *tx_power_tbl)
{
u8 saturation_power;
s32 target_power;
@@ -1121,8 +1132,7 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
user_target_power = 2 * il->tx_power_user_lmt;
/* Get current (RXON) channel, band, width */
- D_TXPOWER("chan %d band %d is_ht40 %d\n", channel, band,
- is_ht40);
+ D_TXPOWER("chan %d band %d is_ht40 %d\n", channel, band, is_ht40);
ch_info = il_get_channel_info(il, il->band, channel);
@@ -1133,13 +1143,12 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
* and 2) mimo txpower balance between Tx chains. */
txatten_grp = il4965_get_tx_atten_grp(channel);
if (txatten_grp < 0) {
- IL_ERR("Can't find txatten group for channel %d.\n",
- channel);
+ IL_ERR("Can't find txatten group for channel %d.\n", channel);
return txatten_grp;
}
- D_TXPOWER("channel %d belongs to txatten group %d\n",
- channel, txatten_grp);
+ D_TXPOWER("channel %d belongs to txatten group %d\n", channel,
+ txatten_grp);
if (is_ht40) {
if (ctrl_chan_high)
@@ -1184,13 +1193,12 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
/* calculate tx gain adjustment based on power supply voltage */
voltage = le16_to_cpu(il->calib_info->voltage);
- init_voltage = (s32)le32_to_cpu(il->card_alive_init.voltage);
+ init_voltage = (s32) le32_to_cpu(il->card_alive_init.voltage);
voltage_compensation =
il4965_get_voltage_compensation(voltage, init_voltage);
- D_TXPOWER("curr volt %d eeprom volt %d volt comp %d\n",
- init_voltage,
- voltage, voltage_compensation);
+ D_TXPOWER("curr volt %d eeprom volt %d volt comp %d\n", init_voltage,
+ voltage, voltage_compensation);
/* get current temperature (Celsius) */
current_temp = max(il->temperature, IL_TX_POWER_TEMPERATURE_MIN);
@@ -1211,23 +1219,20 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
/* txgain adjustment (in half-dB steps) based on difference
* between factory and current temperature */
factory_temp = measurement->temperature;
- il4965_math_div_round((current_temp - factory_temp) *
- degrees_per_05db_denom,
- degrees_per_05db_num,
- &temperature_comp[c]);
+ il4965_math_div_round((current_temp -
+ factory_temp) * degrees_per_05db_denom,
+ degrees_per_05db_num,
+ &temperature_comp[c]);
factory_gain_idx[c] = measurement->gain_idx;
factory_actual_pwr[c] = measurement->actual_pow;
D_TXPOWER("chain = %d\n", c);
- D_TXPOWER("fctry tmp %d, "
- "curr tmp %d, comp %d steps\n",
- factory_temp, current_temp,
- temperature_comp[c]);
-
- D_TXPOWER("fctry idx %d, fctry pwr %d\n",
- factory_gain_idx[c],
- factory_actual_pwr[c]);
+ D_TXPOWER("fctry tmp %d, " "curr tmp %d, comp %d steps\n",
+ factory_temp, current_temp, temperature_comp[c]);
+
+ D_TXPOWER("fctry idx %d, fctry pwr %d\n", factory_gain_idx[c],
+ factory_actual_pwr[c]);
}
/* for each of 33 bit-rates (including 1 for CCK) */
@@ -1239,7 +1244,8 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
* (3dB, 6 steps), so total output power is regulatory
* compliant. */
if (i & 0x8) {
- current_regulatory = reg_limit -
+ current_regulatory =
+ reg_limit -
IL_TX_POWER_MIMO_REGULATORY_COMPENSATION;
is_mimo_rate = 1;
} else {
@@ -1258,10 +1264,9 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
if (target_power > power_limit)
target_power = power_limit;
- D_TXPOWER("rate %d sat %d reg %d usr %d tgt %d\n",
- i, saturation_power - back_off_table[i],
- current_regulatory, user_target_power,
- target_power);
+ D_TXPOWER("rate %d sat %d reg %d usr %d tgt %d\n", i,
+ saturation_power - back_off_table[i],
+ current_regulatory, user_target_power, target_power);
/* for each of 2 Tx chains (radio transmitters) */
for (c = 0; c < 2; c++) {
@@ -1269,18 +1274,17 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
if (is_mimo_rate)
atten_value =
- (s32)le32_to_cpu(il->card_alive_init.
- tx_atten[txatten_grp][c]);
+ (s32) le32_to_cpu(il->card_alive_init.
+ tx_atten[txatten_grp][c]);
else
atten_value = 0;
/* calculate idx; higher idx means lower txpower */
- power_idx = (u8) (factory_gain_idx[c] -
- (target_power -
- factory_actual_pwr[c]) -
- temperature_comp[c] -
- voltage_compensation +
- atten_value);
+ power_idx =
+ (u8) (factory_gain_idx[c] -
+ (target_power - factory_actual_pwr[c]) -
+ temperature_comp[c] - voltage_compensation +
+ atten_value);
/* D_TXPOWER("calculated txpower idx %d\n",
power_idx); */
@@ -1299,32 +1303,29 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
/* stay within the table! */
if (power_idx > 107) {
- IL_WARN("txpower idx %d > 107\n",
- power_idx);
+ IL_WARN("txpower idx %d > 107\n", power_idx);
power_idx = 107;
}
if (power_idx < 0) {
- IL_WARN("txpower idx %d < 0\n",
- power_idx);
+ IL_WARN("txpower idx %d < 0\n", power_idx);
power_idx = 0;
}
/* fill txpower command for this rate/chain */
tx_power.s.radio_tx_gain[c] =
- gain_table[band][power_idx].radio;
+ gain_table[band][power_idx].radio;
tx_power.s.dsp_predis_atten[c] =
- gain_table[band][power_idx].dsp;
+ gain_table[band][power_idx].dsp;
D_TXPOWER("chain %d mimo %d idx %d "
- "gain 0x%02x dsp %d\n",
- c, atten_value, power_idx,
- tx_power.s.radio_tx_gain[c],
- tx_power.s.dsp_predis_atten[c]);
- } /* for each chain */
+ "gain 0x%02x dsp %d\n", c, atten_value,
+ power_idx, tx_power.s.radio_tx_gain[c],
+ tx_power.s.dsp_predis_atten[c]);
+ } /* for each chain */
tx_power_tbl->power_tbl[i].dw = cpu_to_le32(tx_power.dw);
- } /* for each rate */
+ } /* for each rate */
return 0;
}
@@ -1335,7 +1336,8 @@ static int il4965_fill_txpower_tbl(struct il_priv *il, u8 band, u16 channel,
* Uses the active RXON for channel, band, and characteristics (ht40, high)
* The power limit is taken from il->tx_power_user_lmt.
*/
-static int il4965_send_tx_power(struct il_priv *il)
+static int
+il4965_send_tx_power(struct il_priv *il)
{
struct il4965_txpowertable_cmd cmd = { 0 };
int ret;
@@ -1344,8 +1346,9 @@ static int il4965_send_tx_power(struct il_priv *il)
u8 ctrl_chan_high = 0;
struct il_rxon_context *ctx = &il->ctx;
- if (WARN_ONCE(test_bit(S_SCAN_HW, &il->status),
- "TX Power requested while scanning!\n"))
+ if (WARN_ONCE
+ (test_bit(S_SCAN_HW, &il->status),
+ "TX Power requested while scanning!\n"))
return -EAGAIN;
band = il->band == IEEE80211_BAND_2GHZ;
@@ -1358,21 +1361,20 @@ static int il4965_send_tx_power(struct il_priv *il)
cmd.band = band;
cmd.channel = ctx->active.channel;
- ret = il4965_fill_txpower_tbl(il, band,
- le16_to_cpu(ctx->active.channel),
- is_ht40, ctrl_chan_high, &cmd.tx_power);
+ ret =
+ il4965_fill_txpower_tbl(il, band, le16_to_cpu(ctx->active.channel),
+ is_ht40, ctrl_chan_high, &cmd.tx_power);
if (ret)
goto out;
- ret = il_send_cmd_pdu(il,
- C_TX_PWR_TBL, sizeof(cmd), &cmd);
+ ret = il_send_cmd_pdu(il, C_TX_PWR_TBL, sizeof(cmd), &cmd);
out:
return ret;
}
-static int il4965_send_rxon_assoc(struct il_priv *il,
- struct il_rxon_context *ctx)
+static int
+il4965_send_rxon_assoc(struct il_priv *il, struct il_rxon_context *ctx)
{
int ret = 0;
struct il4965_rxon_assoc_cmd rxon_assoc;
@@ -1383,9 +1385,9 @@ static int il4965_send_rxon_assoc(struct il_priv *il,
rxon1->filter_flags == rxon2->filter_flags &&
rxon1->cck_basic_rates == rxon2->cck_basic_rates &&
rxon1->ofdm_ht_single_stream_basic_rates ==
- rxon2->ofdm_ht_single_stream_basic_rates &&
+ rxon2->ofdm_ht_single_stream_basic_rates &&
rxon1->ofdm_ht_dual_stream_basic_rates ==
- rxon2->ofdm_ht_dual_stream_basic_rates &&
+ rxon2->ofdm_ht_dual_stream_basic_rates &&
rxon1->rx_chain == rxon2->rx_chain &&
rxon1->ofdm_basic_rates == rxon2->ofdm_basic_rates) {
D_INFO("Using current RXON_ASSOC. Not resending.\n");
@@ -1403,19 +1405,20 @@ static int il4965_send_rxon_assoc(struct il_priv *il,
ctx->staging.ofdm_ht_dual_stream_basic_rates;
rxon_assoc.rx_chain_select_flags = ctx->staging.rx_chain;
- ret = il_send_cmd_pdu_async(il, C_RXON_ASSOC,
- sizeof(rxon_assoc), &rxon_assoc, NULL);
+ ret =
+ il_send_cmd_pdu_async(il, C_RXON_ASSOC, sizeof(rxon_assoc),
+ &rxon_assoc, NULL);
return ret;
}
-static int il4965_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
+static int
+il4965_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
{
/* cast away the const for active_rxon in this function */
struct il_rxon_cmd *active_rxon = (void *)&ctx->active;
int ret;
- bool new_assoc =
- !!(ctx->staging.filter_flags & RXON_FILTER_ASSOC_MSK);
+ bool new_assoc = !!(ctx->staging.filter_flags & RXON_FILTER_ASSOC_MSK);
if (!il_is_alive(il))
return -EBUSY;
@@ -1471,9 +1474,9 @@ static int il4965_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
D_INFO("Toggling associated bit on current RXON\n");
active_rxon->filter_flags &= ~RXON_FILTER_ASSOC_MSK;
- ret = il_send_cmd_pdu(il, ctx->rxon_cmd,
- sizeof(struct il_rxon_cmd),
- active_rxon);
+ ret =
+ il_send_cmd_pdu(il, ctx->rxon_cmd,
+ sizeof(struct il_rxon_cmd), active_rxon);
/* If the mask clearing failed then we set
* active_rxon back to what it was previously */
@@ -1491,24 +1494,20 @@ static int il4965_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
}
}
- D_INFO("Sending RXON\n"
- "* with%s RXON_FILTER_ASSOC_MSK\n"
- "* channel = %d\n"
- "* bssid = %pM\n",
- (new_assoc ? "" : "out"),
- le16_to_cpu(ctx->staging.channel),
- ctx->staging.bssid_addr);
+ D_INFO("Sending RXON\n" "* with%s RXON_FILTER_ASSOC_MSK\n"
+ "* channel = %d\n" "* bssid = %pM\n", (new_assoc ? "" : "out"),
+ le16_to_cpu(ctx->staging.channel), ctx->staging.bssid_addr);
- il_set_rxon_hwcrypto(il, ctx,
- !il->cfg->mod_params->sw_crypto);
+ il_set_rxon_hwcrypto(il, ctx, !il->cfg->mod_params->sw_crypto);
/* Apply the new configuration
* RXON unassoc clears the station table in uCode so restoration of
* stations is needed after it (the RXON command) completes
*/
if (!new_assoc) {
- ret = il_send_cmd_pdu(il, ctx->rxon_cmd,
- sizeof(struct il_rxon_cmd), &ctx->staging);
+ ret =
+ il_send_cmd_pdu(il, ctx->rxon_cmd,
+ sizeof(struct il_rxon_cmd), &ctx->staging);
if (ret) {
IL_ERR("Error setting new RXON (%d)\n", ret);
return ret;
@@ -1528,8 +1527,9 @@ static int il4965_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
/* Apply the new configuration
* RXON assoc doesn't clear the station table in uCode,
*/
- ret = il_send_cmd_pdu(il, ctx->rxon_cmd,
- sizeof(struct il_rxon_cmd), &ctx->staging);
+ ret =
+ il_send_cmd_pdu(il, ctx->rxon_cmd,
+ sizeof(struct il_rxon_cmd), &ctx->staging);
if (ret) {
IL_ERR("Error setting new RXON (%d)\n", ret);
return ret;
@@ -1551,8 +1551,9 @@ static int il4965_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
return 0;
}
-static int il4965_hw_channel_switch(struct il_priv *il,
- struct ieee80211_channel_switch *ch_switch)
+static int
+il4965_hw_channel_switch(struct il_priv *il,
+ struct ieee80211_channel_switch *ch_switch)
{
struct il_rxon_context *ctx = &il->ctx;
int rc;
@@ -1571,8 +1572,7 @@ static int il4965_hw_channel_switch(struct il_priv *il,
is_ht40 = iw4965_is_ht40_channel(ctx->staging.flags);
- if (is_ht40 &&
- (ctx->staging.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK))
+ if (is_ht40 && (ctx->staging.flags & RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK))
ctrl_chan_high = 1;
cmd.band = band;
@@ -1588,10 +1588,10 @@ static int il4965_hw_channel_switch(struct il_priv *il,
* adding TSF as one of the factor for when to switch
*/
if (il->ucode_beacon_time > tsf_low && beacon_interval) {
- if (switch_count > ((il->ucode_beacon_time - tsf_low) /
- beacon_interval)) {
- switch_count -= (il->ucode_beacon_time -
- tsf_low) / beacon_interval;
+ if (switch_count >
+ ((il->ucode_beacon_time - tsf_low) / beacon_interval)) {
+ switch_count -=
+ (il->ucode_beacon_time - tsf_low) / beacon_interval;
} else
switch_count = 0;
}
@@ -1599,43 +1599,40 @@ static int il4965_hw_channel_switch(struct il_priv *il,
cmd.switch_time = cpu_to_le32(il->ucode_beacon_time);
else {
switch_time_in_usec =
- vif->bss_conf.beacon_int * switch_count * TIME_UNIT;
- ucode_switch_time = il_usecs_to_beacons(il,
- switch_time_in_usec,
- beacon_interval);
- cmd.switch_time = il_add_beacon_time(il,
- il->ucode_beacon_time,
- ucode_switch_time,
- beacon_interval);
+ vif->bss_conf.beacon_int * switch_count * TIME_UNIT;
+ ucode_switch_time =
+ il_usecs_to_beacons(il, switch_time_in_usec,
+ beacon_interval);
+ cmd.switch_time =
+ il_add_beacon_time(il, il->ucode_beacon_time,
+ ucode_switch_time, beacon_interval);
}
- D_11H("uCode time for the switch is 0x%x\n",
- cmd.switch_time);
+ D_11H("uCode time for the switch is 0x%x\n", cmd.switch_time);
ch_info = il_get_channel_info(il, il->band, ch);
if (ch_info)
cmd.expect_beacon = il_is_channel_radar(ch_info);
else {
IL_ERR("invalid channel switch from %u to %u\n",
- ctx->active.channel, ch);
+ ctx->active.channel, ch);
return -EFAULT;
}
- rc = il4965_fill_txpower_tbl(il, band, ch, is_ht40,
- ctrl_chan_high, &cmd.tx_power);
+ rc = il4965_fill_txpower_tbl(il, band, ch, is_ht40, ctrl_chan_high,
+ &cmd.tx_power);
if (rc) {
D_11H("error:%d fill txpower_tbl\n", rc);
return rc;
}
- return il_send_cmd_pdu(il,
- C_CHANNEL_SWITCH, sizeof(cmd), &cmd);
+ return il_send_cmd_pdu(il, C_CHANNEL_SWITCH, sizeof(cmd), &cmd);
}
/**
* il4965_txq_update_byte_cnt_tbl - Set up entry in Tx byte-count array
*/
-static void il4965_txq_update_byte_cnt_tbl(struct il_priv *il,
- struct il_tx_queue *txq,
- u16 byte_cnt)
+static void
+il4965_txq_update_byte_cnt_tbl(struct il_priv *il, struct il_tx_queue *txq,
+ u16 byte_cnt)
{
struct il4965_scd_bc_tbl *scd_bc_tbl = il->scd_bc_tbls.addr;
int txq_id = txq->q.id;
@@ -1651,8 +1648,8 @@ static void il4965_txq_update_byte_cnt_tbl(struct il_priv *il,
/* If within first 64 entries, duplicate at end */
if (write_ptr < TFD_QUEUE_SIZE_BC_DUP)
- scd_bc_tbl[txq_id].
- tfd_offset[TFD_QUEUE_SIZE_MAX + write_ptr] = bc_ent;
+ scd_bc_tbl[txq_id].tfd_offset[TFD_QUEUE_SIZE_MAX + write_ptr] =
+ bc_ent;
}
/**
@@ -1661,7 +1658,8 @@ static void il4965_txq_update_byte_cnt_tbl(struct il_priv *il,
*
* A return of <0 indicates bogus data in the stats
*/
-static int il4965_hw_get_temperature(struct il_priv *il)
+static int
+il4965_hw_get_temperature(struct il_priv *il)
{
s32 temperature;
s32 vt;
@@ -1669,18 +1667,17 @@ static int il4965_hw_get_temperature(struct il_priv *il)
u32 R4;
if (test_bit(S_TEMPERATURE, &il->status) &&
- (il->_4965.stats.flag &
- STATS_REPLY_FLG_HT40_MODE_MSK)) {
+ (il->_4965.stats.flag & STATS_REPLY_FLG_HT40_MODE_MSK)) {
D_TEMP("Running HT40 temperature calibration\n");
- R1 = (s32)le32_to_cpu(il->card_alive_init.therm_r1[1]);
- R2 = (s32)le32_to_cpu(il->card_alive_init.therm_r2[1]);
- R3 = (s32)le32_to_cpu(il->card_alive_init.therm_r3[1]);
+ R1 = (s32) le32_to_cpu(il->card_alive_init.therm_r1[1]);
+ R2 = (s32) le32_to_cpu(il->card_alive_init.therm_r2[1]);
+ R3 = (s32) le32_to_cpu(il->card_alive_init.therm_r3[1]);
R4 = le32_to_cpu(il->card_alive_init.therm_r4[1]);
} else {
D_TEMP("Running temperature calibration\n");
- R1 = (s32)le32_to_cpu(il->card_alive_init.therm_r1[0]);
- R2 = (s32)le32_to_cpu(il->card_alive_init.therm_r2[0]);
- R3 = (s32)le32_to_cpu(il->card_alive_init.therm_r3[0]);
+ R1 = (s32) le32_to_cpu(il->card_alive_init.therm_r1[0]);
+ R2 = (s32) le32_to_cpu(il->card_alive_init.therm_r2[0]);
+ R3 = (s32) le32_to_cpu(il->card_alive_init.therm_r3[0]);
R4 = le32_to_cpu(il->card_alive_init.therm_r4[0]);
}
@@ -1694,8 +1691,9 @@ static int il4965_hw_get_temperature(struct il_priv *il)
if (!test_bit(S_TEMPERATURE, &il->status))
vt = sign_extend32(R4, 23);
else
- vt = sign_extend32(le32_to_cpu(il->_4965.stats.
- general.common.temperature), 23);
+ vt = sign_extend32(le32_to_cpu
+ (il->_4965.stats.general.common.temperature),
+ 23);
D_TEMP("Calib values R[1-3]: %d %d %d R4: %d\n", R1, R2, R3, vt);
@@ -1708,10 +1706,11 @@ static int il4965_hw_get_temperature(struct il_priv *il)
* Add offset to center the adjustment around 0 degrees Centigrade. */
temperature = TEMPERATURE_CALIB_A_VAL * (vt - R2);
temperature /= (R3 - R1);
- temperature = (temperature * 97) / 100 + TEMPERATURE_CALIB_KELVIN_OFFSET;
+ temperature =
+ (temperature * 97) / 100 + TEMPERATURE_CALIB_KELVIN_OFFSET;
- D_TEMP("Calibrated temperature: %dK, %dC\n",
- temperature, KELVIN_TO_CELSIUS(temperature));
+ D_TEMP("Calibrated temperature: %dK, %dC\n", temperature,
+ KELVIN_TO_CELSIUS(temperature));
return temperature;
}
@@ -1728,7 +1727,8 @@ static int il4965_hw_get_temperature(struct il_priv *il)
* Assumes caller will replace il->last_temperature once calibration
* executed.
*/
-static int il4965_is_temp_calib_needed(struct il_priv *il)
+static int
+il4965_is_temp_calib_needed(struct il_priv *il)
{
int temp_diff;
@@ -1758,7 +1758,8 @@ static int il4965_is_temp_calib_needed(struct il_priv *il)
return 1;
}
-static void il4965_temperature_calib(struct il_priv *il)
+static void
+il4965_temperature_calib(struct il_priv *il)
{
s32 temp;
@@ -1768,26 +1769,25 @@ static void il4965_temperature_calib(struct il_priv *il)
if (il->temperature != temp) {
if (il->temperature)
- D_TEMP("Temperature changed "
- "from %dC to %dC\n",
- KELVIN_TO_CELSIUS(il->temperature),
- KELVIN_TO_CELSIUS(temp));
+ D_TEMP("Temperature changed " "from %dC to %dC\n",
+ KELVIN_TO_CELSIUS(il->temperature),
+ KELVIN_TO_CELSIUS(temp));
else
- D_TEMP("Temperature "
- "initialized to %dC\n",
- KELVIN_TO_CELSIUS(temp));
+ D_TEMP("Temperature " "initialized to %dC\n",
+ KELVIN_TO_CELSIUS(temp));
}
il->temperature = temp;
set_bit(S_TEMPERATURE, &il->status);
if (!il->disable_tx_power_cal &&
- unlikely(!test_bit(S_SCANNING, &il->status)) &&
- il4965_is_temp_calib_needed(il))
+ unlikely(!test_bit(S_SCANNING, &il->status)) &&
+ il4965_is_temp_calib_needed(il))
queue_work(il->workqueue, &il->txpower_work);
}
-static u16 il4965_get_hcmd_size(u8 cmd_id, u16 len)
+static u16
+il4965_get_hcmd_size(u8 cmd_id, u16 len)
{
switch (cmd_id) {
case C_RXON:
@@ -1797,8 +1797,8 @@ static u16 il4965_get_hcmd_size(u8 cmd_id, u16 len)
}
}
-static u16 il4965_build_addsta_hcmd(const struct il_addsta_cmd *cmd,
- u8 *data)
+static u16
+il4965_build_addsta_hcmd(const struct il_addsta_cmd *cmd, u8 * data)
{
struct il4965_addsta_cmd *addsta = (struct il4965_addsta_cmd *)data;
addsta->mode = cmd->mode;
@@ -1814,15 +1814,17 @@ static u16 il4965_build_addsta_hcmd(const struct il_addsta_cmd *cmd,
addsta->reserved1 = cpu_to_le16(0);
addsta->reserved2 = cpu_to_le16(0);
- return (u16)sizeof(struct il4965_addsta_cmd);
+ return (u16) sizeof(struct il4965_addsta_cmd);
}
-static inline u32 il4965_get_scd_ssn(struct il4965_tx_resp *tx_resp)
+static inline u32
+il4965_get_scd_ssn(struct il4965_tx_resp *tx_resp)
{
return le32_to_cpup(&tx_resp->u.status + tx_resp->frame_count) & MAX_SN;
}
-static inline u32 il4965_tx_status_to_mac80211(u32 status)
+static inline u32
+il4965_tx_status_to_mac80211(u32 status)
{
status &= TX_STATUS_MSK;
@@ -1837,20 +1839,20 @@ static inline u32 il4965_tx_status_to_mac80211(u32 status)
}
}
-static inline bool il4965_is_tx_success(u32 status)
+static inline bool
+il4965_is_tx_success(u32 status)
{
status &= TX_STATUS_MSK;
- return (status == TX_STATUS_SUCCESS ||
- status == TX_STATUS_DIRECT_DONE);
+ return (status == TX_STATUS_SUCCESS || status == TX_STATUS_DIRECT_DONE);
}
/**
* il4965_tx_status_reply_tx - Handle Tx response for frames in aggregation queue
*/
-static int il4965_tx_status_reply_tx(struct il_priv *il,
- struct il_ht_agg *agg,
- struct il4965_tx_resp *tx_resp,
- int txq_id, u16 start_idx)
+static int
+il4965_tx_status_reply_tx(struct il_priv *il, struct il_ht_agg *agg,
+ struct il4965_tx_resp *tx_resp, int txq_id,
+ u16 start_idx)
{
u16 status;
struct agg_tx_status *frame_status = tx_resp->u.agg_status;
@@ -1874,7 +1876,7 @@ static int il4965_tx_status_reply_tx(struct il_priv *il,
idx = start_idx;
D_TX_REPLY("FrameCnt = %d, StartIdx=%d idx=%d\n",
- agg->frame_count, agg->start_idx, idx);
+ agg->frame_count, agg->start_idx, idx);
info = IEEE80211_SKB_CB(il->txq[txq_id].txb[idx].skb);
info->status.rates[0].count = tx_resp->failure_frame + 1;
@@ -1882,8 +1884,8 @@ static int il4965_tx_status_reply_tx(struct il_priv *il,
info->flags |= il4965_tx_status_to_mac80211(status);
il4965_hwrate_to_tx_control(il, rate_n_flags, info);
- D_TX_REPLY("1 Frame 0x%x failure :%d\n",
- status & 0xff, tx_resp->failure_frame);
+ D_TX_REPLY("1 Frame 0x%x failure :%d\n", status & 0xff,
+ tx_resp->failure_frame);
D_TX_REPLY("Rate Info rate_n_flags=%x\n", rate_n_flags);
agg->wait_for_ba = 0;
@@ -1896,36 +1898,35 @@ static int il4965_tx_status_reply_tx(struct il_priv *il,
for (i = 0; i < agg->frame_count; i++) {
u16 sc;
status = le16_to_cpu(frame_status[i].status);
- seq = le16_to_cpu(frame_status[i].sequence);
+ seq = le16_to_cpu(frame_status[i].sequence);
idx = SEQ_TO_IDX(seq);
txq_id = SEQ_TO_QUEUE(seq);
- if (status & (AGG_TX_STATE_FEW_BYTES_MSK |
- AGG_TX_STATE_ABORT_MSK))
+ if (status &
+ (AGG_TX_STATE_FEW_BYTES_MSK |
+ AGG_TX_STATE_ABORT_MSK))
continue;
D_TX_REPLY("FrameCnt = %d, txq_id=%d idx=%d\n",
- agg->frame_count, txq_id, idx);
+ agg->frame_count, txq_id, idx);
hdr = il_tx_queue_get_hdr(il, txq_id, idx);
if (!hdr) {
- IL_ERR(
- "BUG_ON idx doesn't point to valid skb"
- " idx=%d, txq_id=%d\n", idx, txq_id);
+ IL_ERR("BUG_ON idx doesn't point to valid skb"
+ " idx=%d, txq_id=%d\n", idx, txq_id);
return -1;
}
sc = le16_to_cpu(hdr->seq_ctrl);
if (idx != (SEQ_TO_SN(sc) & 0xff)) {
- IL_ERR(
- "BUG_ON idx doesn't match seq control"
- " idx=%d, seq_idx=%d, seq=%d\n",
- idx, SEQ_TO_SN(sc), hdr->seq_ctrl);
+ IL_ERR("BUG_ON idx doesn't match seq control"
+ " idx=%d, seq_idx=%d, seq=%d\n", idx,
+ SEQ_TO_SN(sc), hdr->seq_ctrl);
return -1;
}
- D_TX_REPLY("AGG Frame i=%d idx %d seq=%d\n",
- i, idx, SEQ_TO_SN(sc));
+ D_TX_REPLY("AGG Frame i=%d idx %d seq=%d\n", i, idx,
+ SEQ_TO_SN(sc));
sh = idx - start;
if (sh > 64) {
@@ -1934,7 +1935,7 @@ static int il4965_tx_status_reply_tx(struct il_priv *il,
sh = 0;
start = idx;
} else if (sh < -64)
- sh = 0xff - (start - idx);
+ sh = 0xff - (start - idx);
else if (sh < 0) {
sh = start - idx;
start = idx;
@@ -1942,15 +1943,15 @@ static int il4965_tx_status_reply_tx(struct il_priv *il,
sh = 0;
}
bitmap |= 1ULL << sh;
- D_TX_REPLY("start=%d bitmap=0x%llx\n",
- start, (unsigned long long)bitmap);
+ D_TX_REPLY("start=%d bitmap=0x%llx\n", start,
+ (unsigned long long)bitmap);
}
agg->bitmap = bitmap;
agg->start_idx = start;
D_TX_REPLY("Frames %d start_idx=%d bitmap=0x%llx\n",
- agg->frame_count, agg->start_idx,
- (unsigned long long)agg->bitmap);
+ agg->frame_count, agg->start_idx,
+ (unsigned long long)agg->bitmap);
if (bitmap)
agg->wait_for_ba = 1;
@@ -1958,7 +1959,8 @@ static int il4965_tx_status_reply_tx(struct il_priv *il,
return 0;
}
-static u8 il4965_find_station(struct il_priv *il, const u8 *addr)
+static u8
+il4965_find_station(struct il_priv *il, const u8 * addr)
{
int i;
int start = 0;
@@ -1974,16 +1976,14 @@ static u8 il4965_find_station(struct il_priv *il, const u8 *addr)
spin_lock_irqsave(&il->sta_lock, flags);
for (i = start; i < il->hw_params.max_stations; i++)
if (il->stations[i].used &&
- (!compare_ether_addr(il->stations[i].sta.sta.addr,
- addr))) {
+ (!compare_ether_addr(il->stations[i].sta.sta.addr, addr))) {
ret = i;
goto out;
}
- D_ASSOC("can not find STA %pM total %d\n",
- addr, il->num_stations);
+ D_ASSOC("can not find STA %pM total %d\n", addr, il->num_stations);
- out:
+out:
/*
* It may be possible that more commands interacting with stations
* arrive before we completed processing the adding of
@@ -1994,14 +1994,15 @@ static u8 il4965_find_station(struct il_priv *il, const u8 *addr)
((il->stations[ret].used & IL_STA_UCODE_ACTIVE) &&
(il->stations[ret].used & IL_STA_UCODE_INPROGRESS)))) {
IL_ERR("Requested station info for sta %d before ready.\n",
- ret);
+ ret);
ret = IL_INVALID_STATION;
}
spin_unlock_irqrestore(&il->sta_lock, flags);
return ret;
}
-static int il4965_get_ra_sta_id(struct il_priv *il, struct ieee80211_hdr *hdr)
+static int
+il4965_get_ra_sta_id(struct il_priv *il, struct ieee80211_hdr *hdr)
{
if (il->iw_mode == NL80211_IFTYPE_STATION) {
return IL_AP_ID;
@@ -2014,8 +2015,8 @@ static int il4965_get_ra_sta_id(struct il_priv *il, struct ieee80211_hdr *hdr)
/**
* il4965_hdl_tx - Handle standard (non-aggregation) Tx response
*/
-static void il4965_hdl_tx(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il4965_hdl_tx(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
u16 sequence = le16_to_cpu(pkt->hdr.sequence);
@@ -2025,7 +2026,7 @@ static void il4965_hdl_tx(struct il_priv *il,
struct ieee80211_hdr *hdr;
struct ieee80211_tx_info *info;
struct il4965_tx_resp *tx_resp = (void *)&pkt->u.raw[0];
- u32 status = le32_to_cpu(tx_resp->u.status);
+ u32 status = le32_to_cpu(tx_resp->u.status);
int uninitialized_var(tid);
int sta_id;
int freed;
@@ -2034,9 +2035,8 @@ static void il4965_hdl_tx(struct il_priv *il,
if (idx >= txq->q.n_bd || il_queue_used(&txq->q, idx) == 0) {
IL_ERR("Read idx for DMA queue txq_id (%d) idx %d "
- "is out of range [0-%d] %d %d\n", txq_id,
- idx, txq->q.n_bd, txq->q.write_ptr,
- txq->q.read_ptr);
+ "is out of range [0-%d] %d %d\n", txq_id, idx,
+ txq->q.n_bd, txq->q.write_ptr, txq->q.read_ptr);
return;
}
@@ -2067,18 +2067,18 @@ static void il4965_hdl_tx(struct il_priv *il,
il4965_tx_status_reply_tx(il, agg, tx_resp, txq_id, idx);
/* check if BAR is needed */
- if ((tx_resp->frame_count == 1) && !il4965_is_tx_success(status))
+ if ((tx_resp->frame_count == 1) &&
+ !il4965_is_tx_success(status))
info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
if (txq->q.read_ptr != (scd_ssn & 0xff)) {
- idx = il_queue_dec_wrap(scd_ssn & 0xff,
- txq->q.n_bd);
+ idx = il_queue_dec_wrap(scd_ssn & 0xff, txq->q.n_bd);
D_TX_REPLY("Retry scheduler reclaim scd_ssn "
- "%d idx %d\n", scd_ssn , idx);
+ "%d idx %d\n", scd_ssn, idx);
freed = il4965_tx_queue_reclaim(il, txq_id, idx);
if (qc)
- il4965_free_tfds_in_queue(il, sta_id,
- tid, freed);
+ il4965_free_tfds_in_queue(il, sta_id, tid,
+ freed);
if (il->mac80211_registered &&
il_queue_space(&txq->q) > txq->q.low_mark &&
@@ -2089,15 +2089,14 @@ static void il4965_hdl_tx(struct il_priv *il,
info->status.rates[0].count = tx_resp->failure_frame + 1;
info->flags |= il4965_tx_status_to_mac80211(status);
il4965_hwrate_to_tx_control(il,
- le32_to_cpu(tx_resp->rate_n_flags),
- info);
+ le32_to_cpu(tx_resp->rate_n_flags),
+ info);
D_TX_REPLY("TXQ %d status %s (0x%08x) "
- "rate_n_flags 0x%x retries %d\n",
- txq_id,
- il4965_get_tx_fail_reason(status), status,
- le32_to_cpu(tx_resp->rate_n_flags),
- tx_resp->failure_frame);
+ "rate_n_flags 0x%x retries %d\n", txq_id,
+ il4965_get_tx_fail_reason(status), status,
+ le32_to_cpu(tx_resp->rate_n_flags),
+ tx_resp->failure_frame);
freed = il4965_tx_queue_reclaim(il, txq_id, idx);
if (qc && likely(sta_id != IL_INVALID_STATION))
@@ -2117,27 +2116,27 @@ static void il4965_hdl_tx(struct il_priv *il,
spin_unlock_irqrestore(&il->sta_lock, flags);
}
-static void il4965_hdl_beacon(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il4965_hdl_beacon(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il4965_beacon_notif *beacon = (void *)pkt->u.raw;
u8 rate __maybe_unused =
- il4965_hw_get_rate(beacon->beacon_notify_hdr.rate_n_flags);
+ il4965_hw_get_rate(beacon->beacon_notify_hdr.rate_n_flags);
D_RX("beacon status %#x, retries:%d ibssmgr:%d "
- "tsf:0x%.8x%.8x rate:%d\n",
- le32_to_cpu(beacon->beacon_notify_hdr.u.status) & TX_STATUS_MSK,
- beacon->beacon_notify_hdr.failure_frame,
- le32_to_cpu(beacon->ibss_mgr_status),
- le32_to_cpu(beacon->high_tsf),
- le32_to_cpu(beacon->low_tsf), rate);
+ "tsf:0x%.8x%.8x rate:%d\n",
+ le32_to_cpu(beacon->beacon_notify_hdr.u.status) & TX_STATUS_MSK,
+ beacon->beacon_notify_hdr.failure_frame,
+ le32_to_cpu(beacon->ibss_mgr_status),
+ le32_to_cpu(beacon->high_tsf), le32_to_cpu(beacon->low_tsf), rate);
il->ibss_manager = le32_to_cpu(beacon->ibss_mgr_status);
}
/* Set up 4965-specific Rx frame reply handlers */
-static void il4965_handler_setup(struct il_priv *il)
+static void
+il4965_handler_setup(struct il_priv *il)
{
/* Legacy Rx frames */
il->handlers[N_RX] = il4965_hdl_rx;
@@ -2152,7 +2151,8 @@ static struct il_hcmd_ops il4965_hcmd = {
.set_rxon_chain = il4965_set_rxon_chain,
};
-static void il4965_post_scan(struct il_priv *il)
+static void
+il4965_post_scan(struct il_priv *il)
{
struct il_rxon_context *ctx = &il->ctx;
@@ -2164,7 +2164,8 @@ static void il4965_post_scan(struct il_priv *il)
il_commit_rxon(il, ctx);
}
-static void il4965_post_associate(struct il_priv *il)
+static void
+il4965_post_associate(struct il_priv *il)
{
struct il_rxon_context *ctx = &il->ctx;
struct ieee80211_vif *vif = ctx->vif;
@@ -2186,8 +2187,7 @@ static void il4965_post_associate(struct il_priv *il)
ret = il_send_rxon_timing(il, ctx);
if (ret)
- IL_WARN("RXON timing - "
- "Attempting to continue.\n");
+ IL_WARN("RXON timing - " "Attempting to continue.\n");
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
@@ -2198,8 +2198,8 @@ static void il4965_post_associate(struct il_priv *il)
ctx->staging.assoc_id = cpu_to_le16(vif->bss_conf.aid);
- D_ASSOC("assoc id %d beacon interval %d\n",
- vif->bss_conf.aid, vif->bss_conf.beacon_int);
+ D_ASSOC("assoc id %d beacon interval %d\n", vif->bss_conf.aid,
+ vif->bss_conf.beacon_int);
if (vif->bss_conf.use_short_preamble)
ctx->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
@@ -2215,8 +2215,8 @@ static void il4965_post_associate(struct il_priv *il)
il_commit_rxon(il, ctx);
- D_ASSOC("Associated as %d to: %pM\n",
- vif->bss_conf.aid, ctx->active.bssid_addr);
+ D_ASSOC("Associated as %d to: %pM\n", vif->bss_conf.aid,
+ ctx->active.bssid_addr);
switch (vif->type) {
case NL80211_IFTYPE_STATION:
@@ -2225,8 +2225,8 @@ static void il4965_post_associate(struct il_priv *il)
il4965_send_beacon_cmd(il);
break;
default:
- IL_ERR("%s Should not be called in %d mode\n",
- __func__, vif->type);
+ IL_ERR("%s Should not be called in %d mode\n", __func__,
+ vif->type);
break;
}
@@ -2241,7 +2241,8 @@ static void il4965_post_associate(struct il_priv *il)
il->start_calib = 1;
}
-static void il4965_config_ap(struct il_priv *il)
+static void
+il4965_config_ap(struct il_priv *il)
{
struct il_rxon_context *ctx = &il->ctx;
struct ieee80211_vif *vif = ctx->vif;
@@ -2263,11 +2264,10 @@ static void il4965_config_ap(struct il_priv *il)
ret = il_send_rxon_timing(il, ctx);
if (ret)
IL_WARN("RXON timing failed - "
- "Attempting to continue.\n");
+ "Attempting to continue.\n");
/* AP has all antennas */
- il->chain_noise_data.active_chains =
- il->hw_params.valid_rx_ant;
+ il->chain_noise_data.active_chains = il->hw_params.valid_rx_ant;
il_set_rxon_ht(il, &il->current_ht_config);
if (il->cfg->ops->hcmd->set_rxon_chain)
il->cfg->ops->hcmd->set_rxon_chain(il, ctx);
@@ -2275,19 +2275,15 @@ static void il4965_config_ap(struct il_priv *il)
ctx->staging.assoc_id = 0;
if (vif->bss_conf.use_short_preamble)
- ctx->staging.flags |=
- RXON_FLG_SHORT_PREAMBLE_MSK;
+ ctx->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
else
- ctx->staging.flags &=
- ~RXON_FLG_SHORT_PREAMBLE_MSK;
+ ctx->staging.flags &= ~RXON_FLG_SHORT_PREAMBLE_MSK;
if (ctx->staging.flags & RXON_FLG_BAND_24G_MSK) {
if (vif->bss_conf.use_short_slot)
- ctx->staging.flags |=
- RXON_FLG_SHORT_SLOT_MSK;
+ ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
else
- ctx->staging.flags &=
- ~RXON_FLG_SHORT_SLOT_MSK;
+ ctx->staging.flags &= ~RXON_FLG_SHORT_SLOT_MSK;
}
/* need to send beacon cmd before committing assoc RXON! */
il4965_send_beacon_cmd(il);
@@ -2319,32 +2315,31 @@ static struct il_lib_ops il4965_lib = {
.dump_fh = il4965_dump_fh,
.set_channel_switch = il4965_hw_channel_switch,
.apm_ops = {
- .init = il_apm_init,
- .config = il4965_nic_config,
- },
+ .init = il_apm_init,
+ .config = il4965_nic_config,
+ },
.eeprom_ops = {
- .regulatory_bands = {
- EEPROM_REGULATORY_BAND_1_CHANNELS,
- EEPROM_REGULATORY_BAND_2_CHANNELS,
- EEPROM_REGULATORY_BAND_3_CHANNELS,
- EEPROM_REGULATORY_BAND_4_CHANNELS,
- EEPROM_REGULATORY_BAND_5_CHANNELS,
- EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS,
- EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS
- },
- .acquire_semaphore = il4965_eeprom_acquire_semaphore,
- .release_semaphore = il4965_eeprom_release_semaphore,
- },
- .send_tx_power = il4965_send_tx_power,
+ .regulatory_bands = {
+ EEPROM_REGULATORY_BAND_1_CHANNELS,
+ EEPROM_REGULATORY_BAND_2_CHANNELS,
+ EEPROM_REGULATORY_BAND_3_CHANNELS,
+ EEPROM_REGULATORY_BAND_4_CHANNELS,
+ EEPROM_REGULATORY_BAND_5_CHANNELS,
+ EEPROM_4965_REGULATORY_BAND_24_HT40_CHANNELS,
+ EEPROM_4965_REGULATORY_BAND_52_HT40_CHANNELS},
+ .acquire_semaphore = il4965_eeprom_acquire_semaphore,
+ .release_semaphore = il4965_eeprom_release_semaphore,
+ },
+ .send_tx_power = il4965_send_tx_power,
.update_chain_flags = il4965_update_chain_flags,
.temp_ops = {
- .temperature = il4965_temperature_calib,
- },
+ .temperature = il4965_temperature_calib,
+ },
.debugfs_ops = {
- .rx_stats_read = il4965_ucode_rx_stats_read,
- .tx_stats_read = il4965_ucode_tx_stats_read,
- .general_stats_read = il4965_ucode_general_stats_read,
- },
+ .rx_stats_read = il4965_ucode_rx_stats_read,
+ .tx_stats_read = il4965_ucode_tx_stats_read,
+ .general_stats_read = il4965_ucode_general_stats_read,
+ },
};
static const struct il_legacy_ops il4965_legacy_ops = {
@@ -2406,7 +2401,7 @@ struct il_cfg il4965_cfg = {
.fw_name_pre = IL4965_FW_PRE,
.ucode_api_max = IL4965_UCODE_API_MAX,
.ucode_api_min = IL4965_UCODE_API_MIN,
- .sku = IL_SKU_A|IL_SKU_G|IL_SKU_N,
+ .sku = IL_SKU_A | IL_SKU_G | IL_SKU_N,
.valid_tx_ant = ANT_AB,
.valid_rx_ant = ANT_ABC,
.eeprom_ver = EEPROM_4965_EEPROM_VERSION,
diff --git a/drivers/net/wireless/iwlegacy/4965.h b/drivers/net/wireless/iwlegacy/4965.h
index a4e256bb506..78eae22c8f2 100644
--- a/drivers/net/wireless/iwlegacy/4965.h
+++ b/drivers/net/wireless/iwlegacy/4965.h
@@ -44,19 +44,17 @@ extern struct il_mod_params il4965_mod_params;
extern struct ieee80211_ops il4965_hw_ops;
/* tx queue */
-void il4965_free_tfds_in_queue(struct il_priv *il,
- int sta_id, int tid, int freed);
+void il4965_free_tfds_in_queue(struct il_priv *il, int sta_id, int tid,
+ int freed);
/* RXON */
-void il4965_set_rxon_chain(struct il_priv *il,
- struct il_rxon_context *ctx);
+void il4965_set_rxon_chain(struct il_priv *il, struct il_rxon_context *ctx);
/* uCode */
int il4965_verify_ucode(struct il_priv *il);
/* lib */
-void il4965_check_abort_status(struct il_priv *il,
- u8 frame_count, u32 status);
+void il4965_check_abort_status(struct il_priv *il, u8 frame_count, u32 status);
void il4965_rx_queue_reset(struct il_priv *il, struct il_rx_queue *rxq);
int il4965_rx_init(struct il_priv *il, struct il_rx_queue *rxq);
@@ -70,30 +68,24 @@ void il4965_rx_replenish_now(struct il_priv *il);
void il4965_rx_queue_free(struct il_priv *il, struct il_rx_queue *rxq);
int il4965_rxq_stop(struct il_priv *il);
int il4965_hwrate_to_mac80211_idx(u32 rate_n_flags, enum ieee80211_band band);
-void il4965_hdl_rx(struct il_priv *il,
- struct il_rx_buf *rxb);
-void il4965_hdl_rx_phy(struct il_priv *il,
- struct il_rx_buf *rxb);
+void il4965_hdl_rx(struct il_priv *il, struct il_rx_buf *rxb);
+void il4965_hdl_rx_phy(struct il_priv *il, struct il_rx_buf *rxb);
void il4965_rx_handle(struct il_priv *il);
/* tx */
void il4965_hw_txq_free_tfd(struct il_priv *il, struct il_tx_queue *txq);
-int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il,
- struct il_tx_queue *txq,
- dma_addr_t addr, u16 len, u8 reset, u8 pad);
-int il4965_hw_tx_queue_init(struct il_priv *il,
- struct il_tx_queue *txq);
+int il4965_hw_txq_attach_buf_to_tfd(struct il_priv *il, struct il_tx_queue *txq,
+ dma_addr_t addr, u16 len, u8 reset, u8 pad);
+int il4965_hw_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq);
void il4965_hwrate_to_tx_control(struct il_priv *il, u32 rate_n_flags,
- struct ieee80211_tx_info *info);
+ struct ieee80211_tx_info *info);
int il4965_tx_skb(struct il_priv *il, struct sk_buff *skb);
int il4965_tx_agg_start(struct il_priv *il, struct ieee80211_vif *vif,
- struct ieee80211_sta *sta, u16 tid, u16 *ssn);
+ struct ieee80211_sta *sta, u16 tid, u16 * ssn);
int il4965_tx_agg_stop(struct il_priv *il, struct ieee80211_vif *vif,
struct ieee80211_sta *sta, u16 tid);
-int il4965_txq_check_empty(struct il_priv *il,
- int sta_id, u8 tid, int txq_id);
-void il4965_hdl_compressed_ba(struct il_priv *il,
- struct il_rx_buf *rxb);
+int il4965_txq_check_empty(struct il_priv *il, int sta_id, u8 tid, int txq_id);
+void il4965_hdl_compressed_ba(struct il_priv *il, struct il_rx_buf *rxb);
int il4965_tx_queue_reclaim(struct il_priv *il, int txq_id, int idx);
void il4965_hw_txq_ctx_free(struct il_priv *il);
int il4965_txq_ctx_alloc(struct il_priv *il);
@@ -112,28 +104,23 @@ void il4965_set_wr_ptrs(struct il_priv *il, int txq_id, u32 idx);
*
* NOTE: Acquire il->lock before calling this function !
*/
-void il4965_tx_queue_set_status(struct il_priv *il,
- struct il_tx_queue *txq,
- int tx_fifo_id, int scd_retry);
+void il4965_tx_queue_set_status(struct il_priv *il, struct il_tx_queue *txq,
+ int tx_fifo_id, int scd_retry);
u8 il4965_toggle_tx_ant(struct il_priv *il, u8 ant_idx, u8 valid);
/* rx */
-void il4965_hdl_missed_beacon(struct il_priv *il,
- struct il_rx_buf *rxb);
-bool il4965_good_plcp_health(struct il_priv *il,
- struct il_rx_pkt *pkt);
-void il4965_hdl_stats(struct il_priv *il,
- struct il_rx_buf *rxb);
-void il4965_hdl_c_stats(struct il_priv *il,
- struct il_rx_buf *rxb);
+void il4965_hdl_missed_beacon(struct il_priv *il, struct il_rx_buf *rxb);
+bool il4965_good_plcp_health(struct il_priv *il, struct il_rx_pkt *pkt);
+void il4965_hdl_stats(struct il_priv *il, struct il_rx_buf *rxb);
+void il4965_hdl_c_stats(struct il_priv *il, struct il_rx_buf *rxb);
/* scan */
int il4965_request_scan(struct il_priv *il, struct ieee80211_vif *vif);
/* station mgmt */
-int il4965_manage_ibss_station(struct il_priv *il,
- struct ieee80211_vif *vif, bool add);
+int il4965_manage_ibss_station(struct il_priv *il, struct ieee80211_vif *vif,
+ bool add);
/* hcmd */
int il4965_send_beacon_cmd(struct il_priv *il);
@@ -142,59 +129,57 @@ int il4965_send_beacon_cmd(struct il_priv *il);
const char *il4965_get_tx_fail_reason(u32 status);
#else
static inline const char *
-il4965_get_tx_fail_reason(u32 status) { return ""; }
+il4965_get_tx_fail_reason(u32 status)
+{
+ return "";
+}
#endif
/* station management */
-int il4965_alloc_bcast_station(struct il_priv *il,
- struct il_rxon_context *ctx);
-int il4965_add_bssid_station(struct il_priv *il,
- struct il_rxon_context *ctx,
- const u8 *addr, u8 *sta_id_r);
+int il4965_alloc_bcast_station(struct il_priv *il, struct il_rxon_context *ctx);
+int il4965_add_bssid_station(struct il_priv *il, struct il_rxon_context *ctx,
+ const u8 * addr, u8 * sta_id_r);
int il4965_remove_default_wep_key(struct il_priv *il,
- struct il_rxon_context *ctx,
+ struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *key);
+int il4965_set_default_wep_key(struct il_priv *il, struct il_rxon_context *ctx,
struct ieee80211_key_conf *key);
-int il4965_set_default_wep_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *key);
int il4965_restore_default_wep_keys(struct il_priv *il,
- struct il_rxon_context *ctx);
-int il4965_set_dynamic_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *key, u8 sta_id);
-int il4965_remove_dynamic_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *key, u8 sta_id);
-void il4965_update_tkip_key(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_key_conf *keyconf,
- struct ieee80211_sta *sta, u32 iv32, u16 *phase1key);
-int il4965_sta_tx_modify_enable_tid(struct il_priv *il,
- int sta_id, int tid);
+ struct il_rxon_context *ctx);
+int il4965_set_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *key, u8 sta_id);
+int il4965_remove_dynamic_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *key, u8 sta_id);
+void il4965_update_tkip_key(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_key_conf *keyconf,
+ struct ieee80211_sta *sta, u32 iv32,
+ u16 * phase1key);
+int il4965_sta_tx_modify_enable_tid(struct il_priv *il, int sta_id, int tid);
int il4965_sta_rx_agg_start(struct il_priv *il, struct ieee80211_sta *sta,
- int tid, u16 ssn);
+ int tid, u16 ssn);
int il4965_sta_rx_agg_stop(struct il_priv *il, struct ieee80211_sta *sta,
- int tid);
-void il4965_sta_modify_sleep_tx_count(struct il_priv *il,
- int sta_id, int cnt);
+ int tid);
+void il4965_sta_modify_sleep_tx_count(struct il_priv *il, int sta_id, int cnt);
int il4965_update_bcast_stations(struct il_priv *il);
/* rate */
-static inline u8 il4965_hw_get_rate(__le32 rate_n_flags)
+static inline u8
+il4965_hw_get_rate(__le32 rate_n_flags)
{
return le32_to_cpu(rate_n_flags) & 0xFF;
}
-static inline __le32 il4965_hw_set_rate_n_flags(u8 rate, u32 flags)
+static inline __le32
+il4965_hw_set_rate_n_flags(u8 rate, u32 flags)
{
- return cpu_to_le32(flags|(u32)rate);
+ return cpu_to_le32(flags | (u32) rate);
}
/* eeprom */
-void il4965_eeprom_get_mac(const struct il_priv *il, u8 *mac);
+void il4965_eeprom_get_mac(const struct il_priv *il, u8 * mac);
int il4965_eeprom_acquire_semaphore(struct il_priv *il);
void il4965_eeprom_release_semaphore(struct il_priv *il);
-int il4965_eeprom_check_version(struct il_priv *il);
+int il4965_eeprom_check_version(struct il_priv *il);
/* mac80211 handlers (for 4965) */
void il4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb);
@@ -202,30 +187,26 @@ int il4965_mac_start(struct ieee80211_hw *hw);
void il4965_mac_stop(struct ieee80211_hw *hw);
void il4965_configure_filter(struct ieee80211_hw *hw,
unsigned int changed_flags,
- unsigned int *total_flags,
- u64 multicast);
+ unsigned int *total_flags, u64 multicast);
int il4965_mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
struct ieee80211_vif *vif, struct ieee80211_sta *sta,
struct ieee80211_key_conf *key);
void il4965_mac_update_tkip_key(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
struct ieee80211_key_conf *keyconf,
- struct ieee80211_sta *sta,
- u32 iv32, u16 *phase1key);
-int il4965_mac_ampdu_action(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta, u32 iv32,
+ u16 * phase1key);
+int il4965_mac_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
enum ieee80211_ampdu_mlme_action action,
- struct ieee80211_sta *sta, u16 tid, u16 *ssn,
+ struct ieee80211_sta *sta, u16 tid, u16 * ssn,
u8 buf_size);
-int il4965_mac_sta_add(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
+int il4965_mac_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
struct ieee80211_sta *sta);
void il4965_mac_channel_switch(struct ieee80211_hw *hw,
struct ieee80211_channel_switch *ch_switch);
void il4965_led_enable(struct il_priv *il);
-
/* EEPROM */
#define IL4965_EEPROM_IMG_SIZE 1024
@@ -255,7 +236,8 @@ void il4965_led_enable(struct il_priv *il);
/* Size of uCode instruction memory in bootstrap state machine */
#define IL49_MAX_BSM_SIZE BSM_SRAM_SIZE
-static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
+static inline int
+il4965_hw_valid_rtc_data_addr(u32 addr)
{
return (addr >= IL49_RTC_DATA_LOWER_BOUND &&
addr < IL49_RTC_DATA_UPPER_BOUND);
@@ -588,8 +570,8 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
* present during factory calibration). A 5 Ghz EEPROM idx of "40"
* corresponds to the 49th entry in the table used by the driver.
*/
-#define MIN_TX_GAIN_IDX (0) /* highest gain, lowest idx, 2.4 */
-#define MIN_TX_GAIN_IDX_52GHZ_EXT (-9) /* highest gain, lowest idx, 5 */
+#define MIN_TX_GAIN_IDX (0) /* highest gain, lowest idx, 2.4 */
+#define MIN_TX_GAIN_IDX_52GHZ_EXT (-9) /* highest gain, lowest idx, 5 */
/**
* 2.4 GHz gain table
@@ -810,7 +792,6 @@ static inline int il4965_hw_valid_rtc_data_addr(u32 addr)
* 98 78 0x00
*/
-
/**
* Sanity checks and default values for EEPROM regulatory levels.
* If EEPROM values fall outside MIN/MAX range, use default values.
@@ -894,7 +875,6 @@ enum {
/********************* END TXPOWER *****************************************/
-
/**
* Tx/Rx Queues
*
@@ -920,7 +900,6 @@ enum {
#define IL49_NUM_QUEUES 16
#define IL49_NUM_AMPDU_QUEUES 8
-
/**
* struct il4965_schedq_bc_tbl
*
@@ -944,7 +923,6 @@ struct il4965_scd_bc_tbl {
u8 pad[1024 - (TFD_QUEUE_BC_SIZE) * sizeof(__le16)];
} __packed;
-
#define IL4965_RTC_INST_LOWER_BOUND (0x000000)
/* RSSI to dBm */
@@ -971,28 +949,31 @@ void il4965_calib_free_results(struct il_priv *il);
/* Debug */
#ifdef CONFIG_IWLEGACY_DEBUGFS
-ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
-ssize_t il4965_ucode_tx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
+ssize_t il4965_ucode_rx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos);
+ssize_t il4965_ucode_tx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos);
ssize_t il4965_ucode_general_stats_read(struct file *file,
- char __user *user_buf, size_t count, loff_t *ppos);
+ char __user * user_buf, size_t count,
+ loff_t * ppos);
#else
static ssize_t
-il4965_ucode_rx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il4965_ucode_rx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
return 0;
}
+
static ssize_t
-il4965_ucode_tx_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il4965_ucode_tx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
return 0;
}
+
static ssize_t
-il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il4965_ucode_general_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
return 0;
}
@@ -1028,7 +1009,6 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
*/
#define FH49_KW_MEM_ADDR_REG (FH49_MEM_LOWER_BOUND + 0x97C)
-
/**
* TFD Circular Buffers Base (CBBC) addresses
*
@@ -1047,7 +1027,6 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
/* Find TFD CB base pointer for given queue (range 0-15). */
#define FH49_MEM_CBBC_QUEUE(x) (FH49_MEM_CBBC_LOWER_BOUND + (x) * 0x4)
-
/**
* Rx SRAM Control and Status Registers (RSCSR)
*
@@ -1144,7 +1123,6 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
#define FH49_RSCSR_CHNL0_RBDCB_WPTR_REG (FH49_MEM_RSCSR_CHNL0 + 0x008)
#define FH49_RSCSR_CHNL0_WPTR (FH49_RSCSR_CHNL0_RBDCB_WPTR_REG)
-
/**
* Rx Config/Status Registers (RCSR)
* Rx Config Reg for channel 0 (only channel used)
@@ -1177,12 +1155,12 @@ il4965_ucode_general_stats_read(struct file *file, char __user *user_buf,
#define FH49_MEM_RCSR_CHNL0_CONFIG_REG (FH49_MEM_RCSR_CHNL0)
-#define FH49_RCSR_CHNL0_RX_CONFIG_RB_TIMEOUT_MSK (0x00000FF0) /* bits 4-11 */
-#define FH49_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_MSK (0x00001000) /* bits 12 */
-#define FH49_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK (0x00008000) /* bit 15 */
-#define FH49_RCSR_CHNL0_RX_CONFIG_RB_SIZE_MSK (0x00030000) /* bits 16-17 */
-#define FH49_RCSR_CHNL0_RX_CONFIG_RBDBC_SIZE_MSK (0x00F00000) /* bits 20-23 */
-#define FH49_RCSR_CHNL0_RX_CONFIG_DMA_CHNL_EN_MSK (0xC0000000) /* bits 30-31*/
+#define FH49_RCSR_CHNL0_RX_CONFIG_RB_TIMEOUT_MSK (0x00000FF0) /* bits 4-11 */
+#define FH49_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_MSK (0x00001000) /* bits 12 */
+#define FH49_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK (0x00008000) /* bit 15 */
+#define FH49_RCSR_CHNL0_RX_CONFIG_RB_SIZE_MSK (0x00030000) /* bits 16-17 */
+#define FH49_RCSR_CHNL0_RX_CONFIG_RBDBC_SIZE_MSK (0x00F00000) /* bits 20-23 */
+#define FH49_RCSR_CHNL0_RX_CONFIG_DMA_CHNL_EN_MSK (0xC0000000) /* bits 30-31 */
#define FH49_RCSR_RX_CONFIG_RBDCB_SIZE_POS (20)
#define FH49_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS (4)
diff --git a/drivers/net/wireless/iwlegacy/commands.h b/drivers/net/wireless/iwlegacy/commands.h
index 9eb7a83bbf1..25dd7d28d02 100644
--- a/drivers/net/wireless/iwlegacy/commands.h
+++ b/drivers/net/wireless/iwlegacy/commands.h
@@ -74,7 +74,6 @@ struct il_priv;
#define IL_UCODE_API(ver) (((ver) & 0x0000FF00) >> 8)
#define IL_UCODE_SERIAL(ver) ((ver) & 0x000000FF)
-
/* Tx rates */
#define IL_CCK_RATES 4
#define IL_OFDM_RATES 8
@@ -98,11 +97,11 @@ enum {
C_WEPKEY = 0x20,
/* RX, TX, LEDs */
- N_3945_RX = 0x1b, /* 3945 only */
+ N_3945_RX = 0x1b, /* 3945 only */
C_TX = 0x1c,
C_RATE_SCALE = 0x47, /* 3945 only */
C_LEDS = 0x48,
- C_TX_LINK_QUALITY_CMD = 0x4e, /* for 4965 */
+ C_TX_LINK_QUALITY_CMD = 0x4e, /* for 4965 */
/* 802.11h related */
C_CHANNEL_SWITCH = 0x72,
@@ -124,7 +123,7 @@ enum {
/* IBSS/AP commands */
N_BEACON = 0x90,
- C_TX_BEACON= 0x91,
+ C_TX_BEACON = 0x91,
/* Miscellaneous commands */
C_TX_PWR_TBL = 0x97,
@@ -177,8 +176,8 @@ enum {
* driver, and each response/notification received from uCode.
*/
struct il_cmd_header {
- u8 cmd; /* Command ID: C_RXON, etc. */
- u8 flags; /* 0:5 reserved, 6 abort, 7 internal */
+ u8 cmd; /* Command ID: C_RXON, etc. */
+ u8 flags; /* 0:5 reserved, 6 abort, 7 internal */
/*
* The driver sets up the sequence number to values of its choosing.
* uCode does not use this value, but passes it back to the driver
@@ -194,20 +193,19 @@ struct il_cmd_header {
*
* The Linux driver uses the following format:
*
- * 0:7 tfd idx - position within TX queue
- * 8:12 TX queue id
- * 13 reserved
- * 14 huge - driver sets this to indicate command is in the
- * 'huge' storage at the end of the command buffers
- * 15 unsolicited RX or uCode-originated notification
- */
+ * 0:7 tfd idx - position within TX queue
+ * 8:12 TX queue id
+ * 13 reserved
+ * 14 huge - driver sets this to indicate command is in the
+ * 'huge' storage at the end of the command buffers
+ * 15 unsolicited RX or uCode-originated notification
+ */
__le16 sequence;
/* command or response/notification data follows immediately */
u8 data[0];
} __packed;
-
/**
* struct il3945_tx_power
*
@@ -430,7 +428,6 @@ struct il_init_alive_resp {
* 2 Tx chains */
} __packed;
-
/**
* N_ALIVE = 0x1 (response only, not a command)
*
@@ -514,7 +511,7 @@ struct il_alive_resp {
__le16 reserved1;
u8 sw_rev[8];
u8 ver_type;
- u8 ver_subtype; /* not "9" for runtime alive */
+ u8 ver_subtype; /* not "9" for runtime alive */
__le16 reserved2;
__le32 log_event_table_ptr; /* SRAM address for event log */
__le32 error_event_table_ptr; /* SRAM address for error log */
@@ -551,7 +548,6 @@ enum {
RXON_DEV_TYPE_SNIFFER = 6,
};
-
#define RXON_RX_CHAIN_DRIVER_FORCE_MSK cpu_to_le16(0x1 << 0)
#define RXON_RX_CHAIN_DRIVER_FORCE_POS (0)
#define RXON_RX_CHAIN_VALID_MSK cpu_to_le16(0x7 << 1)
@@ -590,7 +586,6 @@ enum {
* (according to ON_AIR deassertion) */
#define RXON_FLG_TSF2HOST_MSK cpu_to_le32(1 << 15)
-
/* HT flags */
#define RXON_FLG_CTRL_CHANNEL_LOC_POS (22)
#define RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK cpu_to_le32(0x1 << 22)
@@ -718,7 +713,6 @@ struct il_rxon_cmd {
u8 reserved5;
} __packed;
-
/*
* C_RXON_ASSOC = 0x11 (command, has simple generic response)
*/
@@ -742,8 +736,8 @@ struct il4965_rxon_assoc_cmd {
} __packed;
#define IL_CONN_MAX_LISTEN_INTERVAL 10
-#define IL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */
-#define IL39_MAX_UCODE_BEACON_INTERVAL 1 /* 1024 */
+#define IL_MAX_UCODE_BEACON_INTERVAL 4 /* 4096 */
+#define IL39_MAX_UCODE_BEACON_INTERVAL 1 /* 1024 */
/*
* C_RXON_TIMING = 0x14 (command, has simple generic response)
@@ -856,7 +850,7 @@ struct il_qosparam_cmd {
#define IL4965_BROADCAST_ID 31
#define IL4965_STATION_COUNT 32
-#define IL_STATION_COUNT 32 /* MAX(3945,4965)*/
+#define IL_STATION_COUNT 32 /* MAX(3945,4965) */
#define IL_INVALID_STATION 255
#define STA_FLG_TX_RATE_MSK cpu_to_le32(1 << 2)
@@ -964,7 +958,7 @@ struct il3945_addsta_cmd {
u8 reserved[3];
struct sta_id_modify sta;
struct il4965_keyinfo key;
- __le32 station_flags; /* STA_FLG_* */
+ __le32 station_flags; /* STA_FLG_* */
__le32 station_flags_msk; /* STA_FLG_* */
/* bit field to disable (1) or enable (0) Tx for Traffic ID (TID)
@@ -992,7 +986,7 @@ struct il4965_addsta_cmd {
u8 reserved[3];
struct sta_id_modify sta;
struct il4965_keyinfo key;
- __le32 station_flags; /* STA_FLG_* */
+ __le32 station_flags; /* STA_FLG_* */
__le32 station_flags_msk; /* STA_FLG_* */
/* bit field to disable (1) or enable (0) Tx for Traffic ID (TID)
@@ -1000,7 +994,7 @@ struct il4965_addsta_cmd {
* Set modify_mask bit STA_MODIFY_TID_DISABLE_TX to use this field. */
__le16 tid_disable_tx;
- __le16 reserved1;
+ __le16 reserved1;
/* TID for which to add block-ack support.
* Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */
@@ -1030,7 +1024,7 @@ struct il_addsta_cmd {
u8 reserved[3];
struct sta_id_modify sta;
struct il4965_keyinfo key;
- __le32 station_flags; /* STA_FLG_* */
+ __le32 station_flags; /* STA_FLG_* */
__le32 station_flags_msk; /* STA_FLG_* */
/* bit field to disable (1) or enable (0) Tx for Traffic ID (TID)
@@ -1038,7 +1032,7 @@ struct il_addsta_cmd {
* Set modify_mask bit STA_MODIFY_TID_DISABLE_TX to use this field. */
__le16 tid_disable_tx;
- __le16 rate_n_flags; /* 3945 only */
+ __le16 rate_n_flags; /* 3945 only */
/* TID for which to add block-ack support.
* Set modify_mask bit STA_MODIFY_ADDBA_TID_MSK to use this field. */
@@ -1062,7 +1056,6 @@ struct il_addsta_cmd {
__le16 reserved2;
} __packed;
-
#define ADD_STA_SUCCESS_MSK 0x1
#define ADD_STA_NO_ROOM_IN_TBL 0x2
#define ADD_STA_NO_BLOCK_ACK_RESOURCE 0x4
@@ -1071,7 +1064,7 @@ struct il_addsta_cmd {
* C_ADD_STA = 0x18 (response)
*/
struct il_add_sta_resp {
- u8 status; /* ADD_STA_* */
+ u8 status; /* ADD_STA_* */
} __packed;
#define REM_STA_SUCCESS_MSK 0x1
@@ -1086,9 +1079,9 @@ struct il_rem_sta_resp {
* C_REM_STA = 0x19 (command)
*/
struct il_rem_sta_cmd {
- u8 num_sta; /* number of removed stations */
+ u8 num_sta; /* number of removed stations */
u8 reserved[3];
- u8 addr[ETH_ALEN]; /* MAC addr of the first station */
+ u8 addr[ETH_ALEN]; /* MAC addr of the first station */
u8 reserved2[2];
} __packed;
@@ -1165,7 +1158,6 @@ struct il_wep_cmd {
#define RX_MPDU_RES_STATUS_TTAK_OK (1 << 7)
#define RX_MPDU_RES_STATUS_DEC_DONE_MSK (0x800)
-
struct il3945_rx_frame_stats {
u8 phy_count;
u8 id;
@@ -1221,21 +1213,20 @@ struct il4965_rx_non_cfg_phy {
u8 pad[0];
} __packed;
-
/*
* N_RX = 0xc3 (response only, not a command)
* Used only for legacy (non 11n) frames.
*/
struct il_rx_phy_res {
- u8 non_cfg_phy_cnt; /* non configurable DSP phy data byte count */
+ u8 non_cfg_phy_cnt; /* non configurable DSP phy data byte count */
u8 cfg_phy_cnt; /* configurable DSP phy data byte count */
u8 stat_id; /* configurable DSP phy data set ID */
u8 reserved1;
__le64 timestamp; /* TSF at on air rise */
- __le32 beacon_time_stamp; /* beacon at on-air rise */
+ __le32 beacon_time_stamp; /* beacon at on-air rise */
__le16 phy_flags; /* general phy flags: band, modulation, ... */
__le16 channel; /* channel number */
- u8 non_cfg_phy_buf[32]; /* for various implementations of non_cfg_phy */
+ u8 non_cfg_phy_buf[32]; /* for various implementations of non_cfg_phy */
__le32 rate_n_flags; /* RATE_MCS_* */
__le16 byte_count; /* frame's byte-count */
__le16 frame_time; /* frame's time on the air */
@@ -1246,7 +1237,6 @@ struct il_rx_mpdu_res_start {
__le16 reserved;
} __packed;
-
/******************************************************************************
* (5)
* Tx Commands & Responses:
@@ -1346,7 +1336,6 @@ struct il_rx_mpdu_res_start {
/* HCCA-AP - disable duration overwriting. */
#define TX_CMD_FLG_DUR_MSK cpu_to_le32(1 << 25)
-
/*
* TX command security control
*/
@@ -1442,7 +1431,6 @@ struct il3945_tx_resp {
__le32 status; /* TX status */
} __packed;
-
/*
* 4965 uCode updates these Tx attempt count values in host DRAM.
* Used for managing Tx retries when expecting block-acks.
@@ -1625,12 +1613,12 @@ enum {
};
enum {
- TX_STATUS_MSK = 0x000000ff, /* bits 0:7 */
+ TX_STATUS_MSK = 0x000000ff, /* bits 0:7 */
TX_STATUS_DELAY_MSK = 0x00000040,
TX_STATUS_ABORT_MSK = 0x00000080,
TX_PACKET_MODE_MSK = 0x0000ff00, /* bits 8:15 */
TX_FIFO_NUMBER_MSK = 0x00070000, /* bits 16:18 */
- TX_RESERVED = 0x00780000, /* bits 19:22 */
+ TX_RESERVED = 0x00780000, /* bits 19:22 */
TX_POWER_PA_DETECT_MSK = 0x7f800000, /* bits 23:30 */
TX_ABORT_REQUIRED_MSK = 0x80000000, /* bits 31:31 */
};
@@ -1727,7 +1715,7 @@ struct il4965_tx_resp {
*/
union {
__le32 status;
- struct agg_tx_status agg_status[0]; /* for each agg frame */
+ struct agg_tx_status agg_status[0]; /* for each agg frame */
} u;
} __packed;
@@ -1770,7 +1758,6 @@ struct il4965_txpowertable_cmd {
struct il4965_tx_power_db tx_power;
} __packed;
-
/**
* struct il3945_rate_scaling_cmd - Rate Scaling Command & Response
*
@@ -1798,7 +1785,6 @@ struct il3945_rate_scaling_cmd {
struct il3945_rate_scaling_info table[IL_MAX_RATES];
} __packed;
-
/*RS_NEW_API: only TLC_RTS remains and moved to bit 0 */
#define LINK_QUAL_FLAGS_SET_STA_TLC_RTS_MSK (1 << 0)
@@ -1813,7 +1799,6 @@ struct il3945_rate_scaling_cmd {
#define LINK_QUAL_ANT_B_MSK (1 << 1)
#define LINK_QUAL_ANT_MSK (LINK_QUAL_ANT_A_MSK|LINK_QUAL_ANT_B_MSK)
-
/**
* struct il_link_qual_general_params
*
@@ -1829,7 +1814,7 @@ struct il_link_qual_general_params {
u8 single_stream_ant_msk; /* LINK_QUAL_ANT_* */
/* Best antennas to use for MIMO (unused for 4965, assumes both). */
- u8 dual_stream_ant_msk; /* LINK_QUAL_ANT_* */
+ u8 dual_stream_ant_msk; /* LINK_QUAL_ANT_* */
/*
* If driver needs to use different initial rates for different
@@ -1845,7 +1830,7 @@ struct il_link_qual_general_params {
u8 start_rate_idx[LINK_QUAL_AC_NUM];
} __packed;
-#define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */
+#define LINK_QUAL_AGG_TIME_LIMIT_DEF (4000) /* 4 milliseconds */
#define LINK_QUAL_AGG_TIME_LIMIT_MAX (8000)
#define LINK_QUAL_AGG_TIME_LIMIT_MIN (100)
@@ -2129,7 +2114,6 @@ struct il_bt_cmd {
__le32 kill_cts_mask;
} __packed;
-
/******************************************************************************
* (6)
* Spectrum Management (802.11h) Commands, Responses, Notifications:
@@ -2230,7 +2214,7 @@ enum il_measure_type {
struct il_spectrum_notification {
u8 id; /* measurement id -- 0 or 1 */
u8 token;
- u8 channel_idx; /* idx in measurement channel list */
+ u8 channel_idx; /* idx in measurement channel list */
u8 state; /* 0 - start, 1 - stop */
__le32 start_time; /* lower 32-bits of TSF */
u8 band; /* 0 - 5.2GHz, 1 - 2.4GHz */
@@ -2306,8 +2290,8 @@ struct il3945_powertable_cmd {
struct il_powertable_cmd {
__le16 flags;
- u8 keep_alive_seconds; /* 3945 reserved */
- u8 debug_flags; /* 3945 reserved */
+ u8 keep_alive_seconds; /* 3945 reserved */
+ u8 debug_flags; /* 3945 reserved */
__le32 rx_data_timeout;
__le32 tx_data_timeout;
__le32 sleep_interval[IL_POWER_VEC_SIZE];
@@ -2355,10 +2339,10 @@ struct il_card_state_notif {
#define RXON_CARD_DISABLED 0x10
struct il_ct_kill_config {
- __le32 reserved;
- __le32 critical_temperature_M;
- __le32 critical_temperature_R;
-} __packed;
+ __le32 reserved;
+ __le32 critical_temperature_M;
+ __le32 critical_temperature_R;
+} __packed;
/******************************************************************************
* (8)
@@ -2397,7 +2381,7 @@ struct il3945_scan_channel {
* 5:7 reserved
*/
u8 type;
- u8 channel; /* band is selected by il3945_scan_cmd "flags" field */
+ u8 channel; /* band is selected by il3945_scan_cmd "flags" field */
struct il3945_tx_power tpc;
__le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */
__le16 passive_dwell; /* in 1024-uSec TU (time units), typ 20-500 */
@@ -2415,7 +2399,7 @@ struct il_scan_channel {
* 21:31 reserved
*/
__le32 type;
- __le16 channel; /* band is selected by il_scan_cmd "flags" field */
+ __le16 channel; /* band is selected by il_scan_cmd "flags" field */
u8 tx_gain; /* gain for analog radio */
u8 dsp_atten; /* gain for DSP */
__le16 active_dwell; /* in 1024-uSec TU (time units), typ 5-50 */
@@ -2631,7 +2615,7 @@ struct il_scanresults_notification {
u8 channel;
u8 band;
u8 probe_status;
- u8 num_probe_not_sent; /* not enough time to send */
+ u8 num_probe_not_sent; /* not enough time to send */
__le32 tsf_low;
__le32 tsf_high;
__le32 stats[NUMBER_OF_STATS];
@@ -2648,7 +2632,6 @@ struct il_scancomplete_notification {
__le32 tsf_high;
} __packed;
-
/******************************************************************************
* (9)
* IBSS/AP Commands and Notifications:
@@ -2849,15 +2832,15 @@ struct stats_rx_non_phy {
__le32 num_missed_bcon; /* number of missed beacons */
__le32 adc_rx_saturation_time; /* count in 0.8us units the time the
* ADC was in saturation */
- __le32 ina_detection_search_time;/* total time (in 0.8us) searched
- * for INA */
+ __le32 ina_detection_search_time; /* total time (in 0.8us) searched
+ * for INA */
__le32 beacon_silence_rssi_a; /* RSSI silence after beacon frame */
__le32 beacon_silence_rssi_b; /* RSSI silence after beacon frame */
__le32 beacon_silence_rssi_c; /* RSSI silence after beacon frame */
__le32 interference_data_flag; /* flag for interference data
* availability. 1 when data is
* available. */
- __le32 channel_load; /* counts RX Enable time in uSec */
+ __le32 channel_load; /* counts RX Enable time in uSec */
__le32 dsp_false_alarms; /* DSP false alarm (both OFDM
* and CCK) counter */
__le32 beacon_rssi_a;
@@ -2922,7 +2905,6 @@ struct stats_tx {
__le32 reserved1;
} __packed;
-
struct stats_div {
__le32 tx_on_a;
__le32 tx_on_b;
@@ -2933,7 +2915,7 @@ struct stats_div {
} __packed;
struct stats_general_common {
- __le32 temperature; /* radio temperature */
+ __le32 temperature; /* radio temperature */
struct stats_dbg dbg;
__le32 sleep_time;
__le32 slots_out;
@@ -2975,7 +2957,7 @@ struct stats_general {
* does not affect the response to the C_STATS 0x9c itself.
*/
#define IL_STATS_CONF_CLEAR_STATS cpu_to_le32(0x1) /* see above */
-#define IL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2)/* see above */
+#define IL_STATS_CONF_DISABLE_NOTIF cpu_to_le32(0x2) /* see above */
struct il_stats_cmd {
__le32 configuration_flags; /* IL_STATS_CONF_* */
} __packed;
@@ -3043,7 +3025,6 @@ struct il_missed_beacon_notif {
__le32 num_recvd_beacons;
} __packed;
-
/******************************************************************************
* (11)
* Rx Calibration Commands:
@@ -3241,11 +3222,10 @@ struct il_missed_beacon_notif {
* Always use "1" in "control" to update uCode's working table and DSP.
*/
struct il_sensitivity_cmd {
- __le16 control; /* always use "1" */
+ __le16 control; /* always use "1" */
__le16 table[HD_TBL_SIZE]; /* use HD_* as idx */
} __packed;
-
/**
* C_PHY_CALIBRATION = 0xb0 (command, has simple generic response)
*
@@ -3305,8 +3285,8 @@ struct il_sensitivity_cmd {
/* The default calibrate table size if not specified by firmware */
#define IL_DEFAULT_STANDARD_PHY_CALIBRATE_TBL_SIZE 18
enum {
- IL_PHY_CALIBRATE_DIFF_GAIN_CMD = 7,
- IL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE = 19,
+ IL_PHY_CALIBRATE_DIFF_GAIN_CMD = 7,
+ IL_MAX_STANDARD_PHY_CALIBRATE_TBL_SIZE = 19,
};
#define IL_MAX_PHY_CALIBRATE_TBL_SIZE (253)
@@ -3350,7 +3330,6 @@ struct il_led_cmd {
u8 reserved;
} __packed;
-
/******************************************************************************
* (13)
* Union of all expected notifications/responses:
@@ -3394,4 +3373,4 @@ struct il_rx_pkt {
} u;
} __packed;
-#endif /* __il_commands_h__ */
+#endif /* __il_commands_h__ */
diff --git a/drivers/net/wireless/iwlegacy/common.c b/drivers/net/wireless/iwlegacy/common.c
index 627ac9b3201..2e1bbb2e846 100644
--- a/drivers/net/wireless/iwlegacy/common.c
+++ b/drivers/net/wireless/iwlegacy/common.c
@@ -42,7 +42,8 @@
#include "common.h"
-const char *il_get_cmd_string(u8 cmd)
+const char *
+il_get_cmd_string(u8 cmd)
{
switch (cmd) {
IL_CMD(N_ALIVE);
@@ -91,30 +92,30 @@ const char *il_get_cmd_string(u8 cmd)
}
}
+
EXPORT_SYMBOL(il_get_cmd_string);
#define HOST_COMPLETE_TIMEOUT (HZ / 2)
-static void il_generic_cmd_callback(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct il_rx_pkt *pkt)
+static void
+il_generic_cmd_callback(struct il_priv *il, struct il_device_cmd *cmd,
+ struct il_rx_pkt *pkt)
{
if (pkt->hdr.flags & IL_CMD_FAILED_MSK) {
IL_ERR("Bad return from %s (0x%08X)\n",
- il_get_cmd_string(cmd->hdr.cmd), pkt->hdr.flags);
+ il_get_cmd_string(cmd->hdr.cmd), pkt->hdr.flags);
return;
}
-
#ifdef CONFIG_IWLEGACY_DEBUG
switch (cmd->hdr.cmd) {
case C_TX_LINK_QUALITY_CMD:
case C_SENSITIVITY:
D_HC_DUMP("back from %s (0x%08X)\n",
- il_get_cmd_string(cmd->hdr.cmd), pkt->hdr.flags);
+ il_get_cmd_string(cmd->hdr.cmd), pkt->hdr.flags);
break;
default:
- D_HC("back from %s (0x%08X)\n",
- il_get_cmd_string(cmd->hdr.cmd), pkt->hdr.flags);
+ D_HC("back from %s (0x%08X)\n", il_get_cmd_string(cmd->hdr.cmd),
+ pkt->hdr.flags);
}
#endif
}
@@ -139,13 +140,14 @@ il_send_cmd_async(struct il_priv *il, struct il_host_cmd *cmd)
ret = il_enqueue_hcmd(il, cmd);
if (ret < 0) {
IL_ERR("Error sending %s: enqueue_hcmd failed: %d\n",
- il_get_cmd_string(cmd->id), ret);
+ il_get_cmd_string(cmd->id), ret);
return ret;
}
return 0;
}
-int il_send_cmd_sync(struct il_priv *il, struct il_host_cmd *cmd)
+int
+il_send_cmd_sync(struct il_priv *il, struct il_host_cmd *cmd)
{
int cmd_idx;
int ret;
@@ -154,38 +156,36 @@ int il_send_cmd_sync(struct il_priv *il, struct il_host_cmd *cmd)
BUG_ON(cmd->flags & CMD_ASYNC);
- /* A synchronous command can not have a callback set. */
+ /* A synchronous command can not have a callback set. */
BUG_ON(cmd->callback);
D_INFO("Attempting to send sync command %s\n",
- il_get_cmd_string(cmd->id));
+ il_get_cmd_string(cmd->id));
set_bit(S_HCMD_ACTIVE, &il->status);
D_INFO("Setting HCMD_ACTIVE for command %s\n",
- il_get_cmd_string(cmd->id));
+ il_get_cmd_string(cmd->id));
cmd_idx = il_enqueue_hcmd(il, cmd);
if (cmd_idx < 0) {
ret = cmd_idx;
IL_ERR("Error sending %s: enqueue_hcmd failed: %d\n",
- il_get_cmd_string(cmd->id), ret);
+ il_get_cmd_string(cmd->id), ret);
goto out;
}
ret = wait_event_timeout(il->wait_command_queue,
- !test_bit(S_HCMD_ACTIVE, &il->status),
- HOST_COMPLETE_TIMEOUT);
+ !test_bit(S_HCMD_ACTIVE, &il->status),
+ HOST_COMPLETE_TIMEOUT);
if (!ret) {
if (test_bit(S_HCMD_ACTIVE, &il->status)) {
- IL_ERR(
- "Error sending %s: time out after %dms.\n",
- il_get_cmd_string(cmd->id),
- jiffies_to_msecs(HOST_COMPLETE_TIMEOUT));
+ IL_ERR("Error sending %s: time out after %dms.\n",
+ il_get_cmd_string(cmd->id),
+ jiffies_to_msecs(HOST_COMPLETE_TIMEOUT));
clear_bit(S_HCMD_ACTIVE, &il->status);
- D_INFO(
- "Clearing HCMD_ACTIVE for command %s\n",
- il_get_cmd_string(cmd->id));
+ D_INFO("Clearing HCMD_ACTIVE for command %s\n",
+ il_get_cmd_string(cmd->id));
ret = -ETIMEDOUT;
goto cancel;
}
@@ -193,19 +193,19 @@ int il_send_cmd_sync(struct il_priv *il, struct il_host_cmd *cmd)
if (test_bit(S_RF_KILL_HW, &il->status)) {
IL_ERR("Command %s aborted: RF KILL Switch\n",
- il_get_cmd_string(cmd->id));
+ il_get_cmd_string(cmd->id));
ret = -ECANCELED;
goto fail;
}
if (test_bit(S_FW_ERROR, &il->status)) {
IL_ERR("Command %s failed: FW Error\n",
- il_get_cmd_string(cmd->id));
+ il_get_cmd_string(cmd->id));
ret = -EIO;
goto fail;
}
if ((cmd->flags & CMD_WANT_SKB) && !cmd->reply_page) {
IL_ERR("Error: Response NULL in '%s'\n",
- il_get_cmd_string(cmd->id));
+ il_get_cmd_string(cmd->id));
ret = -EIO;
goto cancel;
}
@@ -221,8 +221,7 @@ cancel:
* in later, it will possibly set an invalid
* address (cmd->meta.source).
*/
- il->txq[il->cmd_queue].meta[cmd_idx].flags &=
- ~CMD_WANT_SKB;
+ il->txq[il->cmd_queue].meta[cmd_idx].flags &= ~CMD_WANT_SKB;
}
fail:
if (cmd->reply_page) {
@@ -232,15 +231,18 @@ fail:
out:
return ret;
}
+
EXPORT_SYMBOL(il_send_cmd_sync);
-int il_send_cmd(struct il_priv *il, struct il_host_cmd *cmd)
+int
+il_send_cmd(struct il_priv *il, struct il_host_cmd *cmd)
{
if (cmd->flags & CMD_ASYNC)
return il_send_cmd_async(il, cmd);
return il_send_cmd_sync(il, cmd);
}
+
EXPORT_SYMBOL(il_send_cmd);
int
@@ -254,13 +256,14 @@ il_send_cmd_pdu(struct il_priv *il, u8 id, u16 len, const void *data)
return il_send_cmd_sync(il, &cmd);
}
+
EXPORT_SYMBOL(il_send_cmd_pdu);
-int il_send_cmd_pdu_async(struct il_priv *il,
- u8 id, u16 len, const void *data,
- void (*callback)(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct il_rx_pkt *pkt))
+int
+il_send_cmd_pdu_async(struct il_priv *il, u8 id, u16 len, const void *data,
+ void (*callback) (struct il_priv * il,
+ struct il_device_cmd * cmd,
+ struct il_rx_pkt * pkt))
{
struct il_host_cmd cmd = {
.id = id,
@@ -273,13 +276,14 @@ int il_send_cmd_pdu_async(struct il_priv *il,
return il_send_cmd_async(il, &cmd);
}
+
EXPORT_SYMBOL(il_send_cmd_pdu_async);
/* default: IL_LED_BLINK(0) using blinking idx table */
static int led_mode;
module_param(led_mode, int, S_IRUGO);
-MODULE_PARM_DESC(led_mode, "0=system default, "
- "1=On(RF On)/Off(RF Off), 2=blinking");
+MODULE_PARM_DESC(led_mode,
+ "0=system default, " "1=On(RF On)/Off(RF Off), 2=blinking");
/* Throughput OFF time(ms) ON time (ms)
* >300 25 25
@@ -295,16 +299,16 @@ MODULE_PARM_DESC(led_mode, "0=system default, "
* <=0 SOLID ON
*/
static const struct ieee80211_tpt_blink il_blink[] = {
- { .throughput = 0, .blink_time = 334 },
- { .throughput = 1 * 1024 - 1, .blink_time = 260 },
- { .throughput = 5 * 1024 - 1, .blink_time = 220 },
- { .throughput = 10 * 1024 - 1, .blink_time = 190 },
- { .throughput = 20 * 1024 - 1, .blink_time = 170 },
- { .throughput = 50 * 1024 - 1, .blink_time = 150 },
- { .throughput = 70 * 1024 - 1, .blink_time = 130 },
- { .throughput = 100 * 1024 - 1, .blink_time = 110 },
- { .throughput = 200 * 1024 - 1, .blink_time = 80 },
- { .throughput = 300 * 1024 - 1, .blink_time = 50 },
+ {.throughput = 0,.blink_time = 334},
+ {.throughput = 1 * 1024 - 1,.blink_time = 260},
+ {.throughput = 5 * 1024 - 1,.blink_time = 220},
+ {.throughput = 10 * 1024 - 1,.blink_time = 190},
+ {.throughput = 20 * 1024 - 1,.blink_time = 170},
+ {.throughput = 50 * 1024 - 1,.blink_time = 150},
+ {.throughput = 70 * 1024 - 1,.blink_time = 130},
+ {.throughput = 100 * 1024 - 1,.blink_time = 110},
+ {.throughput = 200 * 1024 - 1,.blink_time = 80},
+ {.throughput = 300 * 1024 - 1,.blink_time = 50},
};
/*
@@ -318,22 +322,21 @@ static const struct ieee80211_tpt_blink il_blink[] = {
* compensation = (100 - averageDeviation) * 64 / 100
* NewBlinkTime = (compensation * BlinkTime) / 64
*/
-static inline u8 il_blink_compensation(struct il_priv *il,
- u8 time, u16 compensation)
+static inline u8
+il_blink_compensation(struct il_priv *il, u8 time, u16 compensation)
{
if (!compensation) {
IL_ERR("undefined blink compensation: "
- "use pre-defined blinking time\n");
+ "use pre-defined blinking time\n");
return time;
}
- return (u8)((time * compensation) >> 6);
+ return (u8) ((time * compensation) >> 6);
}
/* Set led pattern command */
-static int il_led_cmd(struct il_priv *il,
- unsigned long on,
- unsigned long off)
+static int
+il_led_cmd(struct il_priv *il, unsigned long on, unsigned long off)
{
struct il_led_cmd led_cmd = {
.id = IL_LED_LINK,
@@ -353,11 +356,13 @@ static int il_led_cmd(struct il_priv *il,
}
D_LED("Led blink time compensation=%u\n",
- il->cfg->base_params->led_compensation);
- led_cmd.on = il_blink_compensation(il, on,
- il->cfg->base_params->led_compensation);
- led_cmd.off = il_blink_compensation(il, off,
- il->cfg->base_params->led_compensation);
+ il->cfg->base_params->led_compensation);
+ led_cmd.on =
+ il_blink_compensation(il, on,
+ il->cfg->base_params->led_compensation);
+ led_cmd.off =
+ il_blink_compensation(il, off,
+ il->cfg->base_params->led_compensation);
ret = il->cfg->ops->led->cmd(il, &led_cmd);
if (!ret) {
@@ -367,8 +372,9 @@ static int il_led_cmd(struct il_priv *il,
return ret;
}
-static void il_led_brightness_set(struct led_classdev *led_cdev,
- enum led_brightness brightness)
+static void
+il_led_brightness_set(struct led_classdev *led_cdev,
+ enum led_brightness brightness)
{
struct il_priv *il = container_of(led_cdev, struct il_priv, led);
unsigned long on = 0;
@@ -379,16 +385,17 @@ static void il_led_brightness_set(struct led_classdev *led_cdev,
il_led_cmd(il, on, 0);
}
-static int il_led_blink_set(struct led_classdev *led_cdev,
- unsigned long *delay_on,
- unsigned long *delay_off)
+static int
+il_led_blink_set(struct led_classdev *led_cdev, unsigned long *delay_on,
+ unsigned long *delay_off)
{
struct il_priv *il = container_of(led_cdev, struct il_priv, led);
return il_led_cmd(il, *delay_on, *delay_off);
}
-void il_leds_init(struct il_priv *il)
+void
+il_leds_init(struct il_priv *il)
{
int mode = led_mode;
int ret;
@@ -396,8 +403,8 @@ void il_leds_init(struct il_priv *il)
if (mode == IL_LED_DEFAULT)
mode = il->cfg->led_mode;
- il->led.name = kasprintf(GFP_KERNEL, "%s-led",
- wiphy_name(il->hw->wiphy));
+ il->led.name =
+ kasprintf(GFP_KERNEL, "%s-led", wiphy_name(il->hw->wiphy));
il->led.brightness_set = il_led_brightness_set;
il->led.blink_set = il_led_blink_set;
il->led.max_brightness = 1;
@@ -408,13 +415,13 @@ void il_leds_init(struct il_priv *il)
break;
case IL_LED_BLINK:
il->led.default_trigger =
- ieee80211_create_tpt_led_trigger(il->hw,
- IEEE80211_TPT_LEDTRIG_FL_CONNECTED,
- il_blink, ARRAY_SIZE(il_blink));
+ ieee80211_create_tpt_led_trigger(il->hw,
+ IEEE80211_TPT_LEDTRIG_FL_CONNECTED,
+ il_blink,
+ ARRAY_SIZE(il_blink));
break;
case IL_LED_RF_STATE:
- il->led.default_trigger =
- ieee80211_get_radio_led_name(il->hw);
+ il->led.default_trigger = ieee80211_get_radio_led_name(il->hw);
break;
}
@@ -426,9 +433,11 @@ void il_leds_init(struct il_priv *il)
il->led_registered = true;
}
+
EXPORT_SYMBOL(il_leds_init);
-void il_leds_exit(struct il_priv *il)
+void
+il_leds_exit(struct il_priv *il)
{
if (!il->led_registered)
return;
@@ -436,6 +445,7 @@ void il_leds_exit(struct il_priv *il)
led_classdev_unregister(&il->led);
kfree(il->led.name);
}
+
EXPORT_SYMBOL(il_leds_exit);
/************************** EEPROM BANDS ****************************
@@ -491,11 +501,11 @@ static const u8 il_eeprom_band_5[] = { /* 5725-5825MHz */
145, 149, 153, 157, 161, 165
};
-static const u8 il_eeprom_band_6[] = { /* 2.4 ht40 channel */
+static const u8 il_eeprom_band_6[] = { /* 2.4 ht40 channel */
1, 2, 3, 4, 5, 6, 7
};
-static const u8 il_eeprom_band_7[] = { /* 5.2 ht40 channel */
+static const u8 il_eeprom_band_7[] = { /* 5.2 ht40 channel */
36, 44, 52, 60, 100, 108, 116, 124, 132, 149, 157
};
@@ -505,7 +515,8 @@ static const u8 il_eeprom_band_7[] = { /* 5.2 ht40 channel */
*
******************************************************************************/
-static int il_eeprom_verify_signature(struct il_priv *il)
+static int
+il_eeprom_verify_signature(struct il_priv *il)
{
u32 gp = _il_rd(il, CSR_EEPROM_GP) & CSR_EEPROM_GP_VALID_MSK;
int ret = 0;
@@ -516,28 +527,30 @@ static int il_eeprom_verify_signature(struct il_priv *il)
case CSR_EEPROM_GP_GOOD_SIG_EEP_MORE_THAN_4K:
break;
default:
- IL_ERR("bad EEPROM signature,"
- "EEPROM_GP=0x%08x\n", gp);
+ IL_ERR("bad EEPROM signature," "EEPROM_GP=0x%08x\n", gp);
ret = -ENOENT;
break;
}
return ret;
}
-const u8
-*il_eeprom_query_addr(const struct il_priv *il, size_t offset)
+const u8 *
+il_eeprom_query_addr(const struct il_priv *il, size_t offset)
{
BUG_ON(offset >= il->cfg->base_params->eeprom_size);
return &il->eeprom[offset];
}
+
EXPORT_SYMBOL(il_eeprom_query_addr);
-u16 il_eeprom_query16(const struct il_priv *il, size_t offset)
+u16
+il_eeprom_query16(const struct il_priv * il, size_t offset)
{
if (!il->eeprom)
return 0;
- return (u16)il->eeprom[offset] | ((u16)il->eeprom[offset + 1] << 8);
+ return (u16) il->eeprom[offset] | ((u16) il->eeprom[offset + 1] << 8);
}
+
EXPORT_SYMBOL(il_eeprom_query16);
/**
@@ -547,7 +560,8 @@ EXPORT_SYMBOL(il_eeprom_query16);
*
* NOTE: This routine uses the non-debug IO access functions.
*/
-int il_eeprom_init(struct il_priv *il)
+int
+il_eeprom_init(struct il_priv *il)
{
__le16 *e;
u32 gp = _il_rd(il, CSR_EEPROM_GP);
@@ -563,7 +577,7 @@ int il_eeprom_init(struct il_priv *il)
ret = -ENOMEM;
goto alloc_err;
}
- e = (__le16 *)il->eeprom;
+ e = (__le16 *) il->eeprom;
il->cfg->ops->lib->apm_ops.init(il);
@@ -587,24 +601,23 @@ int il_eeprom_init(struct il_priv *il)
u32 r;
_il_wr(il, CSR_EEPROM_REG,
- CSR_EEPROM_REG_MSK_ADDR & (addr << 1));
+ CSR_EEPROM_REG_MSK_ADDR & (addr << 1));
- ret = _il_poll_bit(il, CSR_EEPROM_REG,
- CSR_EEPROM_REG_READ_VALID_MSK,
- CSR_EEPROM_REG_READ_VALID_MSK,
- IL_EEPROM_ACCESS_TIMEOUT);
+ ret =
+ _il_poll_bit(il, CSR_EEPROM_REG,
+ CSR_EEPROM_REG_READ_VALID_MSK,
+ CSR_EEPROM_REG_READ_VALID_MSK,
+ IL_EEPROM_ACCESS_TIMEOUT);
if (ret < 0) {
- IL_ERR("Time out reading EEPROM[%d]\n",
- addr);
+ IL_ERR("Time out reading EEPROM[%d]\n", addr);
goto done;
}
r = _il_rd(il, CSR_EEPROM_REG);
e[addr / 2] = cpu_to_le16(r >> 16);
}
- D_EEPROM("NVM Type: %s, version: 0x%x\n",
- "EEPROM",
- il_eeprom_query16(il, EEPROM_VERSION));
+ D_EEPROM("NVM Type: %s, version: 0x%x\n", "EEPROM",
+ il_eeprom_query16(il, EEPROM_VERSION));
ret = 0;
done:
@@ -618,63 +631,74 @@ err:
alloc_err:
return ret;
}
+
EXPORT_SYMBOL(il_eeprom_init);
-void il_eeprom_free(struct il_priv *il)
+void
+il_eeprom_free(struct il_priv *il)
{
kfree(il->eeprom);
il->eeprom = NULL;
}
+
EXPORT_SYMBOL(il_eeprom_free);
-static void il_init_band_reference(const struct il_priv *il,
- int eep_band, int *eeprom_ch_count,
- const struct il_eeprom_channel **eeprom_ch_info,
- const u8 **eeprom_ch_idx)
+static void
+il_init_band_reference(const struct il_priv *il, int eep_band,
+ int *eeprom_ch_count,
+ const struct il_eeprom_channel **eeprom_ch_info,
+ const u8 ** eeprom_ch_idx)
{
- u32 offset = il->cfg->ops->lib->
- eeprom_ops.regulatory_bands[eep_band - 1];
+ u32 offset =
+ il->cfg->ops->lib->eeprom_ops.regulatory_bands[eep_band - 1];
switch (eep_band) {
case 1: /* 2.4GHz band */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_1);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_1;
break;
case 2: /* 4.9GHz band */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_2);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_2;
break;
case 3: /* 5.2GHz band */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_3);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_3;
break;
case 4: /* 5.5GHz band */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_4);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_4;
break;
case 5: /* 5.7GHz band */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_5);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_5;
break;
case 6: /* 2.4GHz ht40 channels */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_6);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_6;
break;
case 7: /* 5 GHz ht40 channels */
*eeprom_ch_count = ARRAY_SIZE(il_eeprom_band_7);
- *eeprom_ch_info = (struct il_eeprom_channel *)
- il_eeprom_query_addr(il, offset);
+ *eeprom_ch_info =
+ (struct il_eeprom_channel *)il_eeprom_query_addr(il,
+ offset);
*eeprom_ch_idx = il_eeprom_band_7;
break;
default:
@@ -689,41 +713,35 @@ static void il_init_band_reference(const struct il_priv *il,
*
* Does not set up a command, or touch hardware.
*/
-static int il_mod_ht40_chan_info(struct il_priv *il,
- enum ieee80211_band band, u16 channel,
- const struct il_eeprom_channel *eeprom_ch,
- u8 clear_ht40_extension_channel)
+static int
+il_mod_ht40_chan_info(struct il_priv *il, enum ieee80211_band band, u16 channel,
+ const struct il_eeprom_channel *eeprom_ch,
+ u8 clear_ht40_extension_channel)
{
struct il_channel_info *ch_info;
- ch_info = (struct il_channel_info *)
- il_get_channel_info(il, band, channel);
+ ch_info =
+ (struct il_channel_info *)il_get_channel_info(il, band, channel);
if (!il_is_channel_valid(ch_info))
return -1;
D_EEPROM("HT40 Ch. %d [%sGHz] %s%s%s%s%s(0x%02x %ddBm):"
- " Ad-Hoc %ssupported\n",
- ch_info->channel,
- il_is_channel_a_band(ch_info) ?
- "5.2" : "2.4",
- CHECK_AND_PRINT(IBSS),
- CHECK_AND_PRINT(ACTIVE),
- CHECK_AND_PRINT(RADAR),
- CHECK_AND_PRINT(WIDE),
- CHECK_AND_PRINT(DFS),
- eeprom_ch->flags,
- eeprom_ch->max_power_avg,
- ((eeprom_ch->flags & EEPROM_CHANNEL_IBSS)
- && !(eeprom_ch->flags & EEPROM_CHANNEL_RADAR)) ?
- "" : "not ");
+ " Ad-Hoc %ssupported\n", ch_info->channel,
+ il_is_channel_a_band(ch_info) ? "5.2" : "2.4",
+ CHECK_AND_PRINT(IBSS), CHECK_AND_PRINT(ACTIVE),
+ CHECK_AND_PRINT(RADAR), CHECK_AND_PRINT(WIDE),
+ CHECK_AND_PRINT(DFS), eeprom_ch->flags,
+ eeprom_ch->max_power_avg,
+ ((eeprom_ch->flags & EEPROM_CHANNEL_IBSS) &&
+ !(eeprom_ch->flags & EEPROM_CHANNEL_RADAR)) ? "" : "not ");
ch_info->ht40_eeprom = *eeprom_ch;
ch_info->ht40_max_power_avg = eeprom_ch->max_power_avg;
ch_info->ht40_flags = eeprom_ch->flags;
if (eeprom_ch->flags & EEPROM_CHANNEL_VALID)
ch_info->ht40_extension_channel &=
- ~clear_ht40_extension_channel;
+ ~clear_ht40_extension_channel;
return 0;
}
@@ -734,7 +752,8 @@ static int il_mod_ht40_chan_info(struct il_priv *il,
/**
* il_init_channel_map - Set up driver's info for all possible channels
*/
-int il_init_channel_map(struct il_priv *il)
+int
+il_init_channel_map(struct il_priv *il)
{
int eeprom_ch_count = 0;
const u8 *eeprom_ch_idx = NULL;
@@ -750,17 +769,15 @@ int il_init_channel_map(struct il_priv *il)
D_EEPROM("Initializing regulatory info from EEPROM\n");
il->channel_count =
- ARRAY_SIZE(il_eeprom_band_1) +
- ARRAY_SIZE(il_eeprom_band_2) +
- ARRAY_SIZE(il_eeprom_band_3) +
- ARRAY_SIZE(il_eeprom_band_4) +
+ ARRAY_SIZE(il_eeprom_band_1) + ARRAY_SIZE(il_eeprom_band_2) +
+ ARRAY_SIZE(il_eeprom_band_3) + ARRAY_SIZE(il_eeprom_band_4) +
ARRAY_SIZE(il_eeprom_band_5);
- D_EEPROM("Parsing data for %d channels.\n",
- il->channel_count);
+ D_EEPROM("Parsing data for %d channels.\n", il->channel_count);
- il->channel_info = kzalloc(sizeof(struct il_channel_info) *
- il->channel_count, GFP_KERNEL);
+ il->channel_info =
+ kzalloc(sizeof(struct il_channel_info) * il->channel_count,
+ GFP_KERNEL);
if (!il->channel_info) {
IL_ERR("Could not allocate channel_info\n");
il->channel_count = 0;
@@ -775,13 +792,14 @@ int il_init_channel_map(struct il_priv *il)
for (band = 1; band <= 5; band++) {
il_init_band_reference(il, band, &eeprom_ch_count,
- &eeprom_ch_info, &eeprom_ch_idx);
+ &eeprom_ch_info, &eeprom_ch_idx);
/* Loop through each band adding each of the channels */
for (ch = 0; ch < eeprom_ch_count; ch++) {
ch_info->channel = eeprom_ch_idx[ch];
- ch_info->band = (band == 1) ? IEEE80211_BAND_2GHZ :
- IEEE80211_BAND_5GHZ;
+ ch_info->band =
+ (band ==
+ 1) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
/* permanently store EEPROM's channel regulatory flags
* and max power in channel info database. */
@@ -793,16 +811,14 @@ int il_init_channel_map(struct il_priv *il)
/* First write that ht40 is not enabled, and then enable
* one by one */
ch_info->ht40_extension_channel =
- IEEE80211_CHAN_NO_HT40;
+ IEEE80211_CHAN_NO_HT40;
if (!(il_is_channel_valid(ch_info))) {
- D_EEPROM(
- "Ch. %d Flags %x [%sGHz] - "
- "No traffic\n",
- ch_info->channel,
- ch_info->flags,
- il_is_channel_a_band(ch_info) ?
- "5.2" : "2.4");
+ D_EEPROM("Ch. %d Flags %x [%sGHz] - "
+ "No traffic\n", ch_info->channel,
+ ch_info->flags,
+ il_is_channel_a_band(ch_info) ? "5.2" :
+ "2.4");
ch_info++;
continue;
}
@@ -813,25 +829,22 @@ int il_init_channel_map(struct il_priv *il)
ch_info->scan_power = eeprom_ch_info[ch].max_power_avg;
ch_info->min_power = 0;
- D_EEPROM("Ch. %d [%sGHz] "
- "%s%s%s%s%s%s(0x%02x %ddBm):"
- " Ad-Hoc %ssupported\n",
- ch_info->channel,
- il_is_channel_a_band(ch_info) ?
- "5.2" : "2.4",
- CHECK_AND_PRINT_I(VALID),
- CHECK_AND_PRINT_I(IBSS),
- CHECK_AND_PRINT_I(ACTIVE),
- CHECK_AND_PRINT_I(RADAR),
- CHECK_AND_PRINT_I(WIDE),
- CHECK_AND_PRINT_I(DFS),
- eeprom_ch_info[ch].flags,
- eeprom_ch_info[ch].max_power_avg,
- ((eeprom_ch_info[ch].
- flags & EEPROM_CHANNEL_IBSS)
- && !(eeprom_ch_info[ch].
- flags & EEPROM_CHANNEL_RADAR))
- ? "" : "not ");
+ D_EEPROM("Ch. %d [%sGHz] " "%s%s%s%s%s%s(0x%02x %ddBm):"
+ " Ad-Hoc %ssupported\n", ch_info->channel,
+ il_is_channel_a_band(ch_info) ? "5.2" : "2.4",
+ CHECK_AND_PRINT_I(VALID),
+ CHECK_AND_PRINT_I(IBSS),
+ CHECK_AND_PRINT_I(ACTIVE),
+ CHECK_AND_PRINT_I(RADAR),
+ CHECK_AND_PRINT_I(WIDE),
+ CHECK_AND_PRINT_I(DFS),
+ eeprom_ch_info[ch].flags,
+ eeprom_ch_info[ch].max_power_avg,
+ ((eeprom_ch_info[ch].
+ flags & EEPROM_CHANNEL_IBSS) &&
+ !(eeprom_ch_info[ch].
+ flags & EEPROM_CHANNEL_RADAR)) ? "" :
+ "not ");
ch_info++;
}
@@ -849,40 +862,42 @@ int il_init_channel_map(struct il_priv *il)
enum ieee80211_band ieeeband;
il_init_band_reference(il, band, &eeprom_ch_count,
- &eeprom_ch_info, &eeprom_ch_idx);
+ &eeprom_ch_info, &eeprom_ch_idx);
/* EEPROM band 6 is 2.4, band 7 is 5 GHz */
ieeeband =
- (band == 6) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
+ (band == 6) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
/* Loop through each band adding each of the channels */
for (ch = 0; ch < eeprom_ch_count; ch++) {
/* Set up driver's info for lower half */
- il_mod_ht40_chan_info(il, ieeeband,
- eeprom_ch_idx[ch],
- &eeprom_ch_info[ch],
- IEEE80211_CHAN_NO_HT40PLUS);
+ il_mod_ht40_chan_info(il, ieeeband, eeprom_ch_idx[ch],
+ &eeprom_ch_info[ch],
+ IEEE80211_CHAN_NO_HT40PLUS);
/* Set up driver's info for upper half */
il_mod_ht40_chan_info(il, ieeeband,
- eeprom_ch_idx[ch] + 4,
- &eeprom_ch_info[ch],
- IEEE80211_CHAN_NO_HT40MINUS);
+ eeprom_ch_idx[ch] + 4,
+ &eeprom_ch_info[ch],
+ IEEE80211_CHAN_NO_HT40MINUS);
}
}
return 0;
}
+
EXPORT_SYMBOL(il_init_channel_map);
/*
* il_free_channel_map - undo allocations in il_init_channel_map
*/
-void il_free_channel_map(struct il_priv *il)
+void
+il_free_channel_map(struct il_priv *il)
{
kfree(il->channel_info);
il->channel_count = 0;
}
+
EXPORT_SYMBOL(il_free_channel_map);
/**
@@ -890,9 +905,9 @@ EXPORT_SYMBOL(il_free_channel_map);
*
* Based on band and channel number.
*/
-const struct
-il_channel_info *il_get_channel_info(const struct il_priv *il,
- enum ieee80211_band band, u16 channel)
+const struct il_channel_info *
+il_get_channel_info(const struct il_priv *il, enum ieee80211_band band,
+ u16 channel)
{
int i;
@@ -913,6 +928,7 @@ il_channel_info *il_get_channel_info(const struct il_priv *il,
return NULL;
}
+
EXPORT_SYMBOL(il_get_channel_info);
/*
@@ -930,11 +946,11 @@ EXPORT_SYMBOL(il_get_channel_info);
struct il_power_vec_entry {
struct il_powertable_cmd cmd;
- u8 no_dtim; /* number of skip dtim */
+ u8 no_dtim; /* number of skip dtim */
};
-static void il_power_sleep_cam_cmd(struct il_priv *il,
- struct il_powertable_cmd *cmd)
+static void
+il_power_sleep_cam_cmd(struct il_priv *il, struct il_powertable_cmd *cmd)
{
memset(cmd, 0, sizeof(*cmd));
@@ -949,25 +965,21 @@ il_set_power(struct il_priv *il, struct il_powertable_cmd *cmd)
{
D_POWER("Sending power/sleep command\n");
D_POWER("Flags value = 0x%08X\n", cmd->flags);
- D_POWER("Tx timeout = %u\n",
- le32_to_cpu(cmd->tx_data_timeout));
- D_POWER("Rx timeout = %u\n",
- le32_to_cpu(cmd->rx_data_timeout));
- D_POWER(
- "Sleep interval vector = { %d , %d , %d , %d , %d }\n",
- le32_to_cpu(cmd->sleep_interval[0]),
- le32_to_cpu(cmd->sleep_interval[1]),
- le32_to_cpu(cmd->sleep_interval[2]),
- le32_to_cpu(cmd->sleep_interval[3]),
- le32_to_cpu(cmd->sleep_interval[4]));
+ D_POWER("Tx timeout = %u\n", le32_to_cpu(cmd->tx_data_timeout));
+ D_POWER("Rx timeout = %u\n", le32_to_cpu(cmd->rx_data_timeout));
+ D_POWER("Sleep interval vector = { %d , %d , %d , %d , %d }\n",
+ le32_to_cpu(cmd->sleep_interval[0]),
+ le32_to_cpu(cmd->sleep_interval[1]),
+ le32_to_cpu(cmd->sleep_interval[2]),
+ le32_to_cpu(cmd->sleep_interval[3]),
+ le32_to_cpu(cmd->sleep_interval[4]));
return il_send_cmd_pdu(il, C_POWER_TBL,
- sizeof(struct il_powertable_cmd), cmd);
+ sizeof(struct il_powertable_cmd), cmd);
}
int
-il_power_set_mode(struct il_priv *il, struct il_powertable_cmd *cmd,
- bool force)
+il_power_set_mode(struct il_priv *il, struct il_powertable_cmd *cmd, bool force)
{
int ret;
bool update_chains;
@@ -976,7 +988,7 @@ il_power_set_mode(struct il_priv *il, struct il_powertable_cmd *cmd,
/* Don't update the RX chain when chain noise calibration is running */
update_chains = il->chain_noise_data.state == IL_CHAIN_NOISE_DONE ||
- il->chain_noise_data.state == IL_CHAIN_NOISE_ALIVE;
+ il->chain_noise_data.state == IL_CHAIN_NOISE_ALIVE;
if (!memcmp(&il->power_data.sleep_cmd, cmd, sizeof(*cmd)) && !force)
return 0;
@@ -1002,10 +1014,9 @@ il_power_set_mode(struct il_priv *il, struct il_powertable_cmd *cmd,
if (il->cfg->ops->lib->update_chain_flags && update_chains)
il->cfg->ops->lib->update_chain_flags(il);
else if (il->cfg->ops->lib->update_chain_flags)
- D_POWER(
- "Cannot update the power, chain noise "
- "calibration running: %d\n",
- il->chain_noise_data.state);
+ D_POWER("Cannot update the power, chain noise "
+ "calibration running: %d\n",
+ il->chain_noise_data.state);
memcpy(&il->power_data.sleep_cmd, cmd, sizeof(*cmd));
} else
@@ -1014,17 +1025,20 @@ il_power_set_mode(struct il_priv *il, struct il_powertable_cmd *cmd,
return ret;
}
-int il_power_update_mode(struct il_priv *il, bool force)
+int
+il_power_update_mode(struct il_priv *il, bool force)
{
struct il_powertable_cmd cmd;
il_power_sleep_cam_cmd(il, &cmd);
return il_power_set_mode(il, &cmd, force);
}
+
EXPORT_SYMBOL(il_power_update_mode);
/* initialize to default */
-void il_power_initialize(struct il_priv *il)
+void
+il_power_initialize(struct il_priv *il)
{
u16 lctl = il_pcie_link_ctl(il);
@@ -1032,15 +1046,14 @@ void il_power_initialize(struct il_priv *il)
il->power_data.debug_sleep_level_override = -1;
- memset(&il->power_data.sleep_cmd, 0,
- sizeof(il->power_data.sleep_cmd));
+ memset(&il->power_data.sleep_cmd, 0, sizeof(il->power_data.sleep_cmd));
}
EXPORT_SYMBOL(il_power_initialize);
/* For active scan, listen ACTIVE_DWELL_TIME (msec) on each channel after
* sending probe req. This should be set long enough to hear probe responses
* from more than one AP. */
-#define IL_ACTIVE_DWELL_TIME_24 (30) /* all times in msec */
+#define IL_ACTIVE_DWELL_TIME_24 (30) /* all times in msec */
#define IL_ACTIVE_DWELL_TIME_52 (20)
#define IL_ACTIVE_DWELL_FACTOR_24GHZ (3)
@@ -1049,12 +1062,13 @@ EXPORT_SYMBOL(il_power_initialize);
/* For passive scan, listen PASSIVE_DWELL_TIME (msec) on each channel.
* Must be set longer than active dwell time.
* For the most reliable scan, set > AP beacon interval (typically 100msec). */
-#define IL_PASSIVE_DWELL_TIME_24 (20) /* all times in msec */
+#define IL_PASSIVE_DWELL_TIME_24 (20) /* all times in msec */
#define IL_PASSIVE_DWELL_TIME_52 (10)
#define IL_PASSIVE_DWELL_BASE (100)
#define IL_CHANNEL_TUNE_TIME 5
-static int il_send_scan_abort(struct il_priv *il)
+static int
+il_send_scan_abort(struct il_priv *il)
{
int ret;
struct il_rx_pkt *pkt;
@@ -1093,7 +1107,8 @@ static int il_send_scan_abort(struct il_priv *il)
return ret;
}
-static void il_complete_scan(struct il_priv *il, bool aborted)
+static void
+il_complete_scan(struct il_priv *il, bool aborted)
{
/* check if scan was requested from mac80211 */
if (il->scan_request) {
@@ -1105,7 +1120,8 @@ static void il_complete_scan(struct il_priv *il, bool aborted)
il->scan_request = NULL;
}
-void il_force_scan_end(struct il_priv *il)
+void
+il_force_scan_end(struct il_priv *il)
{
lockdep_assert_held(&il->mutex);
@@ -1121,7 +1137,8 @@ void il_force_scan_end(struct il_priv *il)
il_complete_scan(il, true);
}
-static void il_do_scan_abort(struct il_priv *il)
+static void
+il_do_scan_abort(struct il_priv *il)
{
int ret;
@@ -1148,12 +1165,14 @@ static void il_do_scan_abort(struct il_priv *il)
/**
* il_scan_cancel - Cancel any currently executing HW scan
*/
-int il_scan_cancel(struct il_priv *il)
+int
+il_scan_cancel(struct il_priv *il)
{
D_SCAN("Queuing abort scan\n");
queue_work(il->workqueue, &il->abort_scan);
return 0;
}
+
EXPORT_SYMBOL(il_scan_cancel);
/**
@@ -1161,7 +1180,8 @@ EXPORT_SYMBOL(il_scan_cancel);
* @ms: amount of time to wait (in milliseconds) for scan to abort
*
*/
-int il_scan_cancel_timeout(struct il_priv *il, unsigned long ms)
+int
+il_scan_cancel_timeout(struct il_priv *il, unsigned long ms)
{
unsigned long timeout = jiffies + msecs_to_jiffies(ms);
@@ -1179,11 +1199,12 @@ int il_scan_cancel_timeout(struct il_priv *il, unsigned long ms)
return test_bit(S_SCAN_HW, &il->status);
}
+
EXPORT_SYMBOL(il_scan_cancel_timeout);
/* Service response to C_SCAN (0x80) */
-static void il_hdl_scan(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il_hdl_scan(struct il_priv *il, struct il_rx_buf *rxb)
{
#ifdef CONFIG_IWLEGACY_DEBUG
struct il_rx_pkt *pkt = rxb_addr(rxb);
@@ -1195,48 +1216,39 @@ static void il_hdl_scan(struct il_priv *il,
}
/* Service N_SCAN_START (0x82) */
-static void il_hdl_scan_start(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il_hdl_scan_start(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_scanstart_notification *notif =
(struct il_scanstart_notification *)pkt->u.raw;
il->scan_start_tsf = le32_to_cpu(notif->tsf_low);
- D_SCAN("Scan start: "
- "%d [802.11%s] "
- "(TSF: 0x%08X:%08X) - %d (beacon timer %u)\n",
- notif->channel,
- notif->band ? "bg" : "a",
- le32_to_cpu(notif->tsf_high),
- le32_to_cpu(notif->tsf_low),
- notif->status, notif->beacon_timer);
+ D_SCAN("Scan start: " "%d [802.11%s] "
+ "(TSF: 0x%08X:%08X) - %d (beacon timer %u)\n", notif->channel,
+ notif->band ? "bg" : "a", le32_to_cpu(notif->tsf_high),
+ le32_to_cpu(notif->tsf_low), notif->status, notif->beacon_timer);
}
/* Service N_SCAN_RESULTS (0x83) */
-static void il_hdl_scan_results(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il_hdl_scan_results(struct il_priv *il, struct il_rx_buf *rxb)
{
#ifdef CONFIG_IWLEGACY_DEBUG
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_scanresults_notification *notif =
(struct il_scanresults_notification *)pkt->u.raw;
- D_SCAN("Scan ch.res: "
- "%d [802.11%s] "
- "(TSF: 0x%08X:%08X) - %d "
- "elapsed=%lu usec\n",
- notif->channel,
- notif->band ? "bg" : "a",
- le32_to_cpu(notif->tsf_high),
- le32_to_cpu(notif->tsf_low),
- le32_to_cpu(notif->stats[0]),
- le32_to_cpu(notif->tsf_low) - il->scan_start_tsf);
+ D_SCAN("Scan ch.res: " "%d [802.11%s] " "(TSF: 0x%08X:%08X) - %d "
+ "elapsed=%lu usec\n", notif->channel, notif->band ? "bg" : "a",
+ le32_to_cpu(notif->tsf_high), le32_to_cpu(notif->tsf_low),
+ le32_to_cpu(notif->stats[0]),
+ le32_to_cpu(notif->tsf_low) - il->scan_start_tsf);
#endif
}
/* Service N_SCAN_COMPLETE (0x84) */
-static void il_hdl_scan_complete(struct il_priv *il,
- struct il_rx_buf *rxb)
+static void
+il_hdl_scan_complete(struct il_priv *il, struct il_rx_buf *rxb)
{
#ifdef CONFIG_IWLEGACY_DEBUG
@@ -1244,58 +1256,58 @@ static void il_hdl_scan_complete(struct il_priv *il,
struct il_scancomplete_notification *scan_notif = (void *)pkt->u.raw;
#endif
- D_SCAN(
- "Scan complete: %d channels (TSF 0x%08X:%08X) - %d\n",
- scan_notif->scanned_channels,
- scan_notif->tsf_low,
- scan_notif->tsf_high, scan_notif->status);
+ D_SCAN("Scan complete: %d channels (TSF 0x%08X:%08X) - %d\n",
+ scan_notif->scanned_channels, scan_notif->tsf_low,
+ scan_notif->tsf_high, scan_notif->status);
/* The HW is no longer scanning */
clear_bit(S_SCAN_HW, &il->status);
D_SCAN("Scan on %sGHz took %dms\n",
- (il->scan_band == IEEE80211_BAND_2GHZ) ? "2.4" : "5.2",
- jiffies_to_msecs(jiffies - il->scan_start));
+ (il->scan_band == IEEE80211_BAND_2GHZ) ? "2.4" : "5.2",
+ jiffies_to_msecs(jiffies - il->scan_start));
queue_work(il->workqueue, &il->scan_completed);
}
-void il_setup_rx_scan_handlers(struct il_priv *il)
+void
+il_setup_rx_scan_handlers(struct il_priv *il)
{
/* scan handlers */
il->handlers[C_SCAN] = il_hdl_scan;
- il->handlers[N_SCAN_START] =
- il_hdl_scan_start;
- il->handlers[N_SCAN_RESULTS] =
- il_hdl_scan_results;
- il->handlers[N_SCAN_COMPLETE] =
- il_hdl_scan_complete;
+ il->handlers[N_SCAN_START] = il_hdl_scan_start;
+ il->handlers[N_SCAN_RESULTS] = il_hdl_scan_results;
+ il->handlers[N_SCAN_COMPLETE] = il_hdl_scan_complete;
}
+
EXPORT_SYMBOL(il_setup_rx_scan_handlers);
-inline u16 il_get_active_dwell_time(struct il_priv *il,
- enum ieee80211_band band,
- u8 n_probes)
+inline u16
+il_get_active_dwell_time(struct il_priv *il, enum ieee80211_band band,
+ u8 n_probes)
{
if (band == IEEE80211_BAND_5GHZ)
return IL_ACTIVE_DWELL_TIME_52 +
- IL_ACTIVE_DWELL_FACTOR_52GHZ * (n_probes + 1);
+ IL_ACTIVE_DWELL_FACTOR_52GHZ * (n_probes + 1);
else
return IL_ACTIVE_DWELL_TIME_24 +
- IL_ACTIVE_DWELL_FACTOR_24GHZ * (n_probes + 1);
+ IL_ACTIVE_DWELL_FACTOR_24GHZ * (n_probes + 1);
}
+
EXPORT_SYMBOL(il_get_active_dwell_time);
-u16 il_get_passive_dwell_time(struct il_priv *il,
- enum ieee80211_band band,
- struct ieee80211_vif *vif)
+u16
+il_get_passive_dwell_time(struct il_priv * il, enum ieee80211_band band,
+ struct ieee80211_vif * vif)
{
struct il_rxon_context *ctx = &il->ctx;
u16 value;
- u16 passive = (band == IEEE80211_BAND_2GHZ) ?
- IL_PASSIVE_DWELL_BASE + IL_PASSIVE_DWELL_TIME_24 :
- IL_PASSIVE_DWELL_BASE + IL_PASSIVE_DWELL_TIME_52;
+ u16 passive =
+ (band ==
+ IEEE80211_BAND_2GHZ) ? IL_PASSIVE_DWELL_BASE +
+ IL_PASSIVE_DWELL_TIME_24 : IL_PASSIVE_DWELL_BASE +
+ IL_PASSIVE_DWELL_TIME_52;
if (il_is_any_associated(il)) {
/*
@@ -1312,9 +1324,11 @@ u16 il_get_passive_dwell_time(struct il_priv *il,
return passive;
}
+
EXPORT_SYMBOL(il_get_passive_dwell_time);
-void il_init_scan_params(struct il_priv *il)
+void
+il_init_scan_params(struct il_priv *il)
{
u8 ant_idx = fls(il->hw_params.valid_tx_ant) - 1;
if (!il->scan_tx_ant[IEEE80211_BAND_5GHZ])
@@ -1322,10 +1336,11 @@ void il_init_scan_params(struct il_priv *il)
if (!il->scan_tx_ant[IEEE80211_BAND_2GHZ])
il->scan_tx_ant[IEEE80211_BAND_2GHZ] = ant_idx;
}
+
EXPORT_SYMBOL(il_init_scan_params);
-static int il_scan_initiate(struct il_priv *il,
- struct ieee80211_vif *vif)
+static int
+il_scan_initiate(struct il_priv *il, struct ieee80211_vif *vif)
{
int ret;
@@ -1342,8 +1357,7 @@ static int il_scan_initiate(struct il_priv *il,
}
if (test_bit(S_SCAN_HW, &il->status)) {
- D_SCAN(
- "Multiple concurrent scan requests in parallel.\n");
+ D_SCAN("Multiple concurrent scan requests in parallel.\n");
return -EBUSY;
}
@@ -1369,9 +1383,9 @@ static int il_scan_initiate(struct il_priv *il,
return 0;
}
-int il_mac_hw_scan(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct cfg80211_scan_request *req)
+int
+il_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct cfg80211_scan_request *req)
{
struct il_priv *il = hw->priv;
int ret;
@@ -1403,9 +1417,11 @@ out_unlock:
return ret;
}
+
EXPORT_SYMBOL(il_mac_hw_scan);
-static void il_bg_scan_check(struct work_struct *data)
+static void
+il_bg_scan_check(struct work_struct *data)
{
struct il_priv *il =
container_of(data, struct il_priv, scan_check.work);
@@ -1426,7 +1442,7 @@ static void il_bg_scan_check(struct work_struct *data)
u16
il_fill_probe_req(struct il_priv *il, struct ieee80211_mgmt *frame,
- const u8 *ta, const u8 *ies, int ie_len, int left)
+ const u8 * ta, const u8 * ies, int ie_len, int left)
{
int len = 0;
u8 *pos = NULL;
@@ -1465,11 +1481,13 @@ il_fill_probe_req(struct il_priv *il, struct ieee80211_mgmt *frame,
len += ie_len;
}
- return (u16)len;
+ return (u16) len;
}
+
EXPORT_SYMBOL(il_fill_probe_req);
-static void il_bg_abort_scan(struct work_struct *work)
+static void
+il_bg_abort_scan(struct work_struct *work)
{
struct il_priv *il = container_of(work, struct il_priv, abort_scan);
@@ -1482,10 +1500,10 @@ static void il_bg_abort_scan(struct work_struct *work)
mutex_unlock(&il->mutex);
}
-static void il_bg_scan_completed(struct work_struct *work)
+static void
+il_bg_scan_completed(struct work_struct *work)
{
- struct il_priv *il =
- container_of(work, struct il_priv, scan_completed);
+ struct il_priv *il = container_of(work, struct il_priv, scan_completed);
bool aborted;
D_SCAN("Completed scan.\n");
@@ -1523,15 +1541,18 @@ out:
mutex_unlock(&il->mutex);
}
-void il_setup_scan_deferred_work(struct il_priv *il)
+void
+il_setup_scan_deferred_work(struct il_priv *il)
{
INIT_WORK(&il->scan_completed, il_bg_scan_completed);
INIT_WORK(&il->abort_scan, il_bg_abort_scan);
INIT_DELAYED_WORK(&il->scan_check, il_bg_scan_check);
}
+
EXPORT_SYMBOL(il_setup_scan_deferred_work);
-void il_cancel_scan_deferred_work(struct il_priv *il)
+void
+il_cancel_scan_deferred_work(struct il_priv *il)
{
cancel_work_sync(&il->abort_scan);
cancel_work_sync(&il->scan_completed);
@@ -1542,46 +1563,43 @@ void il_cancel_scan_deferred_work(struct il_priv *il)
mutex_unlock(&il->mutex);
}
}
+
EXPORT_SYMBOL(il_cancel_scan_deferred_work);
/* il->sta_lock must be held */
-static void il_sta_ucode_activate(struct il_priv *il, u8 sta_id)
+static void
+il_sta_ucode_activate(struct il_priv *il, u8 sta_id)
{
if (!(il->stations[sta_id].used & IL_STA_DRIVER_ACTIVE))
- IL_ERR(
- "ACTIVATE a non DRIVER active station id %u addr %pM\n",
- sta_id, il->stations[sta_id].sta.sta.addr);
+ IL_ERR("ACTIVATE a non DRIVER active station id %u addr %pM\n",
+ sta_id, il->stations[sta_id].sta.sta.addr);
if (il->stations[sta_id].used & IL_STA_UCODE_ACTIVE) {
- D_ASSOC(
- "STA id %u addr %pM already present"
- " in uCode (according to driver)\n",
- sta_id, il->stations[sta_id].sta.sta.addr);
+ D_ASSOC("STA id %u addr %pM already present"
+ " in uCode (according to driver)\n", sta_id,
+ il->stations[sta_id].sta.sta.addr);
} else {
il->stations[sta_id].used |= IL_STA_UCODE_ACTIVE;
- D_ASSOC("Added STA id %u addr %pM to uCode\n",
- sta_id, il->stations[sta_id].sta.sta.addr);
+ D_ASSOC("Added STA id %u addr %pM to uCode\n", sta_id,
+ il->stations[sta_id].sta.sta.addr);
}
}
-static int il_process_add_sta_resp(struct il_priv *il,
- struct il_addsta_cmd *addsta,
- struct il_rx_pkt *pkt,
- bool sync)
+static int
+il_process_add_sta_resp(struct il_priv *il, struct il_addsta_cmd *addsta,
+ struct il_rx_pkt *pkt, bool sync)
{
u8 sta_id = addsta->sta.sta_id;
unsigned long flags;
int ret = -EIO;
if (pkt->hdr.flags & IL_CMD_FAILED_MSK) {
- IL_ERR("Bad return from C_ADD_STA (0x%08X)\n",
- pkt->hdr.flags);
+ IL_ERR("Bad return from C_ADD_STA (0x%08X)\n", pkt->hdr.flags);
return ret;
}
- D_INFO("Processing response for adding station %u\n",
- sta_id);
+ D_INFO("Processing response for adding station %u\n", sta_id);
spin_lock_irqsave(&il->sta_lock, flags);
@@ -1592,28 +1610,25 @@ static int il_process_add_sta_resp(struct il_priv *il,
ret = 0;
break;
case ADD_STA_NO_ROOM_IN_TBL:
- IL_ERR("Adding station %d failed, no room in table.\n",
- sta_id);
+ IL_ERR("Adding station %d failed, no room in table.\n", sta_id);
break;
case ADD_STA_NO_BLOCK_ACK_RESOURCE:
- IL_ERR(
- "Adding station %d failed, no block ack resource.\n",
- sta_id);
+ IL_ERR("Adding station %d failed, no block ack resource.\n",
+ sta_id);
break;
case ADD_STA_MODIFY_NON_EXIST_STA:
IL_ERR("Attempting to modify non-existing station %d\n",
- sta_id);
+ sta_id);
break;
default:
- D_ASSOC("Received C_ADD_STA:(0x%08X)\n",
- pkt->u.add_sta.status);
+ D_ASSOC("Received C_ADD_STA:(0x%08X)\n", pkt->u.add_sta.status);
break;
}
D_INFO("%s station id %u addr %pM\n",
- il->stations[sta_id].sta.mode ==
- STA_CONTROL_MODIFY_MSK ? "Modified" : "Added",
- sta_id, il->stations[sta_id].sta.sta.addr);
+ il->stations[sta_id].sta.mode ==
+ STA_CONTROL_MODIFY_MSK ? "Modified" : "Added", sta_id,
+ il->stations[sta_id].sta.sta.addr);
/*
* XXX: The MAC address in the command buffer is often changed from
@@ -1624,27 +1639,25 @@ static int il_process_add_sta_resp(struct il_priv *il,
* observe the problem.
*/
D_INFO("%s station according to cmd buffer %pM\n",
- il->stations[sta_id].sta.mode ==
- STA_CONTROL_MODIFY_MSK ? "Modified" : "Added",
- addsta->sta.addr);
+ il->stations[sta_id].sta.mode ==
+ STA_CONTROL_MODIFY_MSK ? "Modified" : "Added", addsta->sta.addr);
spin_unlock_irqrestore(&il->sta_lock, flags);
return ret;
}
-static void il_add_sta_callback(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct il_rx_pkt *pkt)
+static void
+il_add_sta_callback(struct il_priv *il, struct il_device_cmd *cmd,
+ struct il_rx_pkt *pkt)
{
- struct il_addsta_cmd *addsta =
- (struct il_addsta_cmd *)cmd->cmd.payload;
+ struct il_addsta_cmd *addsta = (struct il_addsta_cmd *)cmd->cmd.payload;
il_process_add_sta_resp(il, addsta, pkt, false);
}
-int il_send_add_sta(struct il_priv *il,
- struct il_addsta_cmd *sta, u8 flags)
+int
+il_send_add_sta(struct il_priv *il, struct il_addsta_cmd *sta, u8 flags)
{
struct il_rx_pkt *pkt = NULL;
int ret = 0;
@@ -1656,8 +1669,8 @@ int il_send_add_sta(struct il_priv *il,
};
u8 sta_id __maybe_unused = sta->sta.sta_id;
- D_INFO("Adding sta %u (%pM) %ssynchronously\n",
- sta_id, sta->sta.addr, flags & CMD_ASYNC ? "a" : "");
+ D_INFO("Adding sta %u (%pM) %ssynchronously\n", sta_id, sta->sta.addr,
+ flags & CMD_ASYNC ? "a" : "");
if (flags & CMD_ASYNC)
cmd.callback = il_add_sta_callback;
@@ -1680,11 +1693,12 @@ int il_send_add_sta(struct il_priv *il,
return ret;
}
+
EXPORT_SYMBOL(il_send_add_sta);
-static void il_set_ht_add_station(struct il_priv *il, u8 idx,
- struct ieee80211_sta *sta,
- struct il_rxon_context *ctx)
+static void
+il_set_ht_add_station(struct il_priv *il, u8 idx, struct ieee80211_sta *sta,
+ struct il_rxon_context *ctx)
{
struct ieee80211_sta_ht_cap *sta_ht_inf = &sta->ht_cap;
__le32 sta_flags;
@@ -1695,10 +1709,10 @@ static void il_set_ht_add_station(struct il_priv *il, u8 idx,
mimo_ps_mode = (sta_ht_inf->cap & IEEE80211_HT_CAP_SM_PS) >> 2;
D_ASSOC("spatial multiplexing power save mode: %s\n",
- (mimo_ps_mode == WLAN_HT_CAP_SM_PS_STATIC) ?
- "static" :
- (mimo_ps_mode == WLAN_HT_CAP_SM_PS_DYNAMIC) ?
- "dynamic" : "disabled");
+ (mimo_ps_mode ==
+ WLAN_HT_CAP_SM_PS_STATIC) ? "static" : (mimo_ps_mode ==
+ WLAN_HT_CAP_SM_PS_DYNAMIC)
+ ? "dynamic" : "disabled");
sta_flags = il->stations[idx].sta.station_flags;
@@ -1718,11 +1732,13 @@ static void il_set_ht_add_station(struct il_priv *il, u8 idx,
break;
}
- sta_flags |= cpu_to_le32(
- (u32)sta_ht_inf->ampdu_factor << STA_FLG_MAX_AGG_SIZE_POS);
+ sta_flags |=
+ cpu_to_le32((u32) sta_ht_inf->
+ ampdu_factor << STA_FLG_MAX_AGG_SIZE_POS);
- sta_flags |= cpu_to_le32(
- (u32)sta_ht_inf->ampdu_density << STA_FLG_AGG_MPDU_DENSITY_POS);
+ sta_flags |=
+ cpu_to_le32((u32) sta_ht_inf->
+ ampdu_density << STA_FLG_AGG_MPDU_DENSITY_POS);
if (il_is_ht40_tx_allowed(il, ctx, &sta->ht_cap))
sta_flags |= STA_FLG_HT40_EN_MSK;
@@ -1730,7 +1746,7 @@ static void il_set_ht_add_station(struct il_priv *il, u8 idx,
sta_flags &= ~STA_FLG_HT40_EN_MSK;
il->stations[idx].sta.station_flags = sta_flags;
- done:
+done:
return;
}
@@ -1739,8 +1755,9 @@ static void il_set_ht_add_station(struct il_priv *il, u8 idx,
*
* should be called with sta_lock held
*/
-u8 il_prep_station(struct il_priv *il, struct il_rxon_context *ctx,
- const u8 *addr, bool is_ap, struct ieee80211_sta *sta)
+u8
+il_prep_station(struct il_priv * il, struct il_rxon_context * ctx,
+ const u8 * addr, bool is_ap, struct ieee80211_sta * sta)
{
struct il_station_entry *station;
int i;
@@ -1753,8 +1770,8 @@ u8 il_prep_station(struct il_priv *il, struct il_rxon_context *ctx,
sta_id = ctx->bcast_sta_id;
else
for (i = IL_STA_ID; i < il->hw_params.max_stations; i++) {
- if (!compare_ether_addr(il->stations[i].sta.sta.addr,
- addr)) {
+ if (!compare_ether_addr
+ (il->stations[i].sta.sta.addr, addr)) {
sta_id = i;
break;
}
@@ -1777,25 +1794,21 @@ u8 il_prep_station(struct il_priv *il, struct il_rxon_context *ctx,
* another.
*/
if (il->stations[sta_id].used & IL_STA_UCODE_INPROGRESS) {
- D_INFO(
- "STA %d already in process of being added.\n",
- sta_id);
+ D_INFO("STA %d already in process of being added.\n", sta_id);
return sta_id;
}
if ((il->stations[sta_id].used & IL_STA_DRIVER_ACTIVE) &&
(il->stations[sta_id].used & IL_STA_UCODE_ACTIVE) &&
!compare_ether_addr(il->stations[sta_id].sta.sta.addr, addr)) {
- D_ASSOC(
- "STA %d (%pM) already added, not adding again.\n",
- sta_id, addr);
+ D_ASSOC("STA %d (%pM) already added, not adding again.\n",
+ sta_id, addr);
return sta_id;
}
station = &il->stations[sta_id];
station->used = IL_STA_DRIVER_ACTIVE;
- D_ASSOC("Add STA to driver ID %d: %pM\n",
- sta_id, addr);
+ D_ASSOC("Add STA to driver ID %d: %pM\n", sta_id, addr);
il->num_stations++;
/* Set up the C_ADD_STA command to send to device */
@@ -1821,14 +1834,14 @@ u8 il_prep_station(struct il_priv *il, struct il_rxon_context *ctx,
il_set_ht_add_station(il, sta_id, sta, ctx);
/* 3945 only */
- rate = (il->band == IEEE80211_BAND_5GHZ) ?
- RATE_6M_PLCP : RATE_1M_PLCP;
+ rate = (il->band == IEEE80211_BAND_5GHZ) ? RATE_6M_PLCP : RATE_1M_PLCP;
/* Turn on both antennas for the station... */
station->sta.rate_n_flags = cpu_to_le16(rate | RATE_MCS_ANT_AB_MSK);
return sta_id;
}
+
EXPORT_SYMBOL_GPL(il_prep_station);
#define STA_WAIT_TIMEOUT (HZ/2)
@@ -1837,10 +1850,9 @@ EXPORT_SYMBOL_GPL(il_prep_station);
* il_add_station_common -
*/
int
-il_add_station_common(struct il_priv *il,
- struct il_rxon_context *ctx,
- const u8 *addr, bool is_ap,
- struct ieee80211_sta *sta, u8 *sta_id_r)
+il_add_station_common(struct il_priv *il, struct il_rxon_context *ctx,
+ const u8 * addr, bool is_ap, struct ieee80211_sta *sta,
+ u8 * sta_id_r)
{
unsigned long flags_spin;
int ret = 0;
@@ -1851,8 +1863,7 @@ il_add_station_common(struct il_priv *il,
spin_lock_irqsave(&il->sta_lock, flags_spin);
sta_id = il_prep_station(il, ctx, addr, is_ap, sta);
if (sta_id == IL_INVALID_STATION) {
- IL_ERR("Unable to prepare station %pM for addition\n",
- addr);
+ IL_ERR("Unable to prepare station %pM for addition\n", addr);
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
return -EINVAL;
}
@@ -1863,17 +1874,14 @@ il_add_station_common(struct il_priv *il,
* another.
*/
if (il->stations[sta_id].used & IL_STA_UCODE_INPROGRESS) {
- D_INFO(
- "STA %d already in process of being added.\n",
- sta_id);
+ D_INFO("STA %d already in process of being added.\n", sta_id);
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
return -EEXIST;
}
if ((il->stations[sta_id].used & IL_STA_DRIVER_ACTIVE) &&
(il->stations[sta_id].used & IL_STA_UCODE_ACTIVE)) {
- D_ASSOC(
- "STA %d (%pM) already added, not adding again.\n",
+ D_ASSOC("STA %d (%pM) already added, not adding again.\n",
sta_id, addr);
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
return -EEXIST;
@@ -1881,7 +1889,7 @@ il_add_station_common(struct il_priv *il,
il->stations[sta_id].used |= IL_STA_UCODE_INPROGRESS;
memcpy(&sta_cmd, &il->stations[sta_id].sta,
- sizeof(struct il_addsta_cmd));
+ sizeof(struct il_addsta_cmd));
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
/* Add station to device's station table */
@@ -1889,7 +1897,7 @@ il_add_station_common(struct il_priv *il,
if (ret) {
spin_lock_irqsave(&il->sta_lock, flags_spin);
IL_ERR("Adding station %pM failed.\n",
- il->stations[sta_id].sta.sta.addr);
+ il->stations[sta_id].sta.sta.addr);
il->stations[sta_id].used &= ~IL_STA_DRIVER_ACTIVE;
il->stations[sta_id].used &= ~IL_STA_UCODE_INPROGRESS;
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
@@ -1897,6 +1905,7 @@ il_add_station_common(struct il_priv *il,
*sta_id_r = sta_id;
return ret;
}
+
EXPORT_SYMBOL(il_add_station_common);
/**
@@ -1904,12 +1913,13 @@ EXPORT_SYMBOL(il_add_station_common);
*
* il->sta_lock must be held
*/
-static void il_sta_ucode_deactivate(struct il_priv *il, u8 sta_id)
+static void
+il_sta_ucode_deactivate(struct il_priv *il, u8 sta_id)
{
/* Ucode must be active and driver must be non active */
- if ((il->stations[sta_id].used &
- (IL_STA_UCODE_ACTIVE | IL_STA_DRIVER_ACTIVE)) !=
- IL_STA_UCODE_ACTIVE)
+ if ((il->stations[sta_id].
+ used & (IL_STA_UCODE_ACTIVE | IL_STA_DRIVER_ACTIVE)) !=
+ IL_STA_UCODE_ACTIVE)
IL_ERR("removed non active STA %u\n", sta_id);
il->stations[sta_id].used &= ~IL_STA_UCODE_ACTIVE;
@@ -1918,9 +1928,9 @@ static void il_sta_ucode_deactivate(struct il_priv *il, u8 sta_id)
D_ASSOC("Removed STA %u\n", sta_id);
}
-static int il_send_remove_station(struct il_priv *il,
- const u8 *addr, int sta_id,
- bool temporary)
+static int
+il_send_remove_station(struct il_priv *il, const u8 * addr, int sta_id,
+ bool temporary)
{
struct il_rx_pkt *pkt;
int ret;
@@ -1948,8 +1958,7 @@ static int il_send_remove_station(struct il_priv *il,
pkt = (struct il_rx_pkt *)cmd.reply_page;
if (pkt->hdr.flags & IL_CMD_FAILED_MSK) {
- IL_ERR("Bad return from C_REM_STA (0x%08X)\n",
- pkt->hdr.flags);
+ IL_ERR("Bad return from C_REM_STA (0x%08X)\n", pkt->hdr.flags);
ret = -EIO;
}
@@ -1960,7 +1969,7 @@ static int il_send_remove_station(struct il_priv *il,
spin_lock_irqsave(&il->sta_lock, flags_spin);
il_sta_ucode_deactivate(il, sta_id);
spin_unlock_irqrestore(&il->sta_lock,
- flags_spin);
+ flags_spin);
}
D_ASSOC("C_REM_STA PASSED\n");
break;
@@ -1978,15 +1987,14 @@ static int il_send_remove_station(struct il_priv *il,
/**
* il_remove_station - Remove driver's knowledge of station.
*/
-int il_remove_station(struct il_priv *il, const u8 sta_id,
- const u8 *addr)
+int
+il_remove_station(struct il_priv *il, const u8 sta_id, const u8 * addr)
{
unsigned long flags;
if (!il_is_ready(il)) {
- D_INFO(
- "Unable to remove station %pM, device not ready.\n",
- addr);
+ D_INFO("Unable to remove station %pM, device not ready.\n",
+ addr);
/*
* It is typical for stations to be removed when we are
* going down. Return success since device will be down
@@ -1995,8 +2003,7 @@ int il_remove_station(struct il_priv *il, const u8 sta_id,
return 0;
}
- D_ASSOC("Removing STA from driver:%d %pM\n",
- sta_id, addr);
+ D_ASSOC("Removing STA from driver:%d %pM\n", sta_id, addr);
if (WARN_ON(sta_id == IL_INVALID_STATION))
return -EINVAL;
@@ -2004,14 +2011,12 @@ int il_remove_station(struct il_priv *il, const u8 sta_id,
spin_lock_irqsave(&il->sta_lock, flags);
if (!(il->stations[sta_id].used & IL_STA_DRIVER_ACTIVE)) {
- D_INFO("Removing %pM but non DRIVER active\n",
- addr);
+ D_INFO("Removing %pM but non DRIVER active\n", addr);
goto out_err;
}
if (!(il->stations[sta_id].used & IL_STA_UCODE_ACTIVE)) {
- D_INFO("Removing %pM but non UCODE active\n",
- addr);
+ D_INFO("Removing %pM but non UCODE active\n", addr);
goto out_err;
}
@@ -2033,6 +2038,7 @@ out_err:
spin_unlock_irqrestore(&il->sta_lock, flags);
return -EINVAL;
}
+
EXPORT_SYMBOL_GPL(il_remove_station);
/**
@@ -2043,8 +2049,8 @@ EXPORT_SYMBOL_GPL(il_remove_station);
* other than explicit station management would cause this in
* the ucode, e.g. unassociated RXON.
*/
-void il_clear_ucode_stations(struct il_priv *il,
- struct il_rxon_context *ctx)
+void
+il_clear_ucode_stations(struct il_priv *il, struct il_rxon_context *ctx)
{
int i;
unsigned long flags_spin;
@@ -2058,8 +2064,7 @@ void il_clear_ucode_stations(struct il_priv *il,
continue;
if (il->stations[i].used & IL_STA_UCODE_ACTIVE) {
- D_INFO(
- "Clearing ucode active for station %d\n", i);
+ D_INFO("Clearing ucode active for station %d\n", i);
il->stations[i].used &= ~IL_STA_UCODE_ACTIVE;
cleared = true;
}
@@ -2067,9 +2072,9 @@ void il_clear_ucode_stations(struct il_priv *il,
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
if (!cleared)
- D_INFO(
- "No active stations found to be cleared\n");
+ D_INFO("No active stations found to be cleared\n");
}
+
EXPORT_SYMBOL(il_clear_ucode_stations);
/**
@@ -2092,8 +2097,7 @@ il_restore_stations(struct il_priv *il, struct il_rxon_context *ctx)
bool send_lq;
if (!il_is_ready(il)) {
- D_INFO(
- "Not ready yet, not restoring any stations.\n");
+ D_INFO("Not ready yet, not restoring any stations.\n");
return;
}
@@ -2105,7 +2109,7 @@ il_restore_stations(struct il_priv *il, struct il_rxon_context *ctx)
if ((il->stations[i].used & IL_STA_DRIVER_ACTIVE) &&
!(il->stations[i].used & IL_STA_UCODE_ACTIVE)) {
D_ASSOC("Restoring sta %pM\n",
- il->stations[i].sta.sta.addr);
+ il->stations[i].sta.sta.addr);
il->stations[i].sta.mode = 0;
il->stations[i].used |= IL_STA_UCODE_INPROGRESS;
found = true;
@@ -2127,21 +2131,19 @@ il_restore_stations(struct il_priv *il, struct il_rxon_context *ctx)
if (ret) {
spin_lock_irqsave(&il->sta_lock, flags_spin);
IL_ERR("Adding station %pM failed.\n",
- il->stations[i].sta.sta.addr);
- il->stations[i].used &=
- ~IL_STA_DRIVER_ACTIVE;
+ il->stations[i].sta.sta.addr);
+ il->stations[i].used &= ~IL_STA_DRIVER_ACTIVE;
il->stations[i].used &=
- ~IL_STA_UCODE_INPROGRESS;
+ ~IL_STA_UCODE_INPROGRESS;
spin_unlock_irqrestore(&il->sta_lock,
- flags_spin);
+ flags_spin);
}
/*
* Rate scaling has already been initialized, send
* current LQ command
*/
if (send_lq)
- il_send_lq_cmd(il, ctx, &lq,
- CMD_SYNC, true);
+ il_send_lq_cmd(il, ctx, &lq, CMD_SYNC, true);
spin_lock_irqsave(&il->sta_lock, flags_spin);
il->stations[i].used &= ~IL_STA_UCODE_INPROGRESS;
}
@@ -2150,14 +2152,15 @@ il_restore_stations(struct il_priv *il, struct il_rxon_context *ctx)
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
if (!found)
D_INFO("Restoring all known stations"
- " .... no stations to be restored.\n");
+ " .... no stations to be restored.\n");
else
- D_INFO("Restoring all known stations"
- " .... complete.\n");
+ D_INFO("Restoring all known stations" " .... complete.\n");
}
+
EXPORT_SYMBOL(il_restore_stations);
-int il_get_free_ucode_key_idx(struct il_priv *il)
+int
+il_get_free_ucode_key_idx(struct il_priv *il)
{
int i;
@@ -2167,9 +2170,11 @@ int il_get_free_ucode_key_idx(struct il_priv *il)
return WEP_INVALID_OFFSET;
}
+
EXPORT_SYMBOL(il_get_free_ucode_key_idx);
-void il_dealloc_bcast_stations(struct il_priv *il)
+void
+il_dealloc_bcast_stations(struct il_priv *il)
{
unsigned long flags;
int i;
@@ -2187,25 +2192,24 @@ void il_dealloc_bcast_stations(struct il_priv *il)
}
spin_unlock_irqrestore(&il->sta_lock, flags);
}
+
EXPORT_SYMBOL_GPL(il_dealloc_bcast_stations);
#ifdef CONFIG_IWLEGACY_DEBUG
-static void il_dump_lq_cmd(struct il_priv *il,
- struct il_link_quality_cmd *lq)
+static void
+il_dump_lq_cmd(struct il_priv *il, struct il_link_quality_cmd *lq)
{
int i;
D_RATE("lq station id 0x%x\n", lq->sta_id);
- D_RATE("lq ant 0x%X 0x%X\n",
- lq->general_params.single_stream_ant_msk,
- lq->general_params.dual_stream_ant_msk);
+ D_RATE("lq ant 0x%X 0x%X\n", lq->general_params.single_stream_ant_msk,
+ lq->general_params.dual_stream_ant_msk);
for (i = 0; i < LINK_QUAL_MAX_RETRY_NUM; i++)
- D_RATE("lq idx %d 0x%X\n",
- i, lq->rs_table[i].rate_n_flags);
+ D_RATE("lq idx %d 0x%X\n", i, lq->rs_table[i].rate_n_flags);
}
#else
-static inline void il_dump_lq_cmd(struct il_priv *il,
- struct il_link_quality_cmd *lq)
+static inline void
+il_dump_lq_cmd(struct il_priv *il, struct il_link_quality_cmd *lq)
{
}
#endif
@@ -2221,23 +2225,19 @@ static inline void il_dump_lq_cmd(struct il_priv *il,
* Test for this to prevent driver from sending LQ command between the time
* RXON flags are updated and when LQ command is updated.
*/
-static bool il_is_lq_table_valid(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct il_link_quality_cmd *lq)
+static bool
+il_is_lq_table_valid(struct il_priv *il, struct il_rxon_context *ctx,
+ struct il_link_quality_cmd *lq)
{
int i;
if (ctx->ht.enabled)
return true;
- D_INFO("Channel %u is not an HT channel\n",
- ctx->active.channel);
+ D_INFO("Channel %u is not an HT channel\n", ctx->active.channel);
for (i = 0; i < LINK_QUAL_MAX_RETRY_NUM; i++) {
- if (le32_to_cpu(lq->rs_table[i].rate_n_flags) &
- RATE_MCS_HT_MSK) {
- D_INFO(
- "idx %d of LQ expects HT channel\n",
- i);
+ if (le32_to_cpu(lq->rs_table[i].rate_n_flags) & RATE_MCS_HT_MSK) {
+ D_INFO("idx %d of LQ expects HT channel\n", i);
return false;
}
}
@@ -2254,8 +2254,9 @@ static bool il_is_lq_table_valid(struct il_priv *il,
* this case to clear the state indicating that station creation is in
* progress.
*/
-int il_send_lq_cmd(struct il_priv *il, struct il_rxon_context *ctx,
- struct il_link_quality_cmd *lq, u8 flags, bool init)
+int
+il_send_lq_cmd(struct il_priv *il, struct il_rxon_context *ctx,
+ struct il_link_quality_cmd *lq, u8 flags, bool init)
{
int ret = 0;
unsigned long flags_spin;
@@ -2270,7 +2271,6 @@ int il_send_lq_cmd(struct il_priv *il, struct il_rxon_context *ctx,
if (WARN_ON(lq->sta_id == IL_INVALID_STATION))
return -EINVAL;
-
spin_lock_irqsave(&il->sta_lock, flags_spin);
if (!(il->stations[lq->sta_id].used & IL_STA_DRIVER_ACTIVE)) {
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
@@ -2291,36 +2291,35 @@ int il_send_lq_cmd(struct il_priv *il, struct il_rxon_context *ctx,
if (init) {
D_INFO("init LQ command complete,"
- " clearing sta addition status for sta %d\n",
- lq->sta_id);
+ " clearing sta addition status for sta %d\n",
+ lq->sta_id);
spin_lock_irqsave(&il->sta_lock, flags_spin);
il->stations[lq->sta_id].used &= ~IL_STA_UCODE_INPROGRESS;
spin_unlock_irqrestore(&il->sta_lock, flags_spin);
}
return ret;
}
+
EXPORT_SYMBOL(il_send_lq_cmd);
-int il_mac_sta_remove(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_sta *sta)
+int
+il_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta)
{
struct il_priv *il = hw->priv;
struct il_station_priv_common *sta_common = (void *)sta->drv_priv;
int ret;
- D_INFO("received request to remove station %pM\n",
- sta->addr);
+ D_INFO("received request to remove station %pM\n", sta->addr);
mutex_lock(&il->mutex);
- D_INFO("proceeding to remove station %pM\n",
- sta->addr);
+ D_INFO("proceeding to remove station %pM\n", sta->addr);
ret = il_remove_station(il, sta_common->sta_id, sta->addr);
if (ret)
- IL_ERR("Error removing station %pM\n",
- sta->addr);
+ IL_ERR("Error removing station %pM\n", sta->addr);
mutex_unlock(&il->mutex);
return ret;
}
+
EXPORT_SYMBOL(il_mac_sta_remove);
/************************** RX-FUNCTIONS ****************************/
@@ -2393,7 +2392,8 @@ EXPORT_SYMBOL(il_mac_sta_remove);
/**
* il_rx_queue_space - Return number of free slots available in queue.
*/
-int il_rx_queue_space(const struct il_rx_queue *q)
+int
+il_rx_queue_space(const struct il_rx_queue *q)
{
int s = q->read - q->write;
if (s <= 0)
@@ -2404,14 +2404,14 @@ int il_rx_queue_space(const struct il_rx_queue *q)
s = 0;
return s;
}
+
EXPORT_SYMBOL(il_rx_queue_space);
/**
* il_rx_queue_update_write_ptr - Update the write pointer for the RX queue
*/
void
-il_rx_queue_update_write_ptr(struct il_priv *il,
- struct il_rx_queue *q)
+il_rx_queue_update_write_ptr(struct il_priv *il, struct il_rx_queue *q)
{
unsigned long flags;
u32 rx_wrt_ptr_reg = il->hw_params.rx_wrt_ptr_reg;
@@ -2427,34 +2427,33 @@ il_rx_queue_update_write_ptr(struct il_priv *il,
reg = _il_rd(il, CSR_UCODE_DRV_GP1);
if (reg & CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP) {
- D_INFO(
- "Rx queue requesting wakeup,"
- " GP1 = 0x%x\n", reg);
+ D_INFO("Rx queue requesting wakeup," " GP1 = 0x%x\n",
+ reg);
il_set_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
+ CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
goto exit_unlock;
}
q->write_actual = (q->write & ~0x7);
- il_wr(il, rx_wrt_ptr_reg,
- q->write_actual);
+ il_wr(il, rx_wrt_ptr_reg, q->write_actual);
- /* Else device is assumed to be awake */
+ /* Else device is assumed to be awake */
} else {
/* Device expects a multiple of 8 */
q->write_actual = (q->write & ~0x7);
- il_wr(il, rx_wrt_ptr_reg,
- q->write_actual);
+ il_wr(il, rx_wrt_ptr_reg, q->write_actual);
}
q->need_update = 0;
- exit_unlock:
+exit_unlock:
spin_unlock_irqrestore(&q->lock, flags);
}
+
EXPORT_SYMBOL(il_rx_queue_update_write_ptr);
-int il_rx_queue_alloc(struct il_priv *il)
+int
+il_rx_queue_alloc(struct il_priv *il)
{
struct il_rx_queue *rxq = &il->rxq;
struct device *dev = &il->pci_dev->dev;
@@ -2465,13 +2464,15 @@ int il_rx_queue_alloc(struct il_priv *il)
INIT_LIST_HEAD(&rxq->rx_used);
/* Alloc the circular buffer of Read Buffer Descriptors (RBDs) */
- rxq->bd = dma_alloc_coherent(dev, 4 * RX_QUEUE_SIZE, &rxq->bd_dma,
- GFP_KERNEL);
+ rxq->bd =
+ dma_alloc_coherent(dev, 4 * RX_QUEUE_SIZE, &rxq->bd_dma,
+ GFP_KERNEL);
if (!rxq->bd)
goto err_bd;
- rxq->rb_stts = dma_alloc_coherent(dev, sizeof(struct il_rb_status),
- &rxq->rb_stts_dma, GFP_KERNEL);
+ rxq->rb_stts =
+ dma_alloc_coherent(dev, sizeof(struct il_rb_status),
+ &rxq->rb_stts_dma, GFP_KERNEL);
if (!rxq->rb_stts)
goto err_rb;
@@ -2493,33 +2494,32 @@ err_rb:
err_bd:
return -ENOMEM;
}
-EXPORT_SYMBOL(il_rx_queue_alloc);
+EXPORT_SYMBOL(il_rx_queue_alloc);
-void il_hdl_spectrum_measurement(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il_hdl_spectrum_measurement(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_spectrum_notification *report = &(pkt->u.spectrum_notif);
if (!report->state) {
- D_11H(
- "Spectrum Measure Notification: Start\n");
+ D_11H("Spectrum Measure Notification: Start\n");
return;
}
memcpy(&il->measure_report, report, sizeof(*report));
il->measurement_status |= MEASUREMENT_READY;
}
+
EXPORT_SYMBOL(il_hdl_spectrum_measurement);
/*
* returns non-zero if packet should be dropped
*/
-int il_set_decrypted_flag(struct il_priv *il,
- struct ieee80211_hdr *hdr,
- u32 decrypt_res,
- struct ieee80211_rx_status *stats)
+int
+il_set_decrypted_flag(struct il_priv *il, struct ieee80211_hdr *hdr,
+ u32 decrypt_res, struct ieee80211_rx_status *stats)
{
u16 fc = le16_to_cpu(hdr->frame_control);
@@ -2527,8 +2527,7 @@ int il_set_decrypted_flag(struct il_priv *il,
* All contexts have the same setting here due to it being
* a module parameter, so OK to check any context.
*/
- if (il->ctx.active.filter_flags &
- RXON_FILTER_DIS_DECRYPT_MSK)
+ if (il->ctx.active.filter_flags & RXON_FILTER_DIS_DECRYPT_MSK)
return 0;
if (!(fc & IEEE80211_FCTL_PROTECTED))
@@ -2564,6 +2563,7 @@ int il_set_decrypted_flag(struct il_priv *il,
}
return 0;
}
+
EXPORT_SYMBOL(il_set_decrypted_flag);
/**
@@ -2586,16 +2586,14 @@ il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq)
reg = _il_rd(il, CSR_UCODE_DRV_GP1);
if (reg & CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP) {
- D_INFO(
- "Tx queue %d requesting wakeup,"
- " GP1 = 0x%x\n", txq_id, reg);
+ D_INFO("Tx queue %d requesting wakeup," " GP1 = 0x%x\n",
+ txq_id, reg);
il_set_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
+ CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
return;
}
- il_wr(il, HBUS_TARG_WRPTR,
- txq->q.write_ptr | (txq_id << 8));
+ il_wr(il, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8));
/*
* else not in power-save mode,
@@ -2603,16 +2601,17 @@ il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq)
* trying to tx (during RFKILL, we're not trying to tx).
*/
} else
- _il_wr(il, HBUS_TARG_WRPTR,
- txq->q.write_ptr | (txq_id << 8));
+ _il_wr(il, HBUS_TARG_WRPTR, txq->q.write_ptr | (txq_id << 8));
txq->need_update = 0;
}
+
EXPORT_SYMBOL(il_txq_update_write_ptr);
/**
* il_tx_queue_unmap - Unmap any remaining DMA mappings and free skb's
*/
-void il_tx_queue_unmap(struct il_priv *il, int txq_id)
+void
+il_tx_queue_unmap(struct il_priv *il, int txq_id)
{
struct il_tx_queue *txq = &il->txq[txq_id];
struct il_queue *q = &txq->q;
@@ -2625,6 +2624,7 @@ void il_tx_queue_unmap(struct il_priv *il, int txq_id)
q->read_ptr = il_queue_inc_wrap(q->read_ptr, q->n_bd);
}
}
+
EXPORT_SYMBOL(il_tx_queue_unmap);
/**
@@ -2635,7 +2635,8 @@ EXPORT_SYMBOL(il_tx_queue_unmap);
* Free all buffers.
* 0-fill, but do not free "txq" descriptor structure.
*/
-void il_tx_queue_free(struct il_priv *il, int txq_id)
+void
+il_tx_queue_free(struct il_priv *il, int txq_id)
{
struct il_tx_queue *txq = &il->txq[txq_id];
struct device *dev = &il->pci_dev->dev;
@@ -2649,8 +2650,8 @@ void il_tx_queue_free(struct il_priv *il, int txq_id)
/* De-alloc circular buffer of TFDs */
if (txq->q.n_bd)
- dma_free_coherent(dev, il->hw_params.tfd_size *
- txq->q.n_bd, txq->tfds, txq->q.dma_addr);
+ dma_free_coherent(dev, il->hw_params.tfd_size * txq->q.n_bd,
+ txq->tfds, txq->q.dma_addr);
/* De-alloc array of per-TFD driver data */
kfree(txq->txb);
@@ -2665,12 +2666,14 @@ void il_tx_queue_free(struct il_priv *il, int txq_id)
/* 0-fill queue descriptor structure */
memset(txq, 0, sizeof(*txq));
}
+
EXPORT_SYMBOL(il_tx_queue_free);
/**
* il_cmd_queue_unmap - Unmap any remaining DMA mappings from command queue
*/
-void il_cmd_queue_unmap(struct il_priv *il)
+void
+il_cmd_queue_unmap(struct il_priv *il)
{
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
struct il_queue *q = &txq->q;
@@ -2702,6 +2705,7 @@ void il_cmd_queue_unmap(struct il_priv *il)
txq->meta[i].flags = 0;
}
}
+
EXPORT_SYMBOL(il_cmd_queue_unmap);
/**
@@ -2712,7 +2716,8 @@ EXPORT_SYMBOL(il_cmd_queue_unmap);
* Free all buffers.
* 0-fill, but do not free "txq" descriptor structure.
*/
-void il_cmd_queue_free(struct il_priv *il)
+void
+il_cmd_queue_free(struct il_priv *il)
{
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
struct device *dev = &il->pci_dev->dev;
@@ -2738,6 +2743,7 @@ void il_cmd_queue_free(struct il_priv *il)
/* 0-fill queue descriptor structure */
memset(txq, 0, sizeof(*txq));
}
+
EXPORT_SYMBOL(il_cmd_queue_free);
/*************** DMA-QUEUE-GENERAL-FUNCTIONS *****
@@ -2763,7 +2769,8 @@ EXPORT_SYMBOL(il_cmd_queue_free);
* See more detailed info in 4965.h.
***************************************************/
-int il_queue_space(const struct il_queue *q)
+int
+il_queue_space(const struct il_queue *q)
{
int s = q->read_ptr - q->write_ptr;
@@ -2778,14 +2785,16 @@ int il_queue_space(const struct il_queue *q)
s = 0;
return s;
}
+
EXPORT_SYMBOL(il_queue_space);
/**
* il_queue_init - Initialize queue's high/low-water and read/write idxes
*/
-static int il_queue_init(struct il_priv *il, struct il_queue *q,
- int count, int slots_num, u32 id)
+static int
+il_queue_init(struct il_priv *il, struct il_queue *q, int count, int slots_num,
+ u32 id)
{
q->n_bd = count;
q->n_win = slots_num;
@@ -2815,8 +2824,8 @@ static int il_queue_init(struct il_priv *il, struct il_queue *q,
/**
* il_tx_queue_alloc - Alloc driver data and TFD CB for one Tx/cmd queue
*/
-static int il_tx_queue_alloc(struct il_priv *il,
- struct il_tx_queue *txq, u32 id)
+static int
+il_tx_queue_alloc(struct il_priv *il, struct il_tx_queue *txq, u32 id)
{
struct device *dev = &il->pci_dev->dev;
size_t tfd_sz = il->hw_params.tfd_size * TFD_QUEUE_SIZE_MAX;
@@ -2824,11 +2833,12 @@ static int il_tx_queue_alloc(struct il_priv *il,
/* Driver ilate data, only for Tx (not command) queues,
* not shared with device. */
if (id != il->cmd_queue) {
- txq->txb = kzalloc(sizeof(txq->txb[0]) *
- TFD_QUEUE_SIZE_MAX, GFP_KERNEL);
+ txq->txb =
+ kzalloc(sizeof(txq->txb[0]) * TFD_QUEUE_SIZE_MAX,
+ GFP_KERNEL);
if (!txq->txb) {
IL_ERR("kmalloc for auxiliary BD "
- "structures failed\n");
+ "structures failed\n");
goto error;
}
} else {
@@ -2837,8 +2847,8 @@ static int il_tx_queue_alloc(struct il_priv *il,
/* Circular buffer of transmit frame descriptors (TFDs),
* shared with device */
- txq->tfds = dma_alloc_coherent(dev, tfd_sz, &txq->q.dma_addr,
- GFP_KERNEL);
+ txq->tfds =
+ dma_alloc_coherent(dev, tfd_sz, &txq->q.dma_addr, GFP_KERNEL);
if (!txq->tfds) {
IL_ERR("pci_alloc_consistent(%zd) failed\n", tfd_sz);
goto error;
@@ -2847,7 +2857,7 @@ static int il_tx_queue_alloc(struct il_priv *il,
return 0;
- error:
+error:
kfree(txq->txb);
txq->txb = NULL;
@@ -2857,8 +2867,9 @@ static int il_tx_queue_alloc(struct il_priv *il,
/**
* il_tx_queue_init - Allocate and initialize one tx/cmd queue
*/
-int il_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq,
- int slots_num, u32 txq_id)
+int
+il_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq, int slots_num,
+ u32 txq_id)
{
int i, len;
int ret;
@@ -2875,10 +2886,10 @@ int il_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq,
if (txq_id == il->cmd_queue)
actual_slots++;
- txq->meta = kzalloc(sizeof(struct il_cmd_meta) * actual_slots,
- GFP_KERNEL);
- txq->cmd = kzalloc(sizeof(struct il_device_cmd *) * actual_slots,
- GFP_KERNEL);
+ txq->meta =
+ kzalloc(sizeof(struct il_cmd_meta) * actual_slots, GFP_KERNEL);
+ txq->cmd =
+ kzalloc(sizeof(struct il_device_cmd *) * actual_slots, GFP_KERNEL);
if (!txq->meta || !txq->cmd)
goto out_free_arrays;
@@ -2914,8 +2925,7 @@ int il_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq,
BUILD_BUG_ON(TFD_QUEUE_SIZE_MAX & (TFD_QUEUE_SIZE_MAX - 1));
/* Initialize queue's high/low-water marks, and head/tail idxes */
- il_queue_init(il, &txq->q,
- TFD_QUEUE_SIZE_MAX, slots_num, txq_id);
+ il_queue_init(il, &txq->q, TFD_QUEUE_SIZE_MAX, slots_num, txq_id);
/* Tell device where to find queue */
il->cfg->ops->lib->txq_init(il, txq);
@@ -2930,10 +2940,12 @@ out_free_arrays:
return -ENOMEM;
}
+
EXPORT_SYMBOL(il_tx_queue_init);
-void il_tx_queue_reset(struct il_priv *il, struct il_tx_queue *txq,
- int slots_num, u32 txq_id)
+void
+il_tx_queue_reset(struct il_priv *il, struct il_tx_queue *txq, int slots_num,
+ u32 txq_id)
{
int actual_slots = slots_num;
@@ -2945,12 +2957,12 @@ void il_tx_queue_reset(struct il_priv *il, struct il_tx_queue *txq,
txq->need_update = 0;
/* Initialize queue's high/low-water marks, and head/tail idxes */
- il_queue_init(il, &txq->q,
- TFD_QUEUE_SIZE_MAX, slots_num, txq_id);
+ il_queue_init(il, &txq->q, TFD_QUEUE_SIZE_MAX, slots_num, txq_id);
/* Tell device where to find queue */
il->cfg->ops->lib->txq_init(il, txq);
}
+
EXPORT_SYMBOL(il_tx_queue_reset);
/*************** HOST COMMAND QUEUE FUNCTIONS *****/
@@ -2964,7 +2976,8 @@ EXPORT_SYMBOL(il_tx_queue_reset);
* failed. On success, it turns the idx (> 0) of command in the
* command queue.
*/
-int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
+int
+il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
{
struct il_tx_queue *txq = &il->txq[il->cmd_queue];
struct il_queue *q = &txq->q;
@@ -2977,7 +2990,7 @@ int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
u16 fix_size;
cmd->len = il->cfg->ops->utils->get_hcmd_size(cmd->id, cmd->len);
- fix_size = (u16)(cmd->len + sizeof(out_cmd->hdr));
+ fix_size = (u16) (cmd->len + sizeof(out_cmd->hdr));
/* If any of the command structures end up being larger than
* the TFD_MAX_PAYLOAD_SIZE, and it sent as a 'small' command then
@@ -2990,7 +3003,7 @@ int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
if (il_is_rfkill(il) || il_is_ctkill(il)) {
IL_WARN("Not sending command - %s KILL\n",
- il_is_rfkill(il) ? "RF" : "CT");
+ il_is_rfkill(il) ? "RF" : "CT");
return -EIO;
}
@@ -3027,8 +3040,8 @@ int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
* information */
out_cmd->hdr.flags = 0;
- out_cmd->hdr.sequence = cpu_to_le16(QUEUE_TO_SEQ(il->cmd_queue) |
- IDX_TO_SEQ(q->write_ptr));
+ out_cmd->hdr.sequence =
+ cpu_to_le16(QUEUE_TO_SEQ(il->cmd_queue) | IDX_TO_SEQ(q->write_ptr));
if (cmd->flags & CMD_SIZE_HUGE)
out_cmd->hdr.sequence |= SEQ_HUGE_FRAME;
len = sizeof(struct il_device_cmd);
@@ -3039,21 +3052,18 @@ int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
switch (out_cmd->hdr.cmd) {
case C_TX_LINK_QUALITY_CMD:
case C_SENSITIVITY:
- D_HC_DUMP(
- "Sending command %s (#%x), seq: 0x%04X, "
- "%d bytes at %d[%d]:%d\n",
- il_get_cmd_string(out_cmd->hdr.cmd),
- out_cmd->hdr.cmd,
- le16_to_cpu(out_cmd->hdr.sequence), fix_size,
- q->write_ptr, idx, il->cmd_queue);
+ D_HC_DUMP("Sending command %s (#%x), seq: 0x%04X, "
+ "%d bytes at %d[%d]:%d\n",
+ il_get_cmd_string(out_cmd->hdr.cmd), out_cmd->hdr.cmd,
+ le16_to_cpu(out_cmd->hdr.sequence), fix_size,
+ q->write_ptr, idx, il->cmd_queue);
break;
default:
D_HC("Sending command %s (#%x), seq: 0x%04X, "
- "%d bytes at %d[%d]:%d\n",
- il_get_cmd_string(out_cmd->hdr.cmd),
- out_cmd->hdr.cmd,
- le16_to_cpu(out_cmd->hdr.sequence), fix_size,
- q->write_ptr, idx, il->cmd_queue);
+ "%d bytes at %d[%d]:%d\n",
+ il_get_cmd_string(out_cmd->hdr.cmd), out_cmd->hdr.cmd,
+ le16_to_cpu(out_cmd->hdr.sequence), fix_size, q->write_ptr,
+ idx, il->cmd_queue);
}
#endif
txq->need_update = 1;
@@ -3062,14 +3072,14 @@ int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
/* Set up entry in queue's byte count circular buffer */
il->cfg->ops->lib->txq_update_byte_cnt_tbl(il, txq, 0);
- phys_addr = pci_map_single(il->pci_dev, &out_cmd->hdr,
- fix_size, PCI_DMA_BIDIRECTIONAL);
+ phys_addr =
+ pci_map_single(il->pci_dev, &out_cmd->hdr, fix_size,
+ PCI_DMA_BIDIRECTIONAL);
dma_unmap_addr_set(out_meta, mapping, phys_addr);
dma_unmap_len_set(out_meta, len, fix_size);
- il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq,
- phys_addr, fix_size, 1,
- U32_PAD(cmd->len));
+ il->cfg->ops->lib->txq_attach_buf_to_tfd(il, txq, phys_addr, fix_size,
+ 1, U32_PAD(cmd->len));
/* Increment and update queue's write idx */
q->write_ptr = il_queue_inc_wrap(q->write_ptr, q->n_bd);
@@ -3086,8 +3096,8 @@ int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd)
* need to be reclaimed. As result, some free space forms. If there is
* enough free space (> low mark), wake the stack that feeds us.
*/
-static void il_hcmd_queue_reclaim(struct il_priv *il, int txq_id,
- int idx, int cmd_idx)
+static void
+il_hcmd_queue_reclaim(struct il_priv *il, int txq_id, int idx, int cmd_idx)
{
struct il_tx_queue *txq = &il->txq[txq_id];
struct il_queue *q = &txq->q;
@@ -3095,8 +3105,8 @@ static void il_hcmd_queue_reclaim(struct il_priv *il, int txq_id,
if (idx >= q->n_bd || il_queue_used(q, idx) == 0) {
IL_ERR("Read idx for DMA queue txq id (%d), idx %d, "
- "is out of range [0-%d] %d %d.\n", txq_id,
- idx, q->n_bd, q->write_ptr, q->read_ptr);
+ "is out of range [0-%d] %d %d.\n", txq_id, idx, q->n_bd,
+ q->write_ptr, q->read_ptr);
return;
}
@@ -3105,7 +3115,7 @@ static void il_hcmd_queue_reclaim(struct il_priv *il, int txq_id,
if (nfreed++ > 0) {
IL_ERR("HCMD skipped: idx (%d) %d %d\n", idx,
- q->write_ptr, q->read_ptr);
+ q->write_ptr, q->read_ptr);
queue_work(il->workqueue, &il->restart);
}
@@ -3137,11 +3147,11 @@ il_tx_cmd_complete(struct il_priv *il, struct il_rx_buf *rxb)
/* If a Tx command is being handled and it isn't in the actual
* command queue then there a command routing bug has been introduced
* in the queue management code. */
- if (WARN(txq_id != il->cmd_queue,
- "wrong command queue %d (should be %d), sequence 0x%X readp=%d writep=%d\n",
- txq_id, il->cmd_queue, sequence,
- il->txq[il->cmd_queue].q.read_ptr,
- il->txq[il->cmd_queue].q.write_ptr)) {
+ if (WARN
+ (txq_id != il->cmd_queue,
+ "wrong command queue %d (should be %d), sequence 0x%X readp=%d writep=%d\n",
+ txq_id, il->cmd_queue, sequence, il->txq[il->cmd_queue].q.read_ptr,
+ il->txq[il->cmd_queue].q.write_ptr)) {
il_print_hex_error(il, pkt, 32);
return;
}
@@ -3152,10 +3162,8 @@ il_tx_cmd_complete(struct il_priv *il, struct il_rx_buf *rxb)
txq->time_stamp = jiffies;
- pci_unmap_single(il->pci_dev,
- dma_unmap_addr(meta, mapping),
- dma_unmap_len(meta, len),
- PCI_DMA_BIDIRECTIONAL);
+ pci_unmap_single(il->pci_dev, dma_unmap_addr(meta, mapping),
+ dma_unmap_len(meta, len), PCI_DMA_BIDIRECTIONAL);
/* Input error checking is done when commands are added to queue. */
if (meta->flags & CMD_WANT_SKB) {
@@ -3171,7 +3179,7 @@ il_tx_cmd_complete(struct il_priv *il, struct il_rx_buf *rxb)
if (!(meta->flags & CMD_ASYNC)) {
clear_bit(S_HCMD_ACTIVE, &il->status);
D_INFO("Clearing HCMD_ACTIVE for command %s\n",
- il_get_cmd_string(cmd->hdr.cmd));
+ il_get_cmd_string(cmd->hdr.cmd));
wake_up(&il->wait_command_queue);
}
@@ -3211,11 +3219,12 @@ u32 il_debug_level;
EXPORT_SYMBOL(il_debug_level);
const u8 il_bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
-EXPORT_SYMBOL(il_bcast_addr);
+EXPORT_SYMBOL(il_bcast_addr);
/* This function both allocates and initializes hw and il. */
-struct ieee80211_hw *il_alloc_all(struct il_cfg *cfg)
+struct ieee80211_hw *
+il_alloc_all(struct il_cfg *cfg)
{
struct il_priv *il;
/* mac80211 allocates memory for this device instance, including
@@ -3225,8 +3234,7 @@ struct ieee80211_hw *il_alloc_all(struct il_cfg *cfg)
hw = ieee80211_alloc_hw(sizeof(struct il_priv),
cfg->ops->ieee80211_ops);
if (hw == NULL) {
- pr_err("%s: Can not allocate network device\n",
- cfg->name);
+ pr_err("%s: Can not allocate network device\n", cfg->name);
goto out;
}
@@ -3236,13 +3244,15 @@ struct ieee80211_hw *il_alloc_all(struct il_cfg *cfg)
out:
return hw;
}
+
EXPORT_SYMBOL(il_alloc_all);
-#define MAX_BIT_RATE_40_MHZ 150 /* Mbps */
-#define MAX_BIT_RATE_20_MHZ 72 /* Mbps */
-static void il_init_ht_hw_capab(const struct il_priv *il,
- struct ieee80211_sta_ht_cap *ht_info,
- enum ieee80211_band band)
+#define MAX_BIT_RATE_40_MHZ 150 /* Mbps */
+#define MAX_BIT_RATE_20_MHZ 72 /* Mbps */
+static void
+il_init_ht_hw_capab(const struct il_priv *il,
+ struct ieee80211_sta_ht_cap *ht_info,
+ enum ieee80211_band band)
{
u16 max_bit_rate = 0;
u8 rx_chains_num = il->hw_params.rx_chains_num;
@@ -3283,15 +3293,17 @@ static void il_init_ht_hw_capab(const struct il_priv *il,
ht_info->mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED;
if (tx_chains_num != rx_chains_num) {
ht_info->mcs.tx_params |= IEEE80211_HT_MCS_TX_RX_DIFF;
- ht_info->mcs.tx_params |= ((tx_chains_num - 1) <<
- IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT);
+ ht_info->mcs.tx_params |=
+ ((tx_chains_num -
+ 1) << IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT);
}
}
/**
* il_init_geos - Initialize mac80211's geo/channel info based from eeprom
*/
-int il_init_geos(struct il_priv *il)
+int
+il_init_geos(struct il_priv *il)
{
struct il_channel_info *ch;
struct ieee80211_supported_band *sband;
@@ -3308,13 +3320,15 @@ int il_init_geos(struct il_priv *il)
return 0;
}
- channels = kzalloc(sizeof(struct ieee80211_channel) *
- il->channel_count, GFP_KERNEL);
+ channels =
+ kzalloc(sizeof(struct ieee80211_channel) * il->channel_count,
+ GFP_KERNEL);
if (!channels)
return -ENOMEM;
- rates = kzalloc((sizeof(struct ieee80211_rate) * RATE_COUNT_LEGACY),
- GFP_KERNEL);
+ rates =
+ kzalloc((sizeof(struct ieee80211_rate) * RATE_COUNT_LEGACY),
+ GFP_KERNEL);
if (!rates) {
kfree(channels);
return -ENOMEM;
@@ -3328,8 +3342,7 @@ int il_init_geos(struct il_priv *il)
sband->n_bitrates = RATE_COUNT_LEGACY - IL_FIRST_OFDM_RATE;
if (il->cfg->sku & IL_SKU_N)
- il_init_ht_hw_capab(il, &sband->ht_cap,
- IEEE80211_BAND_5GHZ);
+ il_init_ht_hw_capab(il, &sband->ht_cap, IEEE80211_BAND_5GHZ);
sband = &il->bands[IEEE80211_BAND_2GHZ];
sband->channels = channels;
@@ -3338,13 +3351,12 @@ int il_init_geos(struct il_priv *il)
sband->n_bitrates = RATE_COUNT_LEGACY;
if (il->cfg->sku & IL_SKU_N)
- il_init_ht_hw_capab(il, &sband->ht_cap,
- IEEE80211_BAND_2GHZ);
+ il_init_ht_hw_capab(il, &sband->ht_cap, IEEE80211_BAND_2GHZ);
il->ieee_channels = channels;
il->ieee_rates = rates;
- for (i = 0; i < il->channel_count; i++) {
+ for (i = 0; i < il->channel_count; i++) {
ch = &il->channel_info[i];
if (!il_is_channel_valid(ch))
@@ -3355,7 +3367,7 @@ int il_init_geos(struct il_priv *il)
geo_ch = &sband->channels[sband->n_channels++];
geo_ch->center_freq =
- ieee80211_channel_to_frequency(ch->channel, ch->band);
+ ieee80211_channel_to_frequency(ch->channel, ch->band);
geo_ch->max_power = ch->max_power_avg;
geo_ch->max_antenna_gain = 0xff;
geo_ch->hw_value = ch->channel;
@@ -3378,12 +3390,12 @@ int il_init_geos(struct il_priv *il)
geo_ch->flags |= IEEE80211_CHAN_DISABLED;
}
- D_INFO("Channel %d Freq=%d[%sGHz] %s flag=0x%X\n",
- ch->channel, geo_ch->center_freq,
- il_is_channel_a_band(ch) ? "5.2" : "2.4",
- geo_ch->flags & IEEE80211_CHAN_DISABLED ?
- "restricted" : "valid",
- geo_ch->flags);
+ D_INFO("Channel %d Freq=%d[%sGHz] %s flag=0x%X\n", ch->channel,
+ geo_ch->center_freq,
+ il_is_channel_a_band(ch) ? "5.2" : "2.4",
+ geo_ch->
+ flags & IEEE80211_CHAN_DISABLED ? "restricted" : "valid",
+ geo_ch->flags);
}
il->tx_power_device_lmt = max_tx_power;
@@ -3394,35 +3406,37 @@ int il_init_geos(struct il_priv *il)
(il->cfg->sku & IL_SKU_A)) {
IL_INFO("Incorrectly detected BG card as ABG. "
"Please send your PCI ID 0x%04X:0x%04X to maintainer.\n",
- il->pci_dev->device,
- il->pci_dev->subsystem_device);
+ il->pci_dev->device, il->pci_dev->subsystem_device);
il->cfg->sku &= ~IL_SKU_A;
}
IL_INFO("Tunable channels: %d 802.11bg, %d 802.11a channels\n",
- il->bands[IEEE80211_BAND_2GHZ].n_channels,
- il->bands[IEEE80211_BAND_5GHZ].n_channels);
+ il->bands[IEEE80211_BAND_2GHZ].n_channels,
+ il->bands[IEEE80211_BAND_5GHZ].n_channels);
set_bit(S_GEO_CONFIGURED, &il->status);
return 0;
}
+
EXPORT_SYMBOL(il_init_geos);
/*
* il_free_geos - undo allocations in il_init_geos
*/
-void il_free_geos(struct il_priv *il)
+void
+il_free_geos(struct il_priv *il)
{
kfree(il->ieee_channels);
kfree(il->ieee_rates);
clear_bit(S_GEO_CONFIGURED, &il->status);
}
+
EXPORT_SYMBOL(il_free_geos);
-static bool il_is_channel_extension(struct il_priv *il,
- enum ieee80211_band band,
- u16 channel, u8 extension_chan_offset)
+static bool
+il_is_channel_extension(struct il_priv *il, enum ieee80211_band band,
+ u16 channel, u8 extension_chan_offset)
{
const struct il_channel_info *ch_info;
@@ -3431,18 +3445,18 @@ static bool il_is_channel_extension(struct il_priv *il,
return false;
if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_ABOVE)
- return !(ch_info->ht40_extension_channel &
- IEEE80211_CHAN_NO_HT40PLUS);
+ return !(ch_info->
+ ht40_extension_channel & IEEE80211_CHAN_NO_HT40PLUS);
else if (extension_chan_offset == IEEE80211_HT_PARAM_CHA_SEC_BELOW)
- return !(ch_info->ht40_extension_channel &
- IEEE80211_CHAN_NO_HT40MINUS);
+ return !(ch_info->
+ ht40_extension_channel & IEEE80211_CHAN_NO_HT40MINUS);
return false;
}
-bool il_is_ht40_tx_allowed(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_sta_ht_cap *ht_cap)
+bool
+il_is_ht40_tx_allowed(struct il_priv * il, struct il_rxon_context * ctx,
+ struct ieee80211_sta_ht_cap * ht_cap)
{
if (!ctx->ht.enabled || !ctx->ht.is_40mhz)
return false;
@@ -3460,12 +3474,14 @@ bool il_is_ht40_tx_allowed(struct il_priv *il,
#endif
return il_is_channel_extension(il, il->band,
- le16_to_cpu(ctx->staging.channel),
- ctx->ht.extension_chan_offset);
+ le16_to_cpu(ctx->staging.channel),
+ ctx->ht.extension_chan_offset);
}
+
EXPORT_SYMBOL(il_is_ht40_tx_allowed);
-static u16 il_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val)
+static u16
+il_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val)
{
u16 new_val;
u16 beacon_factor;
@@ -3520,36 +3536,37 @@ il_send_rxon_timing(struct il_priv *il, struct il_rxon_context *ctx)
/*
* TODO: For IBSS we need to get atim_win from mac80211,
- * for now just always use 0
+ * for now just always use 0
*/
ctx->timing.atim_win = 0;
- beacon_int = il_adjust_beacon_interval(beacon_int,
- il->hw_params.max_beacon_itrvl * TIME_UNIT);
+ beacon_int =
+ il_adjust_beacon_interval(beacon_int,
+ il->hw_params.max_beacon_itrvl *
+ TIME_UNIT);
ctx->timing.beacon_interval = cpu_to_le16(beacon_int);
- tsf = il->timestamp; /* tsf is modifed by do_div: copy it */
+ tsf = il->timestamp; /* tsf is modifed by do_div: copy it */
interval_tm = beacon_int * TIME_UNIT;
rem = do_div(tsf, interval_tm);
ctx->timing.beacon_init_val = cpu_to_le32(interval_tm - rem);
- ctx->timing.dtim_period = vif ? (vif->bss_conf.dtim_period ?: 1) : 1;
+ ctx->timing.dtim_period = vif ? (vif->bss_conf.dtim_period ? : 1) : 1;
- D_ASSOC(
- "beacon interval %d beacon timer %d beacon tim %d\n",
- le16_to_cpu(ctx->timing.beacon_interval),
- le32_to_cpu(ctx->timing.beacon_init_val),
- le16_to_cpu(ctx->timing.atim_win));
+ D_ASSOC("beacon interval %d beacon timer %d beacon tim %d\n",
+ le16_to_cpu(ctx->timing.beacon_interval),
+ le32_to_cpu(ctx->timing.beacon_init_val),
+ le16_to_cpu(ctx->timing.atim_win));
- return il_send_cmd_pdu(il, ctx->rxon_timing_cmd,
- sizeof(ctx->timing), &ctx->timing);
+ return il_send_cmd_pdu(il, ctx->rxon_timing_cmd, sizeof(ctx->timing),
+ &ctx->timing);
}
+
EXPORT_SYMBOL(il_send_rxon_timing);
void
-il_set_rxon_hwcrypto(struct il_priv *il,
- struct il_rxon_context *ctx,
- int hw_decrypt)
+il_set_rxon_hwcrypto(struct il_priv *il, struct il_rxon_context *ctx,
+ int hw_decrypt)
{
struct il_rxon_cmd *rxon = &ctx->staging;
@@ -3559,6 +3576,7 @@ il_set_rxon_hwcrypto(struct il_priv *il,
rxon->filter_flags |= RXON_FILTER_DIS_DECRYPT_MSK;
}
+
EXPORT_SYMBOL(il_set_rxon_hwcrypto);
/* validate RXON structure is valid */
@@ -3604,28 +3622,27 @@ il_check_rxon_cmd(struct il_priv *il, struct il_rxon_context *ctx)
error = true;
}
- if ((rxon->flags & (RXON_FLG_CCK_MSK | RXON_FLG_SHORT_SLOT_MSK))
- == (RXON_FLG_CCK_MSK | RXON_FLG_SHORT_SLOT_MSK)) {
+ if ((rxon->flags & (RXON_FLG_CCK_MSK | RXON_FLG_SHORT_SLOT_MSK)) ==
+ (RXON_FLG_CCK_MSK | RXON_FLG_SHORT_SLOT_MSK)) {
IL_WARN("CCK and short slot\n");
error = true;
}
- if ((rxon->flags & (RXON_FLG_CCK_MSK | RXON_FLG_AUTO_DETECT_MSK))
- == (RXON_FLG_CCK_MSK | RXON_FLG_AUTO_DETECT_MSK)) {
+ if ((rxon->flags & (RXON_FLG_CCK_MSK | RXON_FLG_AUTO_DETECT_MSK)) ==
+ (RXON_FLG_CCK_MSK | RXON_FLG_AUTO_DETECT_MSK)) {
IL_WARN("CCK and auto detect");
error = true;
}
- if ((rxon->flags & (RXON_FLG_AUTO_DETECT_MSK |
- RXON_FLG_TGG_PROTECT_MSK)) ==
- RXON_FLG_TGG_PROTECT_MSK) {
+ if ((rxon->
+ flags & (RXON_FLG_AUTO_DETECT_MSK | RXON_FLG_TGG_PROTECT_MSK)) ==
+ RXON_FLG_TGG_PROTECT_MSK) {
IL_WARN("TGg but no auto-detect\n");
error = true;
}
if (error)
- IL_WARN("Tuning to channel %d\n",
- le16_to_cpu(rxon->channel));
+ IL_WARN("Tuning to channel %d\n", le16_to_cpu(rxon->channel));
if (error) {
IL_ERR("Invalid RXON\n");
@@ -3633,6 +3650,7 @@ il_check_rxon_cmd(struct il_priv *il, struct il_rxon_context *ctx)
}
return 0;
}
+
EXPORT_SYMBOL(il_check_rxon_cmd);
/**
@@ -3643,8 +3661,8 @@ EXPORT_SYMBOL(il_check_rxon_cmd);
* or is clearing the RXON_FILTER_ASSOC_MSK, then return 1 to indicate that
* a new tune (full RXON command, rather than RXON_ASSOC cmd) is required.
*/
-int il_full_rxon_required(struct il_priv *il,
- struct il_rxon_context *ctx)
+int
+il_full_rxon_required(struct il_priv *il, struct il_rxon_context *ctx)
{
const struct il_rxon_cmd *staging = &ctx->staging;
const struct il_rxon_cmd *active = &ctx->active;
@@ -3667,8 +3685,8 @@ int il_full_rxon_required(struct il_priv *il,
CHK(!il_is_associated_ctx(ctx));
CHK(compare_ether_addr(staging->bssid_addr, active->bssid_addr));
CHK(compare_ether_addr(staging->node_addr, active->node_addr));
- CHK(compare_ether_addr(staging->wlap_bssid_addr,
- active->wlap_bssid_addr));
+ CHK(compare_ether_addr
+ (staging->wlap_bssid_addr, active->wlap_bssid_addr));
CHK_NEQ(staging->dev_type, active->dev_type);
CHK_NEQ(staging->channel, active->channel);
CHK_NEQ(staging->air_propagation, active->air_propagation);
@@ -3695,10 +3713,11 @@ int il_full_rxon_required(struct il_priv *il,
return 0;
}
+
EXPORT_SYMBOL(il_full_rxon_required);
-u8 il_get_lowest_plcp(struct il_priv *il,
- struct il_rxon_context *ctx)
+u8
+il_get_lowest_plcp(struct il_priv * il, struct il_rxon_context * ctx)
{
/*
* Assign the lowest rate -- should really get this from
@@ -3709,44 +3728,43 @@ u8 il_get_lowest_plcp(struct il_priv *il,
else
return RATE_6M_PLCP;
}
+
EXPORT_SYMBOL(il_get_lowest_plcp);
-static void _il_set_rxon_ht(struct il_priv *il,
- struct il_ht_config *ht_conf,
- struct il_rxon_context *ctx)
+static void
+_il_set_rxon_ht(struct il_priv *il, struct il_ht_config *ht_conf,
+ struct il_rxon_context *ctx)
{
struct il_rxon_cmd *rxon = &ctx->staging;
if (!ctx->ht.enabled) {
- rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK |
- RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK |
- RXON_FLG_HT40_PROT_MSK |
- RXON_FLG_HT_PROT_MSK);
+ rxon->flags &=
+ ~(RXON_FLG_CHANNEL_MODE_MSK |
+ RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK | RXON_FLG_HT40_PROT_MSK
+ | RXON_FLG_HT_PROT_MSK);
return;
}
- rxon->flags |= cpu_to_le32(ctx->ht.protection <<
- RXON_FLG_HT_OPERATING_MODE_POS);
+ rxon->flags |=
+ cpu_to_le32(ctx->ht.protection << RXON_FLG_HT_OPERATING_MODE_POS);
/* Set up channel bandwidth:
* 20 MHz only, 20/40 mixed or pure 40 if ht40 ok */
/* clear the HT channel mode before set the mode */
- rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MSK |
- RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK);
+ rxon->flags &=
+ ~(RXON_FLG_CHANNEL_MODE_MSK | RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK);
if (il_is_ht40_tx_allowed(il, ctx, NULL)) {
/* pure ht40 */
- if (ctx->ht.protection ==
- IEEE80211_HT_OP_MODE_PROTECTION_20MHZ) {
+ if (ctx->ht.protection == IEEE80211_HT_OP_MODE_PROTECTION_20MHZ) {
rxon->flags |= RXON_FLG_CHANNEL_MODE_PURE_40;
/* Note: control channel is opposite of extension channel */
switch (ctx->ht.extension_chan_offset) {
case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
rxon->flags &=
- ~RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
+ ~RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
break;
case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
- rxon->flags |=
- RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
+ rxon->flags |= RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
break;
}
} else {
@@ -3754,19 +3772,17 @@ static void _il_set_rxon_ht(struct il_priv *il,
switch (ctx->ht.extension_chan_offset) {
case IEEE80211_HT_PARAM_CHA_SEC_ABOVE:
rxon->flags &=
- ~(RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK);
+ ~(RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK);
rxon->flags |= RXON_FLG_CHANNEL_MODE_MIXED;
break;
case IEEE80211_HT_PARAM_CHA_SEC_BELOW:
- rxon->flags |=
- RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
+ rxon->flags |= RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK;
rxon->flags |= RXON_FLG_CHANNEL_MODE_MIXED;
break;
case IEEE80211_HT_PARAM_CHA_SEC_NONE:
default:
/* channel location only valid if in Mixed mode */
- IL_ERR(
- "invalid extension channel offset\n");
+ IL_ERR("invalid extension channel offset\n");
break;
}
}
@@ -3778,20 +3794,21 @@ static void _il_set_rxon_ht(struct il_priv *il,
il->cfg->ops->hcmd->set_rxon_chain(il, ctx);
D_ASSOC("rxon flags 0x%X operation mode :0x%X "
- "extension channel offset 0x%x\n",
- le32_to_cpu(rxon->flags), ctx->ht.protection,
- ctx->ht.extension_chan_offset);
+ "extension channel offset 0x%x\n", le32_to_cpu(rxon->flags),
+ ctx->ht.protection, ctx->ht.extension_chan_offset);
}
-void il_set_rxon_ht(struct il_priv *il, struct il_ht_config *ht_conf)
+void
+il_set_rxon_ht(struct il_priv *il, struct il_ht_config *ht_conf)
{
_il_set_rxon_ht(il, ht_conf, &il->ctx);
}
+
EXPORT_SYMBOL(il_set_rxon_ht);
/* Return valid, unused, channel for a passive scan to reset the RF */
-u8 il_get_single_channel_number(struct il_priv *il,
- enum ieee80211_band band)
+u8
+il_get_single_channel_number(struct il_priv *il, enum ieee80211_band band)
{
const struct il_channel_info *ch_info;
int i;
@@ -3818,6 +3835,7 @@ u8 il_get_single_channel_number(struct il_priv *il,
return channel;
}
+
EXPORT_SYMBOL(il_get_single_channel_number);
/**
@@ -3829,7 +3847,7 @@ EXPORT_SYMBOL(il_get_single_channel_number);
*/
int
il_set_rxon_channel(struct il_priv *il, struct ieee80211_channel *ch,
- struct il_rxon_context *ctx)
+ struct il_rxon_context *ctx)
{
enum ieee80211_band band = ch->band;
u16 channel = ch->hw_value;
@@ -3849,17 +3867,17 @@ il_set_rxon_channel(struct il_priv *il, struct ieee80211_channel *ch,
return 0;
}
+
EXPORT_SYMBOL(il_set_rxon_channel);
-void il_set_flags_for_band(struct il_priv *il,
- struct il_rxon_context *ctx,
- enum ieee80211_band band,
- struct ieee80211_vif *vif)
+void
+il_set_flags_for_band(struct il_priv *il, struct il_rxon_context *ctx,
+ enum ieee80211_band band, struct ieee80211_vif *vif)
{
if (band == IEEE80211_BAND_5GHZ) {
ctx->staging.flags &=
- ~(RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK
- | RXON_FLG_CCK_MSK);
+ ~(RXON_FLG_BAND_24G_MSK | RXON_FLG_AUTO_DETECT_MSK |
+ RXON_FLG_CCK_MSK);
ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
} else {
/* Copied from il_post_associate() */
@@ -3873,13 +3891,14 @@ void il_set_flags_for_band(struct il_priv *il,
ctx->staging.flags &= ~RXON_FLG_CCK_MSK;
}
}
+
EXPORT_SYMBOL(il_set_flags_for_band);
/*
* initialize rxon structure with default values from eeprom
*/
-void il_connection_init_rx_config(struct il_priv *il,
- struct il_rxon_context *ctx)
+void
+il_connection_init_rx_config(struct il_priv *il, struct il_rxon_context *ctx)
{
const struct il_channel_info *ch_info;
@@ -3888,25 +3907,26 @@ void il_connection_init_rx_config(struct il_priv *il,
if (!ctx->vif) {
ctx->staging.dev_type = ctx->unused_devtype;
} else
- switch (ctx->vif->type) {
+ switch (ctx->vif->type) {
- case NL80211_IFTYPE_STATION:
- ctx->staging.dev_type = ctx->station_devtype;
- ctx->staging.filter_flags = RXON_FILTER_ACCEPT_GRP_MSK;
- break;
+ case NL80211_IFTYPE_STATION:
+ ctx->staging.dev_type = ctx->station_devtype;
+ ctx->staging.filter_flags = RXON_FILTER_ACCEPT_GRP_MSK;
+ break;
- case NL80211_IFTYPE_ADHOC:
- ctx->staging.dev_type = ctx->ibss_devtype;
- ctx->staging.flags = RXON_FLG_SHORT_PREAMBLE_MSK;
- ctx->staging.filter_flags = RXON_FILTER_BCON_AWARE_MSK |
- RXON_FILTER_ACCEPT_GRP_MSK;
- break;
+ case NL80211_IFTYPE_ADHOC:
+ ctx->staging.dev_type = ctx->ibss_devtype;
+ ctx->staging.flags = RXON_FLG_SHORT_PREAMBLE_MSK;
+ ctx->staging.filter_flags =
+ RXON_FILTER_BCON_AWARE_MSK |
+ RXON_FILTER_ACCEPT_GRP_MSK;
+ break;
- default:
- IL_ERR("Unsupported interface type %d\n",
- ctx->vif->type);
- break;
- }
+ default:
+ IL_ERR("Unsupported interface type %d\n",
+ ctx->vif->type);
+ break;
+ }
#if 0
/* TODO: Figure out when short_preamble would be set and cache from
@@ -3917,8 +3937,8 @@ void il_connection_init_rx_config(struct il_priv *il,
ctx->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
#endif
- ch_info = il_get_channel_info(il, il->band,
- le16_to_cpu(ctx->active.channel));
+ ch_info =
+ il_get_channel_info(il, il->band, le16_to_cpu(ctx->active.channel));
if (!ch_info)
ch_info = &il->channel_info[0];
@@ -3934,17 +3954,19 @@ void il_connection_init_rx_config(struct il_priv *il,
(IL_CCK_RATES_MASK >> IL_FIRST_CCK_RATE) & 0xF;
/* clear both MIX and PURE40 mode flag */
- ctx->staging.flags &= ~(RXON_FLG_CHANNEL_MODE_MIXED |
- RXON_FLG_CHANNEL_MODE_PURE_40);
+ ctx->staging.flags &=
+ ~(RXON_FLG_CHANNEL_MODE_MIXED | RXON_FLG_CHANNEL_MODE_PURE_40);
if (ctx->vif)
memcpy(ctx->staging.node_addr, ctx->vif->addr, ETH_ALEN);
ctx->staging.ofdm_ht_single_stream_basic_rates = 0xff;
ctx->staging.ofdm_ht_dual_stream_basic_rates = 0xff;
}
+
EXPORT_SYMBOL(il_connection_init_rx_config);
-void il_set_rate(struct il_priv *il)
+void
+il_set_rate(struct il_priv *il)
{
const struct ieee80211_supported_band *hw = NULL;
struct ieee80211_rate *rate;
@@ -3967,14 +3989,16 @@ void il_set_rate(struct il_priv *il)
D_RATE("Set active_rate = %0x\n", il->active_rate);
il->ctx.staging.cck_basic_rates =
- (IL_CCK_BASIC_RATES_MASK >> IL_FIRST_CCK_RATE) & 0xF;
+ (IL_CCK_BASIC_RATES_MASK >> IL_FIRST_CCK_RATE) & 0xF;
il->ctx.staging.ofdm_basic_rates =
- (IL_OFDM_BASIC_RATES_MASK >> IL_FIRST_OFDM_RATE) & 0xFF;
+ (IL_OFDM_BASIC_RATES_MASK >> IL_FIRST_OFDM_RATE) & 0xFF;
}
+
EXPORT_SYMBOL(il_set_rate);
-void il_chswitch_done(struct il_priv *il, bool is_success)
+void
+il_chswitch_done(struct il_priv *il, bool is_success)
{
struct il_rxon_context *ctx = &il->ctx;
@@ -3984,9 +4008,11 @@ void il_chswitch_done(struct il_priv *il, bool is_success)
if (test_and_clear_bit(S_CHANNEL_SWITCH_PENDING, &il->status))
ieee80211_chswitch_done(ctx->vif, is_success);
}
+
EXPORT_SYMBOL(il_chswitch_done);
-void il_hdl_csa(struct il_priv *il, struct il_rx_buf *rxb)
+void
+il_hdl_csa(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
struct il_csa_notification *csa = &(pkt->u.csa_notif);
@@ -4000,46 +4026,43 @@ void il_hdl_csa(struct il_priv *il, struct il_rx_buf *rxb)
if (!le32_to_cpu(csa->status) && csa->channel == il->switch_channel) {
rxon->channel = csa->channel;
ctx->staging.channel = csa->channel;
- D_11H("CSA notif: channel %d\n",
- le16_to_cpu(csa->channel));
+ D_11H("CSA notif: channel %d\n", le16_to_cpu(csa->channel));
il_chswitch_done(il, true);
} else {
IL_ERR("CSA notif (fail) : channel %d\n",
- le16_to_cpu(csa->channel));
+ le16_to_cpu(csa->channel));
il_chswitch_done(il, false);
}
}
+
EXPORT_SYMBOL(il_hdl_csa);
#ifdef CONFIG_IWLEGACY_DEBUG
-void il_print_rx_config_cmd(struct il_priv *il,
- struct il_rxon_context *ctx)
+void
+il_print_rx_config_cmd(struct il_priv *il, struct il_rxon_context *ctx)
{
struct il_rxon_cmd *rxon = &ctx->staging;
D_RADIO("RX CONFIG:\n");
il_print_hex_dump(il, IL_DL_RADIO, (u8 *) rxon, sizeof(*rxon));
- D_RADIO("u16 channel: 0x%x\n",
- le16_to_cpu(rxon->channel));
+ D_RADIO("u16 channel: 0x%x\n", le16_to_cpu(rxon->channel));
D_RADIO("u32 flags: 0x%08X\n", le32_to_cpu(rxon->flags));
- D_RADIO("u32 filter_flags: 0x%08x\n",
- le32_to_cpu(rxon->filter_flags));
+ D_RADIO("u32 filter_flags: 0x%08x\n", le32_to_cpu(rxon->filter_flags));
D_RADIO("u8 dev_type: 0x%x\n", rxon->dev_type);
- D_RADIO("u8 ofdm_basic_rates: 0x%02x\n",
- rxon->ofdm_basic_rates);
- D_RADIO("u8 cck_basic_rates: 0x%02x\n",
- rxon->cck_basic_rates);
+ D_RADIO("u8 ofdm_basic_rates: 0x%02x\n", rxon->ofdm_basic_rates);
+ D_RADIO("u8 cck_basic_rates: 0x%02x\n", rxon->cck_basic_rates);
D_RADIO("u8[6] node_addr: %pM\n", rxon->node_addr);
D_RADIO("u8[6] bssid_addr: %pM\n", rxon->bssid_addr);
- D_RADIO("u16 assoc_id: 0x%x\n",
- le16_to_cpu(rxon->assoc_id));
+ D_RADIO("u16 assoc_id: 0x%x\n", le16_to_cpu(rxon->assoc_id));
}
+
EXPORT_SYMBOL(il_print_rx_config_cmd);
#endif
/**
* il_irq_handle_error - called for HW or SW error interrupt from card
*/
-void il_irq_handle_error(struct il_priv *il)
+void
+il_irq_handle_error(struct il_priv *il)
{
/* Set the FW error flag -- cleared on il_down */
set_bit(S_FW_ERROR, &il->status);
@@ -4047,16 +4070,14 @@ void il_irq_handle_error(struct il_priv *il)
/* Cancel currently queued command. */
clear_bit(S_HCMD_ACTIVE, &il->status);
- IL_ERR("Loaded firmware version: %s\n",
- il->hw->wiphy->fw_version);
+ IL_ERR("Loaded firmware version: %s\n", il->hw->wiphy->fw_version);
il->cfg->ops->lib->dump_nic_error_log(il);
if (il->cfg->ops->lib->dump_fh)
il->cfg->ops->lib->dump_fh(il, NULL, false);
#ifdef CONFIG_IWLEGACY_DEBUG
if (il_get_debug_level(il) & IL_DL_FW_ERRORS)
- il_print_rx_config_cmd(il,
- &il->ctx);
+ il_print_rx_config_cmd(il, &il->ctx);
#endif
wake_up(&il->wait_command_queue);
@@ -4067,23 +4088,26 @@ void il_irq_handle_error(struct il_priv *il)
if (!test_bit(S_EXIT_PENDING, &il->status)) {
IL_DBG(IL_DL_FW_ERRORS,
- "Restarting adapter due to uCode error.\n");
+ "Restarting adapter due to uCode error.\n");
if (il->cfg->mod_params->restart_fw)
queue_work(il->workqueue, &il->restart);
}
}
+
EXPORT_SYMBOL(il_irq_handle_error);
-static int il_apm_stop_master(struct il_priv *il)
+static int
+il_apm_stop_master(struct il_priv *il)
{
int ret = 0;
/* stop device's busmaster DMA activity */
il_set_bit(il, CSR_RESET, CSR_RESET_REG_FLAG_STOP_MASTER);
- ret = _il_poll_bit(il, CSR_RESET, CSR_RESET_REG_FLAG_MASTER_DISABLED,
- CSR_RESET_REG_FLAG_MASTER_DISABLED, 100);
+ ret =
+ _il_poll_bit(il, CSR_RESET, CSR_RESET_REG_FLAG_MASTER_DISABLED,
+ CSR_RESET_REG_FLAG_MASTER_DISABLED, 100);
if (ret)
IL_WARN("Master Disable Timed Out, 100 usec\n");
@@ -4092,7 +4116,8 @@ static int il_apm_stop_master(struct il_priv *il)
return ret;
}
-void il_apm_stop(struct il_priv *il)
+void
+il_apm_stop(struct il_priv *il)
{
D_INFO("Stop card, put in low power state\n");
@@ -4108,18 +4133,18 @@ void il_apm_stop(struct il_priv *il)
* Clear "initialization complete" bit to move adapter from
* D0A* (powered-up Active) --> D0U* (Uninitialized) state.
*/
- il_clear_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
+ il_clear_bit(il, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
}
-EXPORT_SYMBOL(il_apm_stop);
+EXPORT_SYMBOL(il_apm_stop);
/*
* Start up NIC's basic functionality after it has been reset
* (e.g. after platform boot, or shutdown via il_apm_stop())
* NOTE: This does not load uCode nor start the embedded processor
*/
-int il_apm_init(struct il_priv *il)
+int
+il_apm_init(struct il_priv *il)
{
int ret = 0;
u16 lctl;
@@ -4133,18 +4158,17 @@ int il_apm_init(struct il_priv *il)
/* Disable L0S exit timer (platform NMI Work/Around) */
il_set_bit(il, CSR_GIO_CHICKEN_BITS,
- CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER);
+ CSR_GIO_CHICKEN_BITS_REG_BIT_DIS_L0S_EXIT_TIMER);
/*
* Disable L0s without affecting L1;
* don't wait for ICH L0s (ICH bug W/A)
*/
il_set_bit(il, CSR_GIO_CHICKEN_BITS,
- CSR_GIO_CHICKEN_BITS_REG_BIT_L1A_NO_L0S_RX);
+ CSR_GIO_CHICKEN_BITS_REG_BIT_L1A_NO_L0S_RX);
/* Set FH wait threshold to maximum (HW error during stress W/A) */
- il_set_bit(il, CSR_DBG_HPET_MEM_REG,
- CSR_DBG_HPET_MEM_REG_VAL);
+ il_set_bit(il, CSR_DBG_HPET_MEM_REG, CSR_DBG_HPET_MEM_REG_VAL);
/*
* Enable HAP INTA (interrupt from management bus) to
@@ -4152,7 +4176,7 @@ int il_apm_init(struct il_priv *il)
* NOTE: This is no-op for 3945 (non-existent bit)
*/
il_set_bit(il, CSR_HW_IF_CONFIG_REG,
- CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A);
+ CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A);
/*
* HW bug W/A for instability in PCIe bus L0->L0S->L1 transition.
@@ -4165,15 +4189,15 @@ int il_apm_init(struct il_priv *il)
if (il->cfg->base_params->set_l0s) {
lctl = il_pcie_link_ctl(il);
if ((lctl & PCI_CFG_LINK_CTRL_VAL_L1_EN) ==
- PCI_CFG_LINK_CTRL_VAL_L1_EN) {
+ PCI_CFG_LINK_CTRL_VAL_L1_EN) {
/* L1-ASPM enabled; disable(!) L0S */
il_set_bit(il, CSR_GIO_REG,
- CSR_GIO_REG_VAL_L0S_ENABLED);
+ CSR_GIO_REG_VAL_L0S_ENABLED);
D_POWER("L1 Enabled; Disabling L0S\n");
} else {
/* L1-ASPM disabled; enable(!) L0S */
il_clear_bit(il, CSR_GIO_REG,
- CSR_GIO_REG_VAL_L0S_ENABLED);
+ CSR_GIO_REG_VAL_L0S_ENABLED);
D_POWER("L1 Disabled; Enabling L0S\n");
}
}
@@ -4181,7 +4205,7 @@ int il_apm_init(struct il_priv *il)
/* Configure analog phase-lock-loop before activating to D0A */
if (il->cfg->base_params->pll_cfg_val)
il_set_bit(il, CSR_ANA_PLL_CFG,
- il->cfg->base_params->pll_cfg_val);
+ il->cfg->base_params->pll_cfg_val);
/*
* Set "initialization complete" bit to move adapter from
@@ -4194,9 +4218,10 @@ int il_apm_init(struct il_priv *il)
* device-internal resources is supported, e.g. il_wr_prph()
* and accesses to uCode SRAM.
*/
- ret = _il_poll_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY,
- CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25000);
+ ret =
+ _il_poll_bit(il, CSR_GP_CNTRL,
+ CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY,
+ CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY, 25000);
if (ret < 0) {
D_INFO("Failed to init the card\n");
goto out;
@@ -4212,23 +4237,23 @@ int il_apm_init(struct il_priv *il)
*/
if (il->cfg->base_params->use_bsm)
il_wr_prph(il, APMG_CLK_EN_REG,
- APMG_CLK_VAL_DMA_CLK_RQT | APMG_CLK_VAL_BSM_CLK_RQT);
+ APMG_CLK_VAL_DMA_CLK_RQT | APMG_CLK_VAL_BSM_CLK_RQT);
else
- il_wr_prph(il, APMG_CLK_EN_REG,
- APMG_CLK_VAL_DMA_CLK_RQT);
+ il_wr_prph(il, APMG_CLK_EN_REG, APMG_CLK_VAL_DMA_CLK_RQT);
udelay(20);
/* Disable L1-Active */
il_set_bits_prph(il, APMG_PCIDEV_STT_REG,
- APMG_PCIDEV_STT_VAL_L1_ACT_DIS);
+ APMG_PCIDEV_STT_VAL_L1_ACT_DIS);
out:
return ret;
}
-EXPORT_SYMBOL(il_apm_init);
+EXPORT_SYMBOL(il_apm_init);
-int il_set_tx_power(struct il_priv *il, s8 tx_power, bool force)
+int
+il_set_tx_power(struct il_priv *il, s8 tx_power, bool force)
{
int ret;
s8 prev_tx_power;
@@ -4245,16 +4270,13 @@ int il_set_tx_power(struct il_priv *il, s8 tx_power, bool force)
/* 0 dBm mean 1 milliwatt */
if (tx_power < 0) {
- IL_WARN(
- "Requested user TXPOWER %d below 1 mW.\n",
- tx_power);
+ IL_WARN("Requested user TXPOWER %d below 1 mW.\n", tx_power);
return -EINVAL;
}
if (tx_power > il->tx_power_device_lmt) {
- IL_WARN(
- "Requested user TXPOWER %d above upper limit %d.\n",
- tx_power, il->tx_power_device_lmt);
+ IL_WARN("Requested user TXPOWER %d above upper limit %d.\n",
+ tx_power, il->tx_power_device_lmt);
return -EINVAL;
}
@@ -4267,7 +4289,7 @@ int il_set_tx_power(struct il_priv *il, s8 tx_power, bool force)
/* do not set tx power when scanning or channel changing */
defer = test_bit(S_SCANNING, &il->status) ||
- memcmp(&ctx->active, &ctx->staging, sizeof(ctx->staging));
+ memcmp(&ctx->active, &ctx->staging, sizeof(ctx->staging));
if (defer && !force) {
D_INFO("Deferring tx power set\n");
return 0;
@@ -4285,9 +4307,11 @@ int il_set_tx_power(struct il_priv *il, s8 tx_power, bool force)
}
return ret;
}
+
EXPORT_SYMBOL(il_set_tx_power);
-void il_send_bt_config(struct il_priv *il)
+void
+il_send_bt_config(struct il_priv *il)
{
struct il_bt_cmd bt_cmd = {
.lead_time = BT_LEAD_TIME_DEF,
@@ -4302,34 +4326,31 @@ void il_send_bt_config(struct il_priv *il)
bt_cmd.flags = BT_COEX_ENABLE;
D_INFO("BT coex %s\n",
- (bt_cmd.flags == BT_COEX_DISABLE) ? "disable" : "active");
+ (bt_cmd.flags == BT_COEX_DISABLE) ? "disable" : "active");
- if (il_send_cmd_pdu(il, C_BT_CONFIG,
- sizeof(struct il_bt_cmd), &bt_cmd))
+ if (il_send_cmd_pdu(il, C_BT_CONFIG, sizeof(struct il_bt_cmd), &bt_cmd))
IL_ERR("failed to send BT Coex Config\n");
}
EXPORT_SYMBOL(il_send_bt_config);
-int il_send_stats_request(struct il_priv *il, u8 flags, bool clear)
+int
+il_send_stats_request(struct il_priv *il, u8 flags, bool clear)
{
struct il_stats_cmd stats_cmd = {
- .configuration_flags =
- clear ? IL_STATS_CONF_CLEAR_STATS : 0,
+ .configuration_flags = clear ? IL_STATS_CONF_CLEAR_STATS : 0,
};
if (flags & CMD_ASYNC)
- return il_send_cmd_pdu_async(il, C_STATS,
- sizeof(struct il_stats_cmd),
- &stats_cmd, NULL);
+ return il_send_cmd_pdu_async(il, C_STATS, sizeof(struct il_stats_cmd),
+ &stats_cmd, NULL);
else
- return il_send_cmd_pdu(il, C_STATS,
- sizeof(struct il_stats_cmd),
- &stats_cmd);
+ return il_send_cmd_pdu(il, C_STATS, sizeof(struct il_stats_cmd),
+ &stats_cmd);
}
EXPORT_SYMBOL(il_send_stats_request);
-void il_hdl_pm_sleep(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il_hdl_pm_sleep(struct il_priv *il, struct il_rx_buf *rxb)
{
#ifdef CONFIG_IWLEGACY_DEBUG
struct il_rx_pkt *pkt = rxb_addr(rxb);
@@ -4340,41 +4361,41 @@ void il_hdl_pm_sleep(struct il_priv *il,
}
EXPORT_SYMBOL(il_hdl_pm_sleep);
-void il_hdl_pm_debug_stats(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il_hdl_pm_debug_stats(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
u32 len = le32_to_cpu(pkt->len_n_flags) & IL_RX_FRAME_SIZE_MSK;
- D_RADIO("Dumping %d bytes of unhandled "
- "notification for %s:\n", len,
- il_get_cmd_string(pkt->hdr.cmd));
+ D_RADIO("Dumping %d bytes of unhandled notification for %s:\n", len,
+ il_get_cmd_string(pkt->hdr.cmd));
il_print_hex_dump(il, IL_DL_RADIO, pkt->u.raw, len);
}
EXPORT_SYMBOL(il_hdl_pm_debug_stats);
-void il_hdl_error(struct il_priv *il,
- struct il_rx_buf *rxb)
+void
+il_hdl_error(struct il_priv *il, struct il_rx_buf *rxb)
{
struct il_rx_pkt *pkt = rxb_addr(rxb);
IL_ERR("Error Reply type 0x%08X cmd %s (0x%02X) "
- "seq 0x%04X ser 0x%08X\n",
- le32_to_cpu(pkt->u.err_resp.error_type),
- il_get_cmd_string(pkt->u.err_resp.cmd_id),
- pkt->u.err_resp.cmd_id,
- le16_to_cpu(pkt->u.err_resp.bad_cmd_seq_num),
- le32_to_cpu(pkt->u.err_resp.error_info));
+ "seq 0x%04X ser 0x%08X\n",
+ le32_to_cpu(pkt->u.err_resp.error_type),
+ il_get_cmd_string(pkt->u.err_resp.cmd_id),
+ pkt->u.err_resp.cmd_id,
+ le16_to_cpu(pkt->u.err_resp.bad_cmd_seq_num),
+ le32_to_cpu(pkt->u.err_resp.error_info));
}
EXPORT_SYMBOL(il_hdl_error);
-void il_clear_isr_stats(struct il_priv *il)
+void
+il_clear_isr_stats(struct il_priv *il)
{
memset(&il->isr_stats, 0, sizeof(il->isr_stats));
}
-int il_mac_conf_tx(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif, u16 queue,
- const struct ieee80211_tx_queue_params *params)
+int
+il_mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u16 queue,
+ const struct ieee80211_tx_queue_params *params)
{
struct il_priv *il = hw->priv;
unsigned long flags;
@@ -4397,12 +4418,12 @@ int il_mac_conf_tx(struct ieee80211_hw *hw,
spin_lock_irqsave(&il->lock, flags);
il->ctx.qos_data.def_qos_parm.ac[q].cw_min =
- cpu_to_le16(params->cw_min);
+ cpu_to_le16(params->cw_min);
il->ctx.qos_data.def_qos_parm.ac[q].cw_max =
- cpu_to_le16(params->cw_max);
+ cpu_to_le16(params->cw_max);
il->ctx.qos_data.def_qos_parm.ac[q].aifsn = params->aifs;
il->ctx.qos_data.def_qos_parm.ac[q].edca_txop =
- cpu_to_le16((params->txop * 32));
+ cpu_to_le16((params->txop * 32));
il->ctx.qos_data.def_qos_parm.ac[q].reserved1 = 0;
@@ -4411,14 +4432,17 @@ int il_mac_conf_tx(struct ieee80211_hw *hw,
D_MAC80211("leave\n");
return 0;
}
+
EXPORT_SYMBOL(il_mac_conf_tx);
-int il_mac_tx_last_beacon(struct ieee80211_hw *hw)
+int
+il_mac_tx_last_beacon(struct ieee80211_hw *hw)
{
struct il_priv *il = hw->priv;
return il->ibss_manager == IL_IBSS_MANAGER;
}
+
EXPORT_SYMBOL_GPL(il_mac_tx_last_beacon);
static int
@@ -4432,8 +4456,8 @@ il_set_mode(struct il_priv *il, struct il_rxon_context *ctx)
return il_commit_rxon(il, ctx);
}
-static int il_setup_interface(struct il_priv *il,
- struct il_rxon_context *ctx)
+static int
+il_setup_interface(struct il_priv *il, struct il_rxon_context *ctx)
{
struct ieee80211_vif *vif = ctx->vif;
int err;
@@ -4467,8 +4491,7 @@ il_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
int err;
u32 modes;
- D_MAC80211("enter: type %d, addr %pM\n",
- vif->type, vif->addr);
+ D_MAC80211("enter: type %d, addr %pM\n", vif->type, vif->addr);
mutex_lock(&il->mutex);
@@ -4478,7 +4501,6 @@ il_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
goto out;
}
-
/* check if busy context is exclusive */
if (il->ctx.vif &&
(il->ctx.exclusive_interface_modes & BIT(il->ctx.vif->type))) {
@@ -4501,17 +4523,18 @@ il_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
il->iw_mode = NL80211_IFTYPE_STATION;
}
- out:
+out:
mutex_unlock(&il->mutex);
D_MAC80211("leave\n");
return err;
}
+
EXPORT_SYMBOL(il_mac_add_interface);
-static void il_teardown_interface(struct il_priv *il,
- struct ieee80211_vif *vif,
- bool mode_change)
+static void
+il_teardown_interface(struct il_priv *il, struct ieee80211_vif *vif,
+ bool mode_change)
{
struct il_rxon_context *ctx = il_rxon_ctx_from_vif(vif);
@@ -4529,8 +4552,8 @@ static void il_teardown_interface(struct il_priv *il,
}
}
-void il_mac_remove_interface(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif)
+void
+il_mac_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
{
struct il_priv *il = hw->priv;
struct il_rxon_context *ctx = il_rxon_ctx_from_vif(vif);
@@ -4550,35 +4573,40 @@ void il_mac_remove_interface(struct ieee80211_hw *hw,
D_MAC80211("leave\n");
}
+
EXPORT_SYMBOL(il_mac_remove_interface);
-int il_alloc_txq_mem(struct il_priv *il)
+int
+il_alloc_txq_mem(struct il_priv *il)
{
if (!il->txq)
- il->txq = kzalloc(
- sizeof(struct il_tx_queue) *
- il->cfg->base_params->num_of_queues,
- GFP_KERNEL);
+ il->txq =
+ kzalloc(sizeof(struct il_tx_queue) *
+ il->cfg->base_params->num_of_queues, GFP_KERNEL);
if (!il->txq) {
IL_ERR("Not enough memory for txq\n");
return -ENOMEM;
}
return 0;
}
+
EXPORT_SYMBOL(il_alloc_txq_mem);
-void il_txq_mem(struct il_priv *il)
+void
+il_txq_mem(struct il_priv *il)
{
kfree(il->txq);
il->txq = NULL;
}
+
EXPORT_SYMBOL(il_txq_mem);
#ifdef CONFIG_IWLEGACY_DEBUGFS
#define IL_TRAFFIC_DUMP_SIZE (IL_TRAFFIC_ENTRY_SIZE * IL_TRAFFIC_ENTRIES)
-void il_reset_traffic_log(struct il_priv *il)
+void
+il_reset_traffic_log(struct il_priv *il)
{
il->tx_traffic_idx = 0;
il->rx_traffic_idx = 0;
@@ -4588,22 +4616,21 @@ void il_reset_traffic_log(struct il_priv *il)
memset(il->rx_traffic, 0, IL_TRAFFIC_DUMP_SIZE);
}
-int il_alloc_traffic_mem(struct il_priv *il)
+int
+il_alloc_traffic_mem(struct il_priv *il)
{
u32 traffic_size = IL_TRAFFIC_DUMP_SIZE;
if (il_debug_level & IL_DL_TX) {
if (!il->tx_traffic) {
- il->tx_traffic =
- kzalloc(traffic_size, GFP_KERNEL);
+ il->tx_traffic = kzalloc(traffic_size, GFP_KERNEL);
if (!il->tx_traffic)
return -ENOMEM;
}
}
if (il_debug_level & IL_DL_RX) {
if (!il->rx_traffic) {
- il->rx_traffic =
- kzalloc(traffic_size, GFP_KERNEL);
+ il->rx_traffic = kzalloc(traffic_size, GFP_KERNEL);
if (!il->rx_traffic)
return -ENOMEM;
}
@@ -4611,9 +4638,11 @@ int il_alloc_traffic_mem(struct il_priv *il)
il_reset_traffic_log(il);
return 0;
}
+
EXPORT_SYMBOL(il_alloc_traffic_mem);
-void il_free_traffic_mem(struct il_priv *il)
+void
+il_free_traffic_mem(struct il_priv *il)
{
kfree(il->tx_traffic);
il->tx_traffic = NULL;
@@ -4621,10 +4650,12 @@ void il_free_traffic_mem(struct il_priv *il)
kfree(il->rx_traffic);
il->rx_traffic = NULL;
}
+
EXPORT_SYMBOL(il_free_traffic_mem);
-void il_dbg_log_tx_data_frame(struct il_priv *il,
- u16 length, struct ieee80211_hdr *header)
+void
+il_dbg_log_tx_data_frame(struct il_priv *il, u16 length,
+ struct ieee80211_hdr *header)
{
__le16 fc;
u16 len;
@@ -4637,19 +4668,22 @@ void il_dbg_log_tx_data_frame(struct il_priv *il,
fc = header->frame_control;
if (ieee80211_is_data(fc)) {
- len = (length > IL_TRAFFIC_ENTRY_SIZE)
- ? IL_TRAFFIC_ENTRY_SIZE : length;
+ len =
+ (length >
+ IL_TRAFFIC_ENTRY_SIZE) ? IL_TRAFFIC_ENTRY_SIZE : length;
memcpy((il->tx_traffic +
- (il->tx_traffic_idx * IL_TRAFFIC_ENTRY_SIZE)),
- header, len);
+ (il->tx_traffic_idx * IL_TRAFFIC_ENTRY_SIZE)), header,
+ len);
il->tx_traffic_idx =
- (il->tx_traffic_idx + 1) % IL_TRAFFIC_ENTRIES;
+ (il->tx_traffic_idx + 1) % IL_TRAFFIC_ENTRIES;
}
}
+
EXPORT_SYMBOL(il_dbg_log_tx_data_frame);
-void il_dbg_log_rx_data_frame(struct il_priv *il,
- u16 length, struct ieee80211_hdr *header)
+void
+il_dbg_log_rx_data_frame(struct il_priv *il, u16 length,
+ struct ieee80211_hdr *header)
{
__le16 fc;
u16 len;
@@ -4662,18 +4696,21 @@ void il_dbg_log_rx_data_frame(struct il_priv *il,
fc = header->frame_control;
if (ieee80211_is_data(fc)) {
- len = (length > IL_TRAFFIC_ENTRY_SIZE)
- ? IL_TRAFFIC_ENTRY_SIZE : length;
+ len =
+ (length >
+ IL_TRAFFIC_ENTRY_SIZE) ? IL_TRAFFIC_ENTRY_SIZE : length;
memcpy((il->rx_traffic +
- (il->rx_traffic_idx * IL_TRAFFIC_ENTRY_SIZE)),
- header, len);
+ (il->rx_traffic_idx * IL_TRAFFIC_ENTRY_SIZE)), header,
+ len);
il->rx_traffic_idx =
- (il->rx_traffic_idx + 1) % IL_TRAFFIC_ENTRIES;
+ (il->rx_traffic_idx + 1) % IL_TRAFFIC_ENTRIES;
}
}
+
EXPORT_SYMBOL(il_dbg_log_rx_data_frame);
-const char *il_get_mgmt_string(int cmd)
+const char *
+il_get_mgmt_string(int cmd)
{
switch (cmd) {
IL_CMD(MANAGEMENT_ASSOC_REQ);
@@ -4694,7 +4731,8 @@ const char *il_get_mgmt_string(int cmd)
}
}
-const char *il_get_ctrl_string(int cmd)
+const char *
+il_get_ctrl_string(int cmd)
{
switch (cmd) {
IL_CMD(CONTROL_BACK_REQ);
@@ -4711,7 +4749,8 @@ const char *il_get_ctrl_string(int cmd)
}
}
-void il_clear_traffic_stats(struct il_priv *il)
+void
+il_clear_traffic_stats(struct il_priv *il)
{
memset(&il->tx_stats, 0, sizeof(struct traffic_stats));
memset(&il->rx_stats, 0, sizeof(struct traffic_stats));
@@ -4731,7 +4770,7 @@ void il_clear_traffic_stats(struct il_priv *il)
void
il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len)
{
- struct traffic_stats *stats;
+ struct traffic_stats *stats;
if (is_tx)
stats = &il->tx_stats;
@@ -4810,10 +4849,12 @@ il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len)
stats->data_bytes += len;
}
}
+
EXPORT_SYMBOL(il_update_stats);
#endif
-int il_force_reset(struct il_priv *il, bool external)
+int
+il_force_reset(struct il_priv *il, bool external)
{
struct il_force_reset *force_reset;
@@ -4825,7 +4866,7 @@ int il_force_reset(struct il_priv *il, bool external)
if (!external) {
if (force_reset->last_force_reset_jiffies &&
time_after(force_reset->last_force_reset_jiffies +
- force_reset->reset_duration, jiffies)) {
+ force_reset->reset_duration, jiffies)) {
D_INFO("force reset rejected\n");
force_reset->reset_reject_count++;
return -EAGAIN;
@@ -4845,7 +4886,7 @@ int il_force_reset(struct il_priv *il, bool external)
if (!external && !il->cfg->mod_params->restart_fw) {
D_INFO("Cancel firmware reload based on "
- "module parameter setting\n");
+ "module parameter setting\n");
return 0;
}
@@ -4865,8 +4906,7 @@ int il_force_reset(struct il_priv *il, bool external)
}
int
-il_mac_change_interface(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
+il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
enum nl80211_iftype newtype, bool newp2p)
{
struct il_priv *il = hw->priv;
@@ -4914,17 +4954,19 @@ il_mac_change_interface(struct ieee80211_hw *hw,
*/
err = 0;
- out:
+out:
mutex_unlock(&il->mutex);
return err;
}
+
EXPORT_SYMBOL(il_mac_change_interface);
/*
* On every watchdog tick we check (latest) time stamp. If it does not
* change during timeout period and queue is not empty we reset firmware.
*/
-static int il_check_stuck_queue(struct il_priv *il, int cnt)
+static int
+il_check_stuck_queue(struct il_priv *il, int cnt)
{
struct il_tx_queue *txq = &il->txq[cnt];
struct il_queue *q = &txq->q;
@@ -4936,12 +4978,13 @@ static int il_check_stuck_queue(struct il_priv *il, int cnt)
return 0;
}
- timeout = txq->time_stamp +
- msecs_to_jiffies(il->cfg->base_params->wd_timeout);
+ timeout =
+ txq->time_stamp +
+ msecs_to_jiffies(il->cfg->base_params->wd_timeout);
if (time_after(jiffies, timeout)) {
- IL_ERR("Queue %d stuck for %u ms.\n",
- q->id, il->cfg->base_params->wd_timeout);
+ IL_ERR("Queue %d stuck for %u ms.\n", q->id,
+ il->cfg->base_params->wd_timeout);
ret = il_force_reset(il, false);
return (ret == -EAGAIN) ? 0 : 1;
}
@@ -4959,7 +5002,8 @@ static int il_check_stuck_queue(struct il_priv *il, int cnt)
* Watchdog timer callback, we check each tx queue for stuck, if if hung
* we reset the firmware. If everything is fine just rearm the timer.
*/
-void il_bg_watchdog(unsigned long data)
+void
+il_bg_watchdog(unsigned long data)
{
struct il_priv *il = (struct il_priv *)data;
int cnt;
@@ -4987,12 +5031,14 @@ void il_bg_watchdog(unsigned long data)
}
}
- mod_timer(&il->watchdog, jiffies +
- msecs_to_jiffies(IL_WD_TICK(timeout)));
+ mod_timer(&il->watchdog,
+ jiffies + msecs_to_jiffies(IL_WD_TICK(timeout)));
}
+
EXPORT_SYMBOL(il_bg_watchdog);
-void il_setup_watchdog(struct il_priv *il)
+void
+il_setup_watchdog(struct il_priv *il)
{
unsigned int timeout = il->cfg->base_params->wd_timeout;
@@ -5002,6 +5048,7 @@ void il_setup_watchdog(struct il_priv *il)
else
del_timer(&il->watchdog);
}
+
EXPORT_SYMBOL(il_setup_watchdog);
/*
@@ -5011,8 +5058,7 @@ EXPORT_SYMBOL(il_setup_watchdog);
* the internal part is the time in usec within one beacon interval
*/
u32
-il_usecs_to_beacons(struct il_priv *il,
- u32 usec, u32 beacon_interval)
+il_usecs_to_beacons(struct il_priv *il, u32 usec, u32 beacon_interval)
{
u32 quot;
u32 rem;
@@ -5021,32 +5067,42 @@ il_usecs_to_beacons(struct il_priv *il,
if (!interval || !usec)
return 0;
- quot = (usec / interval) &
- (il_beacon_time_mask_high(il,
- il->hw_params.beacon_time_tsf_bits) >>
- il->hw_params.beacon_time_tsf_bits);
- rem = (usec % interval) & il_beacon_time_mask_low(il,
- il->hw_params.beacon_time_tsf_bits);
+ quot =
+ (usec /
+ interval) & (il_beacon_time_mask_high(il,
+ il->hw_params.
+ beacon_time_tsf_bits) >> il->
+ hw_params.beacon_time_tsf_bits);
+ rem =
+ (usec % interval) & il_beacon_time_mask_low(il,
+ il->hw_params.
+ beacon_time_tsf_bits);
return (quot << il->hw_params.beacon_time_tsf_bits) + rem;
}
+
EXPORT_SYMBOL(il_usecs_to_beacons);
/* base is usually what we get from ucode with each received frame,
* the same as HW timer counter counting down
*/
-__le32 il_add_beacon_time(struct il_priv *il, u32 base,
- u32 addon, u32 beacon_interval)
+__le32
+il_add_beacon_time(struct il_priv * il, u32 base, u32 addon,
+ u32 beacon_interval)
{
u32 base_low = base & il_beacon_time_mask_low(il,
- il->hw_params.beacon_time_tsf_bits);
+ il->hw_params.
+ beacon_time_tsf_bits);
u32 addon_low = addon & il_beacon_time_mask_low(il,
- il->hw_params.beacon_time_tsf_bits);
+ il->hw_params.
+ beacon_time_tsf_bits);
u32 interval = beacon_interval * TIME_UNIT;
u32 res = (base & il_beacon_time_mask_high(il,
- il->hw_params.beacon_time_tsf_bits)) +
- (addon & il_beacon_time_mask_high(il,
- il->hw_params.beacon_time_tsf_bits));
+ il->hw_params.
+ beacon_time_tsf_bits)) +
+ (addon & il_beacon_time_mask_high(il,
+ il->hw_params.
+ beacon_time_tsf_bits));
if (base_low > addon_low)
res += base_low - addon_low;
@@ -5058,11 +5114,13 @@ __le32 il_add_beacon_time(struct il_priv *il, u32 base,
return cpu_to_le32(res);
}
+
EXPORT_SYMBOL(il_add_beacon_time);
#ifdef CONFIG_PM
-int il_pci_suspend(struct device *device)
+int
+il_pci_suspend(struct device *device)
{
struct pci_dev *pdev = to_pci_dev(device);
struct il_priv *il = pci_get_drvdata(pdev);
@@ -5078,9 +5136,11 @@ int il_pci_suspend(struct device *device)
return 0;
}
+
EXPORT_SYMBOL(il_pci_suspend);
-int il_pci_resume(struct device *device)
+int
+il_pci_resume(struct device *device)
{
struct pci_dev *pdev = to_pci_dev(device);
struct il_priv *il = pci_get_drvdata(pdev);
@@ -5094,8 +5154,7 @@ int il_pci_resume(struct device *device)
il_enable_interrupts(il);
- if (!(_il_rd(il, CSR_GP_CNTRL) &
- CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW))
+ if (!(_il_rd(il, CSR_GP_CNTRL) & CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW))
hw_rfkill = true;
if (hw_rfkill)
@@ -5107,6 +5166,7 @@ int il_pci_resume(struct device *device)
return 0;
}
+
EXPORT_SYMBOL(il_pci_resume);
const struct dev_pm_ops il_pm_ops = {
@@ -5117,6 +5177,7 @@ const struct dev_pm_ops il_pm_ops = {
.poweroff = il_pci_suspend,
.restore = il_pci_resume,
};
+
EXPORT_SYMBOL(il_pm_ops);
#endif /* CONFIG_PM */
@@ -5134,24 +5195,23 @@ il_update_qos(struct il_priv *il, struct il_rxon_context *ctx)
if (ctx->qos_data.qos_active)
ctx->qos_data.def_qos_parm.qos_flags |=
- QOS_PARAM_FLG_UPDATE_EDCA_MSK;
+ QOS_PARAM_FLG_UPDATE_EDCA_MSK;
if (ctx->ht.enabled)
ctx->qos_data.def_qos_parm.qos_flags |= QOS_PARAM_FLG_TGN_MSK;
D_QOS("send QoS cmd with Qos active=%d FLAGS=0x%X\n",
- ctx->qos_data.qos_active,
- ctx->qos_data.def_qos_parm.qos_flags);
+ ctx->qos_data.qos_active, ctx->qos_data.def_qos_parm.qos_flags);
- il_send_cmd_pdu_async(il, ctx->qos_cmd,
- sizeof(struct il_qosparam_cmd),
- &ctx->qos_data.def_qos_parm, NULL);
+ il_send_cmd_pdu_async(il, ctx->qos_cmd, sizeof(struct il_qosparam_cmd),
+ &ctx->qos_data.def_qos_parm, NULL);
}
/**
* il_mac_config - mac80211 config callback
*/
-int il_mac_config(struct ieee80211_hw *hw, u32 changed)
+int
+il_mac_config(struct ieee80211_hw *hw, u32 changed)
{
struct il_priv *il = hw->priv;
const struct il_channel_info *ch_info;
@@ -5170,16 +5230,16 @@ int il_mac_config(struct ieee80211_hw *hw, u32 changed)
mutex_lock(&il->mutex);
- D_MAC80211("enter to channel %d changed 0x%X\n",
- channel->hw_value, changed);
+ D_MAC80211("enter to channel %d changed 0x%X\n", channel->hw_value,
+ changed);
if (unlikely(test_bit(S_SCANNING, &il->status))) {
scan_active = 1;
D_MAC80211("scan active\n");
}
- if (changed & (IEEE80211_CONF_CHANGE_SMPS |
- IEEE80211_CONF_CHANGE_CHANNEL)) {
+ if (changed &
+ (IEEE80211_CONF_CHANGE_SMPS | IEEE80211_CONF_CHANGE_CHANNEL)) {
/* mac80211 uses static for non-HT which is what we want */
il->current_ht_config.smps = conf->smps_mode;
@@ -5227,15 +5287,15 @@ int il_mac_config(struct ieee80211_hw *hw, u32 changed)
if (ctx->ht.enabled) {
if (conf_is_ht40_minus(conf)) {
ctx->ht.extension_chan_offset =
- IEEE80211_HT_PARAM_CHA_SEC_BELOW;
+ IEEE80211_HT_PARAM_CHA_SEC_BELOW;
ctx->ht.is_40mhz = true;
} else if (conf_is_ht40_plus(conf)) {
ctx->ht.extension_chan_offset =
- IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
+ IEEE80211_HT_PARAM_CHA_SEC_ABOVE;
ctx->ht.is_40mhz = true;
} else {
ctx->ht.extension_chan_offset =
- IEEE80211_HT_PARAM_CHA_SEC_NONE;
+ IEEE80211_HT_PARAM_CHA_SEC_NONE;
ctx->ht.is_40mhz = false;
}
} else
@@ -5245,8 +5305,7 @@ int il_mac_config(struct ieee80211_hw *hw, u32 changed)
* Default to no protection. Protection mode will
* later be set from BSS config in il_ht_conf
*/
- ctx->ht.protection =
- IEEE80211_HT_OP_MODE_PROTECTION_NONE;
+ ctx->ht.protection = IEEE80211_HT_OP_MODE_PROTECTION_NONE;
/* if we are switching from ht to 2.4 clear flags
* from any ht related info since 2.4 does not
@@ -5257,32 +5316,29 @@ int il_mac_config(struct ieee80211_hw *hw, u32 changed)
il_set_rxon_channel(il, channel, ctx);
il_set_rxon_ht(il, ht_conf);
- il_set_flags_for_band(il, ctx, channel->band,
- ctx->vif);
+ il_set_flags_for_band(il, ctx, channel->band, ctx->vif);
spin_unlock_irqrestore(&il->lock, flags);
if (il->cfg->ops->legacy->update_bcast_stations)
- ret =
- il->cfg->ops->legacy->update_bcast_stations(il);
+ ret = il->cfg->ops->legacy->update_bcast_stations(il);
- set_ch_out:
+set_ch_out:
/* The list of supported rates and rate mask can be different
* for each band; since the band may have changed, reset
* the rate mask to what mac80211 lists */
il_set_rate(il);
}
- if (changed & (IEEE80211_CONF_CHANGE_PS |
- IEEE80211_CONF_CHANGE_IDLE)) {
+ if (changed & (IEEE80211_CONF_CHANGE_PS | IEEE80211_CONF_CHANGE_IDLE)) {
ret = il_power_update_mode(il, false);
if (ret)
D_MAC80211("Error setting sleep level\n");
}
if (changed & IEEE80211_CONF_CHANGE_POWER) {
- D_MAC80211("TX Power old=%d new=%d\n",
- il->tx_power_user_lmt, conf->power_level);
+ D_MAC80211("TX Power old=%d new=%d\n", il->tx_power_user_lmt,
+ conf->power_level);
il_set_tx_power(il, conf->power_level, false);
}
@@ -5309,8 +5365,8 @@ out:
}
EXPORT_SYMBOL(il_mac_config);
-void il_mac_reset_tsf(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif)
+void
+il_mac_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
{
struct il_priv *il = hw->priv;
unsigned long flags;
@@ -5357,10 +5413,11 @@ void il_mac_reset_tsf(struct ieee80211_hw *hw,
D_MAC80211("leave\n");
}
+
EXPORT_SYMBOL(il_mac_reset_tsf);
-static void il_ht_conf(struct il_priv *il,
- struct ieee80211_vif *vif)
+static void
+il_ht_conf(struct il_priv *il, struct ieee80211_vif *vif)
{
struct il_ht_config *ht_conf = &il->current_ht_config;
struct ieee80211_sta *sta;
@@ -5373,10 +5430,10 @@ static void il_ht_conf(struct il_priv *il,
return;
ctx->ht.protection =
- bss_conf->ht_operation_mode & IEEE80211_HT_OP_MODE_PROTECTION;
+ bss_conf->ht_operation_mode & IEEE80211_HT_OP_MODE_PROTECTION;
ctx->ht.non_gf_sta_present =
- !!(bss_conf->ht_operation_mode &
- IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT);
+ !!(bss_conf->
+ ht_operation_mode & IEEE80211_HT_OP_MODE_NON_GF_STA_PRSNT);
ht_conf->single_chain_sufficient = false;
@@ -5388,9 +5445,10 @@ static void il_ht_conf(struct il_priv *il,
struct ieee80211_sta_ht_cap *ht_cap = &sta->ht_cap;
int maxstreams;
- maxstreams = (ht_cap->mcs.tx_params &
- IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK)
- >> IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT;
+ maxstreams =
+ (ht_cap->mcs.
+ tx_params & IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK)
+ >> IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT;
maxstreams += 1;
if (ht_cap->mcs.rx_mask[1] == 0 &&
@@ -5419,8 +5477,8 @@ static void il_ht_conf(struct il_priv *il,
D_ASSOC("leave\n");
}
-static inline void il_set_no_assoc(struct il_priv *il,
- struct ieee80211_vif *vif)
+static inline void
+il_set_no_assoc(struct il_priv *il, struct ieee80211_vif *vif)
{
struct il_rxon_context *ctx = il_rxon_ctx_from_vif(vif);
@@ -5434,8 +5492,8 @@ static inline void il_set_no_assoc(struct il_priv *il,
il_commit_rxon(il, ctx);
}
-static void il_beacon_update(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif)
+static void
+il_beacon_update(struct ieee80211_hw *hw, struct ieee80211_vif *vif)
{
struct il_priv *il = hw->priv;
unsigned long flags;
@@ -5476,10 +5534,9 @@ static void il_beacon_update(struct ieee80211_hw *hw,
il->cfg->ops->legacy->post_associate(il);
}
-void il_mac_bss_info_changed(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_bss_conf *bss_conf,
- u32 changes)
+void
+il_mac_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_bss_conf *bss_conf, u32 changes)
{
struct il_priv *il = hw->priv;
struct il_rxon_context *ctx = il_rxon_ctx_from_vif(vif);
@@ -5527,24 +5584,21 @@ void il_mac_bss_info_changed(struct ieee80211_hw *hw,
* below/in post_associate will fail.
*/
if (il_scan_cancel_timeout(il, 100)) {
- IL_WARN(
- "Aborted scan still in progress after 100ms\n");
- D_MAC80211(
- "leaving - scan abort failed.\n");
+ IL_WARN("Aborted scan still in progress after 100ms\n");
+ D_MAC80211("leaving - scan abort failed.\n");
mutex_unlock(&il->mutex);
return;
}
/* mac80211 only sets assoc when in STATION mode */
if (vif->type == NL80211_IFTYPE_ADHOC || bss_conf->assoc) {
- memcpy(ctx->staging.bssid_addr,
- bss_conf->bssid, ETH_ALEN);
+ memcpy(ctx->staging.bssid_addr, bss_conf->bssid,
+ ETH_ALEN);
/* currently needed in a few places */
memcpy(il->bssid, bss_conf->bssid, ETH_ALEN);
} else {
- ctx->staging.filter_flags &=
- ~RXON_FILTER_ASSOC_MSK;
+ ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
}
}
@@ -5558,8 +5612,7 @@ void il_mac_bss_info_changed(struct ieee80211_hw *hw,
il_beacon_update(hw, vif);
if (changes & BSS_CHANGED_ERP_PREAMBLE) {
- D_MAC80211("ERP_PREAMBLE %d\n",
- bss_conf->use_short_preamble);
+ D_MAC80211("ERP_PREAMBLE %d\n", bss_conf->use_short_preamble);
if (bss_conf->use_short_preamble)
ctx->staging.flags |= RXON_FLG_SHORT_PREAMBLE_MSK;
else
@@ -5567,8 +5620,7 @@ void il_mac_bss_info_changed(struct ieee80211_hw *hw,
}
if (changes & BSS_CHANGED_ERP_CTS_PROT) {
- D_MAC80211(
- "ERP_CTS %d\n", bss_conf->use_cts_prot);
+ D_MAC80211("ERP_CTS %d\n", bss_conf->use_cts_prot);
if (bss_conf->use_cts_prot && il->band != IEEE80211_BAND_5GHZ)
ctx->staging.flags |= RXON_FLG_TGG_PROTECT_MSK;
else
@@ -5585,14 +5637,14 @@ void il_mac_bss_info_changed(struct ieee80211_hw *hw,
* To do that, remove code from il_set_rate() and put something
* like this here:
*
- if (A-band)
- ctx->staging.ofdm_basic_rates =
- bss_conf->basic_rates;
- else
- ctx->staging.ofdm_basic_rates =
- bss_conf->basic_rates >> 4;
- ctx->staging.cck_basic_rates =
- bss_conf->basic_rates & 0xF;
+ if (A-band)
+ ctx->staging.ofdm_basic_rates =
+ bss_conf->basic_rates;
+ else
+ ctx->staging.ofdm_basic_rates =
+ bss_conf->basic_rates >> 4;
+ ctx->staging.cck_basic_rates =
+ bss_conf->basic_rates & 0xF;
*/
}
@@ -5615,21 +5667,19 @@ void il_mac_bss_info_changed(struct ieee80211_hw *hw,
}
if (changes && il_is_associated_ctx(ctx) && bss_conf->aid) {
- D_MAC80211("Changes (%#x) while associated\n",
- changes);
+ D_MAC80211("Changes (%#x) while associated\n", changes);
ret = il_send_rxon_assoc(il, ctx);
if (!ret) {
/* Sync active_rxon with latest change. */
- memcpy((void *)&ctx->active,
- &ctx->staging,
- sizeof(struct il_rxon_cmd));
+ memcpy((void *)&ctx->active, &ctx->staging,
+ sizeof(struct il_rxon_cmd));
}
}
if (changes & BSS_CHANGED_BEACON_ENABLED) {
if (vif->bss_conf.enable_beacon) {
- memcpy(ctx->staging.bssid_addr,
- bss_conf->bssid, ETH_ALEN);
+ memcpy(ctx->staging.bssid_addr, bss_conf->bssid,
+ ETH_ALEN);
memcpy(il->bssid, bss_conf->bssid, ETH_ALEN);
il->cfg->ops->legacy->config_ap(il);
} else
@@ -5637,21 +5687,25 @@ void il_mac_bss_info_changed(struct ieee80211_hw *hw,
}
if (changes & BSS_CHANGED_IBSS) {
- ret = il->cfg->ops->legacy->manage_ibss_station(il, vif,
- bss_conf->ibss_joined);
+ ret =
+ il->cfg->ops->legacy->manage_ibss_station(il, vif,
+ bss_conf->
+ ibss_joined);
if (ret)
IL_ERR("failed to %s IBSS station %pM\n",
- bss_conf->ibss_joined ? "add" : "remove",
- bss_conf->bssid);
+ bss_conf->ibss_joined ? "add" : "remove",
+ bss_conf->bssid);
}
mutex_unlock(&il->mutex);
D_MAC80211("leave\n");
}
+
EXPORT_SYMBOL(il_mac_bss_info_changed);
-irqreturn_t il_isr(int irq, void *data)
+irqreturn_t
+il_isr(int irq, void *data)
{
struct il_priv *il = data;
u32 inta, inta_mask;
@@ -5666,7 +5720,7 @@ irqreturn_t il_isr(int irq, void *data)
* back-to-back ISRs and sporadic interrupts from our NIC.
* If we have something to service, the tasklet will re-enable ints.
* If we *don't* have something, we'll re-enable before leaving here. */
- inta_mask = _il_rd(il, CSR_INT_MASK); /* just for debug */
+ inta_mask = _il_rd(il, CSR_INT_MASK); /* just for debug */
_il_wr(il, CSR_INT_MASK, 0x00000000);
/* Discover which interrupts are active/pending */
@@ -5677,8 +5731,7 @@ irqreturn_t il_isr(int irq, void *data)
* This may be due to IRQ shared with another device,
* or due to sporadic interrupts thrown from our NIC. */
if (!inta && !inta_fh) {
- D_ISR(
- "Ignore interrupt, inta == 0, inta_fh == 0\n");
+ D_ISR("Ignore interrupt, inta == 0, inta_fh == 0\n");
goto none;
}
@@ -5689,8 +5742,8 @@ irqreturn_t il_isr(int irq, void *data)
goto unplugged;
}
- D_ISR("ISR inta 0x%08x, enabled 0x%08x, fh 0x%08x\n",
- inta, inta_mask, inta_fh);
+ D_ISR("ISR inta 0x%08x, enabled 0x%08x, fh 0x%08x\n", inta, inta_mask,
+ inta_fh);
inta &= ~CSR_INT_BIT_SCD;
@@ -5710,15 +5763,16 @@ none:
spin_unlock_irqrestore(&il->lock, flags);
return IRQ_NONE;
}
+
EXPORT_SYMBOL(il_isr);
/*
* il_tx_cmd_protection: Set rts/cts. 3945 and 4965 only share this
* function.
*/
-void il_tx_cmd_protection(struct il_priv *il,
- struct ieee80211_tx_info *info,
- __le16 fc, __le32 *tx_flags)
+void
+il_tx_cmd_protection(struct il_priv *il, struct ieee80211_tx_info *info,
+ __le16 fc, __le32 * tx_flags)
{
if (info->control.rates[0].flags & IEEE80211_TX_RC_USE_RTS_CTS) {
*tx_flags |= TX_CMD_FLG_RTS_MSK;
@@ -5737,11 +5791,12 @@ void il_tx_cmd_protection(struct il_priv *il,
*tx_flags |= TX_CMD_FLG_CTS_MSK;
break;
}
- } else if (info->control.rates[0].flags &
- IEEE80211_TX_RC_USE_CTS_PROTECT) {
+ } else if (info->control.rates[0].
+ flags & IEEE80211_TX_RC_USE_CTS_PROTECT) {
*tx_flags &= ~TX_CMD_FLG_RTS_MSK;
*tx_flags |= TX_CMD_FLG_CTS_MSK;
*tx_flags |= TX_CMD_FLG_FULL_TXOP_PROT_MSK;
}
}
+
EXPORT_SYMBOL(il_tx_cmd_protection);
diff --git a/drivers/net/wireless/iwlegacy/common.h b/drivers/net/wireless/iwlegacy/common.h
index b1d237fc5fb..38ff3d66c74 100644
--- a/drivers/net/wireless/iwlegacy/common.h
+++ b/drivers/net/wireless/iwlegacy/common.h
@@ -27,7 +27,7 @@
#define __il_core_h__
#include <linux/interrupt.h>
-#include <linux/pci.h> /* for struct pci_device_id */
+#include <linux/pci.h> /* for struct pci_device_id */
#include <linux/kernel.h>
#include <linux/leds.h>
#include <linux/wait.h>
@@ -59,7 +59,7 @@ struct il_tx_queue;
#define U32_PAD(n) ((4-(n))&0x3)
/* CT-KILL constants */
-#define CT_KILL_THRESHOLD_LEGACY 110 /* in Celsius */
+#define CT_KILL_THRESHOLD_LEGACY 110 /* in Celsius */
/* Default noise level to report when noise measurement is not available.
* This may be because we're:
@@ -112,16 +112,15 @@ struct il_cmd_meta {
* invoked for SYNC commands, if it were and its result passed
* through it would be simpler...)
*/
- void (*callback)(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct il_rx_pkt *pkt);
+ void (*callback) (struct il_priv * il, struct il_device_cmd * cmd,
+ struct il_rx_pkt * pkt);
/* The CMD_SIZE_HUGE flag bit indicates that the command
* structure is stored at the end of the shared queue memory. */
u32 flags;
- DEFINE_DMA_UNMAP_ADDR(mapping);
- DEFINE_DMA_UNMAP_LEN(len);
+ DEFINE_DMA_UNMAP_ADDR(mapping);
+ DEFINE_DMA_UNMAP_LEN(len);
};
/*
@@ -130,17 +129,17 @@ struct il_cmd_meta {
* Contains common data for Rx and Tx queues
*/
struct il_queue {
- int n_bd; /* number of BDs in this queue */
- int write_ptr; /* 1-st empty entry (idx) host_w*/
- int read_ptr; /* last used entry (idx) host_r*/
+ int n_bd; /* number of BDs in this queue */
+ int write_ptr; /* 1-st empty entry (idx) host_w */
+ int read_ptr; /* last used entry (idx) host_r */
/* use for monitoring and recovering the stuck queue */
- dma_addr_t dma_addr; /* physical addr for BD's */
- int n_win; /* safe queue win */
+ dma_addr_t dma_addr; /* physical addr for BD's */
+ int n_win; /* safe queue win */
u32 id;
- int low_mark; /* low watermark, resume queue if free
- * space more than this */
- int high_mark; /* high watermark, stop queue if free
- * space less than this */
+ int low_mark; /* low watermark, resume queue if free
+ * space more than this */
+ int high_mark; /* high watermark, stop queue if free
+ * space less than this */
};
/* One for each TFD */
@@ -188,11 +187,10 @@ struct il_tx_queue {
* When polling, wait 10 uSec between polling loops, up to a maximum 5000 uSec.
* Driver reads 16-bit value from bits 31-16 of CSR_EEPROM_REG.
*/
-#define IL_EEPROM_ACCESS_TIMEOUT 5000 /* uSec */
-
-#define IL_EEPROM_SEM_TIMEOUT 10 /* microseconds */
-#define IL_EEPROM_SEM_RETRY_LIMIT 1000 /* number of attempts (not time) */
+#define IL_EEPROM_ACCESS_TIMEOUT 5000 /* uSec */
+#define IL_EEPROM_SEM_TIMEOUT 10 /* microseconds */
+#define IL_EEPROM_SEM_RETRY_LIMIT 1000 /* number of attempts (not time) */
/*
* Regulatory channel usage flags in EEPROM struct il4965_eeprom_channel.flags.
@@ -213,11 +211,11 @@ struct il_tx_queue {
#define IL_NUM_TX_CALIB_GROUPS 5
enum {
EEPROM_CHANNEL_VALID = (1 << 0), /* usable for this SKU/geo */
- EEPROM_CHANNEL_IBSS = (1 << 1), /* usable as an IBSS channel */
+ EEPROM_CHANNEL_IBSS = (1 << 1), /* usable as an IBSS channel */
/* Bit 2 Reserved */
EEPROM_CHANNEL_ACTIVE = (1 << 3), /* active scanning allowed */
EEPROM_CHANNEL_RADAR = (1 << 4), /* radar detection required */
- EEPROM_CHANNEL_WIDE = (1 << 5), /* 20 MHz channel okay */
+ EEPROM_CHANNEL_WIDE = (1 << 5), /* 20 MHz channel okay */
/* Bit 6 Reserved (was Narrow Channel) */
EEPROM_CHANNEL_DFS = (1 << 7), /* dynamic freq selection candidate */
};
@@ -251,10 +249,10 @@ struct il_eeprom_channel {
/* 4965 driver does not work with txpower calibration version < 5 */
#define EEPROM_4965_TX_POWER_VERSION (5)
#define EEPROM_4965_EEPROM_VERSION (0x2f)
-#define EEPROM_4965_CALIB_VERSION_OFFSET (2*0xB6) /* 2 bytes */
-#define EEPROM_4965_CALIB_TXPOWER_OFFSET (2*0xE8) /* 48 bytes */
-#define EEPROM_4965_BOARD_REVISION (2*0x4F) /* 2 bytes */
-#define EEPROM_4965_BOARD_PBA (2*0x56+1) /* 9 bytes */
+#define EEPROM_4965_CALIB_VERSION_OFFSET (2*0xB6) /* 2 bytes */
+#define EEPROM_4965_CALIB_TXPOWER_OFFSET (2*0xE8) /* 48 bytes */
+#define EEPROM_4965_BOARD_REVISION (2*0x4F) /* 2 bytes */
+#define EEPROM_4965_BOARD_PBA (2*0x56+1) /* 9 bytes */
/* 2.4 GHz */
extern const u8 il_eeprom_band_1[14];
@@ -280,7 +278,6 @@ struct il_eeprom_calib_measure {
s8 pa_det; /* Power amp detector level (not used) */
} __packed;
-
/*
* measurement set for one channel. EEPROM contains:
*
@@ -292,8 +289,8 @@ struct il_eeprom_calib_measure {
struct il_eeprom_calib_ch_info {
u8 ch_num;
struct il_eeprom_calib_measure
- measurements[EEPROM_TX_POWER_TX_CHAINS]
- [EEPROM_TX_POWER_MEASUREMENTS];
+ measurements[EEPROM_TX_POWER_TX_CHAINS]
+ [EEPROM_TX_POWER_MEASUREMENTS];
} __packed;
/*
@@ -307,13 +304,12 @@ struct il_eeprom_calib_ch_info {
* 2) Sample measurement sets for 2 channels close to the range endpoints.
*/
struct il_eeprom_calib_subband_info {
- u8 ch_from; /* channel number of lowest channel in subband */
- u8 ch_to; /* channel number of highest channel in subband */
+ u8 ch_from; /* channel number of lowest channel in subband */
+ u8 ch_to; /* channel number of highest channel in subband */
struct il_eeprom_calib_ch_info ch1;
struct il_eeprom_calib_ch_info ch2;
} __packed;
-
/*
* txpower calibration info. EEPROM contains:
*
@@ -338,11 +334,9 @@ struct il_eeprom_calib_info {
u8 saturation_power24; /* half-dBm (e.g. "34" = 17 dBm) */
u8 saturation_power52; /* half-dBm */
__le16 voltage; /* signed */
- struct il_eeprom_calib_subband_info
- band_info[EEPROM_TX_POWER_BANDS];
+ struct il_eeprom_calib_subband_info band_info[EEPROM_TX_POWER_BANDS];
} __packed;
-
/* General */
#define EEPROM_DEVICE_ID (2*0x08) /* 2 bytes */
#define EEPROM_MAC_ADDRESS (2*0x15) /* 6 bytes */
@@ -356,12 +350,12 @@ struct il_eeprom_calib_info {
#define EEPROM_NUM_MAC_ADDRESS (2*0x4C) /* 2 bytes */
/* The following masks are to be applied on EEPROM_RADIO_CONFIG */
-#define EEPROM_RF_CFG_TYPE_MSK(x) (x & 0x3) /* bits 0-1 */
-#define EEPROM_RF_CFG_STEP_MSK(x) ((x >> 2) & 0x3) /* bits 2-3 */
-#define EEPROM_RF_CFG_DASH_MSK(x) ((x >> 4) & 0x3) /* bits 4-5 */
-#define EEPROM_RF_CFG_PNUM_MSK(x) ((x >> 6) & 0x3) /* bits 6-7 */
-#define EEPROM_RF_CFG_TX_ANT_MSK(x) ((x >> 8) & 0xF) /* bits 8-11 */
-#define EEPROM_RF_CFG_RX_ANT_MSK(x) ((x >> 12) & 0xF) /* bits 12-15 */
+#define EEPROM_RF_CFG_TYPE_MSK(x) (x & 0x3) /* bits 0-1 */
+#define EEPROM_RF_CFG_STEP_MSK(x) ((x >> 2) & 0x3) /* bits 2-3 */
+#define EEPROM_RF_CFG_DASH_MSK(x) ((x >> 4) & 0x3) /* bits 4-5 */
+#define EEPROM_RF_CFG_PNUM_MSK(x) ((x >> 6) & 0x3) /* bits 6-7 */
+#define EEPROM_RF_CFG_TX_ANT_MSK(x) ((x >> 8) & 0xF) /* bits 8-11 */
+#define EEPROM_RF_CFG_RX_ANT_MSK(x) ((x >> 12) & 0xF) /* bits 12-15 */
#define EEPROM_3945_RF_CFG_TYPE_MAX 0x0
#define EEPROM_4965_RF_CFG_TYPE_MAX 0x1
@@ -378,7 +372,7 @@ struct il_eeprom_calib_info {
*
* 2.4 GHz channels 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
*/
-#define EEPROM_REGULATORY_SKU_ID (2*0x60) /* 4 bytes */
+#define EEPROM_REGULATORY_SKU_ID (2*0x60) /* 4 bytes */
#define EEPROM_REGULATORY_BAND_1 (2*0x62) /* 2 bytes */
#define EEPROM_REGULATORY_BAND_1_CHANNELS (2*0x63) /* 28 bytes */
@@ -438,22 +432,19 @@ struct il_eeprom_calib_info {
struct il_eeprom_ops {
const u32 regulatory_bands[7];
- int (*acquire_semaphore) (struct il_priv *il);
- void (*release_semaphore) (struct il_priv *il);
+ int (*acquire_semaphore) (struct il_priv * il);
+ void (*release_semaphore) (struct il_priv * il);
};
-
int il_eeprom_init(struct il_priv *il);
void il_eeprom_free(struct il_priv *il);
-const u8 *il_eeprom_query_addr(const struct il_priv *il,
- size_t offset);
+const u8 *il_eeprom_query_addr(const struct il_priv *il, size_t offset);
u16 il_eeprom_query16(const struct il_priv *il, size_t offset);
int il_init_channel_map(struct il_priv *il);
void il_free_channel_map(struct il_priv *il);
-const struct il_channel_info *il_get_channel_info(
- const struct il_priv *il,
- enum ieee80211_band band, u16 channel);
-
+const struct il_channel_info *il_get_channel_info(const struct il_priv *il,
+ enum ieee80211_band band,
+ u16 channel);
#define IL_NUM_SCAN_RATES (2)
@@ -508,21 +499,21 @@ struct il_channel_info {
struct il_eeprom_channel ht40_eeprom; /* EEPROM regulatory limit for
* HT40 channel */
- u8 channel; /* channel number */
- u8 flags; /* flags copied from EEPROM */
- s8 max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */
- s8 curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) limit */
- s8 min_power; /* always 0 */
- s8 scan_power; /* (dBm) regul. eeprom, direct scans, any rate */
+ u8 channel; /* channel number */
+ u8 flags; /* flags copied from EEPROM */
+ s8 max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */
+ s8 curr_txpow; /* (dBm) regulatory/spectrum/user (not h/w) limit */
+ s8 min_power; /* always 0 */
+ s8 scan_power; /* (dBm) regul. eeprom, direct scans, any rate */
- u8 group_idx; /* 0-4, maps channel to group1/2/3/4/5 */
- u8 band_idx; /* 0-4, maps channel to band1/2/3/4/5 */
+ u8 group_idx; /* 0-4, maps channel to group1/2/3/4/5 */
+ u8 band_idx; /* 0-4, maps channel to band1/2/3/4/5 */
enum ieee80211_band band;
/* HT40 channel info */
s8 ht40_max_power_avg; /* (dBm) regul. eeprom, normal Tx, any rate */
u8 ht40_flags; /* flags copied from EEPROM */
- u8 ht40_extension_channel; /* HT_IE_EXT_CHANNEL_* */
+ u8 ht40_extension_channel; /* HT_IE_EXT_CHANNEL_* */
/* Radio/DSP gain settings for each "normal" data Tx rate.
* These include, in addition to RF and DSP gain, a few fields for
@@ -598,13 +589,11 @@ struct il_device_cmd {
#define TFD_MAX_PAYLOAD_SIZE (sizeof(struct il_device_cmd))
-
struct il_host_cmd {
const void *data;
unsigned long reply_page;
- void (*callback)(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct il_rx_pkt *pkt);
+ void (*callback) (struct il_priv * il, struct il_device_cmd * cmd,
+ struct il_rx_pkt * pkt);
u32 flags;
u16 len;
u8 id;
@@ -681,9 +670,8 @@ struct il_ht_agg {
u8 state;
};
-
struct il_tid_data {
- u16 seq_number; /* 4965 only */
+ u16 seq_number; /* 4965 only */
u16 tfds_in_queue;
struct il_ht_agg agg;
};
@@ -728,7 +716,7 @@ union il_ht_rate_supp {
struct il_ht_config {
bool single_chain_sufficient;
- enum ieee80211_smps_mode smps; /* current smps mode */
+ enum ieee80211_smps_mode smps; /* current smps mode */
};
/* QoS structures */
@@ -776,14 +764,14 @@ struct fw_desc {
/* uCode file layout */
struct il_ucode_header {
- __le32 ver; /* major/minor/API/serial */
+ __le32 ver; /* major/minor/API/serial */
struct {
__le32 inst_size; /* bytes of runtime code */
__le32 data_size; /* bytes of runtime data */
__le32 init_size; /* bytes of init code */
__le32 init_data_size; /* bytes of init data */
__le32 boot_size; /* bytes of bootstrap code */
- u8 data[0]; /* in same order as sizes */
+ u8 data[0]; /* in same order as sizes */
} v1;
};
@@ -822,11 +810,9 @@ struct il_sensitivity_ranges {
u16 nrg_th_cca;
};
-
#define KELVIN_TO_CELSIUS(x) ((x)-273)
#define CELSIUS_TO_KELVIN(x) ((x)+273)
-
/**
* struct il_hw_params
* @max_txq_num: Max # Tx queues supported
@@ -853,26 +839,25 @@ struct il_hw_params {
u8 dma_chnl_num;
u16 scd_bc_tbls_size;
u32 tfd_size;
- u8 tx_chains_num;
- u8 rx_chains_num;
- u8 valid_tx_ant;
- u8 valid_rx_ant;
+ u8 tx_chains_num;
+ u8 rx_chains_num;
+ u8 valid_tx_ant;
+ u8 valid_rx_ant;
u16 max_rxq_size;
u16 max_rxq_log;
u32 rx_page_order;
u32 rx_wrt_ptr_reg;
- u8 max_stations;
- u8 ht40_channel;
- u8 max_beacon_itrvl; /* in 1024 ms */
+ u8 max_stations;
+ u8 ht40_channel;
+ u8 max_beacon_itrvl; /* in 1024 ms */
u32 max_inst_size;
u32 max_data_size;
u32 max_bsm_size;
- u32 ct_kill_threshold; /* value in hw-dependent units */
+ u32 ct_kill_threshold; /* value in hw-dependent units */
u16 beacon_time_tsf_bits;
const struct il_sensitivity_ranges *sens;
};
-
/******************************************************************************
*
* Functions implemented in core module which are forward declared here
@@ -891,16 +876,19 @@ struct il_hw_params {
extern void il4965_update_chain_flags(struct il_priv *il);
extern const u8 il_bcast_addr[ETH_ALEN];
extern int il_queue_space(const struct il_queue *q);
-static inline int il_queue_used(const struct il_queue *q, int i)
+static inline int
+il_queue_used(const struct il_queue *q, int i)
{
- return q->write_ptr >= q->read_ptr ?
- (i >= q->read_ptr && i < q->write_ptr) :
- !(i < q->read_ptr && i >= q->write_ptr);
+ return q->write_ptr >= q->read_ptr ? (i >= q->read_ptr &&
+ i < q->write_ptr) : !(i <
+ q->read_ptr
+ && i >=
+ q->
+ write_ptr);
}
-
-static inline u8 il_get_cmd_idx(struct il_queue *q, u32 idx,
- int is_huge)
+static inline u8
+il_get_cmd_idx(struct il_queue *q, u32 idx, int is_huge)
{
/*
* This is for init calibration result and scan command which
@@ -914,7 +902,6 @@ static inline u8 il_get_cmd_idx(struct il_queue *q, u32 idx,
return idx & (q->n_win - 1);
}
-
struct il_dma_ptr {
dma_addr_t dma;
void *addr;
@@ -974,14 +961,14 @@ enum il4965_false_alarm_state {
};
enum il4965_chain_noise_state {
- IL_CHAIN_NOISE_ALIVE = 0, /* must be 0 */
+ IL_CHAIN_NOISE_ALIVE = 0, /* must be 0 */
IL_CHAIN_NOISE_ACCUMULATE,
IL_CHAIN_NOISE_CALIBRATED,
IL_CHAIN_NOISE_DONE,
};
enum il4965_calib_enabled_state {
- IL_CALIB_DISABLED = 0, /* must be 0 */
+ IL_CALIB_DISABLED = 0, /* must be 0 */
IL_CALIB_ENABLED = 1,
};
@@ -1023,7 +1010,7 @@ struct il_sensitivity_data {
u32 nrg_curr_state;
u32 nrg_prev_state;
u32 nrg_value[10];
- u8 nrg_silence_rssi[NRG_NUM_PREV_STAT_L];
+ u8 nrg_silence_rssi[NRG_NUM_PREV_STAT_L];
u32 nrg_silence_ref;
u32 nrg_energy_idx;
u32 nrg_silence_idx;
@@ -1053,7 +1040,7 @@ struct il_chain_noise_data {
u8 state;
};
-#define EEPROM_SEM_TIMEOUT 10 /* milliseconds */
+#define EEPROM_SEM_TIMEOUT 10 /* milliseconds */
#define EEPROM_SEM_RETRY_LIMIT 1000 /* number of attempts (not time) */
#define IL_TRAFFIC_ENTRIES (256)
@@ -1098,7 +1085,7 @@ enum il_mgmt_stats {
};
/* control stats */
enum il_ctrl_stats {
- CONTROL_BACK_REQ = 0,
+ CONTROL_BACK_REQ = 0,
CONTROL_BACK,
CONTROL_PSPOLL,
CONTROL_RTS,
@@ -1237,8 +1224,8 @@ struct il_priv {
enum ieee80211_band band;
int alloc_rxb_page;
- void (*handlers[IL_CN_MAX])(struct il_priv *il,
- struct il_rx_buf *rxb);
+ void (*handlers[IL_CN_MAX]) (struct il_priv * il,
+ struct il_rx_buf * rxb);
struct ieee80211_supported_band bands[IEEE80211_NUM_BANDS];
@@ -1289,9 +1276,9 @@ struct il_priv {
/* pci hardware address support */
void __iomem *hw_base;
- u32 hw_rev;
- u32 hw_wa_rev;
- u8 rev_id;
+ u32 hw_rev;
+ u32 hw_wa_rev;
+ u8 rev_id;
/* command queue number */
u8 cmd_queue;
@@ -1303,9 +1290,9 @@ struct il_priv {
struct mac_address addresses[1];
/* uCode images, save to reload in case of failure */
- int fw_idx; /* firmware we're trying to load */
- u32 ucode_ver; /* version of ucode, copy of
- il_ucode.ver */
+ int fw_idx; /* firmware we're trying to load */
+ u32 ucode_ver; /* version of ucode, copy of
+ il_ucode.ver */
struct fw_desc ucode_code; /* runtime inst */
struct fw_desc ucode_data; /* runtime data original */
struct fw_desc ucode_data_backup; /* runtime data save/restore */
@@ -1345,8 +1332,8 @@ struct il_priv {
struct il_rx_queue rxq;
struct il_tx_queue *txq;
unsigned long txq_ctx_active_msk;
- struct il_dma_ptr kw; /* keep warm address */
- struct il_dma_ptr scd_bc_tbls;
+ struct il_dma_ptr kw; /* keep warm address */
+ struct il_dma_ptr scd_bc_tbls;
u32 scd_base_addr; /* scheduler sram base address */
@@ -1362,7 +1349,7 @@ struct il_priv {
struct il_power_mgr power_data;
/* context information */
- u8 bssid[ETH_ALEN]; /* used only on 3945 but filled by core */
+ u8 bssid[ETH_ALEN]; /* used only on 3945 but filled by core */
/* station table variables */
@@ -1477,12 +1464,11 @@ struct il_priv {
s8 tx_power_device_lmt;
s8 tx_power_next;
-
#ifdef CONFIG_IWLEGACY_DEBUG
/* debugging info */
- u32 debug_level; /* per device debugging will override global
- il_debug_level if set */
-#endif /* CONFIG_IWLEGACY_DEBUG */
+ u32 debug_level; /* per device debugging will override global
+ il_debug_level if set */
+#endif /* CONFIG_IWLEGACY_DEBUG */
#ifdef CONFIG_IWLEGACY_DEBUGFS
/* debugfs */
u16 tx_traffic_idx;
@@ -1492,7 +1478,7 @@ struct il_priv {
struct dentry *debugfs_dir;
u32 dbgfs_sram_offset, dbgfs_sram_len;
bool disable_ht40;
-#endif /* CONFIG_IWLEGACY_DEBUGFS */
+#endif /* CONFIG_IWLEGACY_DEBUGFS */
struct work_struct txpower_work;
u32 disable_sens_cal;
@@ -1506,25 +1492,26 @@ struct il_priv {
struct led_classdev led;
unsigned long blink_on, blink_off;
bool led_registered;
-}; /*il_priv */
+}; /*il_priv */
-static inline void il_txq_ctx_activate(struct il_priv *il, int txq_id)
+static inline void
+il_txq_ctx_activate(struct il_priv *il, int txq_id)
{
set_bit(txq_id, &il->txq_ctx_active_msk);
}
-static inline void il_txq_ctx_deactivate(struct il_priv *il, int txq_id)
+static inline void
+il_txq_ctx_deactivate(struct il_priv *il, int txq_id)
{
clear_bit(txq_id, &il->txq_ctx_active_msk);
}
static inline struct ieee80211_hdr *
-il_tx_queue_get_hdr(struct il_priv *il,
- int txq_id, int idx)
+il_tx_queue_get_hdr(struct il_priv *il, int txq_id, int idx)
{
if (il->txq[txq_id].txb[idx].skb)
- return (struct ieee80211_hdr *)il->txq[txq_id].
- txb[idx].skb->data;
+ return (struct ieee80211_hdr *)il->txq[txq_id].txb[idx].skb->
+ data;
return NULL;
}
@@ -1539,34 +1526,40 @@ il_rxon_ctx_from_vif(struct ieee80211_vif *vif)
#define for_each_context(il, _ctx) \
for (_ctx = &il->ctx; _ctx == &il->ctx; _ctx++)
-static inline int il_is_associated(struct il_priv *il)
+static inline int
+il_is_associated(struct il_priv *il)
{
return (il->ctx.active.filter_flags & RXON_FILTER_ASSOC_MSK) ? 1 : 0;
}
-static inline int il_is_any_associated(struct il_priv *il)
+static inline int
+il_is_any_associated(struct il_priv *il)
{
return il_is_associated(il);
}
-static inline int il_is_associated_ctx(struct il_rxon_context *ctx)
+static inline int
+il_is_associated_ctx(struct il_rxon_context *ctx)
{
return (ctx->active.filter_flags & RXON_FILTER_ASSOC_MSK) ? 1 : 0;
}
-static inline int il_is_channel_valid(const struct il_channel_info *ch_info)
+static inline int
+il_is_channel_valid(const struct il_channel_info *ch_info)
{
if (ch_info == NULL)
return 0;
return (ch_info->flags & EEPROM_CHANNEL_VALID) ? 1 : 0;
}
-static inline int il_is_channel_radar(const struct il_channel_info *ch_info)
+static inline int
+il_is_channel_radar(const struct il_channel_info *ch_info)
{
return (ch_info->flags & EEPROM_CHANNEL_RADAR) ? 1 : 0;
}
-static inline u8 il_is_channel_a_band(const struct il_channel_info *ch_info)
+static inline u8
+il_is_channel_a_band(const struct il_channel_info *ch_info)
{
return ch_info->band == IEEE80211_BAND_5GHZ;
}
@@ -1583,7 +1576,6 @@ il_is_channel_ibss(const struct il_channel_info *ch)
return (ch->flags & EEPROM_CHANNEL_IBSS) ? 1 : 0;
}
-
static inline void
__il_free_pages(struct il_priv *il, struct page *page)
{
@@ -1591,7 +1583,8 @@ __il_free_pages(struct il_priv *il, struct page *page)
il->alloc_rxb_page--;
}
-static inline void il_free_pages(struct il_priv *il, unsigned long page)
+static inline void
+il_free_pages(struct il_priv *il, unsigned long page)
{
free_pages(page, il->hw_params.rx_page_order);
il->alloc_rxb_page--;
@@ -1615,77 +1608,74 @@ static inline void il_free_pages(struct il_priv *il, unsigned long page)
#define IL_CMD(x) case x: return #x
/* Size of one Rx buffer in host DRAM */
-#define IL_RX_BUF_SIZE_3K (3 * 1000) /* 3945 only */
+#define IL_RX_BUF_SIZE_3K (3 * 1000) /* 3945 only */
#define IL_RX_BUF_SIZE_4K (4 * 1024)
#define IL_RX_BUF_SIZE_8K (8 * 1024)
struct il_hcmd_ops {
- int (*rxon_assoc)(struct il_priv *il, struct il_rxon_context *ctx);
- int (*commit_rxon)(struct il_priv *il, struct il_rxon_context *ctx);
- void (*set_rxon_chain)(struct il_priv *il,
- struct il_rxon_context *ctx);
+ int (*rxon_assoc) (struct il_priv * il, struct il_rxon_context * ctx);
+ int (*commit_rxon) (struct il_priv * il, struct il_rxon_context * ctx);
+ void (*set_rxon_chain) (struct il_priv * il,
+ struct il_rxon_context * ctx);
};
struct il_hcmd_utils_ops {
- u16 (*get_hcmd_size)(u8 cmd_id, u16 len);
- u16 (*build_addsta_hcmd)(const struct il_addsta_cmd *cmd,
- u8 *data);
- int (*request_scan)(struct il_priv *il, struct ieee80211_vif *vif);
- void (*post_scan)(struct il_priv *il);
+ u16(*get_hcmd_size) (u8 cmd_id, u16 len);
+ u16(*build_addsta_hcmd) (const struct il_addsta_cmd * cmd, u8 * data);
+ int (*request_scan) (struct il_priv * il, struct ieee80211_vif * vif);
+ void (*post_scan) (struct il_priv * il);
};
struct il_apm_ops {
- int (*init)(struct il_priv *il);
- void (*config)(struct il_priv *il);
+ int (*init) (struct il_priv * il);
+ void (*config) (struct il_priv * il);
};
struct il_debugfs_ops {
- ssize_t (*rx_stats_read)(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
- ssize_t (*tx_stats_read)(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
- ssize_t (*general_stats_read)(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos);
+ ssize_t(*rx_stats_read) (struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos);
+ ssize_t(*tx_stats_read) (struct file * file, char __user * user_buf,
+ size_t count, loff_t * ppos);
+ ssize_t(*general_stats_read) (struct file * file,
+ char __user * user_buf, size_t count,
+ loff_t * ppos);
};
struct il_temp_ops {
- void (*temperature)(struct il_priv *il);
+ void (*temperature) (struct il_priv * il);
};
struct il_lib_ops {
/* set hw dependent parameters */
- int (*set_hw_params)(struct il_priv *il);
+ int (*set_hw_params) (struct il_priv * il);
/* Handling TX */
- void (*txq_update_byte_cnt_tbl)(struct il_priv *il,
- struct il_tx_queue *txq,
- u16 byte_cnt);
- int (*txq_attach_buf_to_tfd)(struct il_priv *il,
- struct il_tx_queue *txq,
- dma_addr_t addr,
- u16 len, u8 reset, u8 pad);
- void (*txq_free_tfd)(struct il_priv *il,
- struct il_tx_queue *txq);
- int (*txq_init)(struct il_priv *il,
- struct il_tx_queue *txq);
+ void (*txq_update_byte_cnt_tbl) (struct il_priv * il,
+ struct il_tx_queue * txq,
+ u16 byte_cnt);
+ int (*txq_attach_buf_to_tfd) (struct il_priv * il,
+ struct il_tx_queue * txq, dma_addr_t addr,
+ u16 len, u8 reset, u8 pad);
+ void (*txq_free_tfd) (struct il_priv * il, struct il_tx_queue * txq);
+ int (*txq_init) (struct il_priv * il, struct il_tx_queue * txq);
/* setup Rx handler */
- void (*handler_setup)(struct il_priv *il);
+ void (*handler_setup) (struct il_priv * il);
/* alive notification after init uCode load */
- void (*init_alive_start)(struct il_priv *il);
+ void (*init_alive_start) (struct il_priv * il);
/* check validity of rtc data address */
- int (*is_valid_rtc_data_addr)(u32 addr);
+ int (*is_valid_rtc_data_addr) (u32 addr);
/* 1st ucode load */
- int (*load_ucode)(struct il_priv *il);
+ int (*load_ucode) (struct il_priv * il);
- void (*dump_nic_error_log)(struct il_priv *il);
- int (*dump_fh)(struct il_priv *il, char **buf, bool display);
- int (*set_channel_switch)(struct il_priv *il,
- struct ieee80211_channel_switch *ch_switch);
+ void (*dump_nic_error_log) (struct il_priv * il);
+ int (*dump_fh) (struct il_priv * il, char **buf, bool display);
+ int (*set_channel_switch) (struct il_priv * il,
+ struct ieee80211_channel_switch * ch_switch);
/* power management */
struct il_apm_ops apm_ops;
/* power */
- int (*send_tx_power) (struct il_priv *il);
- void (*update_chain_flags)(struct il_priv *il);
+ int (*send_tx_power) (struct il_priv * il);
+ void (*update_chain_flags) (struct il_priv * il);
/* eeprom operations */
struct il_eeprom_ops eeprom_ops;
@@ -1698,16 +1688,16 @@ struct il_lib_ops {
};
struct il_led_ops {
- int (*cmd)(struct il_priv *il, struct il_led_cmd *led_cmd);
+ int (*cmd) (struct il_priv * il, struct il_led_cmd * led_cmd);
};
struct il_legacy_ops {
- void (*post_associate)(struct il_priv *il);
- void (*config_ap)(struct il_priv *il);
+ void (*post_associate) (struct il_priv * il);
+ void (*config_ap) (struct il_priv * il);
/* station management */
- int (*update_bcast_stations)(struct il_priv *il);
- int (*manage_ibss_station)(struct il_priv *il,
- struct ieee80211_vif *vif, bool add);
+ int (*update_bcast_stations) (struct il_priv * il);
+ int (*manage_ibss_station) (struct il_priv * il,
+ struct ieee80211_vif * vif, bool add);
};
struct il_ops {
@@ -1726,7 +1716,7 @@ struct il_mod_params {
int num_of_queues; /* def: HW dependent */
int disable_11n; /* def: 0 = 11n capabilities enabled */
int amsdu_size_8K; /* def: 1 = enable 8K amsdu size */
- int antenna; /* def: 0 = both antennas (use diversity) */
+ int antenna; /* def: 0 = both antennas (use diversity) */
int restart_fw; /* def: 1 = restart firmware */
};
@@ -1746,7 +1736,7 @@ struct il_mod_params {
struct il_base_params {
int eeprom_size;
int num_of_queues; /* def: HW dependent */
- int num_of_ampdu_queues;/* def: HW dependent */
+ int num_of_ampdu_queues; /* def: HW dependent */
/* for il_apm_init() */
u32 pll_cfg_val;
bool set_l0s;
@@ -1821,11 +1811,11 @@ struct il_cfg {
const char *fw_name_pre;
const unsigned int ucode_api_max;
const unsigned int ucode_api_min;
- u8 valid_tx_ant;
- u8 valid_rx_ant;
+ u8 valid_tx_ant;
+ u8 valid_rx_ant;
unsigned int sku;
- u16 eeprom_ver;
- u16 eeprom_calib_ver;
+ u16 eeprom_ver;
+ u16 eeprom_calib_ver;
const struct il_ops *ops;
/* module based parameters which can be set from modprobe cmd */
const struct il_mod_params *mod_params;
@@ -1841,46 +1831,33 @@ struct il_cfg {
***************************/
struct ieee80211_hw *il_alloc_all(struct il_cfg *cfg);
-int il_mac_conf_tx(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif, u16 queue,
- const struct ieee80211_tx_queue_params *params);
+int il_mac_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ u16 queue, const struct ieee80211_tx_queue_params *params);
int il_mac_tx_last_beacon(struct ieee80211_hw *hw);
-void il_set_rxon_hwcrypto(struct il_priv *il,
- struct il_rxon_context *ctx,
- int hw_decrypt);
-int il_check_rxon_cmd(struct il_priv *il,
- struct il_rxon_context *ctx);
-int il_full_rxon_required(struct il_priv *il,
- struct il_rxon_context *ctx);
-int il_set_rxon_channel(struct il_priv *il,
- struct ieee80211_channel *ch,
+
+void il_set_rxon_hwcrypto(struct il_priv *il, struct il_rxon_context *ctx,
+ int hw_decrypt);
+int il_check_rxon_cmd(struct il_priv *il, struct il_rxon_context *ctx);
+int il_full_rxon_required(struct il_priv *il, struct il_rxon_context *ctx);
+int il_set_rxon_channel(struct il_priv *il, struct ieee80211_channel *ch,
struct il_rxon_context *ctx);
-void il_set_flags_for_band(struct il_priv *il,
- struct il_rxon_context *ctx,
- enum ieee80211_band band,
- struct ieee80211_vif *vif);
-u8 il_get_single_channel_number(struct il_priv *il,
- enum ieee80211_band band);
-void il_set_rxon_ht(struct il_priv *il,
- struct il_ht_config *ht_conf);
-bool il_is_ht40_tx_allowed(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct ieee80211_sta_ht_cap *ht_cap);
+void il_set_flags_for_band(struct il_priv *il, struct il_rxon_context *ctx,
+ enum ieee80211_band band, struct ieee80211_vif *vif);
+u8 il_get_single_channel_number(struct il_priv *il, enum ieee80211_band band);
+void il_set_rxon_ht(struct il_priv *il, struct il_ht_config *ht_conf);
+bool il_is_ht40_tx_allowed(struct il_priv *il, struct il_rxon_context *ctx,
+ struct ieee80211_sta_ht_cap *ht_cap);
void il_connection_init_rx_config(struct il_priv *il,
- struct il_rxon_context *ctx);
+ struct il_rxon_context *ctx);
void il_set_rate(struct il_priv *il);
-int il_set_decrypted_flag(struct il_priv *il,
- struct ieee80211_hdr *hdr,
- u32 decrypt_res,
- struct ieee80211_rx_status *stats);
+int il_set_decrypted_flag(struct il_priv *il, struct ieee80211_hdr *hdr,
+ u32 decrypt_res, struct ieee80211_rx_status *stats);
void il_irq_handle_error(struct il_priv *il);
-int il_mac_add_interface(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif);
+int il_mac_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
void il_mac_remove_interface(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif);
-int il_mac_change_interface(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- enum nl80211_iftype newtype, bool newp2p);
+ struct ieee80211_vif *vif);
+int il_mac_change_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ enum nl80211_iftype newtype, bool newp2p);
int il_alloc_txq_mem(struct il_priv *il);
void il_txq_mem(struct il_priv *il);
@@ -1888,48 +1865,54 @@ void il_txq_mem(struct il_priv *il);
int il_alloc_traffic_mem(struct il_priv *il);
void il_free_traffic_mem(struct il_priv *il);
void il_reset_traffic_log(struct il_priv *il);
-void il_dbg_log_tx_data_frame(struct il_priv *il,
- u16 length, struct ieee80211_hdr *header);
-void il_dbg_log_rx_data_frame(struct il_priv *il,
- u16 length, struct ieee80211_hdr *header);
+void il_dbg_log_tx_data_frame(struct il_priv *il, u16 length,
+ struct ieee80211_hdr *header);
+void il_dbg_log_rx_data_frame(struct il_priv *il, u16 length,
+ struct ieee80211_hdr *header);
const char *il_get_mgmt_string(int cmd);
const char *il_get_ctrl_string(int cmd);
void il_clear_traffic_stats(struct il_priv *il);
-void il_update_stats(struct il_priv *il, bool is_tx, __le16 fc,
- u16 len);
+void il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len);
#else
-static inline int il_alloc_traffic_mem(struct il_priv *il)
+static inline int
+il_alloc_traffic_mem(struct il_priv *il)
{
return 0;
}
-static inline void il_free_traffic_mem(struct il_priv *il)
+
+static inline void
+il_free_traffic_mem(struct il_priv *il)
{
}
-static inline void il_reset_traffic_log(struct il_priv *il)
+
+static inline void
+il_reset_traffic_log(struct il_priv *il)
{
}
-static inline void il_dbg_log_tx_data_frame(struct il_priv *il,
- u16 length, struct ieee80211_hdr *header)
+
+static inline void
+il_dbg_log_tx_data_frame(struct il_priv *il, u16 length,
+ struct ieee80211_hdr *header)
{
}
-static inline void il_dbg_log_rx_data_frame(struct il_priv *il,
- u16 length, struct ieee80211_hdr *header)
+
+static inline void
+il_dbg_log_rx_data_frame(struct il_priv *il, u16 length,
+ struct ieee80211_hdr *header)
{
}
-static inline void il_update_stats(struct il_priv *il, bool is_tx,
- __le16 fc, u16 len)
+
+static inline void
+il_update_stats(struct il_priv *il, bool is_tx, __le16 fc, u16 len)
{
}
#endif
/*****************************************************
* RX handlers.
* **************************************************/
-void il_hdl_pm_sleep(struct il_priv *il,
- struct il_rx_buf *rxb);
-void il_hdl_pm_debug_stats(struct il_priv *il,
- struct il_rx_buf *rxb);
-void il_hdl_error(struct il_priv *il,
- struct il_rx_buf *rxb);
+void il_hdl_pm_sleep(struct il_priv *il, struct il_rx_buf *rxb);
+void il_hdl_pm_debug_stats(struct il_priv *il, struct il_rx_buf *rxb);
+void il_hdl_error(struct il_priv *il, struct il_rx_buf *rxb);
/*****************************************************
* RX
@@ -1937,16 +1920,12 @@ void il_hdl_error(struct il_priv *il,
void il_cmd_queue_unmap(struct il_priv *il);
void il_cmd_queue_free(struct il_priv *il);
int il_rx_queue_alloc(struct il_priv *il);
-void il_rx_queue_update_write_ptr(struct il_priv *il,
- struct il_rx_queue *q);
+void il_rx_queue_update_write_ptr(struct il_priv *il, struct il_rx_queue *q);
int il_rx_queue_space(const struct il_rx_queue *q);
-void il_tx_cmd_complete(struct il_priv *il,
- struct il_rx_buf *rxb);
+void il_tx_cmd_complete(struct il_priv *il, struct il_rx_buf *rxb);
/* Handlers */
-void il_hdl_spectrum_measurement(struct il_priv *il,
- struct il_rx_buf *rxb);
-void il_recover_from_stats(struct il_priv *il,
- struct il_rx_pkt *pkt);
+void il_hdl_spectrum_measurement(struct il_priv *il, struct il_rx_buf *rxb);
+void il_recover_from_stats(struct il_priv *il, struct il_rx_pkt *pkt);
void il_chswitch_done(struct il_priv *il, bool is_success);
void il_hdl_csa(struct il_priv *il, struct il_rx_buf *rxb);
@@ -1955,13 +1934,11 @@ void il_hdl_csa(struct il_priv *il, struct il_rx_buf *rxb);
/*****************************************************
* TX
******************************************************/
-void il_txq_update_write_ptr(struct il_priv *il,
- struct il_tx_queue *txq);
-int il_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq,
- int slots_num, u32 txq_id);
-void il_tx_queue_reset(struct il_priv *il,
- struct il_tx_queue *txq,
- int slots_num, u32 txq_id);
+void il_txq_update_write_ptr(struct il_priv *il, struct il_tx_queue *txq);
+int il_tx_queue_init(struct il_priv *il, struct il_tx_queue *txq, int slots_num,
+ u32 txq_id);
+void il_tx_queue_reset(struct il_priv *il, struct il_tx_queue *txq,
+ int slots_num, u32 txq_id);
void il_tx_queue_unmap(struct il_priv *il, int txq_id);
void il_tx_queue_free(struct il_priv *il, int txq_id);
void il_setup_watchdog(struct il_priv *il);
@@ -1974,8 +1951,7 @@ int il_set_tx_power(struct il_priv *il, s8 tx_power, bool force);
* Rate
******************************************************************************/
-u8 il_get_lowest_plcp(struct il_priv *il,
- struct il_rxon_context *ctx);
+u8 il_get_lowest_plcp(struct il_priv *il, struct il_rxon_context *ctx);
/*******************************************************************************
* Scanning
@@ -1984,21 +1960,17 @@ void il_init_scan_params(struct il_priv *il);
int il_scan_cancel(struct il_priv *il);
int il_scan_cancel_timeout(struct il_priv *il, unsigned long ms);
void il_force_scan_end(struct il_priv *il);
-int il_mac_hw_scan(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct cfg80211_scan_request *req);
+int il_mac_hw_scan(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct cfg80211_scan_request *req);
void il_internal_short_hw_scan(struct il_priv *il);
int il_force_reset(struct il_priv *il, bool external);
-u16 il_fill_probe_req(struct il_priv *il,
- struct ieee80211_mgmt *frame,
- const u8 *ta, const u8 *ie, int ie_len, int left);
+u16 il_fill_probe_req(struct il_priv *il, struct ieee80211_mgmt *frame,
+ const u8 * ta, const u8 * ie, int ie_len, int left);
void il_setup_rx_scan_handlers(struct il_priv *il);
-u16 il_get_active_dwell_time(struct il_priv *il,
- enum ieee80211_band band,
- u8 n_probes);
-u16 il_get_passive_dwell_time(struct il_priv *il,
- enum ieee80211_band band,
- struct ieee80211_vif *vif);
+u16 il_get_active_dwell_time(struct il_priv *il, enum ieee80211_band band,
+ u8 n_probes);
+u16 il_get_passive_dwell_time(struct il_priv *il, enum ieee80211_band band,
+ struct ieee80211_vif *vif);
void il_setup_scan_deferred_work(struct il_priv *il);
void il_cancel_scan_deferred_work(struct il_priv *il);
@@ -2008,8 +1980,8 @@ void il_cancel_scan_deferred_work(struct il_priv *il);
* time if it's a quiet channel (nothing responded to our probe, and there's
* no other traffic).
* Disable "quiet" feature by setting PLCP_QUIET_THRESH to 0. */
-#define IL_ACTIVE_QUIET_TIME cpu_to_le16(10) /* msec */
-#define IL_PLCP_QUIET_THRESH cpu_to_le16(1) /* packets */
+#define IL_ACTIVE_QUIET_TIME cpu_to_le16(10) /* msec */
+#define IL_PLCP_QUIET_THRESH cpu_to_le16(1) /* packets */
#define IL_SCAN_CHECK_WATCHDOG (HZ * 7)
@@ -2018,25 +1990,23 @@ void il_cancel_scan_deferred_work(struct il_priv *il);
*****************************************************/
const char *il_get_cmd_string(u8 cmd);
-int __must_check il_send_cmd_sync(struct il_priv *il,
- struct il_host_cmd *cmd);
+int __must_check il_send_cmd_sync(struct il_priv *il, struct il_host_cmd *cmd);
int il_send_cmd(struct il_priv *il, struct il_host_cmd *cmd);
-int __must_check il_send_cmd_pdu(struct il_priv *il, u8 id,
- u16 len, const void *data);
-int il_send_cmd_pdu_async(struct il_priv *il, u8 id, u16 len,
- const void *data,
- void (*callback)(struct il_priv *il,
- struct il_device_cmd *cmd,
- struct il_rx_pkt *pkt));
+int __must_check il_send_cmd_pdu(struct il_priv *il, u8 id, u16 len,
+ const void *data);
+int il_send_cmd_pdu_async(struct il_priv *il, u8 id, u16 len, const void *data,
+ void (*callback) (struct il_priv * il,
+ struct il_device_cmd * cmd,
+ struct il_rx_pkt * pkt));
int il_enqueue_hcmd(struct il_priv *il, struct il_host_cmd *cmd);
-
/*****************************************************
* PCI *
*****************************************************/
-static inline u16 il_pcie_link_ctl(struct il_priv *il)
+static inline u16
+il_pcie_link_ctl(struct il_priv *il)
{
int pos;
u16 pci_lnk_ctl;
@@ -2046,10 +2016,9 @@ static inline u16 il_pcie_link_ctl(struct il_priv *il)
}
void il_bg_watchdog(unsigned long data);
-u32 il_usecs_to_beacons(struct il_priv *il,
- u32 usec, u32 beacon_interval);
-__le32 il_add_beacon_time(struct il_priv *il, u32 base,
- u32 addon, u32 beacon_interval);
+u32 il_usecs_to_beacons(struct il_priv *il, u32 usec, u32 beacon_interval);
+__le32 il_add_beacon_time(struct il_priv *il, u32 base, u32 addon,
+ u32 beacon_interval);
#ifdef CONFIG_PM
int il_pci_suspend(struct device *device);
@@ -2069,11 +2038,10 @@ extern const struct dev_pm_ops il_pm_ops;
******************************************************/
void il4965_dump_nic_error_log(struct il_priv *il);
#ifdef CONFIG_IWLEGACY_DEBUG
-void il_print_rx_config_cmd(struct il_priv *il,
- struct il_rxon_context *ctx);
+void il_print_rx_config_cmd(struct il_priv *il, struct il_rxon_context *ctx);
#else
-static inline void il_print_rx_config_cmd(struct il_priv *il,
- struct il_rxon_context *ctx)
+static inline void
+il_print_rx_config_cmd(struct il_priv *il, struct il_rxon_context *ctx)
{
}
#endif
@@ -2107,41 +2075,48 @@ void il_free_geos(struct il_priv *il);
#define S_FW_ERROR 17
#define S_CHANNEL_SWITCH_PENDING 18
-static inline int il_is_ready(struct il_priv *il)
+static inline int
+il_is_ready(struct il_priv *il)
{
/* The adapter is 'ready' if READY and GEO_CONFIGURED bits are
* set but EXIT_PENDING is not */
return test_bit(S_READY, &il->status) &&
- test_bit(S_GEO_CONFIGURED, &il->status) &&
- !test_bit(S_EXIT_PENDING, &il->status);
+ test_bit(S_GEO_CONFIGURED, &il->status) &&
+ !test_bit(S_EXIT_PENDING, &il->status);
}
-static inline int il_is_alive(struct il_priv *il)
+static inline int
+il_is_alive(struct il_priv *il)
{
return test_bit(S_ALIVE, &il->status);
}
-static inline int il_is_init(struct il_priv *il)
+static inline int
+il_is_init(struct il_priv *il)
{
return test_bit(S_INIT, &il->status);
}
-static inline int il_is_rfkill_hw(struct il_priv *il)
+static inline int
+il_is_rfkill_hw(struct il_priv *il)
{
return test_bit(S_RF_KILL_HW, &il->status);
}
-static inline int il_is_rfkill(struct il_priv *il)
+static inline int
+il_is_rfkill(struct il_priv *il)
{
return il_is_rfkill_hw(il);
}
-static inline int il_is_ctkill(struct il_priv *il)
+static inline int
+il_is_ctkill(struct il_priv *il)
{
return test_bit(S_CT_KILL, &il->status);
}
-static inline int il_is_ready_rf(struct il_priv *il)
+static inline int
+il_is_ready_rf(struct il_priv *il)
{
if (il_is_rfkill(il))
@@ -2151,66 +2126,63 @@ static inline int il_is_ready_rf(struct il_priv *il)
}
extern void il_send_bt_config(struct il_priv *il);
-extern int il_send_stats_request(struct il_priv *il,
- u8 flags, bool clear);
+extern int il_send_stats_request(struct il_priv *il, u8 flags, bool clear);
void il_apm_stop(struct il_priv *il);
int il_apm_init(struct il_priv *il);
-int il_send_rxon_timing(struct il_priv *il,
- struct il_rxon_context *ctx);
-static inline int il_send_rxon_assoc(struct il_priv *il,
- struct il_rxon_context *ctx)
+int il_send_rxon_timing(struct il_priv *il, struct il_rxon_context *ctx);
+static inline int
+il_send_rxon_assoc(struct il_priv *il, struct il_rxon_context *ctx)
{
return il->cfg->ops->hcmd->rxon_assoc(il, ctx);
}
-static inline int il_commit_rxon(struct il_priv *il,
- struct il_rxon_context *ctx)
+
+static inline int
+il_commit_rxon(struct il_priv *il, struct il_rxon_context *ctx)
{
return il->cfg->ops->hcmd->commit_rxon(il, ctx);
}
-static inline const struct ieee80211_supported_band *il_get_hw_mode(
- struct il_priv *il, enum ieee80211_band band)
+
+static inline const struct ieee80211_supported_band *
+il_get_hw_mode(struct il_priv *il, enum ieee80211_band band)
{
return il->hw->wiphy->bands[band];
}
/* mac80211 handlers */
int il_mac_config(struct ieee80211_hw *hw, u32 changed);
-void il_mac_reset_tsf(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif);
-void il_mac_bss_info_changed(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_bss_conf *bss_conf,
- u32 changes);
-void il_tx_cmd_protection(struct il_priv *il,
- struct ieee80211_tx_info *info,
- __le16 fc, __le32 *tx_flags);
+void il_mac_reset_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
+void il_mac_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_bss_conf *bss_conf, u32 changes);
+void il_tx_cmd_protection(struct il_priv *il, struct ieee80211_tx_info *info,
+ __le16 fc, __le32 * tx_flags);
irqreturn_t il_isr(int irq, void *data);
-
#include <linux/io.h>
-static inline void _il_write8(struct il_priv *il, u32 ofs, u8 val)
+static inline void
+_il_write8(struct il_priv *il, u32 ofs, u8 val)
{
iowrite8(val, il->hw_base + ofs);
}
#define il_write8(il, ofs, val) _il_write8(il, ofs, val)
-static inline void _il_wr(struct il_priv *il, u32 ofs, u32 val)
+static inline void
+_il_wr(struct il_priv *il, u32 ofs, u32 val)
{
iowrite32(val, il->hw_base + ofs);
}
-static inline u32 _il_rd(struct il_priv *il, u32 ofs)
+static inline u32
+_il_rd(struct il_priv *il, u32 ofs)
{
return ioread32(il->hw_base + ofs);
}
#define IL_POLL_INTERVAL 10 /* microseconds */
static inline int
-_il_poll_bit(struct il_priv *il, u32 addr,
- u32 bits, u32 mask, int timeout)
+_il_poll_bit(struct il_priv *il, u32 addr, u32 bits, u32 mask, int timeout)
{
int t = 0;
@@ -2219,17 +2191,20 @@ _il_poll_bit(struct il_priv *il, u32 addr,
return t;
udelay(IL_POLL_INTERVAL);
t += IL_POLL_INTERVAL;
- } while (t < timeout);
+ }
+ while (t < timeout);
return -ETIMEDOUT;
}
-static inline void _il_set_bit(struct il_priv *il, u32 reg, u32 mask)
+static inline void
+_il_set_bit(struct il_priv *il, u32 reg, u32 mask)
{
_il_wr(il, reg, _il_rd(il, reg) | mask);
}
-static inline void il_set_bit(struct il_priv *p, u32 r, u32 m)
+static inline void
+il_set_bit(struct il_priv *p, u32 r, u32 m)
{
unsigned long reg_flags;
@@ -2244,7 +2219,8 @@ _il_clear_bit(struct il_priv *il, u32 reg, u32 mask)
_il_wr(il, reg, _il_rd(il, reg) & ~mask);
}
-static inline void il_clear_bit(struct il_priv *p, u32 r, u32 m)
+static inline void
+il_clear_bit(struct il_priv *p, u32 r, u32 m)
{
unsigned long reg_flags;
@@ -2253,14 +2229,14 @@ static inline void il_clear_bit(struct il_priv *p, u32 r, u32 m)
spin_unlock_irqrestore(&p->reg_lock, reg_flags);
}
-static inline int _il_grab_nic_access(struct il_priv *il)
+static inline int
+_il_grab_nic_access(struct il_priv *il)
{
int ret;
u32 val;
/* this bit wakes up the NIC */
- _il_set_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
+ _il_set_bit(il, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
/*
* These bits say the device is running, and should keep running for
@@ -2279,29 +2255,28 @@ static inline int _il_grab_nic_access(struct il_priv *il)
* good idea before accessing 3945/4965 SRAM (e.g. reading Event Log).
*
*/
- ret = _il_poll_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN,
- (CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY |
- CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP), 15000);
+ ret =
+ _il_poll_bit(il, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_VAL_MAC_ACCESS_EN,
+ (CSR_GP_CNTRL_REG_FLAG_MAC_CLOCK_READY |
+ CSR_GP_CNTRL_REG_FLAG_GOING_TO_SLEEP), 15000);
if (ret < 0) {
val = _il_rd(il, CSR_GP_CNTRL);
- IL_ERR(
- "MAC is in deep sleep!. CSR_GP_CNTRL = 0x%08X\n", val);
- _il_wr(il, CSR_RESET,
- CSR_RESET_REG_FLAG_FORCE_NMI);
+ IL_ERR("MAC is in deep sleep!. CSR_GP_CNTRL = 0x%08X\n", val);
+ _il_wr(il, CSR_RESET, CSR_RESET_REG_FLAG_FORCE_NMI);
return -EIO;
}
return 0;
}
-static inline void _il_release_nic_access(struct il_priv *il)
+static inline void
+_il_release_nic_access(struct il_priv *il)
{
- _il_clear_bit(il, CSR_GP_CNTRL,
- CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
+ _il_clear_bit(il, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
}
-static inline u32 il_rd(struct il_priv *il, u32 reg)
+static inline u32
+il_rd(struct il_priv *il, u32 reg)
{
u32 value;
unsigned long reg_flags;
@@ -2328,8 +2303,8 @@ il_wr(struct il_priv *il, u32 reg, u32 value)
spin_unlock_irqrestore(&il->reg_lock, reg_flags);
}
-static inline void il_write_reg_buf(struct il_priv *il,
- u32 reg, u32 len, u32 *values)
+static inline void
+il_write_reg_buf(struct il_priv *il, u32 reg, u32 len, u32 * values)
{
u32 count = sizeof(u32);
@@ -2339,8 +2314,8 @@ static inline void il_write_reg_buf(struct il_priv *il,
}
}
-static inline int il_poll_bit(struct il_priv *il, u32 addr,
- u32 mask, int timeout)
+static inline int
+il_poll_bit(struct il_priv *il, u32 addr, u32 mask, int timeout)
{
int t = 0;
@@ -2349,19 +2324,22 @@ static inline int il_poll_bit(struct il_priv *il, u32 addr,
return t;
udelay(IL_POLL_INTERVAL);
t += IL_POLL_INTERVAL;
- } while (t < timeout);
+ }
+ while (t < timeout);
return -ETIMEDOUT;
}
-static inline u32 _il_rd_prph(struct il_priv *il, u32 reg)
+static inline u32
+_il_rd_prph(struct il_priv *il, u32 reg)
{
_il_wr(il, HBUS_TARG_PRPH_RADDR, reg | (3 << 24));
rmb();
return _il_rd(il, HBUS_TARG_PRPH_RDAT);
}
-static inline u32 il_rd_prph(struct il_priv *il, u32 reg)
+static inline u32
+il_rd_prph(struct il_priv *il, u32 reg)
{
unsigned long reg_flags;
u32 val;
@@ -2374,11 +2352,10 @@ static inline u32 il_rd_prph(struct il_priv *il, u32 reg)
return val;
}
-static inline void _il_wr_prph(struct il_priv *il,
- u32 addr, u32 val)
+static inline void
+_il_wr_prph(struct il_priv *il, u32 addr, u32 val)
{
- _il_wr(il, HBUS_TARG_PRPH_WADDR,
- ((addr & 0x0000FFFF) | (3 << 24)));
+ _il_wr(il, HBUS_TARG_PRPH_WADDR, ((addr & 0x0000FFFF) | (3 << 24)));
wmb();
_il_wr(il, HBUS_TARG_PRPH_WDAT, val);
}
@@ -2415,8 +2392,8 @@ il_set_bits_prph(struct il_priv *il, u32 reg, u32 mask)
_il_wr_prph(il, reg, \
((_il_rd_prph(il, reg) & mask) | bits))
-static inline void il_set_bits_mask_prph(struct il_priv *il, u32 reg,
- u32 bits, u32 mask)
+static inline void
+il_set_bits_mask_prph(struct il_priv *il, u32 reg, u32 bits, u32 mask)
{
unsigned long reg_flags;
@@ -2427,8 +2404,8 @@ static inline void il_set_bits_mask_prph(struct il_priv *il, u32 reg,
spin_unlock_irqrestore(&il->reg_lock, reg_flags);
}
-static inline void il_clear_bits_prph(struct il_priv
- *il, u32 reg, u32 mask)
+static inline void
+il_clear_bits_prph(struct il_priv *il, u32 reg, u32 mask)
{
unsigned long reg_flags;
u32 val;
@@ -2441,7 +2418,8 @@ static inline void il_clear_bits_prph(struct il_priv
spin_unlock_irqrestore(&il->reg_lock, reg_flags);
}
-static inline u32 il_read_targ_mem(struct il_priv *il, u32 addr)
+static inline u32
+il_read_targ_mem(struct il_priv *il, u32 addr)
{
unsigned long reg_flags;
u32 value;
@@ -2474,8 +2452,7 @@ il_write_targ_mem(struct il_priv *il, u32 addr, u32 val)
}
static inline void
-il_write_targ_mem_buf(struct il_priv *il, u32 addr,
- u32 len, u32 *values)
+il_write_targ_mem_buf(struct il_priv *il, u32 addr, u32 len, u32 * values)
{
unsigned long reg_flags;
@@ -2484,8 +2461,7 @@ il_write_targ_mem_buf(struct il_priv *il, u32 addr,
_il_wr(il, HBUS_TARG_MEM_WADDR, addr);
wmb();
for (; 0 < len; len -= sizeof(u32), values++)
- _il_wr(il,
- HBUS_TARG_MEM_WDAT, *values);
+ _il_wr(il, HBUS_TARG_MEM_WDAT, *values);
_il_release_nic_access(il);
}
@@ -2495,43 +2471,31 @@ il_write_targ_mem_buf(struct il_priv *il, u32 addr,
#define HW_KEY_DYNAMIC 0
#define HW_KEY_DEFAULT 1
-#define IL_STA_DRIVER_ACTIVE BIT(0) /* driver entry is active */
-#define IL_STA_UCODE_ACTIVE BIT(1) /* ucode entry is active */
-#define IL_STA_UCODE_INPROGRESS BIT(2) /* ucode entry is in process of
- being activated */
-#define IL_STA_LOCAL BIT(3) /* station state not directed by mac80211;
- (this is for the IBSS BSSID stations) */
-#define IL_STA_BCAST BIT(4) /* this station is the special bcast station */
+#define IL_STA_DRIVER_ACTIVE BIT(0) /* driver entry is active */
+#define IL_STA_UCODE_ACTIVE BIT(1) /* ucode entry is active */
+#define IL_STA_UCODE_INPROGRESS BIT(2) /* ucode entry is in process of
+ being activated */
+#define IL_STA_LOCAL BIT(3) /* station state not directed by mac80211;
+ (this is for the IBSS BSSID stations) */
+#define IL_STA_BCAST BIT(4) /* this station is the special bcast station */
-
-void il_restore_stations(struct il_priv *il,
- struct il_rxon_context *ctx);
-void il_clear_ucode_stations(struct il_priv *il,
- struct il_rxon_context *ctx);
+void il_restore_stations(struct il_priv *il, struct il_rxon_context *ctx);
+void il_clear_ucode_stations(struct il_priv *il, struct il_rxon_context *ctx);
void il_dealloc_bcast_stations(struct il_priv *il);
int il_get_free_ucode_key_idx(struct il_priv *il);
-int il_send_add_sta(struct il_priv *il,
- struct il_addsta_cmd *sta, u8 flags);
-int il_add_station_common(struct il_priv *il,
- struct il_rxon_context *ctx,
- const u8 *addr, bool is_ap,
- struct ieee80211_sta *sta, u8 *sta_id_r);
-int il_remove_station(struct il_priv *il,
- const u8 sta_id,
- const u8 *addr);
-int il_mac_sta_remove(struct ieee80211_hw *hw,
- struct ieee80211_vif *vif,
- struct ieee80211_sta *sta);
-
-u8 il_prep_station(struct il_priv *il,
- struct il_rxon_context *ctx,
- const u8 *addr, bool is_ap,
- struct ieee80211_sta *sta);
-
-int il_send_lq_cmd(struct il_priv *il,
- struct il_rxon_context *ctx,
- struct il_link_quality_cmd *lq,
- u8 flags, bool init);
+int il_send_add_sta(struct il_priv *il, struct il_addsta_cmd *sta, u8 flags);
+int il_add_station_common(struct il_priv *il, struct il_rxon_context *ctx,
+ const u8 * addr, bool is_ap,
+ struct ieee80211_sta *sta, u8 * sta_id_r);
+int il_remove_station(struct il_priv *il, const u8 sta_id, const u8 * addr);
+int il_mac_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
+ struct ieee80211_sta *sta);
+
+u8 il_prep_station(struct il_priv *il, struct il_rxon_context *ctx,
+ const u8 * addr, bool is_ap, struct ieee80211_sta *sta);
+
+int il_send_lq_cmd(struct il_priv *il, struct il_rxon_context *ctx,
+ struct il_link_quality_cmd *lq, u8 flags, bool init);
/**
* il_clear_driver_stations - clear knowledge of all stations from driver
@@ -2542,7 +2506,8 @@ int il_send_lq_cmd(struct il_priv *il,
* able to reconfigure stations -- if we're getting there in the
* normal down flow then the stations will already be cleared.
*/
-static inline void il_clear_driver_stations(struct il_priv *il)
+static inline void
+il_clear_driver_stations(struct il_priv *il)
{
unsigned long flags;
struct il_rxon_context *ctx = &il->ctx;
@@ -2566,7 +2531,8 @@ static inline void il_clear_driver_stations(struct il_priv *il)
spin_unlock_irqrestore(&il->sta_lock, flags);
}
-static inline int il_sta_id(struct ieee80211_sta *sta)
+static inline int
+il_sta_id(struct ieee80211_sta *sta)
{
if (WARN_ON(!sta))
return IL_INVALID_STATION;
@@ -2585,9 +2551,9 @@ static inline int il_sta_id(struct ieee80211_sta *sta)
* that case, we need to use the broadcast station, so this
* inline wraps that pattern.
*/
-static inline int il_sta_id_or_broadcast(struct il_priv *il,
- struct il_rxon_context *context,
- struct ieee80211_sta *sta)
+static inline int
+il_sta_id_or_broadcast(struct il_priv *il, struct il_rxon_context *context,
+ struct ieee80211_sta *sta)
{
int sta_id;
@@ -2610,7 +2576,8 @@ static inline int il_sta_id_or_broadcast(struct il_priv *il,
* @idx -- current idx
* @n_bd -- total number of entries in queue (must be power of 2)
*/
-static inline int il_queue_inc_wrap(int idx, int n_bd)
+static inline int
+il_queue_inc_wrap(int idx, int n_bd)
{
return ++idx & (n_bd - 1);
}
@@ -2620,32 +2587,34 @@ static inline int il_queue_inc_wrap(int idx, int n_bd)
* @idx -- current idx
* @n_bd -- total number of entries in queue (must be power of 2)
*/
-static inline int il_queue_dec_wrap(int idx, int n_bd)
+static inline int
+il_queue_dec_wrap(int idx, int n_bd)
{
return --idx & (n_bd - 1);
}
/* TODO: Move fw_desc functions to iwl-pci.ko */
-static inline void il_free_fw_desc(struct pci_dev *pci_dev,
- struct fw_desc *desc)
+static inline void
+il_free_fw_desc(struct pci_dev *pci_dev, struct fw_desc *desc)
{
if (desc->v_addr)
- dma_free_coherent(&pci_dev->dev, desc->len,
- desc->v_addr, desc->p_addr);
+ dma_free_coherent(&pci_dev->dev, desc->len, desc->v_addr,
+ desc->p_addr);
desc->v_addr = NULL;
desc->len = 0;
}
-static inline int il_alloc_fw_desc(struct pci_dev *pci_dev,
- struct fw_desc *desc)
+static inline int
+il_alloc_fw_desc(struct pci_dev *pci_dev, struct fw_desc *desc)
{
if (!desc->len) {
desc->v_addr = NULL;
return -EINVAL;
}
- desc->v_addr = dma_alloc_coherent(&pci_dev->dev, desc->len,
- &desc->p_addr, GFP_KERNEL);
+ desc->v_addr =
+ dma_alloc_coherent(&pci_dev->dev, desc->len, &desc->p_addr,
+ GFP_KERNEL);
return (desc->v_addr != NULL) ? 0 : -ENOMEM;
}
@@ -2663,14 +2632,14 @@ static inline int il_alloc_fw_desc(struct pci_dev *pci_dev,
static inline void
il_set_swq_id(struct il_tx_queue *txq, u8 ac, u8 hwq)
{
- BUG_ON(ac > 3); /* only have 2 bits */
- BUG_ON(hwq > 31); /* only use 5 bits */
+ BUG_ON(ac > 3); /* only have 2 bits */
+ BUG_ON(hwq > 31); /* only use 5 bits */
txq->swq_id = (hwq << 2) | ac;
}
-static inline void il_wake_queue(struct il_priv *il,
- struct il_tx_queue *txq)
+static inline void
+il_wake_queue(struct il_priv *il, struct il_tx_queue *txq)
{
u8 queue = txq->swq_id;
u8 ac = queue & 3;
@@ -2681,8 +2650,8 @@ static inline void il_wake_queue(struct il_priv *il,
ieee80211_wake_queue(il->hw, ac);
}
-static inline void il_stop_queue(struct il_priv *il,
- struct il_tx_queue *txq)
+static inline void
+il_stop_queue(struct il_priv *il, struct il_tx_queue *txq)
{
u8 queue = txq->swq_id;
u8 ac = queue & 3;
@@ -2705,7 +2674,8 @@ static inline void il_stop_queue(struct il_priv *il,
#define ieee80211_wake_queue DO_NOT_USE_ieee80211_wake_queue
-static inline void il_disable_interrupts(struct il_priv *il)
+static inline void
+il_disable_interrupts(struct il_priv *il)
{
clear_bit(S_INT_ENABLED, &il->status);
@@ -2718,12 +2688,14 @@ static inline void il_disable_interrupts(struct il_priv *il)
_il_wr(il, CSR_FH_INT_STATUS, 0xffffffff);
}
-static inline void il_enable_rfkill_int(struct il_priv *il)
+static inline void
+il_enable_rfkill_int(struct il_priv *il)
{
_il_wr(il, CSR_INT_MASK, CSR_INT_BIT_RF_KILL);
}
-static inline void il_enable_interrupts(struct il_priv *il)
+static inline void
+il_enable_interrupts(struct il_priv *il)
{
set_bit(S_INT_ENABLED, &il->status);
_il_wr(il, CSR_INT_MASK, il->inta_mask);
@@ -2734,8 +2706,8 @@ static inline void il_enable_interrupts(struct il_priv *il)
* @il -- pointer to il_priv data structure
* @tsf_bits -- number of bits need to shift for masking)
*/
-static inline u32 il_beacon_time_mask_low(struct il_priv *il,
- u16 tsf_bits)
+static inline u32
+il_beacon_time_mask_low(struct il_priv *il, u16 tsf_bits)
{
return (1 << tsf_bits) - 1;
}
@@ -2745,8 +2717,8 @@ static inline u32 il_beacon_time_mask_low(struct il_priv *il,
* @il -- pointer to il_priv data structure
* @tsf_bits -- number of bits need to shift for masking)
*/
-static inline u32 il_beacon_time_mask_high(struct il_priv *il,
- u16 tsf_bits)
+static inline u32
+il_beacon_time_mask_high(struct il_priv *il, u16 tsf_bits)
{
return ((1 << (32 - tsf_bits)) - 1) << tsf_bits;
}
@@ -2766,20 +2738,21 @@ struct il_rb_status {
__le16 closed_fr_num;
__le16 finished_rb_num;
__le16 finished_fr_nam;
- __le32 __unused; /* 3945 only */
+ __le32 __unused; /* 3945 only */
} __packed;
-
#define TFD_QUEUE_SIZE_MAX (256)
#define TFD_QUEUE_SIZE_BC_DUP (64)
#define TFD_QUEUE_BC_SIZE (TFD_QUEUE_SIZE_MAX + TFD_QUEUE_SIZE_BC_DUP)
#define IL_TX_DMA_MASK DMA_BIT_MASK(36)
#define IL_NUM_OF_TBS 20
-static inline u8 il_get_dma_hi_addr(dma_addr_t addr)
+static inline u8
+il_get_dma_hi_addr(dma_addr_t addr)
{
return (sizeof(addr) > sizeof(u32) ? (addr >> 16) >> 16 : 0) & 0xF;
}
+
/**
* struct il_tfd_tb transmit buffer descriptor within transmit frame descriptor
*
@@ -2837,16 +2810,16 @@ struct il_tfd {
#define PCI_CFG_LINK_CTRL_VAL_L1_EN 0x02
struct il_rate_info {
- u8 plcp; /* uCode API: RATE_6M_PLCP, etc. */
- u8 plcp_siso; /* uCode API: RATE_SISO_6M_PLCP, etc. */
- u8 plcp_mimo2; /* uCode API: RATE_MIMO2_6M_PLCP, etc. */
- u8 ieee; /* MAC header: RATE_6M_IEEE, etc. */
- u8 prev_ieee; /* previous rate in IEEE speeds */
- u8 next_ieee; /* next rate in IEEE speeds */
- u8 prev_rs; /* previous rate used in rs algo */
- u8 next_rs; /* next rate used in rs algo */
- u8 prev_rs_tgg; /* previous rate used in TGG rs algo */
- u8 next_rs_tgg; /* next rate used in TGG rs algo */
+ u8 plcp; /* uCode API: RATE_6M_PLCP, etc. */
+ u8 plcp_siso; /* uCode API: RATE_SISO_6M_PLCP, etc. */
+ u8 plcp_mimo2; /* uCode API: RATE_MIMO2_6M_PLCP, etc. */
+ u8 ieee; /* MAC header: RATE_6M_IEEE, etc. */
+ u8 prev_ieee; /* previous rate in IEEE speeds */
+ u8 next_ieee; /* next rate in IEEE speeds */
+ u8 prev_rs; /* previous rate used in rs algo */
+ u8 next_rs; /* next rate used in rs algo */
+ u8 prev_rs_tgg; /* previous rate used in TGG rs algo */
+ u8 next_rs_tgg; /* next rate used in TGG rs algo */
};
struct il3945_rate_info {
@@ -2862,7 +2835,6 @@ struct il3945_rate_info {
u8 prev_table_rs; /* prev in rate table cmd */
};
-
/*
* These serve as idxes into
* struct il_rate_info il_rates[RATE_COUNT];
@@ -2929,20 +2901,20 @@ enum {
/* uCode API values for legacy bit rates, both OFDM and CCK */
enum {
- RATE_6M_PLCP = 13,
- RATE_9M_PLCP = 15,
+ RATE_6M_PLCP = 13,
+ RATE_9M_PLCP = 15,
RATE_12M_PLCP = 5,
RATE_18M_PLCP = 7,
RATE_24M_PLCP = 9,
RATE_36M_PLCP = 11,
RATE_48M_PLCP = 1,
RATE_54M_PLCP = 3,
- RATE_60M_PLCP = 3,/*FIXME:RS:should be removed*/
- RATE_1M_PLCP = 10,
- RATE_2M_PLCP = 20,
- RATE_5M_PLCP = 55,
+ RATE_60M_PLCP = 3, /*FIXME:RS:should be removed */
+ RATE_1M_PLCP = 10,
+ RATE_2M_PLCP = 20,
+ RATE_5M_PLCP = 55,
RATE_11M_PLCP = 110,
- /*FIXME:RS:add RATE_LEGACY_INVM_PLCP = 0,*/
+ /*FIXME:RS:add RATE_LEGACY_INVM_PLCP = 0, */
};
/* uCode API values for OFDM high-throughput (HT) bit rates */
@@ -2955,7 +2927,7 @@ enum {
RATE_SISO_48M_PLCP = 5,
RATE_SISO_54M_PLCP = 6,
RATE_SISO_60M_PLCP = 7,
- RATE_MIMO2_6M_PLCP = 0x8,
+ RATE_MIMO2_6M_PLCP = 0x8,
RATE_MIMO2_12M_PLCP = 0x9,
RATE_MIMO2_18M_PLCP = 0xa,
RATE_MIMO2_24M_PLCP = 0xb,
@@ -2969,8 +2941,8 @@ enum {
/* MAC header values for bit rates */
enum {
- RATE_6M_IEEE = 12,
- RATE_9M_IEEE = 18,
+ RATE_6M_IEEE = 12,
+ RATE_9M_IEEE = 18,
RATE_12M_IEEE = 24,
RATE_18M_IEEE = 36,
RATE_24M_IEEE = 48,
@@ -2978,9 +2950,9 @@ enum {
RATE_48M_IEEE = 96,
RATE_54M_IEEE = 108,
RATE_60M_IEEE = 120,
- RATE_1M_IEEE = 2,
- RATE_2M_IEEE = 4,
- RATE_5M_IEEE = 11,
+ RATE_1M_IEEE = 2,
+ RATE_2M_IEEE = 4,
+ RATE_5M_IEEE = 11,
RATE_11M_IEEE = 22,
};
@@ -3081,9 +3053,9 @@ extern const struct il_rate_info il_rates[RATE_COUNT];
enum il_table_type {
LQ_NONE,
- LQ_G, /* legacy types */
+ LQ_G, /* legacy types */
LQ_A,
- LQ_SISO, /* high-throughput types */
+ LQ_SISO, /* high-throughput types */
LQ_MIMO2,
LQ_MAX,
};
@@ -3108,8 +3080,8 @@ enum il_table_type {
#define IL_MAX_MCS_DISPLAY_SIZE 12
struct il_rate_mcs_info {
- char mbps[IL_MAX_MCS_DISPLAY_SIZE];
- char mcs[IL_MAX_MCS_DISPLAY_SIZE];
+ char mbps[IL_MAX_MCS_DISPLAY_SIZE];
+ char mcs[IL_MAX_MCS_DISPLAY_SIZE];
};
/**
@@ -3133,25 +3105,25 @@ struct il_rate_scale_data {
struct il_scale_tbl_info {
enum il_table_type lq_type;
u8 ant_type;
- u8 is_SGI; /* 1 = short guard interval */
- u8 is_ht40; /* 1 = 40 MHz channel width */
- u8 is_dup; /* 1 = duplicated data streams */
- u8 action; /* change modulation; IL_[LEGACY/SISO/MIMO]_SWITCH_* */
- u8 max_search; /* maximun number of tables we can search */
+ u8 is_SGI; /* 1 = short guard interval */
+ u8 is_ht40; /* 1 = 40 MHz channel width */
+ u8 is_dup; /* 1 = duplicated data streams */
+ u8 action; /* change modulation; IL_[LEGACY/SISO/MIMO]_SWITCH_* */
+ u8 max_search; /* maximun number of tables we can search */
s32 *expected_tpt; /* throughput metrics; expected_tpt_G, etc. */
- u32 current_rate; /* rate_n_flags, uCode API format */
- struct il_rate_scale_data win[RATE_COUNT]; /* rate histories */
+ u32 current_rate; /* rate_n_flags, uCode API format */
+ struct il_rate_scale_data win[RATE_COUNT]; /* rate histories */
};
struct il_traffic_load {
unsigned long time_stamp; /* age of the oldest stats */
- u32 packet_count[TID_QUEUE_MAX_SIZE]; /* packet count in this time
+ u32 packet_count[TID_QUEUE_MAX_SIZE]; /* packet count in this time
* slice */
- u32 total; /* total num of packets during the
- * last TID_MAX_TIME_DIFF */
- u8 queue_count; /* number of queues that has
- * been used since the last cleanup */
- u8 head; /* start of the circular buffer */
+ u32 total; /* total num of packets during the
+ * last TID_MAX_TIME_DIFF */
+ u8 queue_count; /* number of queues that has
+ * been used since the last cleanup */
+ u8 head; /* start of the circular buffer */
};
/**
@@ -3185,11 +3157,11 @@ struct il_lq_sta {
u16 active_legacy_rate;
u16 active_siso_rate;
u16 active_mimo2_rate;
- s8 max_rate_idx; /* Max rate set by user */
+ s8 max_rate_idx; /* Max rate set by user */
u8 missed_rate_counter;
struct il_link_quality_cmd lq;
- struct il_scale_tbl_info lq_info[LQ_SIZE]; /* "active", "search" */
+ struct il_scale_tbl_info lq_info[LQ_SIZE]; /* "active", "search" */
struct il_traffic_load load[TID_MAX_LOAD_COUNT];
u8 tx_agg_tid_en;
#ifdef CONFIG_MAC80211_DEBUGFS
@@ -3227,12 +3199,14 @@ struct il_station_priv {
bool asleep;
};
-static inline u8 il4965_num_of_ant(u8 m)
+static inline u8
+il4965_num_of_ant(u8 m)
{
return !!(m & ANT_A) + !!(m & ANT_B) + !!(m & ANT_C);
}
-static inline u8 il4965_first_antenna(u8 mask)
+static inline u8
+il4965_first_antenna(u8 mask)
{
if (mask & ANT_A)
return ANT_A;
@@ -3241,7 +3215,6 @@ static inline u8 il4965_first_antenna(u8 mask)
return ANT_C;
}
-
/**
* il3945_rate_scale_init - Initialize the rate scale table based on assoc info
*
@@ -3251,10 +3224,10 @@ static inline u8 il4965_first_antenna(u8 mask)
extern void il3945_rate_scale_init(struct ieee80211_hw *hw, s32 sta_id);
/* Initialize station's rate scaling information after adding station */
-extern void il4965_rs_rate_init(struct il_priv *il,
- struct ieee80211_sta *sta, u8 sta_id);
-extern void il3945_rs_rate_init(struct il_priv *il,
- struct ieee80211_sta *sta, u8 sta_id);
+extern void il4965_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta,
+ u8 sta_id);
+extern void il3945_rs_rate_init(struct il_priv *il, struct ieee80211_sta *sta,
+ u8 sta_id);
/**
* il_rate_control_register - Register the rate control algorithm callbacks
@@ -3291,7 +3264,8 @@ extern u32 il_debug_level;
* level will be used if set, otherwise the global debug level which can be
* set via module parameter is used.
*/
-static inline u32 il_get_debug_level(struct il_priv *il)
+static inline u32
+il_get_debug_level(struct il_priv *il)
{
if (il->debug_level)
return il->debug_level;
@@ -3299,7 +3273,8 @@ static inline u32 il_get_debug_level(struct il_priv *il)
return il_debug_level;
}
#else
-static inline u32 il_get_debug_level(struct il_priv *il)
+static inline u32
+il_get_debug_level(struct il_priv *il)
{
return il_debug_level;
}
@@ -3329,10 +3304,11 @@ do { \
#else
#define IL_DBG(level, fmt, args...)
-static inline void il_print_hex_dump(struct il_priv *il, int level,
- const void *p, u32 len)
-{}
-#endif /* CONFIG_IWLEGACY_DEBUG */
+static inline void
+il_print_hex_dump(struct il_priv *il, int level, const void *p, u32 len)
+{
+}
+#endif /* CONFIG_IWLEGACY_DEBUG */
#ifdef CONFIG_IWLEGACY_DEBUGFS
int il_dbgfs_register(struct il_priv *il, const char *name);
@@ -3343,10 +3319,12 @@ il_dbgfs_register(struct il_priv *il, const char *name)
{
return 0;
}
-static inline void il_dbgfs_unregister(struct il_priv *il)
+
+static inline void
+il_dbgfs_unregister(struct il_priv *il)
{
}
-#endif /* CONFIG_IWLEGACY_DEBUGFS */
+#endif /* CONFIG_IWLEGACY_DEBUGFS */
/*
* To use the debug system:
diff --git a/drivers/net/wireless/iwlegacy/csr.h b/drivers/net/wireless/iwlegacy/csr.h
index 4db04297560..9138e15004f 100644
--- a/drivers/net/wireless/iwlegacy/csr.h
+++ b/drivers/net/wireless/iwlegacy/csr.h
@@ -82,13 +82,13 @@
*/
#define CSR_BASE (0x000)
-#define CSR_HW_IF_CONFIG_REG (CSR_BASE+0x000) /* hardware interface config */
-#define CSR_INT_COALESCING (CSR_BASE+0x004) /* accum ints, 32-usec units */
-#define CSR_INT (CSR_BASE+0x008) /* host interrupt status/ack */
-#define CSR_INT_MASK (CSR_BASE+0x00c) /* host interrupt enable */
-#define CSR_FH_INT_STATUS (CSR_BASE+0x010) /* busmaster int status/ack*/
-#define CSR_GPIO_IN (CSR_BASE+0x018) /* read external chip pins */
-#define CSR_RESET (CSR_BASE+0x020) /* busmaster enable, NMI, etc*/
+#define CSR_HW_IF_CONFIG_REG (CSR_BASE+0x000) /* hardware interface config */
+#define CSR_INT_COALESCING (CSR_BASE+0x004) /* accum ints, 32-usec units */
+#define CSR_INT (CSR_BASE+0x008) /* host interrupt status/ack */
+#define CSR_INT_MASK (CSR_BASE+0x00c) /* host interrupt enable */
+#define CSR_FH_INT_STATUS (CSR_BASE+0x010) /* busmaster int status/ack */
+#define CSR_GPIO_IN (CSR_BASE+0x018) /* read external chip pins */
+#define CSR_RESET (CSR_BASE+0x020) /* busmaster enable, NMI, etc */
#define CSR_GP_CNTRL (CSR_BASE+0x024)
/* 2nd byte of CSR_INT_COALESCING, not accessible via _il_wr()! */
@@ -166,26 +166,26 @@
#define CSR_HW_IF_CONFIG_REG_BIT_HAP_WAKE_L1A (0x00080000)
#define CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM (0x00200000)
-#define CSR_HW_IF_CONFIG_REG_BIT_NIC_READY (0x00400000) /* PCI_OWN_SEM */
-#define CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE (0x02000000) /* ME_OWN */
-#define CSR_HW_IF_CONFIG_REG_PREPARE (0x08000000) /* WAKE_ME */
+#define CSR_HW_IF_CONFIG_REG_BIT_NIC_READY (0x00400000) /* PCI_OWN_SEM */
+#define CSR_HW_IF_CONFIG_REG_BIT_NIC_PREPARE_DONE (0x02000000) /* ME_OWN */
+#define CSR_HW_IF_CONFIG_REG_PREPARE (0x08000000) /* WAKE_ME */
-#define CSR_INT_PERIODIC_DIS (0x00) /* disable periodic int*/
-#define CSR_INT_PERIODIC_ENA (0xFF) /* 255*32 usec ~ 8 msec*/
+#define CSR_INT_PERIODIC_DIS (0x00) /* disable periodic int */
+#define CSR_INT_PERIODIC_ENA (0xFF) /* 255*32 usec ~ 8 msec */
/* interrupt flags in INTA, set by uCode or hardware (e.g. dma),
* acknowledged (reset) by host writing "1" to flagged bits. */
-#define CSR_INT_BIT_FH_RX (1 << 31) /* Rx DMA, cmd responses, FH_INT[17:16] */
-#define CSR_INT_BIT_HW_ERR (1 << 29) /* DMA hardware error FH_INT[31] */
-#define CSR_INT_BIT_RX_PERIODIC (1 << 28) /* Rx periodic */
-#define CSR_INT_BIT_FH_TX (1 << 27) /* Tx DMA FH_INT[1:0] */
-#define CSR_INT_BIT_SCD (1 << 26) /* TXQ pointer advanced */
-#define CSR_INT_BIT_SW_ERR (1 << 25) /* uCode error */
-#define CSR_INT_BIT_RF_KILL (1 << 7) /* HW RFKILL switch GP_CNTRL[27] toggled */
-#define CSR_INT_BIT_CT_KILL (1 << 6) /* Critical temp (chip too hot) rfkill */
-#define CSR_INT_BIT_SW_RX (1 << 3) /* Rx, command responses, 3945 */
-#define CSR_INT_BIT_WAKEUP (1 << 1) /* NIC controller waking up (pwr mgmt) */
-#define CSR_INT_BIT_ALIVE (1 << 0) /* uCode interrupts once it initializes */
+#define CSR_INT_BIT_FH_RX (1 << 31) /* Rx DMA, cmd responses, FH_INT[17:16] */
+#define CSR_INT_BIT_HW_ERR (1 << 29) /* DMA hardware error FH_INT[31] */
+#define CSR_INT_BIT_RX_PERIODIC (1 << 28) /* Rx periodic */
+#define CSR_INT_BIT_FH_TX (1 << 27) /* Tx DMA FH_INT[1:0] */
+#define CSR_INT_BIT_SCD (1 << 26) /* TXQ pointer advanced */
+#define CSR_INT_BIT_SW_ERR (1 << 25) /* uCode error */
+#define CSR_INT_BIT_RF_KILL (1 << 7) /* HW RFKILL switch GP_CNTRL[27] toggled */
+#define CSR_INT_BIT_CT_KILL (1 << 6) /* Critical temp (chip too hot) rfkill */
+#define CSR_INT_BIT_SW_RX (1 << 3) /* Rx, command responses, 3945 */
+#define CSR_INT_BIT_WAKEUP (1 << 1) /* NIC controller waking up (pwr mgmt) */
+#define CSR_INT_BIT_ALIVE (1 << 0) /* uCode interrupts once it initializes */
#define CSR_INI_SET_MASK (CSR_INT_BIT_FH_RX | \
CSR_INT_BIT_HW_ERR | \
@@ -197,21 +197,20 @@
CSR_INT_BIT_ALIVE)
/* interrupt flags in FH (flow handler) (PCI busmaster DMA) */
-#define CSR_FH_INT_BIT_ERR (1 << 31) /* Error */
-#define CSR_FH_INT_BIT_HI_PRIOR (1 << 30) /* High priority Rx, bypass coalescing */
-#define CSR39_FH_INT_BIT_RX_CHNL2 (1 << 18) /* Rx channel 2 (3945 only) */
-#define CSR_FH_INT_BIT_RX_CHNL1 (1 << 17) /* Rx channel 1 */
-#define CSR_FH_INT_BIT_RX_CHNL0 (1 << 16) /* Rx channel 0 */
-#define CSR39_FH_INT_BIT_TX_CHNL6 (1 << 6) /* Tx channel 6 (3945 only) */
-#define CSR_FH_INT_BIT_TX_CHNL1 (1 << 1) /* Tx channel 1 */
-#define CSR_FH_INT_BIT_TX_CHNL0 (1 << 0) /* Tx channel 0 */
+#define CSR_FH_INT_BIT_ERR (1 << 31) /* Error */
+#define CSR_FH_INT_BIT_HI_PRIOR (1 << 30) /* High priority Rx, bypass coalescing */
+#define CSR39_FH_INT_BIT_RX_CHNL2 (1 << 18) /* Rx channel 2 (3945 only) */
+#define CSR_FH_INT_BIT_RX_CHNL1 (1 << 17) /* Rx channel 1 */
+#define CSR_FH_INT_BIT_RX_CHNL0 (1 << 16) /* Rx channel 0 */
+#define CSR39_FH_INT_BIT_TX_CHNL6 (1 << 6) /* Tx channel 6 (3945 only) */
+#define CSR_FH_INT_BIT_TX_CHNL1 (1 << 1) /* Tx channel 1 */
+#define CSR_FH_INT_BIT_TX_CHNL0 (1 << 0) /* Tx channel 0 */
#define CSR39_FH_INT_RX_MASK (CSR_FH_INT_BIT_HI_PRIOR | \
CSR39_FH_INT_BIT_RX_CHNL2 | \
CSR_FH_INT_BIT_RX_CHNL1 | \
CSR_FH_INT_BIT_RX_CHNL0)
-
#define CSR39_FH_INT_TX_MASK (CSR39_FH_INT_BIT_TX_CHNL6 | \
CSR_FH_INT_BIT_TX_CHNL1 | \
CSR_FH_INT_BIT_TX_CHNL0)
@@ -285,7 +284,6 @@
#define CSR_GP_CNTRL_REG_FLAG_MAC_POWER_SAVE (0x04000000)
#define CSR_GP_CNTRL_REG_FLAG_HW_RF_KILL_SW (0x08000000)
-
/* EEPROM REG */
#define CSR_EEPROM_REG_READ_VALID_MSK (0x00000001)
#define CSR_EEPROM_REG_BIT_CMD (0x00000002)
@@ -293,19 +291,18 @@
#define CSR_EEPROM_REG_MSK_DATA (0xFFFF0000)
/* EEPROM GP */
-#define CSR_EEPROM_GP_VALID_MSK (0x00000007) /* signature */
+#define CSR_EEPROM_GP_VALID_MSK (0x00000007) /* signature */
#define CSR_EEPROM_GP_IF_OWNER_MSK (0x00000180)
#define CSR_EEPROM_GP_GOOD_SIG_EEP_LESS_THAN_4K (0x00000002)
#define CSR_EEPROM_GP_GOOD_SIG_EEP_MORE_THAN_4K (0x00000004)
/* GP REG */
-#define CSR_GP_REG_POWER_SAVE_STATUS_MSK (0x03000000) /* bit 24/25 */
+#define CSR_GP_REG_POWER_SAVE_STATUS_MSK (0x03000000) /* bit 24/25 */
#define CSR_GP_REG_NO_POWER_SAVE (0x00000000)
#define CSR_GP_REG_MAC_POWER_SAVE (0x01000000)
#define CSR_GP_REG_PHY_POWER_SAVE (0x02000000)
#define CSR_GP_REG_POWER_SAVE_ERROR (0x03000000)
-
/* CSR GIO */
#define CSR_GIO_REG_VAL_L0S_ENABLED (0x00000002)
diff --git a/drivers/net/wireless/iwlegacy/debug.c b/drivers/net/wireless/iwlegacy/debug.c
index 4e2b6c80849..e79794a7e32 100644
--- a/drivers/net/wireless/iwlegacy/debug.c
+++ b/drivers/net/wireless/iwlegacy/debug.c
@@ -64,7 +64,6 @@ static ssize_t il_dbgfs_##name##_write(struct file *file, \
const char __user *user_buf, \
size_t count, loff_t *ppos);
-
static int
il_dbgfs_open_file_generic(struct inode *inode, struct file *file)
{
@@ -98,9 +97,10 @@ static const struct file_operations il_dbgfs_##name##_ops = { \
.llseek = generic_file_llseek, \
};
-static ssize_t il_dbgfs_tx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_tx_stats_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
+{
struct il_priv *il = file->private_data;
char *buf;
@@ -108,30 +108,30 @@ static ssize_t il_dbgfs_tx_stats_read(struct file *file,
int cnt;
ssize_t ret;
- const size_t bufsz = 100 +
- sizeof(char) * 50 * (MANAGEMENT_MAX + CONTROL_MAX);
+ const size_t bufsz =
+ 100 + sizeof(char) * 50 * (MANAGEMENT_MAX + CONTROL_MAX);
buf = kzalloc(bufsz, GFP_KERNEL);
if (!buf)
return -ENOMEM;
pos += scnprintf(buf + pos, bufsz - pos, "Management:\n");
for (cnt = 0; cnt < MANAGEMENT_MAX; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "\t%25s\t\t: %u\n",
- il_get_mgmt_string(cnt),
- il->tx_stats.mgmt[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\t%25s\t\t: %u\n",
+ il_get_mgmt_string(cnt), il->tx_stats.mgmt[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "Control\n");
for (cnt = 0; cnt < CONTROL_MAX; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "\t%25s\t\t: %u\n",
- il_get_ctrl_string(cnt),
- il->tx_stats.ctrl[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\t%25s\t\t: %u\n",
+ il_get_ctrl_string(cnt), il->tx_stats.ctrl[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "Data:\n");
- pos += scnprintf(buf + pos, bufsz - pos, "\tcnt: %u\n",
- il->tx_stats.data_cnt);
- pos += scnprintf(buf + pos, bufsz - pos, "\tbytes: %llu\n",
- il->tx_stats.data_bytes);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\tcnt: %u\n",
+ il->tx_stats.data_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\tbytes: %llu\n",
+ il->tx_stats.data_bytes);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
@@ -139,8 +139,8 @@ static ssize_t il_dbgfs_tx_stats_read(struct file *file,
static ssize_t
il_dbgfs_clear_traffic_stats_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+ const char __user * user_buf, size_t count,
+ loff_t * ppos)
{
struct il_priv *il = file->private_data;
u32 clear_flag;
@@ -148,7 +148,7 @@ il_dbgfs_clear_traffic_stats_write(struct file *file,
int buf_size;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%x", &clear_flag) != 1)
@@ -158,40 +158,41 @@ il_dbgfs_clear_traffic_stats_write(struct file *file,
return count;
}
-static ssize_t il_dbgfs_rx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_rx_stats_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
+{
struct il_priv *il = file->private_data;
char *buf;
int pos = 0;
int cnt;
ssize_t ret;
- const size_t bufsz = 100 +
- sizeof(char) * 50 * (MANAGEMENT_MAX + CONTROL_MAX);
+ const size_t bufsz =
+ 100 + sizeof(char) * 50 * (MANAGEMENT_MAX + CONTROL_MAX);
buf = kzalloc(bufsz, GFP_KERNEL);
if (!buf)
return -ENOMEM;
pos += scnprintf(buf + pos, bufsz - pos, "Management:\n");
for (cnt = 0; cnt < MANAGEMENT_MAX; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "\t%25s\t\t: %u\n",
- il_get_mgmt_string(cnt),
- il->rx_stats.mgmt[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\t%25s\t\t: %u\n",
+ il_get_mgmt_string(cnt), il->rx_stats.mgmt[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "Control:\n");
for (cnt = 0; cnt < CONTROL_MAX; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "\t%25s\t\t: %u\n",
- il_get_ctrl_string(cnt),
- il->rx_stats.ctrl[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\t%25s\t\t: %u\n",
+ il_get_ctrl_string(cnt), il->rx_stats.ctrl[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "Data:\n");
- pos += scnprintf(buf + pos, bufsz - pos, "\tcnt: %u\n",
- il->rx_stats.data_cnt);
- pos += scnprintf(buf + pos, bufsz - pos, "\tbytes: %llu\n",
- il->rx_stats.data_bytes);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\tcnt: %u\n",
+ il->rx_stats.data_cnt);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\tbytes: %llu\n",
+ il->rx_stats.data_bytes);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
@@ -201,9 +202,9 @@ static ssize_t il_dbgfs_rx_stats_read(struct file *file,
#define BYTE1_MASK 0x000000ff;
#define BYTE2_MASK 0x0000ffff;
#define BYTE3_MASK 0x00ffffff;
-static ssize_t il_dbgfs_sram_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_sram_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
{
u32 val;
char *buf;
@@ -221,17 +222,21 @@ static ssize_t il_dbgfs_sram_read(struct file *file,
else
il->dbgfs_sram_len = il->ucode_data.len;
}
- bufsz = 30 + il->dbgfs_sram_len * sizeof(char) * 10;
+ bufsz = 30 + il->dbgfs_sram_len * sizeof(char) * 10;
buf = kmalloc(bufsz, GFP_KERNEL);
if (!buf)
return -ENOMEM;
- pos += scnprintf(buf + pos, bufsz - pos, "sram_len: 0x%x\n",
- il->dbgfs_sram_len);
- pos += scnprintf(buf + pos, bufsz - pos, "sram_offset: 0x%x\n",
- il->dbgfs_sram_offset);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "sram_len: 0x%x\n",
+ il->dbgfs_sram_len);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "sram_offset: 0x%x\n",
+ il->dbgfs_sram_offset);
for (i = il->dbgfs_sram_len; i > 0; i -= 4) {
- val = il_read_targ_mem(il, il->dbgfs_sram_offset + \
- il->dbgfs_sram_len - i);
+ val =
+ il_read_targ_mem(il,
+ il->dbgfs_sram_offset +
+ il->dbgfs_sram_len - i);
if (i < 4) {
switch (i) {
case 1:
@@ -256,9 +261,9 @@ static ssize_t il_dbgfs_sram_read(struct file *file,
return ret;
}
-static ssize_t il_dbgfs_sram_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_sram_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[64];
@@ -266,7 +271,7 @@ static ssize_t il_dbgfs_sram_write(struct file *file,
u32 offset, len;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
@@ -282,8 +287,8 @@ static ssize_t il_dbgfs_sram_write(struct file *file,
}
static ssize_t
-il_dbgfs_stations_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il_dbgfs_stations_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
{
struct il_priv *il = file->private_data;
struct il_station_entry *station;
@@ -298,36 +303,42 @@ il_dbgfs_stations_read(struct file *file, char __user *user_buf,
if (!buf)
return -ENOMEM;
- pos += scnprintf(buf + pos, bufsz - pos, "num of stations: %d\n\n",
- il->num_stations);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "num of stations: %d\n\n",
+ il->num_stations);
for (i = 0; i < max_sta; i++) {
station = &il->stations[i];
if (!station->used)
continue;
- pos += scnprintf(buf + pos, bufsz - pos,
- "station %d - addr: %pM, flags: %#x\n",
- i, station->sta.sta.addr,
- station->sta.station_flags_msk);
- pos += scnprintf(buf + pos, bufsz - pos,
- "TID\tseq_num\ttxq_id\tframes\ttfds\t");
- pos += scnprintf(buf + pos, bufsz - pos,
- "start_idx\tbitmap\t\t\trate_n_flags\n");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "station %d - addr: %pM, flags: %#x\n", i,
+ station->sta.sta.addr,
+ station->sta.station_flags_msk);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "TID\tseq_num\ttxq_id\tframes\ttfds\t");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "start_idx\tbitmap\t\t\trate_n_flags\n");
for (j = 0; j < MAX_TID_COUNT; j++) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "%d:\t%#x\t%#x\t%u\t%u\t%u\t\t%#.16llx\t%#x",
- j, station->tid[j].seq_number,
- station->tid[j].agg.txq_id,
- station->tid[j].agg.frame_count,
- station->tid[j].tfds_in_queue,
- station->tid[j].agg.start_idx,
- station->tid[j].agg.bitmap,
- station->tid[j].agg.rate_n_flags);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%d:\t%#x\t%#x\t%u\t%u\t%u\t\t%#.16llx\t%#x",
+ j, station->tid[j].seq_number,
+ station->tid[j].agg.txq_id,
+ station->tid[j].agg.frame_count,
+ station->tid[j].tfds_in_queue,
+ station->tid[j].agg.start_idx,
+ station->tid[j].agg.bitmap,
+ station->tid[j].agg.rate_n_flags);
if (station->tid[j].agg.wait_for_ba)
- pos += scnprintf(buf + pos, bufsz - pos,
- " - waitforba");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " - waitforba");
pos += scnprintf(buf + pos, bufsz - pos, "\n");
}
@@ -339,10 +350,9 @@ il_dbgfs_stations_read(struct file *file, char __user *user_buf,
return ret;
}
-static ssize_t il_dbgfs_nvm_read(struct file *file,
- char __user *user_buf,
- size_t count,
- loff_t *ppos)
+static ssize_t
+il_dbgfs_nvm_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
{
ssize_t ret;
struct il_priv *il = file->private_data;
@@ -371,11 +381,12 @@ static ssize_t il_dbgfs_nvm_read(struct file *file,
return -ENOMEM;
}
eeprom_ver = il_eeprom_query16(il, EEPROM_VERSION);
- pos += scnprintf(buf + pos, buf_size - pos, "EEPROM "
- "version: 0x%x\n", eeprom_ver);
- for (ofs = 0 ; ofs < eeprom_len ; ofs += 16) {
+ pos +=
+ scnprintf(buf + pos, buf_size - pos, "EEPROM " "version: 0x%x\n",
+ eeprom_ver);
+ for (ofs = 0; ofs < eeprom_len; ofs += 16) {
pos += scnprintf(buf + pos, buf_size - pos, "0x%.4x ", ofs);
- hex_dump_to_buffer(ptr + ofs, 16 , 16, 2, buf + pos,
+ hex_dump_to_buffer(ptr + ofs, 16, 16, 2, buf + pos,
buf_size - pos, 0);
pos += strlen(buf + pos);
if (buf_size - pos > 0)
@@ -388,8 +399,8 @@ static ssize_t il_dbgfs_nvm_read(struct file *file,
}
static ssize_t
-il_dbgfs_channels_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il_dbgfs_channels_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
{
struct il_priv *il = file->private_data;
struct ieee80211_channel *channels = NULL;
@@ -411,106 +422,132 @@ il_dbgfs_channels_read(struct file *file, char __user *user_buf,
if (supp_band) {
channels = supp_band->channels;
- pos += scnprintf(buf + pos, bufsz - pos,
- "Displaying %d channels in 2.4GHz band 802.11bg):\n",
- supp_band->n_channels);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "Displaying %d channels in 2.4GHz band 802.11bg):\n",
+ supp_band->n_channels);
for (i = 0; i < supp_band->n_channels; i++)
- pos += scnprintf(buf + pos, bufsz - pos,
- "%d: %ddBm: BSS%s%s, %s.\n",
- channels[i].hw_value,
- channels[i].max_power,
- channels[i].flags & IEEE80211_CHAN_RADAR ?
- " (IEEE 802.11h required)" : "",
- ((channels[i].flags & IEEE80211_CHAN_NO_IBSS)
- || (channels[i].flags &
- IEEE80211_CHAN_RADAR)) ? "" :
- ", IBSS",
- channels[i].flags &
- IEEE80211_CHAN_PASSIVE_SCAN ?
- "passive only" : "active/passive");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%d: %ddBm: BSS%s%s, %s.\n",
+ channels[i].hw_value,
+ channels[i].max_power,
+ channels[i].
+ flags & IEEE80211_CHAN_RADAR ?
+ " (IEEE 802.11h required)" : "",
+ ((channels[i].
+ flags & IEEE80211_CHAN_NO_IBSS) ||
+ (channels[i].
+ flags & IEEE80211_CHAN_RADAR)) ? "" :
+ ", IBSS",
+ channels[i].
+ flags & IEEE80211_CHAN_PASSIVE_SCAN ?
+ "passive only" : "active/passive");
}
supp_band = il_get_hw_mode(il, IEEE80211_BAND_5GHZ);
if (supp_band) {
channels = supp_band->channels;
- pos += scnprintf(buf + pos, bufsz - pos,
- "Displaying %d channels in 5.2GHz band (802.11a)\n",
- supp_band->n_channels);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "Displaying %d channels in 5.2GHz band (802.11a)\n",
+ supp_band->n_channels);
for (i = 0; i < supp_band->n_channels; i++)
- pos += scnprintf(buf + pos, bufsz - pos,
- "%d: %ddBm: BSS%s%s, %s.\n",
- channels[i].hw_value,
- channels[i].max_power,
- channels[i].flags & IEEE80211_CHAN_RADAR ?
- " (IEEE 802.11h required)" : "",
- ((channels[i].flags & IEEE80211_CHAN_NO_IBSS)
- || (channels[i].flags &
- IEEE80211_CHAN_RADAR)) ? "" :
- ", IBSS",
- channels[i].flags &
- IEEE80211_CHAN_PASSIVE_SCAN ?
- "passive only" : "active/passive");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "%d: %ddBm: BSS%s%s, %s.\n",
+ channels[i].hw_value,
+ channels[i].max_power,
+ channels[i].
+ flags & IEEE80211_CHAN_RADAR ?
+ " (IEEE 802.11h required)" : "",
+ ((channels[i].
+ flags & IEEE80211_CHAN_NO_IBSS) ||
+ (channels[i].
+ flags & IEEE80211_CHAN_RADAR)) ? "" :
+ ", IBSS",
+ channels[i].
+ flags & IEEE80211_CHAN_PASSIVE_SCAN ?
+ "passive only" : "active/passive");
}
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-static ssize_t il_dbgfs_status_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_status_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
+{
struct il_priv *il = file->private_data;
char buf[512];
int pos = 0;
const size_t bufsz = sizeof(buf);
- pos += scnprintf(buf + pos, bufsz - pos, "S_HCMD_ACTIVE:\t %d\n",
- test_bit(S_HCMD_ACTIVE, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_INT_ENABLED:\t %d\n",
- test_bit(S_INT_ENABLED, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_RF_KILL_HW:\t %d\n",
- test_bit(S_RF_KILL_HW, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_CT_KILL:\t\t %d\n",
- test_bit(S_CT_KILL, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_INIT:\t\t %d\n",
- test_bit(S_INIT, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_ALIVE:\t\t %d\n",
- test_bit(S_ALIVE, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_READY:\t\t %d\n",
- test_bit(S_READY, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_TEMPERATURE:\t %d\n",
- test_bit(S_TEMPERATURE, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_GEO_CONFIGURED:\t %d\n",
- test_bit(S_GEO_CONFIGURED, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_EXIT_PENDING:\t %d\n",
- test_bit(S_EXIT_PENDING, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_STATS:\t %d\n",
- test_bit(S_STATS, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_SCANNING:\t %d\n",
- test_bit(S_SCANNING, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_SCAN_ABORTING:\t %d\n",
- test_bit(S_SCAN_ABORTING, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_SCAN_HW:\t\t %d\n",
- test_bit(S_SCAN_HW, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_POWER_PMI:\t %d\n",
- test_bit(S_POWER_PMI, &il->status));
- pos += scnprintf(buf + pos, bufsz - pos, "S_FW_ERROR:\t %d\n",
- test_bit(S_FW_ERROR, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_HCMD_ACTIVE:\t %d\n",
+ test_bit(S_HCMD_ACTIVE, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_INT_ENABLED:\t %d\n",
+ test_bit(S_INT_ENABLED, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_RF_KILL_HW:\t %d\n",
+ test_bit(S_RF_KILL_HW, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_CT_KILL:\t\t %d\n",
+ test_bit(S_CT_KILL, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_INIT:\t\t %d\n",
+ test_bit(S_INIT, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_ALIVE:\t\t %d\n",
+ test_bit(S_ALIVE, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_READY:\t\t %d\n",
+ test_bit(S_READY, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_TEMPERATURE:\t %d\n",
+ test_bit(S_TEMPERATURE, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_GEO_CONFIGURED:\t %d\n",
+ test_bit(S_GEO_CONFIGURED, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_EXIT_PENDING:\t %d\n",
+ test_bit(S_EXIT_PENDING, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_STATS:\t %d\n",
+ test_bit(S_STATS, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_SCANNING:\t %d\n",
+ test_bit(S_SCANNING, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_SCAN_ABORTING:\t %d\n",
+ test_bit(S_SCAN_ABORTING, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_SCAN_HW:\t\t %d\n",
+ test_bit(S_SCAN_HW, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_POWER_PMI:\t %d\n",
+ test_bit(S_POWER_PMI, &il->status));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "S_FW_ERROR:\t %d\n",
+ test_bit(S_FW_ERROR, &il->status));
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
-static ssize_t il_dbgfs_interrupt_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_interrupt_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int pos = 0;
int cnt = 0;
char *buf;
- int bufsz = 24 * 64; /* 24 items * 64 char per item */
+ int bufsz = 24 * 64; /* 24 items * 64 char per item */
ssize_t ret;
buf = kzalloc(bufsz, GFP_KERNEL);
@@ -519,59 +556,70 @@ static ssize_t il_dbgfs_interrupt_read(struct file *file,
return -ENOMEM;
}
- pos += scnprintf(buf + pos, bufsz - pos,
- "Interrupt Statistics Report:\n");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Interrupt Statistics Report:\n");
- pos += scnprintf(buf + pos, bufsz - pos, "HW Error:\t\t\t %u\n",
- il->isr_stats.hw);
- pos += scnprintf(buf + pos, bufsz - pos, "SW Error:\t\t\t %u\n",
- il->isr_stats.sw);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "HW Error:\t\t\t %u\n",
+ il->isr_stats.hw);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "SW Error:\t\t\t %u\n",
+ il->isr_stats.sw);
if (il->isr_stats.sw || il->isr_stats.hw) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "\tLast Restarting Code: 0x%X\n",
- il->isr_stats.err_code);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "\tLast Restarting Code: 0x%X\n",
+ il->isr_stats.err_code);
}
#ifdef CONFIG_IWLEGACY_DEBUG
- pos += scnprintf(buf + pos, bufsz - pos, "Frame transmitted:\t\t %u\n",
- il->isr_stats.sch);
- pos += scnprintf(buf + pos, bufsz - pos, "Alive interrupt:\t\t %u\n",
- il->isr_stats.alive);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Frame transmitted:\t\t %u\n",
+ il->isr_stats.sch);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Alive interrupt:\t\t %u\n",
+ il->isr_stats.alive);
#endif
- pos += scnprintf(buf + pos, bufsz - pos,
- "HW RF KILL switch toggled:\t %u\n",
- il->isr_stats.rfkill);
-
- pos += scnprintf(buf + pos, bufsz - pos, "CT KILL:\t\t\t %u\n",
- il->isr_stats.ctkill);
-
- pos += scnprintf(buf + pos, bufsz - pos, "Wakeup Interrupt:\t\t %u\n",
- il->isr_stats.wakeup);
-
- pos += scnprintf(buf + pos, bufsz - pos,
- "Rx command responses:\t\t %u\n",
- il->isr_stats.rx);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "HW RF KILL switch toggled:\t %u\n",
+ il->isr_stats.rfkill);
+
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "CT KILL:\t\t\t %u\n",
+ il->isr_stats.ctkill);
+
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Wakeup Interrupt:\t\t %u\n",
+ il->isr_stats.wakeup);
+
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Rx command responses:\t\t %u\n",
+ il->isr_stats.rx);
for (cnt = 0; cnt < IL_CN_MAX; cnt++) {
if (il->isr_stats.handlers[cnt] > 0)
- pos += scnprintf(buf + pos, bufsz - pos,
- "\tRx handler[%36s]:\t\t %u\n",
- il_get_cmd_string(cnt),
- il->isr_stats.handlers[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "\tRx handler[%36s]:\t\t %u\n",
+ il_get_cmd_string(cnt),
+ il->isr_stats.handlers[cnt]);
}
- pos += scnprintf(buf + pos, bufsz - pos, "Tx/FH interrupt:\t\t %u\n",
- il->isr_stats.tx);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Tx/FH interrupt:\t\t %u\n",
+ il->isr_stats.tx);
- pos += scnprintf(buf + pos, bufsz - pos, "Unexpected INTA:\t\t %u\n",
- il->isr_stats.unhandled);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Unexpected INTA:\t\t %u\n",
+ il->isr_stats.unhandled);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-static ssize_t il_dbgfs_interrupt_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_interrupt_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[8];
@@ -579,7 +627,7 @@ static ssize_t il_dbgfs_interrupt_write(struct file *file,
u32 reset_flag;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%x", &reset_flag) != 1)
@@ -591,8 +639,8 @@ static ssize_t il_dbgfs_interrupt_write(struct file *file,
}
static ssize_t
-il_dbgfs_qos_read(struct file *file, char __user *user_buf,
- size_t count, loff_t *ppos)
+il_dbgfs_qos_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
{
struct il_priv *il = file->private_data;
struct il_rxon_context *ctx = &il->ctx;
@@ -600,25 +648,26 @@ il_dbgfs_qos_read(struct file *file, char __user *user_buf,
char buf[256];
const size_t bufsz = sizeof(buf);
- pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n",
- ctx->ctxid);
+ pos += scnprintf(buf + pos, bufsz - pos, "context %d:\n", ctx->ctxid);
for (i = 0; i < AC_NUM; i++) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "\tcw_min\tcw_max\taifsn\ttxop\n");
- pos += scnprintf(buf + pos, bufsz - pos,
- "AC[%d]\t%u\t%u\t%u\t%u\n", i,
- ctx->qos_data.def_qos_parm.ac[i].cw_min,
- ctx->qos_data.def_qos_parm.ac[i].cw_max,
- ctx->qos_data.def_qos_parm.ac[i].aifsn,
- ctx->qos_data.def_qos_parm.ac[i].edca_txop);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "\tcw_min\tcw_max\taifsn\ttxop\n");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "AC[%d]\t%u\t%u\t%u\t%u\n", i,
+ ctx->qos_data.def_qos_parm.ac[i].cw_min,
+ ctx->qos_data.def_qos_parm.ac[i].cw_max,
+ ctx->qos_data.def_qos_parm.ac[i].aifsn,
+ ctx->qos_data.def_qos_parm.ac[i].edca_txop);
}
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
-static ssize_t il_dbgfs_disable_ht40_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_disable_ht40_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[8];
@@ -626,7 +675,7 @@ static ssize_t il_dbgfs_disable_ht40_write(struct file *file,
int ht40;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%d", &ht40) != 1)
@@ -635,25 +684,25 @@ static ssize_t il_dbgfs_disable_ht40_write(struct file *file,
il->disable_ht40 = ht40 ? true : false;
else {
IL_ERR("Sta associated with AP - "
- "Change to 40MHz channel support is not allowed\n");
+ "Change to 40MHz channel support is not allowed\n");
return -EINVAL;
}
return count;
}
-static ssize_t il_dbgfs_disable_ht40_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_disable_ht40_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[100];
int pos = 0;
const size_t bufsz = sizeof(buf);
- pos += scnprintf(buf + pos, bufsz - pos,
- "11n 40MHz Mode: %s\n",
- il->disable_ht40 ? "Disabled" : "Enabled");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "11n 40MHz Mode: %s\n",
+ il->disable_ht40 ? "Disabled" : "Enabled");
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
@@ -666,9 +715,9 @@ DEBUGFS_READ_WRITE_FILE_OPS(interrupt);
DEBUGFS_READ_FILE_OPS(qos);
DEBUGFS_READ_WRITE_FILE_OPS(disable_ht40);
-static ssize_t il_dbgfs_traffic_log_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_traffic_log_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
int pos = 0, ofs = 0;
@@ -677,8 +726,9 @@ static ssize_t il_dbgfs_traffic_log_read(struct file *file,
struct il_queue *q;
struct il_rx_queue *rxq = &il->rxq;
char *buf;
- int bufsz = ((IL_TRAFFIC_ENTRIES * IL_TRAFFIC_ENTRY_SIZE * 64) * 2) +
- (il->cfg->base_params->num_of_queues * 32 * 8) + 400;
+ int bufsz =
+ ((IL_TRAFFIC_ENTRIES * IL_TRAFFIC_ENTRY_SIZE * 64) * 2) +
+ (il->cfg->base_params->num_of_queues * 32 * 8) + 400;
const u8 *ptr;
ssize_t ret;
@@ -695,19 +745,22 @@ static ssize_t il_dbgfs_traffic_log_read(struct file *file,
for (cnt = 0; cnt < il->hw_params.max_txq_num; cnt++) {
txq = &il->txq[cnt];
q = &txq->q;
- pos += scnprintf(buf + pos, bufsz - pos,
- "q[%d]: read_ptr: %u, write_ptr: %u\n",
- cnt, q->read_ptr, q->write_ptr);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "q[%d]: read_ptr: %u, write_ptr: %u\n", cnt,
+ q->read_ptr, q->write_ptr);
}
if (il->tx_traffic && (il_debug_level & IL_DL_TX)) {
ptr = il->tx_traffic;
- pos += scnprintf(buf + pos, bufsz - pos,
- "Tx Traffic idx: %u\n", il->tx_traffic_idx);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Tx Traffic idx: %u\n",
+ il->tx_traffic_idx);
for (cnt = 0, ofs = 0; cnt < IL_TRAFFIC_ENTRIES; cnt++) {
for (entry = 0; entry < IL_TRAFFIC_ENTRY_SIZE / 16;
- entry++, ofs += 16) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "0x%.4x ", ofs);
+ entry++, ofs += 16) {
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "0x%.4x ",
+ ofs);
hex_dump_to_buffer(ptr + ofs, 16, 16, 2,
buf + pos, bufsz - pos, 0);
pos += strlen(buf + pos);
@@ -718,19 +771,21 @@ static ssize_t il_dbgfs_traffic_log_read(struct file *file,
}
pos += scnprintf(buf + pos, bufsz - pos, "Rx Queue\n");
- pos += scnprintf(buf + pos, bufsz - pos,
- "read: %u, write: %u\n",
- rxq->read, rxq->write);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "read: %u, write: %u\n",
+ rxq->read, rxq->write);
if (il->rx_traffic && (il_debug_level & IL_DL_RX)) {
ptr = il->rx_traffic;
- pos += scnprintf(buf + pos, bufsz - pos,
- "Rx Traffic idx: %u\n", il->rx_traffic_idx);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "Rx Traffic idx: %u\n",
+ il->rx_traffic_idx);
for (cnt = 0, ofs = 0; cnt < IL_TRAFFIC_ENTRIES; cnt++) {
for (entry = 0; entry < IL_TRAFFIC_ENTRY_SIZE / 16;
- entry++, ofs += 16) {
- pos += scnprintf(buf + pos, bufsz - pos,
- "0x%.4x ", ofs);
+ entry++, ofs += 16) {
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "0x%.4x ",
+ ofs);
hex_dump_to_buffer(ptr + ofs, 16, 16, 2,
buf + pos, bufsz - pos, 0);
pos += strlen(buf + pos);
@@ -745,9 +800,9 @@ static ssize_t il_dbgfs_traffic_log_read(struct file *file,
return ret;
}
-static ssize_t il_dbgfs_traffic_log_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_traffic_log_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[8];
@@ -755,7 +810,7 @@ static ssize_t il_dbgfs_traffic_log_write(struct file *file,
int traffic_log;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%d", &traffic_log) != 1)
@@ -766,9 +821,10 @@ static ssize_t il_dbgfs_traffic_log_write(struct file *file,
return count;
}
-static ssize_t il_dbgfs_tx_queue_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_tx_queue_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
+{
struct il_priv *il = file->private_data;
struct il_tx_queue *txq;
@@ -777,8 +833,8 @@ static ssize_t il_dbgfs_tx_queue_read(struct file *file,
int pos = 0;
int cnt;
int ret;
- const size_t bufsz = sizeof(char) * 64 *
- il->cfg->base_params->num_of_queues;
+ const size_t bufsz =
+ sizeof(char) * 64 * il->cfg->base_params->num_of_queues;
if (!il->txq) {
IL_ERR("txq not ready\n");
@@ -791,28 +847,32 @@ static ssize_t il_dbgfs_tx_queue_read(struct file *file,
for (cnt = 0; cnt < il->hw_params.max_txq_num; cnt++) {
txq = &il->txq[cnt];
q = &txq->q;
- pos += scnprintf(buf + pos, bufsz - pos,
- "hwq %.2d: read=%u write=%u stop=%d"
- " swq_id=%#.2x (ac %d/hwq %d)\n",
- cnt, q->read_ptr, q->write_ptr,
- !!test_bit(cnt, il->queue_stopped),
- txq->swq_id, txq->swq_id & 3,
- (txq->swq_id >> 2) & 0x1f);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "hwq %.2d: read=%u write=%u stop=%d"
+ " swq_id=%#.2x (ac %d/hwq %d)\n", cnt,
+ q->read_ptr, q->write_ptr, !!test_bit(cnt,
+ il->
+ queue_stopped),
+ txq->swq_id, txq->swq_id & 3,
+ (txq->swq_id >> 2) & 0x1f);
if (cnt >= 4)
continue;
/* for the ACs, display the stop count too */
- pos += scnprintf(buf + pos, bufsz - pos,
- " stop-count: %d\n",
- atomic_read(&il->queue_stop_count[cnt]));
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ " stop-count: %d\n",
+ atomic_read(&il->queue_stop_count[cnt]));
}
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-static ssize_t il_dbgfs_rx_queue_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_rx_queue_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
+{
struct il_priv *il = file->private_data;
struct il_rx_queue *rxq = &il->rxq;
@@ -820,52 +880,55 @@ static ssize_t il_dbgfs_rx_queue_read(struct file *file,
int pos = 0;
const size_t bufsz = sizeof(buf);
- pos += scnprintf(buf + pos, bufsz - pos, "read: %u\n",
- rxq->read);
- pos += scnprintf(buf + pos, bufsz - pos, "write: %u\n",
- rxq->write);
- pos += scnprintf(buf + pos, bufsz - pos, "free_count: %u\n",
- rxq->free_count);
+ pos += scnprintf(buf + pos, bufsz - pos, "read: %u\n", rxq->read);
+ pos += scnprintf(buf + pos, bufsz - pos, "write: %u\n", rxq->write);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "free_count: %u\n",
+ rxq->free_count);
if (rxq->rb_stts) {
- pos += scnprintf(buf + pos, bufsz - pos, "closed_rb_num: %u\n",
- le16_to_cpu(rxq->rb_stts->closed_rb_num) & 0x0FFF);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "closed_rb_num: %u\n",
+ le16_to_cpu(rxq->rb_stts->
+ closed_rb_num) & 0x0FFF);
} else {
- pos += scnprintf(buf + pos, bufsz - pos,
- "closed_rb_num: Not Allocated\n");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "closed_rb_num: Not Allocated\n");
}
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
-static ssize_t il_dbgfs_ucode_rx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_ucode_rx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
- return il->cfg->ops->lib->debugfs_ops.rx_stats_read(file,
- user_buf, count, ppos);
+ return il->cfg->ops->lib->debugfs_ops.rx_stats_read(file, user_buf,
+ count, ppos);
}
-static ssize_t il_dbgfs_ucode_tx_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_ucode_tx_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
- return il->cfg->ops->lib->debugfs_ops.tx_stats_read(file,
- user_buf, count, ppos);
+ return il->cfg->ops->lib->debugfs_ops.tx_stats_read(file, user_buf,
+ count, ppos);
}
-static ssize_t il_dbgfs_ucode_general_stats_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_ucode_general_stats_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
- return il->cfg->ops->lib->debugfs_ops.general_stats_read(file,
- user_buf, count, ppos);
+ return il->cfg->ops->lib->debugfs_ops.general_stats_read(file, user_buf,
+ count, ppos);
}
-static ssize_t il_dbgfs_sensitivity_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_sensitivity_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -882,71 +945,89 @@ static ssize_t il_dbgfs_sensitivity_read(struct file *file,
return -ENOMEM;
}
- pos += scnprintf(buf + pos, bufsz - pos, "auto_corr_ofdm:\t\t\t %u\n",
- data->auto_corr_ofdm);
- pos += scnprintf(buf + pos, bufsz - pos,
- "auto_corr_ofdm_mrc:\t\t %u\n",
- data->auto_corr_ofdm_mrc);
- pos += scnprintf(buf + pos, bufsz - pos, "auto_corr_ofdm_x1:\t\t %u\n",
- data->auto_corr_ofdm_x1);
- pos += scnprintf(buf + pos, bufsz - pos,
- "auto_corr_ofdm_mrc_x1:\t\t %u\n",
- data->auto_corr_ofdm_mrc_x1);
- pos += scnprintf(buf + pos, bufsz - pos, "auto_corr_cck:\t\t\t %u\n",
- data->auto_corr_cck);
- pos += scnprintf(buf + pos, bufsz - pos, "auto_corr_cck_mrc:\t\t %u\n",
- data->auto_corr_cck_mrc);
- pos += scnprintf(buf + pos, bufsz - pos,
- "last_bad_plcp_cnt_ofdm:\t\t %u\n",
- data->last_bad_plcp_cnt_ofdm);
- pos += scnprintf(buf + pos, bufsz - pos, "last_fa_cnt_ofdm:\t\t %u\n",
- data->last_fa_cnt_ofdm);
- pos += scnprintf(buf + pos, bufsz - pos,
- "last_bad_plcp_cnt_cck:\t\t %u\n",
- data->last_bad_plcp_cnt_cck);
- pos += scnprintf(buf + pos, bufsz - pos, "last_fa_cnt_cck:\t\t %u\n",
- data->last_fa_cnt_cck);
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_curr_state:\t\t\t %u\n",
- data->nrg_curr_state);
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_prev_state:\t\t\t %u\n",
- data->nrg_prev_state);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "auto_corr_ofdm:\t\t\t %u\n",
+ data->auto_corr_ofdm);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "auto_corr_ofdm_mrc:\t\t %u\n",
+ data->auto_corr_ofdm_mrc);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "auto_corr_ofdm_x1:\t\t %u\n",
+ data->auto_corr_ofdm_x1);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "auto_corr_ofdm_mrc_x1:\t\t %u\n",
+ data->auto_corr_ofdm_mrc_x1);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "auto_corr_cck:\t\t\t %u\n",
+ data->auto_corr_cck);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "auto_corr_cck_mrc:\t\t %u\n",
+ data->auto_corr_cck_mrc);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "last_bad_plcp_cnt_ofdm:\t\t %u\n",
+ data->last_bad_plcp_cnt_ofdm);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "last_fa_cnt_ofdm:\t\t %u\n",
+ data->last_fa_cnt_ofdm);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "last_bad_plcp_cnt_cck:\t\t %u\n",
+ data->last_bad_plcp_cnt_cck);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "last_fa_cnt_cck:\t\t %u\n",
+ data->last_fa_cnt_cck);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_curr_state:\t\t\t %u\n",
+ data->nrg_curr_state);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_prev_state:\t\t\t %u\n",
+ data->nrg_prev_state);
pos += scnprintf(buf + pos, bufsz - pos, "nrg_value:\t\t\t");
for (cnt = 0; cnt < 10; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos, " %u",
- data->nrg_value[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, " %u",
+ data->nrg_value[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "\n");
pos += scnprintf(buf + pos, bufsz - pos, "nrg_silence_rssi:\t\t");
for (cnt = 0; cnt < NRG_NUM_PREV_STAT_L; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos, " %u",
- data->nrg_silence_rssi[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, " %u",
+ data->nrg_silence_rssi[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "\n");
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_silence_ref:\t\t %u\n",
- data->nrg_silence_ref);
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_energy_idx:\t\t\t %u\n",
- data->nrg_energy_idx);
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_silence_idx:\t\t %u\n",
- data->nrg_silence_idx);
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_th_cck:\t\t\t %u\n",
- data->nrg_th_cck);
- pos += scnprintf(buf + pos, bufsz - pos,
- "nrg_auto_corr_silence_diff:\t %u\n",
- data->nrg_auto_corr_silence_diff);
- pos += scnprintf(buf + pos, bufsz - pos, "num_in_cck_no_fa:\t\t %u\n",
- data->num_in_cck_no_fa);
- pos += scnprintf(buf + pos, bufsz - pos, "nrg_th_ofdm:\t\t\t %u\n",
- data->nrg_th_ofdm);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_silence_ref:\t\t %u\n",
+ data->nrg_silence_ref);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_energy_idx:\t\t\t %u\n",
+ data->nrg_energy_idx);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_silence_idx:\t\t %u\n",
+ data->nrg_silence_idx);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_th_cck:\t\t\t %u\n",
+ data->nrg_th_cck);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "nrg_auto_corr_silence_diff:\t %u\n",
+ data->nrg_auto_corr_silence_diff);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "num_in_cck_no_fa:\t\t %u\n",
+ data->num_in_cck_no_fa);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "nrg_th_ofdm:\t\t\t %u\n",
+ data->nrg_th_ofdm);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-
-static ssize_t il_dbgfs_chain_noise_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_chain_noise_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -963,48 +1044,60 @@ static ssize_t il_dbgfs_chain_noise_read(struct file *file,
return -ENOMEM;
}
- pos += scnprintf(buf + pos, bufsz - pos, "active_chains:\t\t\t %u\n",
- data->active_chains);
- pos += scnprintf(buf + pos, bufsz - pos, "chain_noise_a:\t\t\t %u\n",
- data->chain_noise_a);
- pos += scnprintf(buf + pos, bufsz - pos, "chain_noise_b:\t\t\t %u\n",
- data->chain_noise_b);
- pos += scnprintf(buf + pos, bufsz - pos, "chain_noise_c:\t\t\t %u\n",
- data->chain_noise_c);
- pos += scnprintf(buf + pos, bufsz - pos, "chain_signal_a:\t\t\t %u\n",
- data->chain_signal_a);
- pos += scnprintf(buf + pos, bufsz - pos, "chain_signal_b:\t\t\t %u\n",
- data->chain_signal_b);
- pos += scnprintf(buf + pos, bufsz - pos, "chain_signal_c:\t\t\t %u\n",
- data->chain_signal_c);
- pos += scnprintf(buf + pos, bufsz - pos, "beacon_count:\t\t\t %u\n",
- data->beacon_count);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "active_chains:\t\t\t %u\n",
+ data->active_chains);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "chain_noise_a:\t\t\t %u\n",
+ data->chain_noise_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "chain_noise_b:\t\t\t %u\n",
+ data->chain_noise_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "chain_noise_c:\t\t\t %u\n",
+ data->chain_noise_c);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "chain_signal_a:\t\t\t %u\n",
+ data->chain_signal_a);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "chain_signal_b:\t\t\t %u\n",
+ data->chain_signal_b);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "chain_signal_c:\t\t\t %u\n",
+ data->chain_signal_c);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "beacon_count:\t\t\t %u\n",
+ data->beacon_count);
pos += scnprintf(buf + pos, bufsz - pos, "disconn_array:\t\t\t");
for (cnt = 0; cnt < NUM_RX_CHAINS; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos, " %u",
- data->disconn_array[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, " %u",
+ data->disconn_array[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "\n");
pos += scnprintf(buf + pos, bufsz - pos, "delta_gain_code:\t\t");
for (cnt = 0; cnt < NUM_RX_CHAINS; cnt++) {
- pos += scnprintf(buf + pos, bufsz - pos, " %u",
- data->delta_gain_code[cnt]);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, " %u",
+ data->delta_gain_code[cnt]);
}
pos += scnprintf(buf + pos, bufsz - pos, "\n");
- pos += scnprintf(buf + pos, bufsz - pos, "radio_write:\t\t\t %u\n",
- data->radio_write);
- pos += scnprintf(buf + pos, bufsz - pos, "state:\t\t\t\t %u\n",
- data->state);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "radio_write:\t\t\t %u\n",
+ data->radio_write);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "state:\t\t\t\t %u\n",
+ data->state);
ret = simple_read_from_buffer(user_buf, count, ppos, buf, pos);
kfree(buf);
return ret;
}
-static ssize_t il_dbgfs_power_save_status_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_power_save_status_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[60];
@@ -1012,22 +1105,25 @@ static ssize_t il_dbgfs_power_save_status_read(struct file *file,
const size_t bufsz = sizeof(buf);
u32 pwrsave_status;
- pwrsave_status = _il_rd(il, CSR_GP_CNTRL) &
- CSR_GP_REG_POWER_SAVE_STATUS_MSK;
+ pwrsave_status =
+ _il_rd(il, CSR_GP_CNTRL) & CSR_GP_REG_POWER_SAVE_STATUS_MSK;
pos += scnprintf(buf + pos, bufsz - pos, "Power Save Status: ");
- pos += scnprintf(buf + pos, bufsz - pos, "%s\n",
- (pwrsave_status == CSR_GP_REG_NO_POWER_SAVE) ? "none" :
- (pwrsave_status == CSR_GP_REG_MAC_POWER_SAVE) ? "MAC" :
- (pwrsave_status == CSR_GP_REG_PHY_POWER_SAVE) ? "PHY" :
- "error");
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "%s\n",
+ (pwrsave_status ==
+ CSR_GP_REG_NO_POWER_SAVE) ? "none" : (pwrsave_status ==
+ CSR_GP_REG_MAC_POWER_SAVE)
+ ? "MAC" : (pwrsave_status ==
+ CSR_GP_REG_PHY_POWER_SAVE) ? "PHY" : "error");
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
-static ssize_t il_dbgfs_clear_ucode_stats_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_clear_ucode_stats_write(struct file *file,
+ const char __user * user_buf, size_t count,
+ loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[8];
@@ -1035,7 +1131,7 @@ static ssize_t il_dbgfs_clear_ucode_stats_write(struct file *file,
int clear;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%d", &clear) != 1)
@@ -1049,35 +1145,36 @@ static ssize_t il_dbgfs_clear_ucode_stats_write(struct file *file,
return count;
}
-static ssize_t il_dbgfs_rxon_flags_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_rxon_flags_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int len = 0;
char buf[20];
- len = sprintf(buf, "0x%04X\n",
- le32_to_cpu(il->ctx.active.flags));
+ len = sprintf(buf, "0x%04X\n", le32_to_cpu(il->ctx.active.flags));
return simple_read_from_buffer(user_buf, count, ppos, buf, len);
}
-static ssize_t il_dbgfs_rxon_filter_flags_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_rxon_filter_flags_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int len = 0;
char buf[20];
- len = sprintf(buf, "0x%04X\n",
- le32_to_cpu(il->ctx.active.filter_flags));
+ len =
+ sprintf(buf, "0x%04X\n", le32_to_cpu(il->ctx.active.filter_flags));
return simple_read_from_buffer(user_buf, count, ppos, buf, len);
}
-static ssize_t il_dbgfs_fh_reg_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_fh_reg_read(struct file *file, char __user * user_buf, size_t count,
+ loff_t * ppos)
{
struct il_priv *il = file->private_data;
char *buf;
@@ -1087,8 +1184,9 @@ static ssize_t il_dbgfs_fh_reg_read(struct file *file,
if (il->cfg->ops->lib->dump_fh) {
ret = pos = il->cfg->ops->lib->dump_fh(il, &buf, true);
if (buf) {
- ret = simple_read_from_buffer(user_buf,
- count, ppos, buf, pos);
+ ret =
+ simple_read_from_buffer(user_buf, count, ppos, buf,
+ pos);
kfree(buf);
}
}
@@ -1096,24 +1194,26 @@ static ssize_t il_dbgfs_fh_reg_read(struct file *file,
return ret;
}
-static ssize_t il_dbgfs_missed_beacon_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_missed_beacon_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int pos = 0;
char buf[12];
const size_t bufsz = sizeof(buf);
- pos += scnprintf(buf + pos, bufsz - pos, "%d\n",
- il->missed_beacon_threshold);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "%d\n",
+ il->missed_beacon_threshold);
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
-static ssize_t il_dbgfs_missed_beacon_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos)
+static ssize_t
+il_dbgfs_missed_beacon_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
{
struct il_priv *il = file->private_data;
char buf[8];
@@ -1121,7 +1221,7 @@ static ssize_t il_dbgfs_missed_beacon_write(struct file *file,
int missed;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%d", &missed) != 1)
@@ -1129,17 +1229,17 @@ static ssize_t il_dbgfs_missed_beacon_write(struct file *file,
if (missed < IL_MISSED_BEACON_THRESHOLD_MIN ||
missed > IL_MISSED_BEACON_THRESHOLD_MAX)
- il->missed_beacon_threshold =
- IL_MISSED_BEACON_THRESHOLD_DEF;
+ il->missed_beacon_threshold = IL_MISSED_BEACON_THRESHOLD_DEF;
else
il->missed_beacon_threshold = missed;
return count;
}
-static ssize_t il_dbgfs_force_reset_read(struct file *file,
- char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_force_reset_read(struct file *file, char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
int pos = 0;
@@ -1149,25 +1249,28 @@ static ssize_t il_dbgfs_force_reset_read(struct file *file,
force_reset = &il->force_reset;
- pos += scnprintf(buf + pos, bufsz - pos,
- "\tnumber of reset request: %d\n",
- force_reset->reset_request_count);
- pos += scnprintf(buf + pos, bufsz - pos,
- "\tnumber of reset request success: %d\n",
- force_reset->reset_success_count);
- pos += scnprintf(buf + pos, bufsz - pos,
- "\tnumber of reset request reject: %d\n",
- force_reset->reset_reject_count);
- pos += scnprintf(buf + pos, bufsz - pos,
- "\treset duration: %lu\n",
- force_reset->reset_duration);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\tnumber of reset request: %d\n",
+ force_reset->reset_request_count);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "\tnumber of reset request success: %d\n",
+ force_reset->reset_success_count);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos,
+ "\tnumber of reset request reject: %d\n",
+ force_reset->reset_reject_count);
+ pos +=
+ scnprintf(buf + pos, bufsz - pos, "\treset duration: %lu\n",
+ force_reset->reset_duration);
return simple_read_from_buffer(user_buf, count, ppos, buf, pos);
}
-static ssize_t il_dbgfs_force_reset_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_force_reset_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
int ret;
struct il_priv *il = file->private_data;
@@ -1177,9 +1280,10 @@ static ssize_t il_dbgfs_force_reset_write(struct file *file,
return ret ? ret : count;
}
-static ssize_t il_dbgfs_wd_timeout_write(struct file *file,
- const char __user *user_buf,
- size_t count, loff_t *ppos) {
+static ssize_t
+il_dbgfs_wd_timeout_write(struct file *file, const char __user * user_buf,
+ size_t count, loff_t * ppos)
+{
struct il_priv *il = file->private_data;
char buf[8];
@@ -1187,7 +1291,7 @@ static ssize_t il_dbgfs_wd_timeout_write(struct file *file,
int timeout;
memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
+ buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT;
if (sscanf(buf, "%d", &timeout) != 1)
@@ -1224,7 +1328,8 @@ DEBUGFS_WRITE_FILE_OPS(wd_timeout);
* Create the debugfs files and directories
*
*/
-int il_dbgfs_register(struct il_priv *il, const char *name)
+int
+il_dbgfs_register(struct il_priv *il, const char *name)
{
struct dentry *phyd = il->hw->wiphy->debugfsdir;
struct dentry *dir_drv, *dir_data, *dir_rf, *dir_debug;
@@ -1281,8 +1386,7 @@ int il_dbgfs_register(struct il_priv *il, const char *name)
if (il->cfg->base_params->chain_noise_calib_by_driver)
DEBUGFS_ADD_BOOL(disable_chain_noise, dir_rf,
&il->disable_chain_noise_cal);
- DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf,
- &il->disable_tx_power_cal);
+ DEBUGFS_ADD_BOOL(disable_tx_power, dir_rf, &il->disable_tx_power_cal);
return 0;
err:
@@ -1290,13 +1394,15 @@ err:
il_dbgfs_unregister(il);
return -ENOMEM;
}
+
EXPORT_SYMBOL(il_dbgfs_register);
/**
* Remove the debugfs files and directories
*
*/
-void il_dbgfs_unregister(struct il_priv *il)
+void
+il_dbgfs_unregister(struct il_priv *il)
{
if (!il->debugfs_dir)
return;
@@ -1304,4 +1410,5 @@ void il_dbgfs_unregister(struct il_priv *il)
debugfs_remove_recursive(il->debugfs_dir);
il->debugfs_dir = NULL;
}
+
EXPORT_SYMBOL(il_dbgfs_unregister);
diff --git a/drivers/net/wireless/iwlegacy/prph.h b/drivers/net/wireless/iwlegacy/prph.h
index 029ea8a83df..ffec4b4a248 100644
--- a/drivers/net/wireless/iwlegacy/prph.h
+++ b/drivers/net/wireless/iwlegacy/prph.h
@@ -91,9 +91,9 @@
#define APMG_PS_CTRL_VAL_RESET_REQ (0x04000000)
#define APMG_PS_CTRL_MSK_PWR_SRC (0x03000000)
#define APMG_PS_CTRL_VAL_PWR_SRC_VMAIN (0x00000000)
-#define APMG_PS_CTRL_VAL_PWR_SRC_MAX (0x01000000) /* 3945 only */
+#define APMG_PS_CTRL_VAL_PWR_SRC_MAX (0x01000000) /* 3945 only */
#define APMG_PS_CTRL_VAL_PWR_SRC_VAUX (0x02000000)
-#define APMG_SVR_VOLTAGE_CONFIG_BIT_MSK (0x000001E0) /* bit 8:5 */
+#define APMG_SVR_VOLTAGE_CONFIG_BIT_MSK (0x000001E0) /* bit 8:5 */
#define APMG_SVR_DIGITAL_VOLTAGE_1_32 (0x00000060)
#define APMG_PCIDEV_STT_VAL_L1_ACT_DIS (0x00000800)
@@ -202,19 +202,19 @@
*/
/* BSM bit fields */
-#define BSM_WR_CTRL_REG_BIT_START (0x80000000) /* start boot load now */
-#define BSM_WR_CTRL_REG_BIT_START_EN (0x40000000) /* enable boot after pwrup*/
-#define BSM_DRAM_INST_LOAD (0x80000000) /* start program load now */
+#define BSM_WR_CTRL_REG_BIT_START (0x80000000) /* start boot load now */
+#define BSM_WR_CTRL_REG_BIT_START_EN (0x40000000) /* enable boot after pwrup */
+#define BSM_DRAM_INST_LOAD (0x80000000) /* start program load now */
/* BSM addresses */
#define BSM_BASE (PRPH_BASE + 0x3400)
#define BSM_END (PRPH_BASE + 0x3800)
-#define BSM_WR_CTRL_REG (BSM_BASE + 0x000) /* ctl and status */
-#define BSM_WR_MEM_SRC_REG (BSM_BASE + 0x004) /* source in BSM mem */
-#define BSM_WR_MEM_DST_REG (BSM_BASE + 0x008) /* dest in SRAM mem */
-#define BSM_WR_DWCOUNT_REG (BSM_BASE + 0x00C) /* bytes */
-#define BSM_WR_STATUS_REG (BSM_BASE + 0x010) /* bit 0: 1 == done */
+#define BSM_WR_CTRL_REG (BSM_BASE + 0x000) /* ctl and status */
+#define BSM_WR_MEM_SRC_REG (BSM_BASE + 0x004) /* source in BSM mem */
+#define BSM_WR_MEM_DST_REG (BSM_BASE + 0x008) /* dest in SRAM mem */
+#define BSM_WR_DWCOUNT_REG (BSM_BASE + 0x00C) /* bytes */
+#define BSM_WR_STATUS_REG (BSM_BASE + 0x010) /* bit 0: 1 == done */
/*
* Pointers and size regs for bootstrap load and data SRAM save/restore.
@@ -231,8 +231,7 @@
* Read/write, address range from LOWER_BOUND to (LOWER_BOUND + SIZE -1)
*/
#define BSM_SRAM_LOWER_BOUND (PRPH_BASE + 0x3800)
-#define BSM_SRAM_SIZE (1024) /* bytes */
-
+#define BSM_SRAM_SIZE (1024) /* bytes */
/* 3945 Tx scheduler registers */
#define ALM_SCD_BASE (PRPH_BASE + 0x2E00)
@@ -520,4 +519,4 @@
/*********************** END TX SCHEDULER *************************************/
-#endif /* __il_prph_h__ */
+#endif /* __il_prph_h__ */