All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Lucas Stach <l.stach@pengutronix.de>
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	patchwork-lst@pengutronix.de
Subject: Re: [PATCH v2 2/3] ARM: OMAP2+: remove custom abort handler for t410
Date: Thu, 12 Nov 2015 09:51:17 -0800	[thread overview]
Message-ID: <20151112175116.GO3218@atomide.com> (raw)
In-Reply-To: <1447335155.3101.6.camel@pengutronix.de>

* Lucas Stach <l.stach@pengutronix.de> [151112 05:33]:
> Tony,
> 
> can you please take this patch through the OMAP tree for 4.4? The first
> patch in this series went in through Russells tree, so the below code
> now has the possibility to hide a real abort later during boot.

OK will do thanks. I've also verified that the abort handler is no longer
needed. After seeing where it happens, fixing it was trivial :)

FYI, the fix was 57df53808534 ("ARM: OMAP2+: Fix imprecise external abort
caused by bogus SRAM init"). Other platforms may have similar issues where
it's not really anything left behind by the bootloader but a real kernel
bug.

Regards,

Tony

> 
> Am Donnerstag, den 15.10.2015, 12:32 +0200 schrieb Lucas Stach:
> > 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: Tony Lindgren <tony@atomide.com>
> > ---
> >  arch/arm/mach-omap2/pdata-quirks.c | 29 -----------------------------
> >  1 file changed, 29 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> > index ea56397599c2..3a2bc2a88db4 100644
> > --- a/arch/arm/mach-omap2/pdata-quirks.c
> > +++ b/arch/arm/mach-omap2/pdata-quirks.c
> > @@ -24,9 +24,6 @@
> >  #include <linux/platform_data/iommu-omap.h>
> >  #include <linux/platform_data/wkup_m3.h>
> >  
> > -#include <asm/siginfo.h>
> > -#include <asm/signal.h>
> > -
> >  #include "common.h"
> >  #include "common-board-devices.h"
> >  #include "dss-common.h"
> > @@ -385,29 +382,6 @@ static void __init omap3_pandora_legacy_init(void)
> >  }
> >  #endif /* CONFIG_ARCH_OMAP3 */
> >  
> > -#ifdef CONFIG_SOC_TI81XX
> > -static int fault_fixed_up;
> > -
> > -static int t410_abort_handler(unsigned long addr, unsigned int fsr,
> > -			      struct pt_regs *regs)
> > -{
> > -	if ((fsr == 0x406 || fsr == 0xc06) && !fault_fixed_up) {
> > -		pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
> > -			addr, fsr);
> > -		fault_fixed_up = 1;
> > -		return 0;
> > -	}
> > -
> > -	return 1;
> > -}
> > -
> > -static void __init t410_abort_init(void)
> > -{
> > -	hook_fault_code(16 + 6, t410_abort_handler, SIGBUS, BUS_OBJERR,
> > -			"imprecise external abort");
> > -}
> > -#endif
> > -
> >  #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
> >  static struct iommu_platform_data omap4_iommu_pdata = {
> >  	.reset_name = "mmu_cache",
> > @@ -536,9 +510,6 @@ static struct pdata_init pdata_quirks[] __initdata = {
> >  	{ "openpandora,omap3-pandora-600mhz", omap3_pandora_legacy_init, },
> >  	{ "openpandora,omap3-pandora-1ghz", omap3_pandora_legacy_init, },
> >  #endif
> > -#ifdef CONFIG_SOC_TI81XX
> > -	{ "hp,t410", t410_abort_init, },
> > -#endif
> >  #ifdef CONFIG_SOC_OMAP5
> >  	{ "ti,omap5-uevm", omap5_uevm_legacy_init, },
> >  #endif
> 
> -- 
> Pengutronix e.K.             | Lucas Stach                 |
> Industrial Linux Solutions   | http://www.pengutronix.de/  |
> 

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/3] ARM: OMAP2+: remove custom abort handler for t410
Date: Thu, 12 Nov 2015 09:51:17 -0800	[thread overview]
Message-ID: <20151112175116.GO3218@atomide.com> (raw)
In-Reply-To: <1447335155.3101.6.camel@pengutronix.de>

* Lucas Stach <l.stach@pengutronix.de> [151112 05:33]:
> Tony,
> 
> can you please take this patch through the OMAP tree for 4.4? The first
> patch in this series went in through Russells tree, so the below code
> now has the possibility to hide a real abort later during boot.

OK will do thanks. I've also verified that the abort handler is no longer
needed. After seeing where it happens, fixing it was trivial :)

FYI, the fix was 57df53808534 ("ARM: OMAP2+: Fix imprecise external abort
caused by bogus SRAM init"). Other platforms may have similar issues where
it's not really anything left behind by the bootloader but a real kernel
bug.

Regards,

Tony

> 
> Am Donnerstag, den 15.10.2015, 12:32 +0200 schrieb Lucas Stach:
> > 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: Tony Lindgren <tony@atomide.com>
> > ---
> >  arch/arm/mach-omap2/pdata-quirks.c | 29 -----------------------------
> >  1 file changed, 29 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c
> > index ea56397599c2..3a2bc2a88db4 100644
> > --- a/arch/arm/mach-omap2/pdata-quirks.c
> > +++ b/arch/arm/mach-omap2/pdata-quirks.c
> > @@ -24,9 +24,6 @@
> >  #include <linux/platform_data/iommu-omap.h>
> >  #include <linux/platform_data/wkup_m3.h>
> >  
> > -#include <asm/siginfo.h>
> > -#include <asm/signal.h>
> > -
> >  #include "common.h"
> >  #include "common-board-devices.h"
> >  #include "dss-common.h"
> > @@ -385,29 +382,6 @@ static void __init omap3_pandora_legacy_init(void)
> >  }
> >  #endif /* CONFIG_ARCH_OMAP3 */
> >  
> > -#ifdef CONFIG_SOC_TI81XX
> > -static int fault_fixed_up;
> > -
> > -static int t410_abort_handler(unsigned long addr, unsigned int fsr,
> > -			      struct pt_regs *regs)
> > -{
> > -	if ((fsr == 0x406 || fsr == 0xc06) && !fault_fixed_up) {
> > -		pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
> > -			addr, fsr);
> > -		fault_fixed_up = 1;
> > -		return 0;
> > -	}
> > -
> > -	return 1;
> > -}
> > -
> > -static void __init t410_abort_init(void)
> > -{
> > -	hook_fault_code(16 + 6, t410_abort_handler, SIGBUS, BUS_OBJERR,
> > -			"imprecise external abort");
> > -}
> > -#endif
> > -
> >  #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
> >  static struct iommu_platform_data omap4_iommu_pdata = {
> >  	.reset_name = "mmu_cache",
> > @@ -536,9 +510,6 @@ static struct pdata_init pdata_quirks[] __initdata = {
> >  	{ "openpandora,omap3-pandora-600mhz", omap3_pandora_legacy_init, },
> >  	{ "openpandora,omap3-pandora-1ghz", omap3_pandora_legacy_init, },
> >  #endif
> > -#ifdef CONFIG_SOC_TI81XX
> > -	{ "hp,t410", t410_abort_init, },
> > -#endif
> >  #ifdef CONFIG_SOC_OMAP5
> >  	{ "ti,omap5-uevm", omap5_uevm_legacy_init, },
> >  #endif
> 
> -- 
> Pengutronix e.K.             | Lucas Stach                 |
> Industrial Linux Solutions   | http://www.pengutronix.de/  |
> 

  reply	other threads:[~2015-11-12 17:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-15 10:32 [PATCH v2 0/3] ARM: handle imprecise aborts from firmware in common code Lucas Stach
2015-10-15 10:32 ` Lucas Stach
2015-10-15 10:32 ` [PATCH v2 1/3] ARM: catch pending imprecise abort on unmask Lucas Stach
2015-10-15 10:32   ` Lucas Stach
2015-10-15 15:32   ` Russell King - ARM Linux
2015-10-15 15:32     ` Russell King - ARM Linux
2015-10-15 15:39     ` Tony Lindgren
2015-10-15 15:39       ` Tony Lindgren
2015-10-15 16:06       ` Russell King - ARM Linux
2015-10-15 16:06         ` Russell King - ARM Linux
2015-10-15 16:23         ` Tony Lindgren
2015-10-15 16:23           ` Tony Lindgren
2015-10-16  8:21     ` Lucas Stach
2015-10-16  8:21       ` Lucas Stach
2015-10-19 12:41     ` Lucas Stach
2015-10-19 12:41       ` Lucas Stach
2015-10-15 10:32 ` [PATCH v2 2/3] ARM: OMAP2+: remove custom abort handler for t410 Lucas Stach
2015-10-15 10:32   ` Lucas Stach
2015-11-12 13:32   ` Lucas Stach
2015-11-12 13:32     ` Lucas Stach
2015-11-12 17:51     ` Tony Lindgren [this message]
2015-11-12 17:51       ` Tony Lindgren
2015-10-15 10:32 ` [PATCH v2 3/3] ARM: BCM5301X: remove workaround imprecise abort fault handler Lucas Stach
2015-10-15 10:32   ` Lucas Stach
2015-11-12 13:37   ` Lucas Stach
2015-11-12 17:54     ` Hauke Mehrtens
2015-11-25  0:01   ` Florian Fainelli
2015-11-25  0:01     ` Florian Fainelli
2015-10-16 19:11 ` [PATCH v2 0/3] ARM: handle imprecise aborts from firmware in common code Tyler Baker
2015-10-16 19:11   ` Tyler Baker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151112175116.GO3218@atomide.com \
    --to=tony@atomide.com \
    --cc=l.stach@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=patchwork-lst@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.