Lines Matching refs:tfd
80 struct iwl_tfh_tfd *tfd) in iwl_txq_gen2_get_num_tbs() argument
82 return le16_to_cpu(tfd->num_tbs) & 0x1f; in iwl_txq_gen2_get_num_tbs()
86 struct iwl_tfh_tfd *tfd) in iwl_txq_gen2_tfd_unmap() argument
91 num_tbs = iwl_txq_gen2_get_num_tbs(trans, tfd); in iwl_txq_gen2_tfd_unmap()
93 if (num_tbs > trans->txqs.tfd.max_tbs) { in iwl_txq_gen2_tfd_unmap()
102 le64_to_cpu(tfd->tbs[i].addr), in iwl_txq_gen2_tfd_unmap()
103 le16_to_cpu(tfd->tbs[i].tb_len), in iwl_txq_gen2_tfd_unmap()
107 le64_to_cpu(tfd->tbs[i].addr), in iwl_txq_gen2_tfd_unmap()
108 le16_to_cpu(tfd->tbs[i].tb_len), in iwl_txq_gen2_tfd_unmap()
112 tfd->num_tbs = 0; in iwl_txq_gen2_tfd_unmap()
143 int iwl_txq_gen2_set_tb(struct iwl_trans *trans, struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_set_tb() argument
146 int idx = iwl_txq_gen2_get_num_tbs(trans, tfd); in iwl_txq_gen2_set_tb()
162 tb = &tfd->tbs[idx]; in iwl_txq_gen2_set_tb()
165 if (le16_to_cpu(tfd->num_tbs) >= trans->txqs.tfd.max_tbs) { in iwl_txq_gen2_set_tb()
167 trans->txqs.tfd.max_tbs); in iwl_txq_gen2_set_tb()
174 tfd->num_tbs = cpu_to_le16(idx + 1); in iwl_txq_gen2_set_tb()
206 struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_set_tb_with_wa() argument
218 ret = iwl_txq_gen2_set_tb(trans, tfd, phys, len); in iwl_txq_gen2_set_tb_with_wa()
256 ret = iwl_txq_gen2_set_tb(trans, tfd, phys, len); in iwl_txq_gen2_set_tb_with_wa()
327 struct iwl_tfh_tfd *tfd, int start_len, in iwl_txq_gen2_build_amsdu() argument
341 trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), in iwl_txq_gen2_build_amsdu()
415 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, tb_len); in iwl_txq_gen2_build_amsdu()
431 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, in iwl_txq_gen2_build_amsdu()
462 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tx_amsdu() local
474 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, IWL_FIRST_TB_SIZE); in iwl_txq_gen2_build_tx_amsdu()
496 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, len); in iwl_txq_gen2_build_tx_amsdu()
498 if (iwl_txq_gen2_build_amsdu(trans, skb, tfd, len + IWL_FIRST_TB_SIZE, in iwl_txq_gen2_build_tx_amsdu()
504 return tfd; in iwl_txq_gen2_build_tx_amsdu()
507 iwl_txq_gen2_tfd_unmap(trans, out_meta, tfd); in iwl_txq_gen2_build_tx_amsdu()
513 struct iwl_tfh_tfd *tfd, in iwl_txq_gen2_tx_add_frags() argument
529 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_tx_add_frags()
550 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tx() local
566 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, IWL_FIRST_TB_SIZE); in iwl_txq_gen2_build_tx()
591 iwl_txq_gen2_set_tb(trans, tfd, tb_phys, tb1_len); in iwl_txq_gen2_build_tx()
592 trace_iwlwifi_dev_tx(trans->dev, skb, tfd, sizeof(*tfd), &dev_cmd->hdr, in iwl_txq_gen2_build_tx()
603 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_build_tx()
610 if (iwl_txq_gen2_tx_add_frags(trans, skb, tfd, out_meta)) in iwl_txq_gen2_build_tx()
618 ret = iwl_txq_gen2_set_tb_with_wa(trans, skb, tfd, tb_phys, in iwl_txq_gen2_build_tx()
623 if (iwl_txq_gen2_tx_add_frags(trans, frag, tfd, out_meta)) in iwl_txq_gen2_build_tx()
627 return tfd; in iwl_txq_gen2_build_tx()
630 iwl_txq_gen2_tfd_unmap(trans, out_meta, tfd); in iwl_txq_gen2_build_tx()
643 struct iwl_tfh_tfd *tfd = iwl_txq_get_tfd(trans, txq, idx); in iwl_txq_gen2_build_tfd() local
650 memset(tfd, 0, sizeof(*tfd)); in iwl_txq_gen2_build_tfd()
711 void *tfd; in iwl_txq_gen2_tx() local
759 tfd = iwl_txq_gen2_build_tfd(trans, txq, dev_cmd, skb, out_meta); in iwl_txq_gen2_tx()
760 if (!tfd) { in iwl_txq_gen2_tx()
779 iwl_txq_gen2_get_num_tbs(trans, tfd)); in iwl_txq_gen2_tx()
841 trans->txqs.tfd.size * txq->n_window, in iwl_txq_gen2_free_memory()
1023 size_t tfd_sz = trans->txqs.tfd.size * in iwl_txq_alloc()
1032 tfd_sz = trans->txqs.tfd.size * slots_num; in iwl_txq_alloc()
1303 struct iwl_tfd *tfd; in iwl_txq_gen1_tfd_tb_get_addr() local
1309 struct iwl_tfh_tfd *tfd = _tfd; in iwl_txq_gen1_tfd_tb_get_addr() local
1310 struct iwl_tfh_tb *tb = &tfd->tbs[idx]; in iwl_txq_gen1_tfd_tb_get_addr()
1315 tfd = _tfd; in iwl_txq_gen1_tfd_tb_get_addr()
1316 tb = &tfd->tbs[idx]; in iwl_txq_gen1_tfd_tb_get_addr()
1337 void *tfd = iwl_txq_get_tfd(trans, txq, index); in iwl_txq_gen1_tfd_unmap() local
1340 num_tbs = iwl_txq_gen1_tfd_get_num_tbs(trans, tfd); in iwl_txq_gen1_tfd_unmap()
1342 if (num_tbs > trans->txqs.tfd.max_tbs) { in iwl_txq_gen1_tfd_unmap()
1354 tfd, i), in iwl_txq_gen1_tfd_unmap()
1356 tfd, i), in iwl_txq_gen1_tfd_unmap()
1361 tfd, i), in iwl_txq_gen1_tfd_unmap()
1363 tfd, i), in iwl_txq_gen1_tfd_unmap()
1370 struct iwl_tfh_tfd *tfd_fh = (void *)tfd; in iwl_txq_gen1_tfd_unmap()
1374 struct iwl_tfd *tfd_fh = (void *)tfd; in iwl_txq_gen1_tfd_unmap()