aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2011-08-26 02:11:28 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-29 15:33:00 -0400
commitc91bd12489f50809af94c46d7c4c4d98b70c6f47 (patch)
treef98d778644c208b1c77b11479165ec87c4c20661
parent7f01d567c5b9e136d9b070e00be88169d5b2227e (diff)
iwlagn: cosmetics in iwl-trans.h
Remove a few dereferences of priv from the transport layer while at it. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h8
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c48
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans.c14
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans.h16
5 files changed, 44 insertions, 44 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 60b964bd5cf8..724c50a069dc 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -2565,7 +2565,7 @@ static int iwlagn_mac_ampdu_action(struct ieee80211_hw *hw,
2565 case IEEE80211_AMPDU_TX_OPERATIONAL: 2565 case IEEE80211_AMPDU_TX_OPERATIONAL:
2566 buf_size = min_t(int, buf_size, LINK_QUAL_AGG_FRAME_LIMIT_DEF); 2566 buf_size = min_t(int, buf_size, LINK_QUAL_AGG_FRAME_LIMIT_DEF);
2567 2567
2568 iwl_trans_txq_agg_setup(trans(priv), ctx->ctxid, iwl_sta_id(sta), 2568 iwl_trans_tx_agg_setup(trans(priv), ctx->ctxid, iwl_sta_id(sta),
2569 tid, buf_size); 2569 tid, buf_size);
2570 2570
2571 /* 2571 /*
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h b/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h
index a31083125faa..abb2ce68deec 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h
@@ -194,15 +194,15 @@ int iwl_trans_pcie_tx_agg_disable(struct iwl_trans *trans,
194 enum iwl_rxon_context_id ctx, int sta_id, 194 enum iwl_rxon_context_id ctx, int sta_id,
195 int tid); 195 int tid);
196void iwl_trans_set_wr_ptrs(struct iwl_trans *trans, int txq_id, u32 index); 196void iwl_trans_set_wr_ptrs(struct iwl_trans *trans, int txq_id, u32 index);
197void iwl_trans_tx_queue_set_status(struct iwl_priv *priv, 197void iwl_trans_tx_queue_set_status(struct iwl_trans *trans,
198 struct iwl_tx_queue *txq, 198 struct iwl_tx_queue *txq,
199 int tx_fifo_id, int scd_retry); 199 int tx_fifo_id, int scd_retry);
200int iwl_trans_pcie_tx_agg_alloc(struct iwl_trans *trans, 200int iwl_trans_pcie_tx_agg_alloc(struct iwl_trans *trans,
201 enum iwl_rxon_context_id ctx, int sta_id, 201 enum iwl_rxon_context_id ctx, int sta_id,
202 int tid, u16 *ssn); 202 int tid, u16 *ssn);
203void iwl_trans_pcie_txq_agg_setup(struct iwl_priv *priv, 203void iwl_trans_pcie_tx_agg_setup(struct iwl_trans *trans,
204 enum iwl_rxon_context_id ctx, 204 enum iwl_rxon_context_id ctx,
205 int sta_id, int tid, int frame_limit); 205 int sta_id, int tid, int frame_limit);
206void iwlagn_txq_free_tfd(struct iwl_trans *trans, struct iwl_tx_queue *txq, 206void iwlagn_txq_free_tfd(struct iwl_trans *trans, struct iwl_tx_queue *txq,
207 int index); 207 int index);
208int iwl_tx_queue_reclaim(struct iwl_trans *trans, int txq_id, int index, 208int iwl_tx_queue_reclaim(struct iwl_trans *trans, int txq_id, int index,
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
index aa44b9242d07..28c606cade3c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
@@ -403,14 +403,15 @@ void iwl_trans_set_wr_ptrs(struct iwl_trans *trans,
403 iwl_write_prph(bus(trans), SCD_QUEUE_RDPTR(txq_id), index); 403 iwl_write_prph(bus(trans), SCD_QUEUE_RDPTR(txq_id), index);
404} 404}
405 405
406void iwl_trans_tx_queue_set_status(struct iwl_priv *priv, 406void iwl_trans_tx_queue_set_status(struct iwl_trans *trans,
407 struct iwl_tx_queue *txq, 407 struct iwl_tx_queue *txq,
408 int tx_fifo_id, int scd_retry) 408 int tx_fifo_id, int scd_retry)
409{ 409{
410 int txq_id = txq->q.id; 410 int txq_id = txq->q.id;
411 int active = test_bit(txq_id, &priv->txq_ctx_active_msk) ? 1 : 0; 411 int active =
412 test_bit(txq_id, &priv(trans)->txq_ctx_active_msk) ? 1 : 0;
412 413
413 iwl_write_prph(bus(priv), SCD_QUEUE_STATUS_BITS(txq_id), 414 iwl_write_prph(bus(trans), SCD_QUEUE_STATUS_BITS(txq_id),
414 (active << SCD_QUEUE_STTS_REG_POS_ACTIVE) | 415 (active << SCD_QUEUE_STTS_REG_POS_ACTIVE) |
415 (tx_fifo_id << SCD_QUEUE_STTS_REG_POS_TXF) | 416 (tx_fifo_id << SCD_QUEUE_STTS_REG_POS_TXF) |
416 (1 << SCD_QUEUE_STTS_REG_POS_WSL) | 417 (1 << SCD_QUEUE_STTS_REG_POS_WSL) |
@@ -418,7 +419,7 @@ void iwl_trans_tx_queue_set_status(struct iwl_priv *priv,
418 419
419 txq->sched_retry = scd_retry; 420 txq->sched_retry = scd_retry;
420 421
421 IWL_DEBUG_INFO(priv, "%s %s Queue %d on FIFO %d\n", 422 IWL_DEBUG_INFO(trans, "%s %s Queue %d on FIFO %d\n",
422 active ? "Activate" : "Deactivate", 423 active ? "Activate" : "Deactivate",
423 scd_retry ? "BA" : "AC/CMD", txq_id, tx_fifo_id); 424 scd_retry ? "BA" : "AC/CMD", txq_id, tx_fifo_id);
424} 425}
@@ -434,16 +435,15 @@ static inline int get_fifo_from_tid(struct iwl_trans_pcie *trans_pcie,
434 return -EINVAL; 435 return -EINVAL;
435} 436}
436 437
437void iwl_trans_pcie_txq_agg_setup(struct iwl_priv *priv, 438void iwl_trans_pcie_tx_agg_setup(struct iwl_trans *trans,
438 enum iwl_rxon_context_id ctx, int sta_id, 439 enum iwl_rxon_context_id ctx, int sta_id,
439 int tid, int frame_limit) 440 int tid, int frame_limit)
440{ 441{
441 int tx_fifo, txq_id, ssn_idx; 442 int tx_fifo, txq_id, ssn_idx;
442 u16 ra_tid; 443 u16 ra_tid;
443 unsigned long flags; 444 unsigned long flags;
444 struct iwl_tid_data *tid_data; 445 struct iwl_tid_data *tid_data;
445 446
446 struct iwl_trans *trans = trans(priv);
447 struct iwl_trans_pcie *trans_pcie = 447 struct iwl_trans_pcie *trans_pcie =
448 IWL_TRANS_GET_PCIE_TRANS(trans); 448 IWL_TRANS_GET_PCIE_TRANS(trans);
449 449
@@ -458,15 +458,15 @@ void iwl_trans_pcie_txq_agg_setup(struct iwl_priv *priv,
458 return; 458 return;
459 } 459 }
460 460
461 spin_lock_irqsave(&priv->shrd->sta_lock, flags); 461 spin_lock_irqsave(&trans->shrd->sta_lock, flags);
462 tid_data = &priv->shrd->tid_data[sta_id][tid]; 462 tid_data = &trans->shrd->tid_data[sta_id][tid];
463 ssn_idx = SEQ_TO_SN(tid_data->seq_number); 463 ssn_idx = SEQ_TO_SN(tid_data->seq_number);
464 txq_id = tid_data->agg.txq_id; 464 txq_id = tid_data->agg.txq_id;
465 spin_unlock_irqrestore(&priv->shrd->sta_lock, flags); 465 spin_unlock_irqrestore(&trans->shrd->sta_lock, flags);
466 466
467 ra_tid = BUILD_RAxTID(sta_id, tid); 467 ra_tid = BUILD_RAxTID(sta_id, tid);
468 468
469 spin_lock_irqsave(&priv->shrd->lock, flags); 469 spin_lock_irqsave(&trans->shrd->lock, flags);
470 470
471 /* Stop this Tx queue before configuring it */ 471 /* Stop this Tx queue before configuring it */
472 iwlagn_tx_queue_stop_scheduler(trans, txq_id); 472 iwlagn_tx_queue_stop_scheduler(trans, txq_id);
@@ -475,19 +475,19 @@ void iwl_trans_pcie_txq_agg_setup(struct iwl_priv *priv,
475 iwlagn_tx_queue_set_q2ratid(trans, ra_tid, txq_id); 475 iwlagn_tx_queue_set_q2ratid(trans, ra_tid, txq_id);
476 476
477 /* Set this queue as a chain-building queue */ 477 /* Set this queue as a chain-building queue */
478 iwl_set_bits_prph(bus(priv), SCD_QUEUECHAIN_SEL, (1<<txq_id)); 478 iwl_set_bits_prph(bus(trans), SCD_QUEUECHAIN_SEL, (1<<txq_id));
479 479
480 /* enable aggregations for the queue */ 480 /* enable aggregations for the queue */
481 iwl_set_bits_prph(bus(priv), SCD_AGGR_SEL, (1<<txq_id)); 481 iwl_set_bits_prph(bus(trans), SCD_AGGR_SEL, (1<<txq_id));
482 482
483 /* Place first TFD at index corresponding to start sequence number. 483 /* Place first TFD at index corresponding to start sequence number.
484 * Assumes that ssn_idx is valid (!= 0xFFF) */ 484 * Assumes that ssn_idx is valid (!= 0xFFF) */
485 priv->txq[txq_id].q.read_ptr = (ssn_idx & 0xff); 485 priv(trans)->txq[txq_id].q.read_ptr = (ssn_idx & 0xff);
486 priv->txq[txq_id].q.write_ptr = (ssn_idx & 0xff); 486 priv(trans)->txq[txq_id].q.write_ptr = (ssn_idx & 0xff);
487 iwl_trans_set_wr_ptrs(trans, txq_id, ssn_idx); 487 iwl_trans_set_wr_ptrs(trans, txq_id, ssn_idx);
488 488
489 /* Set up Tx window size and frame limit for this queue */ 489 /* Set up Tx window size and frame limit for this queue */
490 iwl_write_targ_mem(bus(priv), trans_pcie->scd_base_addr + 490 iwl_write_targ_mem(bus(trans), trans_pcie->scd_base_addr +
491 SCD_CONTEXT_QUEUE_OFFSET(txq_id) + 491 SCD_CONTEXT_QUEUE_OFFSET(txq_id) +
492 sizeof(u32), 492 sizeof(u32),
493 ((frame_limit << 493 ((frame_limit <<
@@ -497,15 +497,16 @@ void iwl_trans_pcie_txq_agg_setup(struct iwl_priv *priv,
497 SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS) & 497 SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS) &
498 SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK)); 498 SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK));
499 499
500 iwl_set_bits_prph(bus(priv), SCD_INTERRUPT_MASK, (1 << txq_id)); 500 iwl_set_bits_prph(bus(trans), SCD_INTERRUPT_MASK, (1 << txq_id));
501 501
502 /* Set up Status area in SRAM, map to Tx DMA/FIFO, activate the queue */ 502 /* Set up Status area in SRAM, map to Tx DMA/FIFO, activate the queue */
503 iwl_trans_tx_queue_set_status(priv, &priv->txq[txq_id], tx_fifo, 1); 503 iwl_trans_tx_queue_set_status(trans, &priv(trans)->txq[txq_id],
504 tx_fifo, 1);
504 505
505 priv->txq[txq_id].sta_id = sta_id; 506 priv(trans)->txq[txq_id].sta_id = sta_id;
506 priv->txq[txq_id].tid = tid; 507 priv(trans)->txq[txq_id].tid = tid;
507 508
508 spin_unlock_irqrestore(&priv->shrd->lock, flags); 509 spin_unlock_irqrestore(&trans->shrd->lock, flags);
509} 510}
510 511
511/* 512/*
@@ -574,8 +575,7 @@ void iwl_trans_pcie_txq_agg_disable(struct iwl_trans *trans, int txq_id)
574 575
575 iwl_clear_bits_prph(bus(trans), SCD_INTERRUPT_MASK, (1 << txq_id)); 576 iwl_clear_bits_prph(bus(trans), SCD_INTERRUPT_MASK, (1 << txq_id));
576 iwl_txq_ctx_deactivate(priv(trans), txq_id); 577 iwl_txq_ctx_deactivate(priv(trans), txq_id);
577 iwl_trans_tx_queue_set_status(priv(trans), 578 iwl_trans_tx_queue_set_status(trans, &priv(trans)->txq[txq_id], 0, 0);
578 &priv(trans)->txq[txq_id], 0, 0);
579} 579}
580 580
581int iwl_trans_pcie_tx_agg_disable(struct iwl_trans *trans, 581int iwl_trans_pcie_tx_agg_disable(struct iwl_trans *trans,
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.c b/drivers/net/wireless/iwlwifi/iwl-trans.c
index ab35fd827bdc..9b0ecd4b1e1c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans.c
@@ -774,7 +774,7 @@ static int iwl_trans_pcie_start_device(struct iwl_trans *trans)
774 struct iwl_trans_pcie *trans_pcie = 774 struct iwl_trans_pcie *trans_pcie =
775 IWL_TRANS_GET_PCIE_TRANS(trans); 775 IWL_TRANS_GET_PCIE_TRANS(trans);
776 776
777 priv->shrd->ucode_owner = IWL_OWNERSHIP_DRIVER; 777 trans->shrd->ucode_owner = IWL_OWNERSHIP_DRIVER;
778 trans_pcie->ac_to_queue[IWL_RXON_CTX_BSS] = iwlagn_bss_ac_to_queue; 778 trans_pcie->ac_to_queue[IWL_RXON_CTX_BSS] = iwlagn_bss_ac_to_queue;
779 trans_pcie->ac_to_queue[IWL_RXON_CTX_PAN] = iwlagn_pan_ac_to_queue; 779 trans_pcie->ac_to_queue[IWL_RXON_CTX_PAN] = iwlagn_pan_ac_to_queue;
780 780
@@ -784,7 +784,7 @@ static int iwl_trans_pcie_start_device(struct iwl_trans *trans)
784 trans_pcie->mcast_queue[IWL_RXON_CTX_BSS] = 0; 784 trans_pcie->mcast_queue[IWL_RXON_CTX_BSS] = 0;
785 trans_pcie->mcast_queue[IWL_RXON_CTX_PAN] = IWL_IPAN_MCAST_QUEUE; 785 trans_pcie->mcast_queue[IWL_RXON_CTX_PAN] = IWL_IPAN_MCAST_QUEUE;
786 786
787 if ((hw_params(priv).sku & EEPROM_SKU_CAP_AMT_ENABLE) && 787 if ((hw_params(trans).sku & EEPROM_SKU_CAP_AMT_ENABLE) &&
788 iwl_trans_pcie_prepare_card_hw(trans)) { 788 iwl_trans_pcie_prepare_card_hw(trans)) {
789 IWL_WARN(trans, "Exit HW not ready\n"); 789 IWL_WARN(trans, "Exit HW not ready\n");
790 return -EIO; 790 return -EIO;
@@ -862,7 +862,7 @@ static void iwl_trans_pcie_tx_start(struct iwl_trans *trans)
862 a += 4) 862 a += 4)
863 iwl_write_targ_mem(bus(trans), a, 0); 863 iwl_write_targ_mem(bus(trans), a, 0);
864 for (; a < trans_pcie->scd_base_addr + 864 for (; a < trans_pcie->scd_base_addr +
865 SCD_TRANS_TBL_OFFSET_QUEUE(hw_params(priv).max_txq_num); 865 SCD_TRANS_TBL_OFFSET_QUEUE(hw_params(trans).max_txq_num);
866 a += 4) 866 a += 4)
867 iwl_write_targ_mem(bus(trans), a, 0); 867 iwl_write_targ_mem(bus(trans), a, 0);
868 868
@@ -881,11 +881,11 @@ static void iwl_trans_pcie_tx_start(struct iwl_trans *trans)
881 reg_val | FH_TX_CHICKEN_BITS_SCD_AUTO_RETRY_EN); 881 reg_val | FH_TX_CHICKEN_BITS_SCD_AUTO_RETRY_EN);
882 882
883 iwl_write_prph(bus(trans), SCD_QUEUECHAIN_SEL, 883 iwl_write_prph(bus(trans), SCD_QUEUECHAIN_SEL,
884 SCD_QUEUECHAIN_SEL_ALL(priv)); 884 SCD_QUEUECHAIN_SEL_ALL(trans));
885 iwl_write_prph(bus(trans), SCD_AGGR_SEL, 0); 885 iwl_write_prph(bus(trans), SCD_AGGR_SEL, 0);
886 886
887 /* initiate the queues */ 887 /* initiate the queues */
888 for (i = 0; i < hw_params(priv).max_txq_num; i++) { 888 for (i = 0; i < hw_params(trans).max_txq_num; i++) {
889 iwl_write_prph(bus(trans), SCD_QUEUE_RDPTR(i), 0); 889 iwl_write_prph(bus(trans), SCD_QUEUE_RDPTR(i), 0);
890 iwl_write_direct32(bus(trans), HBUS_TARG_WRPTR, 0 | (i << 8)); 890 iwl_write_direct32(bus(trans), HBUS_TARG_WRPTR, 0 | (i << 8));
891 iwl_write_targ_mem(bus(trans), trans_pcie->scd_base_addr + 891 iwl_write_targ_mem(bus(trans), trans_pcie->scd_base_addr +
@@ -941,7 +941,7 @@ static void iwl_trans_pcie_tx_start(struct iwl_trans *trans)
941 941
942 if (ac != IWL_AC_UNSET) 942 if (ac != IWL_AC_UNSET)
943 iwl_set_swq_id(&priv->txq[i], ac, i); 943 iwl_set_swq_id(&priv->txq[i], ac, i);
944 iwl_trans_tx_queue_set_status(priv, &priv->txq[i], fifo, 0); 944 iwl_trans_tx_queue_set_status(trans, &priv->txq[i], fifo, 0);
945 } 945 }
946 946
947 spin_unlock_irqrestore(&trans->shrd->lock, flags); 947 spin_unlock_irqrestore(&trans->shrd->lock, flags);
@@ -2017,7 +2017,7 @@ const struct iwl_trans_ops trans_ops_pcie = {
2017 2017
2018 .tx_agg_disable = iwl_trans_pcie_tx_agg_disable, 2018 .tx_agg_disable = iwl_trans_pcie_tx_agg_disable,
2019 .tx_agg_alloc = iwl_trans_pcie_tx_agg_alloc, 2019 .tx_agg_alloc = iwl_trans_pcie_tx_agg_alloc,
2020 .txq_agg_setup = iwl_trans_pcie_txq_agg_setup, 2020 .tx_agg_setup = iwl_trans_pcie_tx_agg_setup,
2021 2021
2022 .kick_nic = iwl_trans_pcie_kick_nic, 2022 .kick_nic = iwl_trans_pcie_kick_nic,
2023 2023
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h
index 1fd6bde42a7c..c92c9fed8fea 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans.h
+++ b/drivers/net/wireless/iwlwifi/iwl-trans.h
@@ -95,7 +95,7 @@ struct iwl_device_cmd;
95 * @tx: send an skb 95 * @tx: send an skb
96 * @reclaim: free packet until ssn. Returns a list of freed packets. 96 * @reclaim: free packet until ssn. Returns a list of freed packets.
97 * @tx_agg_alloc: allocate resources for a TX BA session 97 * @tx_agg_alloc: allocate resources for a TX BA session
98 * @txq_agg_setup: setup a tx queue for AMPDU - will be called once the HW is 98 * @tx_agg_setup: setup a tx queue for AMPDU - will be called once the HW is
99 * ready and a successful ADDBA response has been received. 99 * ready and a successful ADDBA response has been received.
100 * @tx_agg_disable: de-configure a Tx queue to send AMPDUs 100 * @tx_agg_disable: de-configure a Tx queue to send AMPDUs
101 * @kick_nic: remove the RESET from the embedded CPU and let it run 101 * @kick_nic: remove the RESET from the embedded CPU and let it run
@@ -128,14 +128,14 @@ struct iwl_trans_ops {
128 struct sk_buff_head *skbs); 128 struct sk_buff_head *skbs);
129 129
130 int (*tx_agg_disable)(struct iwl_trans *trans, 130 int (*tx_agg_disable)(struct iwl_trans *trans,
131 enum iwl_rxon_context_id ctx, int sta_id, 131 enum iwl_rxon_context_id ctx, int sta_id,
132 int tid); 132 int tid);
133 int (*tx_agg_alloc)(struct iwl_trans *trans, 133 int (*tx_agg_alloc)(struct iwl_trans *trans,
134 enum iwl_rxon_context_id ctx, int sta_id, int tid, 134 enum iwl_rxon_context_id ctx, int sta_id, int tid,
135 u16 *ssn); 135 u16 *ssn);
136 void (*txq_agg_setup)(struct iwl_priv *priv, 136 void (*tx_agg_setup)(struct iwl_trans *trans,
137 enum iwl_rxon_context_id ctx, int sta_id, 137 enum iwl_rxon_context_id ctx, int sta_id, int tid,
138 int tid, int frame_limit); 138 int frame_limit);
139 139
140 void (*kick_nic)(struct iwl_trans *trans); 140 void (*kick_nic)(struct iwl_trans *trans);
141 141
@@ -233,12 +233,12 @@ static inline int iwl_trans_tx_agg_alloc(struct iwl_trans *trans,
233} 233}
234 234
235 235
236static inline void iwl_trans_txq_agg_setup(struct iwl_trans *trans, 236static inline void iwl_trans_tx_agg_setup(struct iwl_trans *trans,
237 enum iwl_rxon_context_id ctx, 237 enum iwl_rxon_context_id ctx,
238 int sta_id, int tid, 238 int sta_id, int tid,
239 int frame_limit) 239 int frame_limit)
240{ 240{
241 trans->ops->txq_agg_setup(priv(trans), ctx, sta_id, tid, frame_limit); 241 trans->ops->tx_agg_setup(trans, ctx, sta_id, tid, frame_limit);
242} 242}
243 243
244static inline void iwl_trans_kick_nic(struct iwl_trans *trans) 244static inline void iwl_trans_kick_nic(struct iwl_trans *trans)