Lines Matching refs:tfd
87 struct iwl_tfh_tfd *tfd) in iwl_txq_gen2_get_num_tbs() argument
89 return le16_to_cpu(tfd->num_tbs) & 0x1f; in iwl_txq_gen2_get_num_tbs()
93 struct iwl_tfh_tfd *tfd) in iwl_txq_gen2_tfd_unmap() argument
98 num_tbs = iwl_txq_gen2_get_num_tbs(trans, tfd); in iwl_txq_gen2_tfd_unmap()
100 if (num_tbs > trans->txqs.tfd.max_tbs) { in iwl_txq_gen2_tfd_unmap()
109 le64_to_cpu(tfd->tbs[i].addr), in iwl_txq_gen2_tfd_unmap()
110 le16_to_cpu(tfd->tbs[i].tb_len), in iwl_txq_gen2_tfd_unmap()
114 le64_to_cpu(tfd->tbs[i].addr), in iwl_txq_gen2_tfd_unmap()
115 le16_to_cpu(tfd->tbs[i].tb_len), in iwl_txq_gen2_tfd_unmap()
119 tfd->num_tbs = 0; in iwl_txq_gen2_tfd_unmap()
150 int iwl_txq_gen2_set_tb(struct iwl_trans *trans, struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_set_tb() argument
153 int idx = iwl_txq_gen2_get_num_tbs(trans, tfd); in iwl_txq_gen2_set_tb()
169 tb = &tfd->tbs[idx]; in iwl_txq_gen2_set_tb()
172 if (le16_to_cpu(tfd->num_tbs) >= trans->txqs.tfd.max_tbs) { in iwl_txq_gen2_set_tb()
174 trans->txqs.tfd.max_tbs); in iwl_txq_gen2_set_tb()
181 tfd->num_tbs = cpu_to_le16(idx + 1); in iwl_txq_gen2_set_tb()
213 struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_set_tb_with_wa() argument
225 ret = iwl_txq_gen2_set_tb(trans, tfd, phys, len); in iwl_txq_gen2_set_tb_with_wa()
263 ret = iwl_txq_gen2_set_tb(trans, tfd, phys, len); in iwl_txq_gen2_set_tb_with_wa()
334 struct iwl_tfh_tfd *tfd, int start_len, in iwl_txq_gen2_build_amsdu() argument
348 trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), in iwl_txq_gen2_build_amsdu()
422 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, tb_len); in iwl_txq_gen2_build_amsdu()
438 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, in iwl_txq_gen2_build_amsdu()
469 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tx_amsdu() local
481 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, IWL_FIRST_TB_SIZE); in iwl_txq_gen2_build_tx_amsdu()
503 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, len); in iwl_txq_gen2_build_tx_amsdu()
505 if (iwl_txq_gen2_build_amsdu(trans, skb, tfd, len + IWL_FIRST_TB_SIZE, in iwl_txq_gen2_build_tx_amsdu()
511 return tfd; in iwl_txq_gen2_build_tx_amsdu()
514 iwl_txq_gen2_tfd_unmap(trans, out_meta, tfd); in iwl_txq_gen2_build_tx_amsdu()
520 struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_tx_add_frags() argument
536 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_tx_add_frags()
557 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tx() local
573 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, IWL_FIRST_TB_SIZE); in iwl_txq_gen2_build_tx()
598 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, tb1_len); in iwl_txq_gen2_build_tx()
599 trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), &dev_cmd->hdr, in iwl_txq_gen2_build_tx()
610 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_build_tx()
617 if (iwl_txq_gen2_tx_add_frags(trans, skb, tfd, out_meta)) in iwl_txq_gen2_build_tx()
625 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_build_tx()
630 if (iwl_txq_gen2_tx_add_frags(trans, frag, tfd, out_meta)) in iwl_txq_gen2_build_tx()
634 return tfd; in iwl_txq_gen2_build_tx()
637 iwl_txq_gen2_tfd_unmap(trans, out_meta, tfd); in iwl_txq_gen2_build_tx()
650 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tfd() local
664 memset(tfd, 0, sizeof(*tfd)); in iwl_txq_gen2_build_tfd()
725 void *tfd; in iwl_txq_gen2_tx() local
773 tfd = iwl_txq_gen2_build_tfd(trans, txq, dev_cmd, skb, out_meta); in iwl_txq_gen2_tx()
774 if (!tfd) { in iwl_txq_gen2_tx()
793 iwl_txq_gen2_get_num_tbs(trans, tfd)); in iwl_txq_gen2_tx()
855 trans->txqs.tfd.size * txq->n_window, in iwl_txq_gen2_free_memory()
1052 size_t tfd_sz = trans->txqs.tfd.size * in iwl_txq_alloc()
1064 tfd_sz = trans->txqs.tfd.size * slots_num; in iwl_txq_alloc()
1365 struct iwl_tfd *tfd; in iwl_txq_gen1_tfd_tb_get_addr() local
1377 tfd = _tfd; in iwl_txq_gen1_tfd_tb_get_addr()
1378 tb = &tfd->tbs[idx]; in iwl_txq_gen1_tfd_tb_get_addr()
1399 void *tfd = iwl_txq_get_tfd(trans, txq, index); in iwl_txq_gen1_tfd_unmap() local
1402 num_tbs = iwl_txq_gen1_tfd_get_num_tbs(trans, tfd); in iwl_txq_gen1_tfd_unmap()
1404 if (num_tbs > trans->txqs.tfd.max_tbs) { in iwl_txq_gen1_tfd_unmap()
1416 tfd, i), in iwl_txq_gen1_tfd_unmap()
1418 tfd, i), in iwl_txq_gen1_tfd_unmap()
1423 tfd, i), in iwl_txq_gen1_tfd_unmap()
1425 tfd, i), in iwl_txq_gen1_tfd_unmap()
1432 struct iwl_tfh_tfd *tfd_fh = (void *)tfd; in iwl_txq_gen1_tfd_unmap()
1436 struct iwl_tfd *tfd_fh = (void *)tfd; in iwl_txq_gen1_tfd_unmap()