wifi: iwlwifi: pcie: move gen1 TB handling to header
authorJohannes Berg <johannes.berg@intel.com>
Wed, 16 Aug 2023 08:10:48 +0000 (11:10 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 22 Aug 2023 11:19:24 +0000 (13:19 +0200)
We will need this in another place soon in reclaim and init,
so add this function to the queue header file instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230816104355.52b6f66de219.Ic8403fd098c187fac067977808c0129d96514c91@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/pcie/tx.c
drivers/net/wireless/intel/iwlwifi/queue/tx.h

index 9ab1b25..2f39b63 100644 (file)
@@ -132,22 +132,6 @@ void iwl_pcie_txq_check_wrptrs(struct iwl_trans *trans)
        }
 }
 
-static inline void iwl_pcie_tfd_set_tb(struct iwl_trans *trans, void *tfd,
-                                      u8 idx, dma_addr_t addr, u16 len)
-{
-       struct iwl_tfd *tfd_fh = (void *)tfd;
-       struct iwl_tfd_tb *tb = &tfd_fh->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_fh->num_tbs = idx + 1;
-}
-
 static int iwl_pcie_txq_build_tfd(struct iwl_trans *trans, struct iwl_txq *txq,
                                  dma_addr_t addr, u16 len, bool reset)
 {
@@ -172,7 +156,7 @@ static int iwl_pcie_txq_build_tfd(struct iwl_trans *trans, struct iwl_txq *txq,
                 "Unaligned address = %llx\n", (unsigned long long)addr))
                return -EINVAL;
 
-       iwl_pcie_tfd_set_tb(trans, tfd, num_tbs, addr, len);
+       iwl_pcie_gen1_tfd_set_tb(trans, tfd, num_tbs, addr, len);
 
        return num_tbs;
 }
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);