From e842e16f4583edeedec24ffe79a0e495bb9c7bff Mon Sep 17 00:00:00 2001 From: Koen Vandeputte Date: Mon, 15 May 2017 13:11:05 +0200 Subject: kernel: update kernel 4.9 to 4.9.29 - Refresh all patches - Removed upstreamed - Adapted 1 Compile tested on: bcm53xx, cns3xxx, imx6, lantiq Run tested on: cns3xxx & imx6 Signed-off-by: Koen Vandeputte [update from 4.9.28 to 4.9.29] Signed-off-by: Hauke Mehrtens --- ...X-Add-back-handler-ignoring-external-impr.patch | 75 ---------------------- 1 file changed, 75 deletions(-) delete mode 100644 target/linux/bcm53xx/patches-4.9/031-ARM-BCM5301X-Add-back-handler-ignoring-external-impr.patch (limited to 'target/linux/bcm53xx/patches-4.9/031-ARM-BCM5301X-Add-back-handler-ignoring-external-impr.patch') diff --git a/target/linux/bcm53xx/patches-4.9/031-ARM-BCM5301X-Add-back-handler-ignoring-external-impr.patch b/target/linux/bcm53xx/patches-4.9/031-ARM-BCM5301X-Add-back-handler-ignoring-external-impr.patch deleted file mode 100644 index a4f32f5..0000000 --- a/target/linux/bcm53xx/patches-4.9/031-ARM-BCM5301X-Add-back-handler-ignoring-external-impr.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 09f3510fb70a46c8921f2cf4a90dbcae460a6820 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Sat, 29 Oct 2016 13:12:29 +0200 -Subject: [PATCH] ARM: BCM5301X: Add back handler ignoring external imprecise - aborts -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Since early BCM5301X days we got abort handler that was removed by -commit 937b12306ea79 ("ARM: BCM5301X: remove workaround imprecise abort -fault handler"). It assumed we need to deal only with pending aborts -left by the bootloader. Unfortunately this isn't true for BCM5301X. - -When probing PCI config space (device enumeration) it is expected to -have master aborts on the PCI bus. Most bridges don't forward (or they -allow disabling it) these errors onto the AXI/AMBA bus but not the -Northstar (BCM5301X) one. - -iProc PCIe controller on Northstar seems to be some older one, without -a control register for errors forwarding. It means we need to workaround -this at platform level. All newer platforms are not affected by this -issue. - -Signed-off-by: Rafał Miłecki -Signed-off-by: Florian Fainelli ---- - arch/arm/mach-bcm/bcm_5301x.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - ---- a/arch/arm/mach-bcm/bcm_5301x.c -+++ b/arch/arm/mach-bcm/bcm_5301x.c -@@ -9,14 +9,42 @@ - #include - - #include -+#include -+#include -+ -+#define FSR_EXTERNAL (1 << 12) -+#define FSR_READ (0 << 10) -+#define FSR_IMPRECISE 0x0406 - - static const char *const bcm5301x_dt_compat[] __initconst = { - "brcm,bcm4708", - NULL, - }; - -+static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr, -+ struct pt_regs *regs) -+{ -+ /* -+ * We want to ignore aborts forwarded from the PCIe bus that are -+ * expected and shouldn't really be passed by the PCIe controller. -+ * The biggest disadvantage is the same FSR code may be reported when -+ * reading non-existing APB register and we shouldn't ignore that. -+ */ -+ if (fsr == (FSR_EXTERNAL | FSR_READ | FSR_IMPRECISE)) -+ return 0; -+ -+ return 1; -+} -+ -+static void __init bcm5301x_init_early(void) -+{ -+ hook_fault_code(16 + 6, bcm5301x_abort_handler, SIGBUS, BUS_OBJERR, -+ "imprecise external abort"); -+} -+ - DT_MACHINE_START(BCM5301X, "BCM5301X") - .l2c_aux_val = 0, - .l2c_aux_mask = ~0, - .dt_compat = bcm5301x_dt_compat, -+ .init_early = bcm5301x_init_early, - MACHINE_END -- cgit v1.1