2021-02-26 08:27:32

by Sean Wang

[permalink] [raw]
Subject: [PATCH 1/2] mt76: mt7921: fix the base of PCIe interrupt

From: Sean Wang <[email protected]>

Should use 0x10000 as the base to operate PCIe interrupt according
to the vendor reference driver.

Fixes: ffa1bf97425b ("mt76: mt7921: introduce PM support")
Co-developed-by: YN Chen <[email protected]>
Signed-off-by: YN Chen <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 4 ++--
drivers/net/wireless/mediatek/mt76/mt7921/regs.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
index 3e430c04c97e..def8b7816609 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
@@ -137,7 +137,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev,

mt76_wr(dev, MT_WFDMA0_HOST_INT_ENA, 0);

- mt7921_l1_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
+ mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);

ret = devm_request_irq(mdev->dev, pdev->irq, mt7921_irq_handler,
IRQF_SHARED, KBUILD_MODNAME, dev);
@@ -248,7 +248,7 @@ static int mt7921_pci_resume(struct pci_dev *pdev)
return 0;

/* enable interrupt */
- mt7921_l1_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
+ mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
mt7921_irq_enable(dev, MT_INT_RX_DONE_ALL | MT_INT_TX_DONE_ALL |
MT_INT_MCU_CMD);

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/regs.h b/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
index 419add751980..c4bd31cc81cb 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
@@ -391,7 +391,7 @@
#define MT_HW_CHIPID 0x70010200
#define MT_HW_REV 0x70010204

-#define MT_PCIE_MAC_BASE 0x74030000
+#define MT_PCIE_MAC_BASE 0x10000
#define MT_PCIE_MAC(ofs) (MT_PCIE_MAC_BASE + (ofs))
#define MT_PCIE_MAC_INT_ENABLE MT_PCIE_MAC(0x188)

--
2.25.1


2021-02-26 08:27:32

by Sean Wang

[permalink] [raw]
Subject: [PATCH 2/2] mt76: mt7921: fix the base of the dynamic remap

From: Sean Wang <[email protected]>

We should change the base for the dynamic remap into another one, because
the current base (0xe0000) have been the one used to operate the device
ownership.

Fixes: 163f4d22c118 ("mt76: mt7921: add MAC support")
Co-developed-by: YN Chen <[email protected]>
Signed-off-by: YN Chen <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mt7921/regs.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/regs.h b/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
index c4bd31cc81cb..f45f05c794cd 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
+++ b/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
@@ -364,11 +364,11 @@
#define MT_INFRA_CFG_BASE 0xfe000
#define MT_INFRA(ofs) (MT_INFRA_CFG_BASE + (ofs))

-#define MT_HIF_REMAP_L1 MT_INFRA(0x260)
+#define MT_HIF_REMAP_L1 MT_INFRA(0x24c)
#define MT_HIF_REMAP_L1_MASK GENMASK(15, 0)
#define MT_HIF_REMAP_L1_OFFSET GENMASK(15, 0)
#define MT_HIF_REMAP_L1_BASE GENMASK(31, 16)
-#define MT_HIF_REMAP_BASE_L1 0xe0000
+#define MT_HIF_REMAP_BASE_L1 0x40000

#define MT_SWDEF_BASE 0x41f200
#define MT_SWDEF(ofs) (MT_SWDEF_BASE + (ofs))
--
2.25.1

2021-02-26 11:11:32

by Lorenzo Bianconi

[permalink] [raw]
Subject: Re: [PATCH 1/2] mt76: mt7921: fix the base of PCIe interrupt

> From: Sean Wang <[email protected]>
>
> Should use 0x10000 as the base to operate PCIe interrupt according
> to the vendor reference driver.
>
> Fixes: ffa1bf97425b ("mt76: mt7921: introduce PM support")
> Co-developed-by: YN Chen <[email protected]>
> Signed-off-by: YN Chen <YN.Ch[email protected]>
> Signed-off-by: Sean Wang <[email protected]>

For the series:

Tested-by: Lorenzo Bianconi <[email protected]>

> ---
> drivers/net/wireless/mediatek/mt76/mt7921/pci.c | 4 ++--
> drivers/net/wireless/mediatek/mt76/mt7921/regs.h | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
> index 3e430c04c97e..def8b7816609 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/pci.c
> @@ -137,7 +137,7 @@ static int mt7921_pci_probe(struct pci_dev *pdev,
>
> mt76_wr(dev, MT_WFDMA0_HOST_INT_ENA, 0);
>
> - mt7921_l1_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
> + mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
>
> ret = devm_request_irq(mdev->dev, pdev->irq, mt7921_irq_handler,
> IRQF_SHARED, KBUILD_MODNAME, dev);
> @@ -248,7 +248,7 @@ static int mt7921_pci_resume(struct pci_dev *pdev)
> return 0;
>
> /* enable interrupt */
> - mt7921_l1_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
> + mt76_wr(dev, MT_PCIE_MAC_INT_ENABLE, 0xff);
> mt7921_irq_enable(dev, MT_INT_RX_DONE_ALL | MT_INT_TX_DONE_ALL |
> MT_INT_MCU_CMD);
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/regs.h b/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
> index 419add751980..c4bd31cc81cb 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/regs.h
> @@ -391,7 +391,7 @@
> #define MT_HW_CHIPID 0x70010200
> #define MT_HW_REV 0x70010204
>
> -#define MT_PCIE_MAC_BASE 0x74030000
> +#define MT_PCIE_MAC_BASE 0x10000
> #define MT_PCIE_MAC(ofs) (MT_PCIE_MAC_BASE + (ofs))
> #define MT_PCIE_MAC_INT_ENABLE MT_PCIE_MAC(0x188)
>
> --
> 2.25.1
>


Attachments:
(No filename) (2.13 kB)
signature.asc (235.00 B)
Download all attachments