mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	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
					
				@ -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 New Issue
	
	Block a user