mediatek: mt7623: import patch to fix msi warning

The 1st generation MediaTek PCIe host bridge cannot handle Message
Signaled Interrupts (MSIs). The core PCI code is not aware that MSI is
not available. This results in warnings of the form:

WARNING: CPU: 2 PID: 112 at include/linux/msi.h:219
  pci_msi_setup_msi_irqs.constprop.8+0x64/0x6c
Modules linked in: ahci(+) libahci libata sd_mod scsi_mod
  gpio_button_hotplug
CPU: 2 PID: 112 Comm: kmodloader Not tainted 5.10.52 #0
Hardware name: Mediatek Cortex-A7 (Device Tree)

Import patches that introduce the 'no_msi' attribute to signal missing
MSI support to the core PCI.

Refresh patches:
- 000-spi-fix-fifo.patch
- 330-mtk-bmt-support.patch
- 510-net-mediatek-add-flow-offload-for-mt7623.patch
- 601-PCI-mediatek-Use-regmap-to-get-shared-pcie-cfg-base.patch
- 610-pcie-mediatek-fix-clearing-interrupt-status.patch
- 700-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch
- 710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
This commit is contained in:
Nick Hainke
2021-07-28 23:18:01 +02:00
committed by Daniel Golle
parent e88ab3b629
commit e8e2b88f5f
10 changed files with 150 additions and 18 deletions

View File

@@ -18,11 +18,9 @@ Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-mt65xx.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/spi/spi-mt65xx.c b/drivers/spi/spi-mt65xx.c
index 976f73b9e2998..8d5fa7f1e5069 100644
--- a/drivers/spi/spi-mt65xx.c
+++ b/drivers/spi/spi-mt65xx.c
@@ -427,13 +427,23 @@ static int mtk_spi_fifo_transfer(struct spi_master *master,
@@ -434,13 +434,23 @@ static int mtk_spi_fifo_transfer(struct
mtk_spi_setup_packet(master);
cnt = xfer->len / 4;
@@ -49,6 +47,3 @@ index 976f73b9e2998..8d5fa7f1e5069 100644
}
mtk_spi_enable_transfer(master);
--
cgit 1.2.3-1.el7

View File

@@ -815,7 +815,7 @@
static int spinand_read_reg_op(struct spinand_device *spinand, u8 reg, u8 *val)
{
@@ -1139,6 +1140,8 @@ static int spinand_probe(struct spi_mem
@@ -1140,6 +1141,8 @@ static int spinand_probe(struct spi_mem
if (ret)
return ret;
@@ -824,7 +824,7 @@
ret = mtd_device_register(mtd, NULL, 0);
if (ret)
goto err_spinand_cleanup;
@@ -1164,6 +1167,7 @@ static int spinand_remove(struct spi_mem
@@ -1165,6 +1168,7 @@ static int spinand_remove(struct spi_mem
if (ret)
return ret;

View File

@@ -14,7 +14,7 @@ Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3272,6 +3272,7 @@ static const struct mtk_soc_data mt7623_
@@ -3274,6 +3274,7 @@ static const struct mtk_soc_data mt7623_
.hw_features = MTK_HW_FEATURES,
.required_clks = MT7623_CLKS_BITMAP,
.required_pctl = true,

View File

@@ -150,7 +150,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
#include <linux/reset.h>
#include "../pci.h"
@@ -205,6 +207,7 @@ struct mtk_pcie_port {
@@ -207,6 +209,7 @@ struct mtk_pcie_port {
* struct mtk_pcie - PCIe host information
* @dev: pointer to PCIe device
* @base: IO mapped register base
@@ -158,7 +158,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
* @free_ck: free-run reference clock
* @mem: non-prefetchable memory resource
* @ports: pointer to PCIe port information
@@ -213,6 +216,7 @@ struct mtk_pcie_port {
@@ -215,6 +218,7 @@ struct mtk_pcie_port {
struct mtk_pcie {
struct device *dev;
void __iomem *base;
@@ -166,7 +166,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
struct clk *free_ck;
struct list_head ports;
@@ -648,7 +652,7 @@ static int mtk_pcie_setup_irq(struct mtk
@@ -650,7 +654,7 @@ static int mtk_pcie_setup_irq(struct mtk
return err;
}
@@ -175,7 +175,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
if (port->irq < 0)
return port->irq;
@@ -674,12 +678,11 @@ static int mtk_pcie_startup_port_v2(stru
@@ -676,12 +680,11 @@ static int mtk_pcie_startup_port_v2(stru
if (!mem)
return -EINVAL;
@@ -193,7 +193,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
}
/* Assert all reset signals */
@@ -983,6 +986,7 @@ static int mtk_pcie_subsys_powerup(struc
@@ -985,6 +988,7 @@ static int mtk_pcie_subsys_powerup(struc
struct device *dev = pcie->dev;
struct platform_device *pdev = to_platform_device(dev);
struct resource *regs;
@@ -201,7 +201,7 @@ Signed-off-by: chuanjia.liu <Chuanjia.Liu@mediatek.com>
int err;
/* get shared registers, which are optional */
@@ -995,6 +999,13 @@ static int mtk_pcie_subsys_powerup(struc
@@ -997,6 +1001,13 @@ static int mtk_pcie_subsys_powerup(struc
}
}

View File

@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
@@ -613,10 +613,10 @@ static void mtk_pcie_intr_handler(struct
@@ -615,10 +615,10 @@ static void mtk_pcie_intr_handler(struct
if (status & INTX_MASK) {
for_each_set_bit_from(bit, &status, PCI_NUM_INTX + INTX_SHIFT) {
/* Clear the INTx */

View File

@@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) {
ret = device_reset(eth->dev);
if (ret) {
@@ -3074,6 +3082,16 @@ static int mtk_probe(struct platform_dev
@@ -3076,6 +3084,16 @@ static int mtk_probe(struct platform_dev
}
}

View File

@@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct mtk_pcie_port;
/**
@@ -1040,6 +1046,27 @@ static int mtk_pcie_setup(struct mtk_pci
@@ -1042,6 +1048,27 @@ static int mtk_pcie_setup(struct mtk_pci
struct mtk_pcie_port *port, *tmp;
int err;