summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/mediatek/mt76/mmio.c
diff options
context:
space:
mode:
authorSujuan Chen <sujuan.chen@mediatek.com>2023-11-17 18:13:19 +0100
committerFelix Fietkau <nbd@nbd.name>2023-12-11 13:11:52 +0100
commit4920a3a1285f5fd0b4f7c2cbd589903d3fc2824b (patch)
tree2c20f5590429ef9cad7be2e522cc1139fa34a6bd /drivers/net/wireless/mediatek/mt76/mmio.c
parent92184eae1d5ad804884e2c6e289d885b9e3194d1 (diff)
downloadlinux-4920a3a1285f5fd0b4f7c2cbd589903d3fc2824b.tar.gz
linux-4920a3a1285f5fd0b4f7c2cbd589903d3fc2824b.tar.bz2
linux-4920a3a1285f5fd0b4f7c2cbd589903d3fc2824b.zip
wifi: mt76: mt7996: set DMA mask to 36 bits for boards with more than 4GB of RAM
Introduce the capability to run mt7996 driver on boards with more than 4GB of memory. Co-developed-by: Rex Lu <rex.lu@mediatek.com> Signed-off-by: Rex Lu <rex.lu@mediatek.com> Signed-off-by: Sujuan Chen <sujuan.chen@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mmio.c')
-rw-r--r--drivers/net/wireless/mediatek/mt76/mmio.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mmio.c b/drivers/net/wireless/mediatek/mt76/mmio.c
index 4a006409a373..c3e0e23e0161 100644
--- a/drivers/net/wireless/mediatek/mt76/mmio.c
+++ b/drivers/net/wireless/mediatek/mt76/mmio.c
@@ -142,8 +142,11 @@ u32 mt76_mmio_wed_init_rx_buf(struct mtk_wed_device *wed, int size)
goto unmap;
}
- desc->token |= cpu_to_le32(FIELD_PREP(MT_DMA_CTL_TOKEN,
- token));
+ token = FIELD_PREP(MT_DMA_CTL_TOKEN, token);
+#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
+ token |= FIELD_PREP(MT_DMA_CTL_SDP0_H, addr >> 32);
+#endif
+ desc->token |= cpu_to_le32(token);
desc++;
}