Lines Matching refs:tfd
150 struct iwl_tfh_tfd *tfd) in iwl_txq_gen2_get_num_tbs() argument
152 return le16_to_cpu(tfd->num_tbs) & 0x1f; in iwl_txq_gen2_get_num_tbs()
156 struct iwl_tfh_tfd *tfd) in iwl_txq_gen2_tfd_unmap() argument
161 num_tbs = iwl_txq_gen2_get_num_tbs(trans, tfd); in iwl_txq_gen2_tfd_unmap()
163 if (num_tbs > trans->txqs.tfd.max_tbs) { in iwl_txq_gen2_tfd_unmap()
172 le64_to_cpu(tfd->tbs[i].addr), in iwl_txq_gen2_tfd_unmap()
173 le16_to_cpu(tfd->tbs[i].tb_len), in iwl_txq_gen2_tfd_unmap()
177 le64_to_cpu(tfd->tbs[i].addr), in iwl_txq_gen2_tfd_unmap()
178 le16_to_cpu(tfd->tbs[i].tb_len), in iwl_txq_gen2_tfd_unmap()
182 tfd->num_tbs = 0; in iwl_txq_gen2_tfd_unmap()
214 int iwl_txq_gen2_set_tb(struct iwl_trans *trans, struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_set_tb() argument
217 int idx = iwl_txq_gen2_get_num_tbs(trans, tfd); in iwl_txq_gen2_set_tb()
233 tb = &tfd->tbs[idx]; in iwl_txq_gen2_set_tb()
236 if (le16_to_cpu(tfd->num_tbs) >= trans->txqs.tfd.max_tbs) { in iwl_txq_gen2_set_tb()
238 trans->txqs.tfd.max_tbs); in iwl_txq_gen2_set_tb()
245 tfd->num_tbs = cpu_to_le16(idx + 1); in iwl_txq_gen2_set_tb()
277 struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_set_tb_with_wa() argument
289 ret = iwl_txq_gen2_set_tb(trans, tfd, phys, len); in iwl_txq_gen2_set_tb_with_wa()
327 ret = iwl_txq_gen2_set_tb(trans, tfd, phys, len); in iwl_txq_gen2_set_tb_with_wa()
398 struct iwl_tfh_tfd *tfd, int start_len, in iwl_txq_gen2_build_amsdu() argument
412 trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), in iwl_txq_gen2_build_amsdu()
489 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, tb_len); in iwl_txq_gen2_build_amsdu()
505 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, in iwl_txq_gen2_build_amsdu()
538 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tx_amsdu() local
550 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, IWL_FIRST_TB_SIZE); in iwl_txq_gen2_build_tx_amsdu()
572 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, len); in iwl_txq_gen2_build_tx_amsdu()
574 if (iwl_txq_gen2_build_amsdu(trans, skb, tfd, len + IWL_FIRST_TB_SIZE, in iwl_txq_gen2_build_tx_amsdu()
580 return tfd; in iwl_txq_gen2_build_tx_amsdu()
583 iwl_txq_gen2_tfd_unmap(trans, out_meta, tfd); in iwl_txq_gen2_build_tx_amsdu()
589 struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_tx_add_frags() argument
605 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_tx_add_frags()
626 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tx() local
642 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, IWL_FIRST_TB_SIZE); in iwl_txq_gen2_build_tx()
667 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, tb1_len); in iwl_txq_gen2_build_tx()
668 trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), &dev_cmd->hdr, in iwl_txq_gen2_build_tx()
679 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_build_tx()
686 if (iwl_txq_gen2_tx_add_frags(trans, skb, tfd, out_meta)) in iwl_txq_gen2_build_tx()
694 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_build_tx()
699 if (iwl_txq_gen2_tx_add_frags(trans, frag, tfd, out_meta)) in iwl_txq_gen2_build_tx()
703 return tfd; in iwl_txq_gen2_build_tx()
706 iwl_txq_gen2_tfd_unmap(trans, out_meta, tfd); in iwl_txq_gen2_build_tx()
719 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tfd() local
726 memset(tfd, 0, sizeof(*tfd)); in iwl_txq_gen2_build_tfd()
787 void *tfd; in iwl_txq_gen2_tx() local
835 tfd = iwl_txq_gen2_build_tfd(trans, txq, dev_cmd, skb, out_meta); in iwl_txq_gen2_tx()
836 if (!tfd) { in iwl_txq_gen2_tx()
855 iwl_txq_gen2_get_num_tbs(trans, tfd)); in iwl_txq_gen2_tx()
919 trans->txqs.tfd.size * txq->n_window, in iwl_txq_gen2_free_memory()
1101 size_t tfd_sz = trans->txqs.tfd.size * in iwl_txq_alloc()
1110 tfd_sz = trans->txqs.tfd.size * slots_num; in iwl_txq_alloc()
1379 struct iwl_tfd *tfd; in iwl_txq_gen1_tfd_tb_get_addr() local
1385 struct iwl_tfh_tfd *tfd = _tfd; in iwl_txq_gen1_tfd_tb_get_addr() local
1386 struct iwl_tfh_tb *tb = &tfd->tbs[idx]; in iwl_txq_gen1_tfd_tb_get_addr()
1391 tfd = _tfd; in iwl_txq_gen1_tfd_tb_get_addr()
1392 tb = &tfd->tbs[idx]; in iwl_txq_gen1_tfd_tb_get_addr()
1413 void *tfd = iwl_txq_get_tfd(trans, txq, index); in iwl_txq_gen1_tfd_unmap() local
1416 num_tbs = iwl_txq_gen1_tfd_get_num_tbs(trans, tfd); in iwl_txq_gen1_tfd_unmap()
1418 if (num_tbs > trans->txqs.tfd.max_tbs) { in iwl_txq_gen1_tfd_unmap()
1430 tfd, i), in iwl_txq_gen1_tfd_unmap()
1432 tfd, i), in iwl_txq_gen1_tfd_unmap()
1437 tfd, i), in iwl_txq_gen1_tfd_unmap()
1439 tfd, i), in iwl_txq_gen1_tfd_unmap()
1446 struct iwl_tfh_tfd *tfd_fh = (void *)tfd; in iwl_txq_gen1_tfd_unmap()
1450 struct iwl_tfd *tfd_fh = (void *)tfd; in iwl_txq_gen1_tfd_unmap()