[][MAC80211][WED][Refactor patch for TXBM support over 32bits memory]

[Description]
Refactor patch for TXBM support over 32bits memory

[Release-log]

Change-Id: Ibb2369240655a22be496ee8b73233e658ba67ccd
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/8814769
diff --git a/autobuild_mac80211_release/target/linux/mediatek/patches-5.4/999-3021-mtk-wed-add-dma-mask-limitation-and-GFP_DMA32-for-bo.patch b/autobuild_mac80211_release/target/linux/mediatek/patches-5.4/999-3021-mtk-wed-add-dma-mask-limitation-and-GFP_DMA32-for-bo.patch
index 0d0ac4e..d3747af 100644
--- a/autobuild_mac80211_release/target/linux/mediatek/patches-5.4/999-3021-mtk-wed-add-dma-mask-limitation-and-GFP_DMA32-for-bo.patch
+++ b/autobuild_mac80211_release/target/linux/mediatek/patches-5.4/999-3021-mtk-wed-add-dma-mask-limitation-and-GFP_DMA32-for-bo.patch
@@ -1,21 +1,21 @@
-From a0aa9757876b525b24a16bd3cb48b5dac02a8945 Mon Sep 17 00:00:00 2001
+From f83c601c7b525c0adedcf1f5e8041acd350c7e2d Mon Sep 17 00:00:00 2001
 From: Sujuan Chen <sujuan.chen@mediatek.com>
 Date: Mon, 18 Sep 2023 13:23:56 +0800
-Subject: [PATCH 21/24] mtk: wed: add dma mask limitation and GFP_DMA32 for
- board >= 4GB dram
+Subject: [PATCH] mtk: wed: add dma mask limitation and GFP_DMA32 for board >=
+ 4GB dram
 
 ---
- drivers/net/ethernet/mediatek/mtk_wed.c     | 8 ++++++--
- drivers/net/ethernet/mediatek/mtk_wed_mcu.c | 4 ++--
- drivers/net/ethernet/mediatek/mtk_wed_wo.c  | 4 ++--
- drivers/net/ethernet/mediatek/mtk_wed_wo.h  | 1 +
- 4 files changed, 11 insertions(+), 6 deletions(-)
+ drivers/net/ethernet/mediatek/mtk_wed.c     | 16 +++++++++++-----
+ drivers/net/ethernet/mediatek/mtk_wed_mcu.c |  4 ++--
+ drivers/net/ethernet/mediatek/mtk_wed_wo.c  |  4 ++--
+ drivers/net/ethernet/mediatek/mtk_wed_wo.h  |  1 +
+ 4 files changed, 16 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/net/ethernet/mediatek/mtk_wed.c b/drivers/net/ethernet/mediatek/mtk_wed.c
-index 7f14d43..b928ff6 100644
+index 5eeb3ed..094bc94 100644
 --- a/drivers/net/ethernet/mediatek/mtk_wed.c
 +++ b/drivers/net/ethernet/mediatek/mtk_wed.c
-@@ -638,7 +638,7 @@ mtk_wed_tx_buffer_alloc(struct mtk_wed_device *dev)
+@@ -625,7 +625,7 @@ mtk_wed_tx_buffer_alloc(struct mtk_wed_device *dev)
  		void *buf;
  		int s;
  
@@ -24,7 +24,34 @@
  		if (!page)
  			return -ENOMEM;
  
-@@ -762,7 +762,7 @@ mtk_wed_hwrro_buffer_alloc(struct mtk_wed_device *dev)
+@@ -646,10 +646,11 @@ mtk_wed_tx_buffer_alloc(struct mtk_wed_device *dev)
+ 
+ 		for (s = 0; s < MTK_WED_BUF_PER_PAGE; s++) {
+ 			struct mtk_wdma_desc *desc = desc_ptr;
++			u32 ctrl;
+ 
+ 			desc->buf0 = cpu_to_le32(buf_phys);
+ 			if (!mtk_wed_is_v3_or_greater(dev->hw)) {
+-				u32 txd_size, ctrl;
++				u32 txd_size;
+ 
+ 				txd_size = dev->wlan.init_buf(buf, buf_phys,
+ 							      token++);
+@@ -663,11 +664,11 @@ mtk_wed_tx_buffer_alloc(struct mtk_wed_device *dev)
+ 					ctrl |= MTK_WDMA_DESC_CTRL_LAST_SEG0 |
+ 						FIELD_PREP(MTK_WDMA_DESC_CTRL_LEN1_V2,
+ 							   MTK_WED_BUF_SIZE - txd_size);
+-				desc->ctrl = cpu_to_le32(ctrl);
+ 				desc->info = 0;
+ 			} else {
+-				desc->ctrl = cpu_to_le32(token << 16);
++				ctrl = token << 16 | TX_DMA_SDP1(buf_phys);
+ 			}
++			desc->ctrl = cpu_to_le32(ctrl);
+ 
+ 			desc_ptr += desc_size;
+ 			buf += MTK_WED_BUF_SIZE;
+@@ -749,7 +750,7 @@ mtk_wed_hwrro_buffer_alloc(struct mtk_wed_device *dev)
  		void *buf;
  		int s;
  
@@ -33,7 +60,15 @@
  		if (!page)
  			return -ENOMEM;
  
-@@ -2464,6 +2464,10 @@ mtk_wed_attach(struct mtk_wed_device *dev)
+@@ -769,6 +770,7 @@ mtk_wed_hwrro_buffer_alloc(struct mtk_wed_device *dev)
+ 		buf_phys = page_phys;
+ 		for (s = 0; s < MTK_WED_RX_PAGE_BUF_PER_PAGE; s++) {
+ 			desc->buf0 = cpu_to_le32(buf_phys);
++			desc->token = cpu_to_le32(RX_DMA_SDP1(buf_phys));
+ 			desc++;
+ 			buf += MTK_WED_PAGE_BUF_SIZE;
+ 			buf_phys += MTK_WED_PAGE_BUF_SIZE;
+@@ -2457,6 +2459,10 @@ mtk_wed_attach(struct mtk_wed_device *dev)
  	dev->version = hw->version;
  	dev->hw->pci_base = mtk_wed_get_pci_base(dev);