.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /****************************************************************************** |
---|
2 | 3 | * |
---|
3 | | - * GPL LICENSE SUMMARY |
---|
4 | | - * |
---|
5 | 4 | * Copyright(c) 2008 - 2014 Intel Corporation. All rights reserved. |
---|
6 | | - * |
---|
7 | | - * This program is free software; you can redistribute it and/or modify |
---|
8 | | - * it under the terms of version 2 of the GNU General Public License as |
---|
9 | | - * published by the Free Software Foundation. |
---|
10 | | - * |
---|
11 | | - * This program is distributed in the hope that it will be useful, but |
---|
12 | | - * WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
13 | | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
---|
14 | | - * General Public License for more details. |
---|
15 | | - * |
---|
16 | | - * You should have received a copy of the GNU General Public License |
---|
17 | | - * along with this program; if not, write to the Free Software |
---|
18 | | - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, |
---|
19 | | - * USA |
---|
20 | | - * |
---|
21 | | - * The full GNU General Public License is included in this distribution |
---|
22 | | - * in the file called COPYING. |
---|
| 5 | + * Copyright (C) 2019 Intel Corporation |
---|
23 | 6 | * |
---|
24 | 7 | * Contact Information: |
---|
25 | 8 | * Intel Linux Wireless <linuxwifi@intel.com> |
---|
.. | .. |
---|
284 | 267 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); |
---|
285 | 268 | struct iwl_station_priv *sta_priv = NULL; |
---|
286 | 269 | struct iwl_rxon_context *ctx = &priv->contexts[IWL_RXON_CTX_BSS]; |
---|
287 | | - struct iwl_device_cmd *dev_cmd; |
---|
| 270 | + struct iwl_device_tx_cmd *dev_cmd; |
---|
288 | 271 | struct iwl_tx_cmd *tx_cmd; |
---|
289 | 272 | __le16 fc; |
---|
290 | 273 | u8 hdr_len; |
---|
.. | .. |
---|
365 | 348 | if (unlikely(!dev_cmd)) |
---|
366 | 349 | goto drop_unlock_priv; |
---|
367 | 350 | |
---|
368 | | - memset(dev_cmd, 0, sizeof(*dev_cmd)); |
---|
369 | 351 | dev_cmd->hdr.cmd = REPLY_TX; |
---|
370 | 352 | tx_cmd = (struct iwl_tx_cmd *) dev_cmd->payload; |
---|
371 | 353 | |
---|
.. | .. |
---|
485 | 467 | int q; |
---|
486 | 468 | |
---|
487 | 469 | for (q = IWLAGN_FIRST_AMPDU_QUEUE; |
---|
488 | | - q < priv->cfg->base_params->num_of_queues; q++) { |
---|
| 470 | + q < priv->trans->trans_cfg->base_params->num_of_queues; q++) { |
---|
489 | 471 | if (!test_and_set_bit(q, priv->agg_q_alloc)) { |
---|
490 | 472 | priv->queue_to_mac80211[q] = mq; |
---|
491 | 473 | return q; |
---|
.. | .. |
---|
638 | 620 | IWL_DEBUG_TX_QUEUES(priv, "Can proceed: ssn = next_recl = %d\n", |
---|
639 | 621 | tid_data->agg.ssn); |
---|
640 | 622 | tid_data->agg.state = IWL_AGG_STARTING; |
---|
641 | | - ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); |
---|
| 623 | + ret = IEEE80211_AMPDU_TX_START_IMMEDIATE; |
---|
642 | 624 | } else { |
---|
643 | 625 | IWL_DEBUG_TX_QUEUES(priv, "Can't proceed: ssn %d, " |
---|
644 | 626 | "next_reclaimed = %d\n", |
---|
.. | .. |
---|
821 | 803 | rcu_read_unlock(); |
---|
822 | 804 | } |
---|
823 | 805 | |
---|
824 | | -/** |
---|
| 806 | +/* |
---|
825 | 807 | * translate ucode response to mac80211 tx status control values |
---|
826 | 808 | */ |
---|
827 | 809 | static void iwlagn_hwrate_to_tx_control(struct iwl_priv *priv, u32 rate_n_flags, |
---|
.. | .. |
---|
1274 | 1256 | } |
---|
1275 | 1257 | } |
---|
1276 | 1258 | |
---|
1277 | | -/** |
---|
| 1259 | +/* |
---|
1278 | 1260 | * iwlagn_rx_reply_compressed_ba - Handler for REPLY_COMPRESSED_BA |
---|
1279 | 1261 | * |
---|
1280 | 1262 | * Handles block-acknowledge notification from device, which reports success |
---|
.. | .. |
---|
1299 | 1281 | * (in Tx queue's circular buffer) of first TFD/frame in window */ |
---|
1300 | 1282 | u16 ba_resp_scd_ssn = le16_to_cpu(ba_resp->scd_ssn); |
---|
1301 | 1283 | |
---|
1302 | | - if (scd_flow >= priv->cfg->base_params->num_of_queues) { |
---|
| 1284 | + if (scd_flow >= priv->trans->trans_cfg->base_params->num_of_queues) { |
---|
1303 | 1285 | IWL_ERR(priv, |
---|
1304 | 1286 | "BUG_ON scd_flow is bigger than number of queues\n"); |
---|
1305 | 1287 | return; |
---|