aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/patches-5.15
diff options
context:
space:
mode:
authorJohn Audia <therealgraysky@proton.me>2022-12-31 10:29:53 -0500
committerHauke Mehrtens <hauke@hauke-m.de>2023-01-03 23:55:45 +0100
commit738b04c88128d9963b81bff68426980f587f22d9 (patch)
tree2b3bf964270cf59677d5ed5210aeec06f0b62150 /target/linux/ramips/patches-5.15
parenta80e6301313539a37cc942680500fc9bce5880c3 (diff)
downloadupstream-738b04c88128d9963b81bff68426980f587f22d9.tar.gz
upstream-738b04c88128d9963b81bff68426980f587f22d9.tar.bz2
upstream-738b04c88128d9963b81bff68426980f587f22d9.zip
kernel: bump 5.15 to 5.15.86
Removed upstreamed: pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch[1] ipq806x/patches-5.15/122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch[2] bcm27xx/patches-5.15/950-0198-drm-fourcc-Add-packed-10bit-YUV-4-2-0-format.patch[3] Manually rebased: ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch[4] Added patch/backported: ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch[5] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=c160505c9b574b346031fdf2c649d19e7939ca11 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=a051e10bfc6906d29dae7a31f0773f2702edfe1b 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.86&id=ec1727f89ecd6f2252c0c75e200058819f7ce47a 4. Quilt gave this output when I applied the patch to rebase it: % quilt push -f Applying patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch patching file arch/mips/ralink/Kconfig patching file drivers/pci/controller/Kconfig patching file drivers/pci/controller/Makefile patching file drivers/staging/Kconfig patching file drivers/staging/Makefile patching file drivers/staging/mt7621-pci/Kconfig patching file drivers/staging/mt7621-pci/Makefile patching file drivers/staging/mt7621-pci/TODO patching file drivers/staging/mt7621-pci/mediatek,mt7621-pci.txt patching file drivers/staging/mt7621-pci/pci-mt7621.c Hunk #1 FAILED at 1. Not deleting file drivers/staging/mt7621-pci/pci-mt7621.c as content differs from patch 1 out of 1 hunk FAILED -- saving rejects to file drivers/staging/mt7621-pci/pci-mt7621.c.rej patching file drivers/pci/controller/pcie-mt7621.c Applied patch platform/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch (forced; needs refresh) Upon inspecting drivers/staging/mt7621-pci/pci-mt7621.c.rej, it seems that the original patch wants to delete drivers/staging/mt7621-pci/pci-mt7621.c but upstream's version was not an exact match. I opted to delete that file. 5. Suggestion by hauke: https://github.com/torvalds/linux/commit/19098934f910b4d47cb30251dd39ffa57bef9523 "This patch is in upstream kernel, but it was backported to the old staging driver in kernel 5.15." Build system: x86_64 Build-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm2711/RPi4B, filogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me>
Diffstat (limited to 'target/linux/ramips/patches-5.15')
-rw-r--r--target/linux/ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch41
-rw-r--r--target/linux/ramips/patches-5.15/103-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch4
-rw-r--r--target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch38
3 files changed, 61 insertions, 22 deletions
diff --git a/target/linux/ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch b/target/linux/ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
index 5aa69421b9..1c8c7cd3d0 100644
--- a/target/linux/ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
+++ b/target/linux/ramips/patches-5.15/100-PCI-mt7621-Add-MediaTek-MT7621-PCIe-host-controller-.patch
@@ -211,7 +211,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
--- a/drivers/staging/mt7621-pci/pci-mt7621.c
+++ /dev/null
-@@ -1,600 +0,0 @@
+@@ -1,601 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * BRIEF MODULE DESCRIPTION
@@ -307,8 +307,8 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- * reset lines are inverted.
- */
-struct mt7621_pcie {
-- void __iomem *base;
- struct device *dev;
+- void __iomem *base;
- struct list_head ports;
- bool resets_inverted;
-};
@@ -343,7 +343,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- writel_relaxed(val, port->base + reg);
-}
-
--static inline u32 mt7621_pci_get_cfgaddr(unsigned int bus, unsigned int slot,
+-static inline u32 mt7621_pcie_get_cfgaddr(unsigned int bus, unsigned int slot,
- unsigned int func, unsigned int where)
-{
- return (((where & 0xF00) >> 8) << 24) | (bus << 16) | (slot << 11) |
@@ -354,7 +354,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- unsigned int devfn, int where)
-{
- struct mt7621_pcie *pcie = bus->sysdata;
-- u32 address = mt7621_pci_get_cfgaddr(bus->number, PCI_SLOT(devfn),
+- u32 address = mt7621_pcie_get_cfgaddr(bus->number, PCI_SLOT(devfn),
- PCI_FUNC(devfn), where);
-
- writel_relaxed(address, pcie->base + RALINK_PCI_CONFIG_ADDR);
@@ -362,7 +362,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- return pcie->base + RALINK_PCI_CONFIG_DATA + (where & 3);
-}
-
--struct pci_ops mt7621_pci_ops = {
+-struct pci_ops mt7621_pcie_ops = {
- .map_bus = mt7621_pcie_map_bus,
- .read = pci_generic_config_read,
- .write = pci_generic_config_write,
@@ -370,7 +370,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-static u32 read_config(struct mt7621_pcie *pcie, unsigned int dev, u32 reg)
-{
-- u32 address = mt7621_pci_get_cfgaddr(0, dev, 0, reg);
+- u32 address = mt7621_pcie_get_cfgaddr(0, dev, 0, reg);
-
- pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR);
- return pcie_read(pcie, RALINK_PCI_CONFIG_DATA);
@@ -379,7 +379,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-static void write_config(struct mt7621_pcie *pcie, unsigned int dev,
- u32 reg, u32 val)
-{
-- u32 address = mt7621_pci_get_cfgaddr(0, dev, 0, reg);
+- u32 address = mt7621_pcie_get_cfgaddr(0, dev, 0, reg);
-
- pcie_write(pcie, address, RALINK_PCI_CONFIG_ADDR);
- pcie_write(pcie, val, RALINK_PCI_CONFIG_DATA);
@@ -719,16 +719,17 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-{
- struct mt7621_pcie *pcie = pci_host_bridge_priv(host);
-
-- host->ops = &mt7621_pci_ops;
+- host->ops = &mt7621_pcie_ops;
- host->sysdata = pcie;
- return pci_host_probe(host);
-}
-
--static const struct soc_device_attribute mt7621_pci_quirks_match[] = {
-- { .soc_id = "mt7621", .revision = "E2" }
+-static const struct soc_device_attribute mt7621_pcie_quirks_match[] = {
+- { .soc_id = "mt7621", .revision = "E2" },
+- { /* sentinel */ }
-};
-
--static int mt7621_pci_probe(struct platform_device *pdev)
+-static int mt7621_pcie_probe(struct platform_device *pdev)
-{
- struct device *dev = &pdev->dev;
- const struct soc_device_attribute *attr;
@@ -749,7 +750,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- platform_set_drvdata(pdev, pcie);
- INIT_LIST_HEAD(&pcie->ports);
-
-- attr = soc_device_match(mt7621_pci_quirks_match);
+- attr = soc_device_match(mt7621_pcie_quirks_match);
- if (attr)
- pcie->resets_inverted = true;
-
@@ -786,7 +787,7 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- return err;
-}
-
--static int mt7621_pci_remove(struct platform_device *pdev)
+-static int mt7621_pcie_remove(struct platform_device *pdev)
-{
- struct mt7621_pcie *pcie = platform_get_drvdata(pdev);
- struct mt7621_pcie_port *port;
@@ -797,21 +798,21 @@ Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
- return 0;
-}
-
--static const struct of_device_id mt7621_pci_ids[] = {
+-static const struct of_device_id mt7621_pcie_ids[] = {
- { .compatible = "mediatek,mt7621-pci" },
- {},
-};
--MODULE_DEVICE_TABLE(of, mt7621_pci_ids);
+-MODULE_DEVICE_TABLE(of, mt7621_pcie_ids);
-
--static struct platform_driver mt7621_pci_driver = {
-- .probe = mt7621_pci_probe,
-- .remove = mt7621_pci_remove,
+-static struct platform_driver mt7621_pcie_driver = {
+- .probe = mt7621_pcie_probe,
+- .remove = mt7621_pcie_remove,
- .driver = {
- .name = "mt7621-pci",
-- .of_match_table = of_match_ptr(mt7621_pci_ids),
+- .of_match_table = of_match_ptr(mt7621_pcie_ids),
- },
-};
--builtin_platform_driver(mt7621_pci_driver);
+-builtin_platform_driver(mt7621_pcie_driver);
--- /dev/null
+++ b/drivers/pci/controller/pcie-mt7621.c
@@ -0,0 +1,600 @@
diff --git a/target/linux/ramips/patches-5.15/103-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch b/target/linux/ramips/patches-5.15/103-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch
index 3162ff8107..4b46b3e3f6 100644
--- a/target/linux/ramips/patches-5.15/103-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch
+++ b/target/linux/ramips/patches-5.15/103-PCI-mt7621-Move-MIPS-setup-to-pcibios_root_bridge_pr.patch
@@ -28,9 +28,9 @@ Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> # arch/mips
#include <asm/bootinfo.h>
#include <asm/mipsregs.h>
-@@ -24,6 +26,35 @@
-
+@@ -25,6 +27,35 @@
static u32 detect_magic __initdata;
+ static struct ralink_soc_info *soc_info_ptr;
+int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
+{
diff --git a/target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch b/target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch
new file mode 100644
index 0000000000..c055f0096d
--- /dev/null
+++ b/target/linux/ramips/patches-5.15/107-PCI-mt7621-Add-sentinel-to-quirks-table.patch
@@ -0,0 +1,38 @@
+From 19098934f910b4d47cb30251dd39ffa57bef9523 Mon Sep 17 00:00:00 2001
+From: John Thomson <git@johnthomson.fastmail.com.au>
+Date: Tue, 6 Dec 2022 06:46:45 +1000
+Subject: [PATCH] PCI: mt7621: Add sentinel to quirks table
+
+Current driver is missing a sentinel in the struct soc_device_attribute
+array, which causes an oops when assessed by the
+soc_device_match(mt7621_pcie_quirks_match) call.
+
+This was only exposed once the CONFIG_SOC_MT7621 mt7621 soc_dev_attr
+was fixed to register the SOC as a device, in:
+
+commit 7c18b64bba3b ("mips: ralink: mt7621: do not use kzalloc too early")
+
+Fix it by adding the required sentinel.
+
+Link: https://lore.kernel.org/lkml/26ebbed1-0fe9-4af9-8466-65f841d0b382@app.fastmail.com
+Link: https://lore.kernel.org/r/20221205204645.301301-1-git@johnthomson.fastmail.com.au
+Fixes: b483b4e4d3f6 ("staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute'")
+Signed-off-by: John Thomson <git@johnthomson.fastmail.com.au>
+Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
+Acked-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
+---
+ drivers/pci/controller/pcie-mt7621.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/pci/controller/pcie-mt7621.c
++++ b/drivers/pci/controller/pcie-mt7621.c
+@@ -471,7 +471,8 @@ static int mt7621_pcie_register_host(str
+ }
+
+ static const struct soc_device_attribute mt7621_pcie_quirks_match[] = {
+- { .soc_id = "mt7621", .revision = "E2" }
++ { .soc_id = "mt7621", .revision = "E2" },
++ { /* sentinel */ }
+ };
+
+ static int mt7621_pcie_probe(struct platform_device *pdev)