All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: benoar@dolka.fr (Benjamin Cama)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] Re: Linkstation Mini and __machine_arch_type problem, not booting since 3.8
Date: Fri, 19 Jun 2015 03:38:15 +0200	[thread overview]
Message-ID: <1434677895.4767.11.camel@dolka.fr> (raw)
In-Reply-To: <558278A8.2050406@arm.com>

Hi Marc,

Le jeudi 18 juin 2015 ? 08:52 +0100, Marc Zyngier a ?crit :
> On 18/06/15 03:12, Benjamin Cama wrote:
> > And I did it. And I stumbled upon commit
> > a71b092a9c68685a270ebdde7b5986ba8787e575 ?ARM: Convert handle_IRQ to
> > use __handle_domain_irq? (author Cc'ed). The new function
> > __handle_domain_irq (in kernel/irq/irqdesc.c, which comes just two
> > commits before, with 76ba59f8366f2d9282cb5bda9de75b4b68cbe55f) is
> > subtly different from the one it replaces, handle_IRQ, as it checks if
> > the irq is not 0 as well as checking for an upper bound. Removing the
> > check for 0 makes my machine work again! But honestly, I do not know if
> > a zero irq is legit, so I hope some more knowledgeable people will tell
> > me if this is OK.
> > 
> > -- >8 --
> > Subject: [PATCH] Make __handle_domain_irq accept IRQ 0
> > 
> > The same as handle_IRQ did before.
> > 
> > Signed-off-by: Benjamin Cama <benoar@dolka.fr>
> > ---
> >  kernel/irq/irqdesc.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
> > index a1782f8..bfbeeb6 100644
> > --- a/kernel/irq/irqdesc.c
> > +++ b/kernel/irq/irqdesc.c
> > @@ -365,7 +365,7 @@ int __handle_domain_irq(struct irq_domain 
> > *domain, unsigned int hwirq,
> >          * Some hardware gives randomly wrong interrupts.  Rather
> >          * than crashing, do something sensible.
> >          */
> > -       if (unlikely(!irq || irq >= nr_irqs)) {
> > +       if (unlikely(irq >= nr_irqs)) {
> >                 ack_bad_irq(irq);
> >                 ret = -EINVAL;
> >         } else {
> > 
> 
> Unfortunately, this is the wrong thing to do. IRQ0 is invalid, has been
> for a very long time, and actually represents the lack of interrupt.

OK, sorry for the mistake, I didn't know. Shouldn't the IRQ
initialization routine check this and warn the user that it may cause
problems? ?Silently? making IRQ0 forbidden doesn't help for the
platforms that are not fixed yet.

> The way you can address this is by making sure your favourite platform
> does not use IRQ0 at all, which is done by not assuming that Linux IRQ
> number (which is always completely virtual) is the same as the number
> designating the actual HW interrupt line.
>
> For example, have a look at 18f3aec (ARM: 8230/1: sa1100: shift IRQs by
> one) for an example of such a (very simple) conversion. You'll need to
> tweak irq.c too.
> 
> Other commits for sa1100 will hopefully convince you to switch to irq
> domains altogether. This will greatly facilitate a possible further
> transition to DT if you wish to do so.

I read quite a bit about all this virtual/hardware IRQ stuff, and the
irq domains, interesting. I see that orion5x seems to be one of the
last platforms not using it (appart from DT-converted boards); is it a
bad sign about its durability??

> Looking forward to reviewing your patches,

Thanks for your help and support. As the others suggested (thanks to
all of you too), I will try the DT way directly then.

Regards,
--
benjamin

  parent reply	other threads:[~2015-06-19  1:38 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-15 13:51 Linkstation Mini and __machine_arch_type problem, not booting since 3.8 Benjamin Cama
2015-06-16  9:20 ` Benjamin Cama
2015-06-18  2:12   ` [PATCH] " Benjamin Cama
2015-06-18  7:52     ` Marc Zyngier
2015-06-18  8:14       ` Arnd Bergmann
2015-06-18 13:23         ` Andrew Lunn
2015-06-19  1:38       ` Benjamin Cama [this message]
2015-06-19  9:13         ` Marc Zyngier
2015-06-19 12:16           ` Benjamin Cama
2015-06-19 13:01             ` Jason Cooper
2015-06-19 13:13             ` Russell King - ARM Linux
2015-06-19 13:46               ` Benjamin Cama
2015-06-19 15:25                 ` Jason Cooper
2015-06-19 15:48                   ` Russell King - ARM Linux
2015-06-19 17:13                     ` Jason Cooper
2015-06-21 17:37                       ` Benjamin Cama
2015-06-22 12:08                         ` Jason Cooper
2015-06-22 17:49                           ` Benjamin Cama
2015-06-22 17:58                             ` Russell King - ARM Linux
2015-06-22 18:04                             ` Jason Cooper
     [not found]                               ` <1436710916.5657.169.camel@dolka.fr>
2015-07-14 14:25                                 ` [PATCH] ARM: orion5x: fix legacy orion5x IRQ numbers Benjamin Cama
2015-07-14 20:50                                   ` Arnd Bergmann
2015-08-14 15:46                                     ` Gregory CLEMENT
2015-06-19 15:44                 ` [PATCH] Re: Linkstation Mini and __machine_arch_type problem, not booting since 3.8 Russell King - ARM Linux
2015-06-20  1:01                   ` Benjamin Cama
2015-06-18  8:12 ` Gregory CLEMENT
2015-06-19  1:50   ` Benjamin Cama
2015-06-19  9:33     ` Gregory CLEMENT
2015-06-19 11:41       ` Jason Cooper
2015-06-20  0:28         ` Benjamin Cama
2015-06-20 14:36           ` Andrew Lunn
2015-06-21 17:36             ` Benjamin Cama
2015-06-21 20:07               ` Andrew Lunn
     [not found]                 ` <1434995000.5657.42.camel@dolka.fr>
2015-06-22 18:23                   ` SERIAL_OF_PLATFORM default setting for DT headless systems Jason Cooper
2015-06-22 19:42                     ` Benjamin Cama
2015-06-22 12:00               ` Linkstation Mini and __machine_arch_type problem, not booting since 3.8 Jason Cooper
2015-06-22 17:44                 ` Benjamin Cama
2015-06-19 22:38     ` Andrew Lunn

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=1434677895.4767.11.camel@dolka.fr \
    --to=benoar@dolka.fr \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.