From 7eed5caecd2ebeaab5b7089da5cac2fb90d23957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 3 Dec 2015 10:18:57 +0000 Subject: [PATCH] bcm53xx: use backported BCM5301X patches from stblinux soc/next MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki SVN-Revision: 47707 --- ...ove-workaround-imprecise-abort-fault.patch | 68 +++++++++++++++++++ ...10X-activate-erratas-needed-for-SoC.patch} | 0 2 files changed, 68 insertions(+) create mode 100644 target/linux/bcm53xx/patches-4.4/020-ARM-BCM5301X-remove-workaround-imprecise-abort-fault.patch rename target/linux/bcm53xx/patches-4.4/{020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch => 021-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch} (100%) diff --git a/target/linux/bcm53xx/patches-4.4/020-ARM-BCM5301X-remove-workaround-imprecise-abort-fault.patch b/target/linux/bcm53xx/patches-4.4/020-ARM-BCM5301X-remove-workaround-imprecise-abort-fault.patch new file mode 100644 index 0000000000..bc115b11f8 --- /dev/null +++ b/target/linux/bcm53xx/patches-4.4/020-ARM-BCM5301X-remove-workaround-imprecise-abort-fault.patch @@ -0,0 +1,68 @@ +From 937b12306ea79044c86f2e69b3061c7279245825 Mon Sep 17 00:00:00 2001 +From: Lucas Stach +Date: Thu, 15 Oct 2015 12:32:22 +0200 +Subject: [PATCH] ARM: BCM5301X: remove workaround imprecise abort fault + handler + +This is not needed anymore. Handling a potentially pending imprecise external +abort left behind by the bootloader is now done in a slightly safer way inside +the common ARM startup code. + +Signed-off-by: Lucas Stach +Acked-by: Hauke Mehrtens +Tested-by: Tyler Baker +Signed-off-by: Florian Fainelli +--- + arch/arm/mach-bcm/bcm_5301x.c | 35 ----------------------------------- + 1 file changed, 35 deletions(-) + +--- a/arch/arm/mach-bcm/bcm_5301x.c ++++ b/arch/arm/mach-bcm/bcm_5301x.c +@@ -9,40 +9,6 @@ + #include + + #include +-#include +-#include +- +- +-static bool first_fault = true; +- +-static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr, +- struct pt_regs *regs) +-{ +- if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) { +- first_fault = false; +- +- /* +- * These faults with codes 0x1406 (BCM4709) or 0x1c06 happens +- * for no good reason, possibly left over from the CFE boot +- * loader. +- */ +- pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n", +- addr, fsr); +- +- /* Returning non-zero causes fault display and panic */ +- return 0; +- } +- +- /* Others should cause a fault */ +- return 1; +-} +- +-static void __init bcm5301x_init_early(void) +-{ +- /* Install our hook */ +- hook_fault_code(16 + 6, bcm5301x_abort_handler, SIGBUS, BUS_OBJERR, +- "imprecise external abort"); +-} + + static const char *const bcm5301x_dt_compat[] __initconst = { + "brcm,bcm4708", +@@ -52,6 +18,5 @@ static const char *const bcm5301x_dt_compat[] __initconst = { + DT_MACHINE_START(BCM5301X, "BCM5301X") + .l2c_aux_val = 0, + .l2c_aux_mask = ~0, +- .init_early = bcm5301x_init_early, + .dt_compat = bcm5301x_dt_compat, + MACHINE_END diff --git a/target/linux/bcm53xx/patches-4.4/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch b/target/linux/bcm53xx/patches-4.4/021-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch similarity index 100% rename from target/linux/bcm53xx/patches-4.4/020-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch rename to target/linux/bcm53xx/patches-4.4/021-ARM-BCM5310X-activate-erratas-needed-for-SoC.patch