aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-4965.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-4965.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-4965.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c
index 83c52a682622..3297fc7b80bf 100644
--- a/drivers/net/wireless/iwlwifi/iwl-4965.c
+++ b/drivers/net/wireless/iwlwifi/iwl-4965.c
@@ -502,14 +502,14 @@ static void iwl4965_tx_queue_set_status(struct iwl_priv *priv,
502 scd_retry ? "BA" : "AC", txq_id, tx_fifo_id); 502 scd_retry ? "BA" : "AC", txq_id, tx_fifo_id);
503} 503}
504 504
505static const u16 default_queue_to_tx_fifo[] = { 505static const s8 default_queue_to_tx_fifo[] = {
506 IWL_TX_FIFO_AC3, 506 IWL_TX_FIFO_VO,
507 IWL_TX_FIFO_AC2, 507 IWL_TX_FIFO_VI,
508 IWL_TX_FIFO_AC1, 508 IWL_TX_FIFO_BE,
509 IWL_TX_FIFO_AC0, 509 IWL_TX_FIFO_BK,
510 IWL49_CMD_FIFO_NUM, 510 IWL49_CMD_FIFO_NUM,
511 IWL_TX_FIFO_HCCA_1, 511 IWL_TX_FIFO_UNUSED,
512 IWL_TX_FIFO_HCCA_2 512 IWL_TX_FIFO_UNUSED,
513}; 513};
514 514
515static int iwl4965_alive_notify(struct iwl_priv *priv) 515static int iwl4965_alive_notify(struct iwl_priv *priv)
@@ -589,9 +589,15 @@ static int iwl4965_alive_notify(struct iwl_priv *priv)
589 /* reset to 0 to enable all the queue first */ 589 /* reset to 0 to enable all the queue first */
590 priv->txq_ctx_active_msk = 0; 590 priv->txq_ctx_active_msk = 0;
591 /* Map each Tx/cmd queue to its corresponding fifo */ 591 /* Map each Tx/cmd queue to its corresponding fifo */
592 BUILD_BUG_ON(ARRAY_SIZE(default_queue_to_tx_fifo) != 7);
592 for (i = 0; i < ARRAY_SIZE(default_queue_to_tx_fifo); i++) { 593 for (i = 0; i < ARRAY_SIZE(default_queue_to_tx_fifo); i++) {
593 int ac = default_queue_to_tx_fifo[i]; 594 int ac = default_queue_to_tx_fifo[i];
595
594 iwl_txq_ctx_activate(priv, i); 596 iwl_txq_ctx_activate(priv, i);
597
598 if (ac == IWL_TX_FIFO_UNUSED)
599 continue;
600
595 iwl4965_tx_queue_set_status(priv, &priv->txq[i], ac, 0); 601 iwl4965_tx_queue_set_status(priv, &priv->txq[i], ac, 0);
596 } 602 }
597 603
@@ -2179,6 +2185,7 @@ static struct iwl_lib_ops iwl4965_lib = {
2179 .load_ucode = iwl4965_load_bsm, 2185 .load_ucode = iwl4965_load_bsm,
2180 .dump_nic_event_log = iwl_dump_nic_event_log, 2186 .dump_nic_event_log = iwl_dump_nic_event_log,
2181 .dump_nic_error_log = iwl_dump_nic_error_log, 2187 .dump_nic_error_log = iwl_dump_nic_error_log,
2188 .dump_fh = iwl_dump_fh,
2182 .set_channel_switch = iwl4965_hw_channel_switch, 2189 .set_channel_switch = iwl4965_hw_channel_switch,
2183 .apm_ops = { 2190 .apm_ops = {
2184 .init = iwl_apm_init, 2191 .init = iwl_apm_init,
@@ -2212,6 +2219,7 @@ static struct iwl_lib_ops iwl4965_lib = {
2212 .set_ct_kill = iwl4965_set_ct_threshold, 2219 .set_ct_kill = iwl4965_set_ct_threshold,
2213 }, 2220 },
2214 .add_bcast_station = iwl_add_bcast_station, 2221 .add_bcast_station = iwl_add_bcast_station,
2222 .check_plcp_health = iwl_good_plcp_health,
2215}; 2223};
2216 2224
2217static const struct iwl_ops iwl4965_ops = { 2225static const struct iwl_ops iwl4965_ops = {
@@ -2223,7 +2231,7 @@ static const struct iwl_ops iwl4965_ops = {
2223}; 2231};
2224 2232
2225struct iwl_cfg iwl4965_agn_cfg = { 2233struct iwl_cfg iwl4965_agn_cfg = {
2226 .name = "4965AGN", 2234 .name = "Intel(R) Wireless WiFi Link 4965AGN",
2227 .fw_name_pre = IWL4965_FW_PRE, 2235 .fw_name_pre = IWL4965_FW_PRE,
2228 .ucode_api_max = IWL4965_UCODE_API_MAX, 2236 .ucode_api_max = IWL4965_UCODE_API_MAX,
2229 .ucode_api_min = IWL4965_UCODE_API_MIN, 2237 .ucode_api_min = IWL4965_UCODE_API_MIN,
@@ -2246,6 +2254,7 @@ struct iwl_cfg iwl4965_agn_cfg = {
2246 .led_compensation = 61, 2254 .led_compensation = 61,
2247 .chain_noise_num_beacons = IWL4965_CAL_NUM_BEACONS, 2255 .chain_noise_num_beacons = IWL4965_CAL_NUM_BEACONS,
2248 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, 2256 .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF,
2257 .monitor_recover_period = IWL_MONITORING_PERIOD,
2249}; 2258};
2250 2259
2251/* Module firmware */ 2260/* Module firmware */