summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmery Hsin <emery.hsin@mediatek.com>2026-06-12 15:53:38 +0800
committerFelix Fietkau <nbd@nbd.name>2026-07-31 12:25:37 +0000
commit8905038d58aa5ffa2a42e0efd4e41da4e25ce101 (patch)
treedfdbd8740564dc36c3d9df037a28511761a1542b
parentf26fda0c6ae2fb2347c16e65d158d9cc9e697751 (diff)
downloadlinux-next-8905038d58aa5ffa2a42e0efd4e41da4e25ce101.tar.gz
linux-next-8905038d58aa5ffa2a42e0efd4e41da4e25ce101.zip
wifi: mt76: mt7925: add MT7928 per-chip PCIe register definitions
MT7928 maps PCIe MAC registers through base 0x74040000. Add MT7928_PCIE_MAC_{INT_ENABLE,PM} macros and override dev->pcie_reg at probe time for MT7928 hardware. Signed-off-by: Xiong <xiong.huang@mediatek.com> Signed-off-by: Emery Hsin <emery.hsin@mediatek.com> Link: https://patch.msgid.link/20260612075339.2578327-4-jb.tsai@mediatek.com Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7925/pci.c6
-rw-r--r--drivers/net/wireless/mediatek/mt76/mt7925/regs.h5
2 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c
index 719f53ddf1eb..1ad5847d4a8c 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/pci.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/pci.c
@@ -473,6 +473,11 @@ static const struct mt792x_pcie_reg mt7925_pcie_reg = {
.pm = MT7925_PCIE_MAC_PM,
};
+static const struct mt792x_pcie_reg mt7928_pcie_reg = {
+ .imask = MT7928_PCIE_MAC_INT_ENABLE,
+ .pm = MT7928_PCIE_MAC_PM,
+};
+
static const struct mt792x_irq_map mt7925_irq_map = {
.host_irq_enable = MT_WFDMA0_HOST_INT_ENA,
.tx = {
@@ -609,6 +614,7 @@ static int mt7925_pci_probe(struct pci_dev *pdev,
dev->pcie_reg = &mt7925_pcie_reg;
if (is_mt7928_hw) {
+ dev->pcie_reg = &mt7928_pcie_reg;
dev->irq_map = &mt7928_irq_map;
mdev->rev = 0x7928 << 16;
} else if (is_mt7927_hw) {
diff --git a/drivers/net/wireless/mediatek/mt76/mt7925/regs.h b/drivers/net/wireless/mediatek/mt76/mt7925/regs.h
index af6291fc53cd..cb937d565a80 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7925/regs.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7925/regs.h
@@ -114,6 +114,11 @@
#define MT7925_PCIE_MAC_INT_ENABLE MT7925_PCIE_MAC(0x188)
#define MT7925_PCIE_MAC_PM MT7925_PCIE_MAC(0x194)
+#define MT7928_PCIE_MAC_BASE 0x74040000
+#define MT7928_PCIE_MAC(ofs) (MT7928_PCIE_MAC_BASE + (ofs))
+#define MT7928_PCIE_MAC_INT_ENABLE MT7928_PCIE_MAC(0x188)
+#define MT7928_PCIE_MAC_PM MT7928_PCIE_MAC(0x194)
+
#define MT_DMASHDL_LITE_BASE 0x20026200
#define MT_DMASHDL_LITE(ofs) (MT_DMASHDL_LITE_BASE + (ofs))
#define MT_DMASHDL_LITE_MAIN_CONTROL MT_DMASHDL_LITE(0x004)