LINUX_VERSION-4.14 = .176
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.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))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1450,6 +1450,103 @@ command_cleanup:
+@@ -1452,6 +1452,103 @@ command_cleanup:
}
/*
* non-error returns are a promise to giveback() the urb later
* 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,
.check_bandwidth = xhci_check_bandwidth,
.reset_bandwidth = xhci_reset_bandwidth,
uasm_i_eret(&p); /* return from trap */
}
#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
build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
#else
build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
#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);
uasm_l_leave(l, *p);
build_restore_work_registers(p);
/*
* The Mellanox Tavor device gives false positive parity errors. Mark this
* 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, 0x65fa, quirk_intel_mc_errata);
/*
* 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
-@@ -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, 0x0e0d, quirk_intel_ntb);
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled, even
* 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, 0x0152, disable_igfx_irq);
#include "libata.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;
}
void ata_scsi_scan_host(struct ata_port *ap, int sync)
{
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);
if (!IS_ERR(sdev)) {
dev->sdev = sdev;
--- a/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) },
{ "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) },
{ "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) },
#include <linux/platform_data/x86/apple.h>
#include <linux/pm_runtime.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,
PCI_CLASS_DISPLAY_VGA, 8,
quirk_reset_lenovo_thinkpad_p50_nvgpu);
+++ /dev/null
-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);
- }
-
- /*
+++ /dev/null
-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
--- a/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)
.fixups = &gd25q256_fixups,
},