bcm53xx: use backported BCM5301X patches from stblinux soc/next
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 47707
This commit is contained in:
parent
4e837fa130
commit
7eed5caecd
2 changed files with 68 additions and 0 deletions
|
@ -0,0 +1,68 @@
|
|||
From 937b12306ea79044c86f2e69b3061c7279245825 Mon Sep 17 00:00:00 2001
|
||||
From: Lucas Stach <l.stach@pengutronix.de>
|
||||
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 <l.stach@pengutronix.de>
|
||||
Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
|
||||
Tested-by: Tyler Baker <tyler.baker@linaro.org>
|
||||
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||
---
|
||||
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 <asm/hardware/cache-l2x0.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
-#include <asm/siginfo.h>
|
||||
-#include <asm/signal.h>
|
||||
-
|
||||
-
|
||||
-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
|
Loading…
Reference in a new issue