wifi: iwlwifi: pcie: move gen1 TB handling to header
[platform/kernel/linux-starfive.git] / drivers / net / wireless / intel / iwlwifi / queue / tx.h
index 15b3edc..b7d3808 100644 (file)
@@ -155,6 +155,21 @@ static inline u16 iwl_txq_gen1_tfd_tb_get_len(struct iwl_trans *trans,
        return le16_to_cpu(tb->hi_n_len) >> 4;
 }
 
+static inline void iwl_pcie_gen1_tfd_set_tb(struct iwl_trans *trans,
+                                           struct iwl_tfd *tfd,
+                                           u8 idx, dma_addr_t addr, u16 len)
+{
+       struct iwl_tfd_tb *tb = &tfd->tbs[idx];
+       u16 hi_n_len = len << 4;
+
+       put_unaligned_le32(addr, &tb->lo);
+       hi_n_len |= iwl_get_dma_hi_addr(addr);
+
+       tb->hi_n_len = cpu_to_le16(hi_n_len);
+
+       tfd->num_tbs = idx + 1;
+}
+
 void iwl_txq_gen1_tfd_unmap(struct iwl_trans *trans,
                            struct iwl_cmd_meta *meta,
                            struct iwl_txq *txq, int index);