kernel: bump 5.4 to 5.4.33
Refreshed patches, removed upstreamed patches: oxnas: 001-irqchip-versatile-fpga-Handle-chained-IRQs-properly.patch oxnas: 002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch Run tested: qemu-x86-64, apalis Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
This commit is contained in:
parent
0495324b9b
commit
23916bca61
@ -8,11 +8,11 @@ endif
|
|||||||
|
|
||||||
LINUX_VERSION-4.14 = .176
|
LINUX_VERSION-4.14 = .176
|
||||||
LINUX_VERSION-4.19 = .115
|
LINUX_VERSION-4.19 = .115
|
||||||
LINUX_VERSION-5.4 = .32
|
LINUX_VERSION-5.4 = .33
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2
|
LINUX_KERNEL_HASH-4.14.176 = bcae0956baaeb55dab5bad0401873fbc5baaa7fbe957ea6d27a5ab241cec5ca2
|
||||||
LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2
|
LINUX_KERNEL_HASH-4.19.115 = 11b2d97c8ea5ceb40c5e1d0bb87ad5b2b8c84560181bc60c0d28ec3a3e3801c2
|
||||||
LINUX_KERNEL_HASH-5.4.32 = 192d99fab7a47a537493b6d7eddb52892b98f8ada655c0bbb419b360a995f2b3
|
LINUX_KERNEL_HASH-5.4.33 = b5579621302a6169b389b64dd9ef084df3bb2f11d91dd73273f76e2323223861
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
|
|
||||||
--- a/drivers/usb/host/xhci.c
|
--- a/drivers/usb/host/xhci.c
|
||||||
+++ b/drivers/usb/host/xhci.c
|
+++ b/drivers/usb/host/xhci.c
|
||||||
@@ -1450,6 +1450,103 @@ command_cleanup:
|
@@ -1452,6 +1452,103 @@ command_cleanup:
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
|||||||
* non-error returns are a promise to giveback() the urb later
|
* non-error returns are a promise to giveback() the urb later
|
||||||
* we drop ownership so next owner (or urb unlink) can get it
|
* we drop ownership so next owner (or urb unlink) can get it
|
||||||
*/
|
*/
|
||||||
@@ -5325,6 +5422,7 @@ static const struct hc_driver xhci_hc_dr
|
@@ -5327,6 +5424,7 @@ static const struct hc_driver xhci_hc_dr
|
||||||
.endpoint_reset = xhci_endpoint_reset,
|
.endpoint_reset = xhci_endpoint_reset,
|
||||||
.check_bandwidth = xhci_check_bandwidth,
|
.check_bandwidth = xhci_check_bandwidth,
|
||||||
.reset_bandwidth = xhci_reset_bandwidth,
|
.reset_bandwidth = xhci_reset_bandwidth,
|
||||||
|
@ -470,7 +470,7 @@
|
|||||||
uasm_i_eret(&p); /* return from trap */
|
uasm_i_eret(&p); /* return from trap */
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
|
#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
|
||||||
@@ -2049,6 +2058,9 @@ build_r4000_tlbchange_handler_head(u32 *
|
@@ -2052,6 +2061,9 @@ build_r4000_tlbchange_handler_head(u32 *
|
||||||
#ifdef CONFIG_64BIT
|
#ifdef CONFIG_64BIT
|
||||||
build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
|
build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
|
||||||
#else
|
#else
|
||||||
@ -480,7 +480,7 @@
|
|||||||
build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
|
build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -2095,6 +2107,9 @@ build_r4000_tlbchange_handler_tail(u32 *
|
@@ -2098,6 +2110,9 @@ build_r4000_tlbchange_handler_tail(u32 *
|
||||||
build_tlb_write_entry(p, l, r, tlb_indexed);
|
build_tlb_write_entry(p, l, r, tlb_indexed);
|
||||||
uasm_l_leave(l, *p);
|
uasm_l_leave(l, *p);
|
||||||
build_restore_work_registers(p);
|
build_restore_work_registers(p);
|
||||||
|
@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
* The Mellanox Tavor device gives false positive parity errors. Mark this
|
||||||
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
* device with a broken_parity_status to allow PCI scanning code to "skip"
|
||||||
@@ -3241,6 +3242,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
@@ -3307,6 +3308,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
* Ivytown NTB BAR sizes are misreported by the hardware due to an erratum.
|
||||||
* To work around this, query the size it should be configured to by the
|
* To work around this, query the size it should be configured to by the
|
||||||
@@ -3266,6 +3269,8 @@ static void quirk_intel_ntb(struct pci_d
|
@@ -3332,6 +3335,8 @@ static void quirk_intel_ntb(struct pci_d
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e08, quirk_intel_ntb);
|
||||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x0e0d, quirk_intel_ntb);
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
|||||||
/*
|
/*
|
||||||
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
|
||||||
* though no one is handling them (e.g., if the i915 driver is never
|
* though no one is handling them (e.g., if the i915 driver is never
|
||||||
@@ -3304,6 +3309,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
@@ -3370,6 +3375,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq);
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ ChangeLog v1->v2:
|
|||||||
|
|
||||||
#include "libata.h"
|
#include "libata.h"
|
||||||
#include "libata-transport.h"
|
#include "libata-transport.h"
|
||||||
@@ -4573,6 +4574,34 @@ int ata_scsi_add_hosts(struct ata_host *
|
@@ -4570,6 +4571,34 @@ int ata_scsi_add_hosts(struct ata_host *
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ ChangeLog v1->v2:
|
|||||||
void ata_scsi_scan_host(struct ata_port *ap, int sync)
|
void ata_scsi_scan_host(struct ata_port *ap, int sync)
|
||||||
{
|
{
|
||||||
int tries = 5;
|
int tries = 5;
|
||||||
@@ -4598,6 +4627,7 @@ void ata_scsi_scan_host(struct ata_port
|
@@ -4595,6 +4624,7 @@ void ata_scsi_scan_host(struct ata_port
|
||||||
NULL);
|
NULL);
|
||||||
if (!IS_ERR(sdev)) {
|
if (!IS_ERR(sdev)) {
|
||||||
dev->sdev = sdev;
|
dev->sdev = sdev;
|
||||||
|
@ -15,7 +15,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
|||||||
|
|
||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -2313,6 +2313,8 @@ static const struct flash_info spi_nor_i
|
@@ -2318,6 +2318,8 @@ static const struct flash_info spi_nor_i
|
||||||
{ "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
|
{ "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) },
|
||||||
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
|
||||||
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
|
||||||
|
@ -22,7 +22,7 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com>
|
|||||||
#include <linux/platform_data/x86/apple.h>
|
#include <linux/platform_data/x86/apple.h>
|
||||||
#include <linux/pm_runtime.h>
|
#include <linux/pm_runtime.h>
|
||||||
#include <linux/switchtec.h>
|
#include <linux/switchtec.h>
|
||||||
@@ -5431,3 +5432,34 @@ out_disable:
|
@@ -5497,3 +5498,34 @@ out_disable:
|
||||||
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1,
|
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_NVIDIA, 0x13b1,
|
||||||
PCI_CLASS_DISPLAY_VGA, 8,
|
PCI_CLASS_DISPLAY_VGA, 8,
|
||||||
quirk_reset_lenovo_thinkpad_p50_nvgpu);
|
quirk_reset_lenovo_thinkpad_p50_nvgpu);
|
||||||
|
@ -1,77 +0,0 @@
|
|||||||
From patchwork Thu Mar 19 02:34:48 2020
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
X-Patchwork-Submitter: Sungbo Eo <mans0n@gorani.run>
|
|
||||||
X-Patchwork-Id: 11446405
|
|
||||||
From: Sungbo Eo <mans0n@gorani.run>
|
|
||||||
To: Linus Walleij <linus.walleij@linaro.org>,
|
|
||||||
Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>,
|
|
||||||
Marc Zyngier <maz@kernel.org>, linux-arm-kernel@lists.infradead.org,
|
|
||||||
linux-kernel@vger.kernel.org, linux-oxnas@groups.io
|
|
||||||
Subject: [PATCH v2] irqchip/versatile-fpga: Handle chained IRQs properly
|
|
||||||
Date: Thu, 19 Mar 2020 11:34:48 +0900
|
|
||||||
Message-Id: <20200319023448.1479701-1-mans0n@gorani.run>
|
|
||||||
In-Reply-To: <002b72cab9896fa5ac76a52e0cb503ff@kernel.org>
|
|
||||||
References: <002b72cab9896fa5ac76a52e0cb503ff@kernel.org>
|
|
||||||
MIME-Version: 1.0
|
|
||||||
List-Id: <linux-arm-kernel.lists.infradead.org>
|
|
||||||
Cc: Sungbo Eo <mans0n@gorani.run>, Neil Armstrong <narmstrong@baylibre.com>
|
|
||||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
|
||||||
|
|
||||||
Enclose the chained handler with chained_irq_{enter,exit}(), so that the
|
|
||||||
muxed interrupts get properly acked.
|
|
||||||
|
|
||||||
This patch also fixes a reboot bug on OX820 SoC, where the jiffies timer
|
|
||||||
interrupt is never acked. The kernel waits a clock tick forever in
|
|
||||||
calibrate_delay_converge(), which leads to a boot hang.
|
|
||||||
|
|
||||||
Fixes: c41b16f8c9d9 ("ARM: integrator/versatile: consolidate FPGA IRQ handling code")
|
|
||||||
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
|
|
||||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
|
||||||
---
|
|
||||||
v2: moved readl below chained_irq_enter()
|
|
||||||
added Fixes tag
|
|
||||||
|
|
||||||
drivers/irqchip/irq-versatile-fpga.c | 12 ++++++++++--
|
|
||||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
--- a/drivers/irqchip/irq-versatile-fpga.c
|
|
||||||
+++ b/drivers/irqchip/irq-versatile-fpga.c
|
|
||||||
@@ -6,6 +6,7 @@
|
|
||||||
#include <linux/irq.h>
|
|
||||||
#include <linux/io.h>
|
|
||||||
#include <linux/irqchip.h>
|
|
||||||
+#include <linux/irqchip/chained_irq.h>
|
|
||||||
#include <linux/irqchip/versatile-fpga.h>
|
|
||||||
#include <linux/irqdomain.h>
|
|
||||||
#include <linux/module.h>
|
|
||||||
@@ -68,12 +69,16 @@ static void fpga_irq_unmask(struct irq_d
|
|
||||||
|
|
||||||
static void fpga_irq_handle(struct irq_desc *desc)
|
|
||||||
{
|
|
||||||
+ struct irq_chip *chip = irq_desc_get_chip(desc);
|
|
||||||
struct fpga_irq_data *f = irq_desc_get_handler_data(desc);
|
|
||||||
- u32 status = readl(f->base + IRQ_STATUS);
|
|
||||||
+ u32 status;
|
|
||||||
|
|
||||||
+ chained_irq_enter(chip, desc);
|
|
||||||
+
|
|
||||||
+ status = readl(f->base + IRQ_STATUS);
|
|
||||||
if (status == 0) {
|
|
||||||
do_bad_IRQ(desc);
|
|
||||||
- return;
|
|
||||||
+ goto out;
|
|
||||||
}
|
|
||||||
|
|
||||||
do {
|
|
||||||
@@ -82,6 +87,9 @@ static void fpga_irq_handle(struct irq_d
|
|
||||||
status &= ~(1 << irq);
|
|
||||||
generic_handle_irq(irq_find_mapping(f->domain, irq));
|
|
||||||
} while (status);
|
|
||||||
+
|
|
||||||
+out:
|
|
||||||
+ chained_irq_exit(chip, desc);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
@ -1,56 +0,0 @@
|
|||||||
From patchwork Sat Mar 21 13:38:42 2020
|
|
||||||
Content-Type: text/plain; charset="utf-8"
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Transfer-Encoding: 7bit
|
|
||||||
X-Patchwork-Submitter: Sungbo Eo <mans0n@gorani.run>
|
|
||||||
X-Patchwork-Id: 11451163
|
|
||||||
From: Sungbo Eo <mans0n@gorani.run>
|
|
||||||
To: linux-oxnas@groups.io, Linus Walleij <linus.walleij@linaro.org>,
|
|
||||||
Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>,
|
|
||||||
Marc Zyngier <maz@kernel.org>, linux-arm-kernel@lists.infradead.org,
|
|
||||||
linux-kernel@vger.kernel.org
|
|
||||||
Subject: [PATCH] irqchip/versatile-fpga: Apply clear-mask earlier
|
|
||||||
Date: Sat, 21 Mar 2020 22:38:42 +0900
|
|
||||||
Message-Id: <20200321133842.2408823-1-mans0n@gorani.run>
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
|
|
||||||
|
|
||||||
Clear its own IRQs before the parent IRQ get enabled, so that the
|
|
||||||
remaining IRQs do not accidentally interrupt the parent IRQ controller.
|
|
||||||
|
|
||||||
This patch also fixes a reboot bug on OX820 SoC, where the remaining
|
|
||||||
rps-timer IRQ raises a GIC interrupt that is left pending. After that,
|
|
||||||
the rps-timer IRQ is cleared during driver initialization, and there's
|
|
||||||
no IRQ left in rps-irq when local_irq_enable() is called, which evokes
|
|
||||||
an error message "unexpected IRQ trap".
|
|
||||||
|
|
||||||
Fixes: bdd272cbb97a ("irqchip: versatile FPGA: support cascaded interrupts from DT")
|
|
||||||
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
|
|
||||||
Cc: Neil Armstrong <narmstrong@baylibre.com>
|
|
||||||
Cc: Daniel Golle <daniel@makrotopia.org>
|
|
||||||
---
|
|
||||||
drivers/irqchip/irq-versatile-fpga.c | 6 +++---
|
|
||||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
--- a/drivers/irqchip/irq-versatile-fpga.c
|
|
||||||
+++ b/drivers/irqchip/irq-versatile-fpga.c
|
|
||||||
@@ -212,6 +212,9 @@ int __init fpga_irq_of_init(struct devic
|
|
||||||
if (of_property_read_u32(node, "valid-mask", &valid_mask))
|
|
||||||
valid_mask = 0;
|
|
||||||
|
|
||||||
+ writel(clear_mask, base + IRQ_ENABLE_CLEAR);
|
|
||||||
+ writel(clear_mask, base + FIQ_ENABLE_CLEAR);
|
|
||||||
+
|
|
||||||
/* Some chips are cascaded from a parent IRQ */
|
|
||||||
parent_irq = irq_of_parse_and_map(node, 0);
|
|
||||||
if (!parent_irq) {
|
|
||||||
@@ -221,9 +224,6 @@ int __init fpga_irq_of_init(struct devic
|
|
||||||
|
|
||||||
fpga_irq_init(base, node->name, 0, parent_irq, valid_mask, node);
|
|
||||||
|
|
||||||
- writel(clear_mask, base + IRQ_ENABLE_CLEAR);
|
|
||||||
- writel(clear_mask, base + FIQ_ENABLE_CLEAR);
|
|
||||||
-
|
|
||||||
/*
|
|
||||||
* On Versatile AB/PB, some secondary interrupts have a direct
|
|
||||||
* pass-thru to the primary controller for IRQs 20 and 22-31 which need
|
|
@ -1,6 +1,6 @@
|
|||||||
--- a/drivers/mtd/spi-nor/spi-nor.c
|
--- a/drivers/mtd/spi-nor/spi-nor.c
|
||||||
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
+++ b/drivers/mtd/spi-nor/spi-nor.c
|
||||||
@@ -2265,6 +2265,11 @@ static const struct flash_info spi_nor_i
|
@@ -2270,6 +2270,11 @@ static const struct flash_info spi_nor_i
|
||||||
SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||||
.fixups = &gd25q256_fixups,
|
.fixups = &gd25q256_fixups,
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user