lkml.org 
[lkml]   [2014]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] ARM: shmobile: r8a7740: Instantiate GIC from C board code in legacy builds
On Wed, Dec 17, 2014 at 02:20:09PM +0000, Marc Zyngier wrote:
> On 17/12/14 13:40, Geert Uytterhoeven wrote:
> > As of commit 9a1091ef0017c40a ("irqchip: gic: Support hierarchy irq
> > domain."), armadillo-legacy hangs during boot with:
> >
> > sh-tmu.0: ch0: used for clock events
> > sh-tmu.0: ch0: used for periodic clock events
> > sh-tmu.0: ch0: failed to request irq 230
> > sh-tmu.0: ch1: used as clock source
> > sh-cmt-48.1: ch0: failed to request irq 90
> > sh-cmt-48.1: ch0: registration failed
> > earlytimer: unable to probe sh-cmt-48 early.
> > Calibrating delay loop...
> >
> > This happens because the IRQ numbers of the GIC are now virtual, and no
> > longer match the hardcoded hardware IRQ numbers in the platform board
> > code.
> > To fix this, instantiate the GIC from platform board code when compiling
> > a legacy kernel, like is done on sh73a0 for kzm9g-legacy.
>
> Ah, that explains why kzm9g-legacy didn't explode in -next...
>
> > Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
> > ---
> > arch/arm/mach-shmobile/setup-r8a7740.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
> > index 79ad93dfdae4ee70..d191cf4197313482 100644
> > --- a/arch/arm/mach-shmobile/setup-r8a7740.c
> > +++ b/arch/arm/mach-shmobile/setup-r8a7740.c
> > @@ -800,7 +800,14 @@ void __init r8a7740_init_irq_of(void)
> > void __iomem *intc_msk_base = ioremap_nocache(0xe6900040, 0x10);
> > void __iomem *pfc_inta_ctrl = ioremap_nocache(0xe605807c, 0x4);
> >
> > +#ifdef CONFIG_ARCH_SHMOBILE_LEGACY
> > + void __iomem *gic_dist_base = ioremap_nocache(0xc2800000, 0x1000);
> > + void __iomem *gic_cpu_base = ioremap_nocache(0xc2000000, 0x1000);
> > +
> > + gic_init(0, 29, gic_dist_base, gic_cpu_base);
> > +#else
> > irqchip_init();
> > +#endif
> >
> > /* route signals to GIC */
> > iowrite32(0x0, pfc_inta_ctrl);
> >
>
> Hopefully we'll be able to move away from this kind of thing at some
> point. Until then:
>
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>

Hi Marc,

I believe that is in progress.

As I understand things the plan is to move away from this when
multiplatform support for the r8a7740 and the Armadillo800-EVM board are
complete. And thus we can remove legacy-C support for that SoC and board.
Lots of deletions!

Geert,

can I confirm that you would like me to pick this up - there are a lot of
changes flying around at the moment? If so would you like it considered as
a fix for v3.19 and stable? If so I will need some information about what
patch introduced the problem in which release. If not can you state why?

The reason for requesting such information is so that I can pass it on to
the ARM SoC maintainers so it is clear to them how to handle the patch and
why.

\
 
 \ /
  Last update: 2014-12-18 02:01    [W:0.042 / U:1.180 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site