Linux PARISC architecture development
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-parisc@vger.kernel.org, Kyle McMartin <kyle@redhat.com>
Subject: Re: [patch 0/8] parisc: Convert to new irq_chip functions
Date: Tue, 08 Feb 2011 10:53:17 -0600	[thread overview]
Message-ID: <1297183997.3088.72.camel@mulgrave.site> (raw)
In-Reply-To: <alpine.LFD.2.00.1102081536080.31804@localhost6.localdomain6>

On Tue, 2011-02-08 at 15:37 +0100, Thomas Gleixner wrote:
> On Tue, 8 Feb 2011, Thomas Gleixner wrote:
> 
> > On Mon, 7 Feb 2011, James Bottomley wrote:
> > 
> > > On Mon, 2011-02-07 at 15:26 -0600, James Bottomley wrote:
> > > > Unfortunately, it's panicing on boot in txn_alloc (that's a CPU
> > > > interrupt allocation in the iosapic), so I'm going to debug further.
> > > 
> > > Following up with Thomas over IRC, the attached is the finally final
> > > patch he came up with to fix the panic and sort out the compile issues.
> > > I've verified this on an iosapic system (pa8800) and on dino/gsc (C360)
> > > could someone try it on an astro system?
> > > 
> > > Thanks,
> > > 
> > > James
> > > 
> > > diff --git a/arch/parisc/kernel/irq.c b/arch/parisc/kernel/irq.c
> > > index 9eea164..cb450e1 100644
> > > --- a/arch/parisc/kernel/irq.c
> > > +++ b/arch/parisc/kernel/irq.c
> > > @@ -113,7 +113,7 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
> > >  	int cpu_dest;
> > >  
> > >  	/* timer and ipi have to always be received on all CPUs */
> > > -	if (CHECK_IRQ_PER_CPU(irq)) {
> > > +	if (CHECK_IRQ_PER_CPU(irq_to_desc(d->irq)->status)) {
> > 
> > For extended fun I just noticed, that nothing ever sets IRQ_PER_CPU in
> > desc->status for all of parisc.
> > 
> > This check (using irq) never evaluated to true due to:
> > 
> >    #define IRQ_PER_CPU         0x00010000      /* IRQ is per CPU */
> > 
> > I doubt that irq can be that large on parisc :)
> > 
> > The other place evaluates to false as well, because nothing ever sets
> > the damn flag.
> > 
> > If you want to set it please use: set_irq_status_flags(irq, IRQ_PER_CPU);
> > otherwise just kill that PER_CPU thingy :)
> 
> Gah. You set it indirect via IRQF_PERCPU with setup/request_irq.
> 
> Staring too long into that code makes my brain fuzzy.

Yes ... know the feeling over the years trying to keep up with the
various irq schemes.  Got to say, it's a lot easier now: The way parisc
chips accept interrupts is essentially MSI.  Trying to live in the old
world modelled on the x86 PIC wasn't fun.

So did you want me to roll all the fixes together and apply them, or is
there something else that needs to happen?

James





  reply	other threads:[~2011-02-08 16:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-06 20:45 [patch 0/8] parisc: Convert to new irq_chip functions Thomas Gleixner
2011-02-06 20:45 ` [patch 1/8] parisc: Convert cpu irq_chip to new functions Thomas Gleixner
2011-02-06 20:45 ` [patch 2/8] parisc: Convert dino " Thomas Gleixner
2011-02-06 20:45 ` [patch 3/8] parisc: Convert eisa " Thomas Gleixner
2011-02-06 20:45 ` [patch 4/8] parisc: Convert gsc " Thomas Gleixner
2011-02-06 20:46 ` [patch 5/8] parisc: Convert iosapic " Thomas Gleixner
2011-02-06 20:46 ` [patch 6/8] parisc: Convert superio " Thomas Gleixner
2011-02-06 20:46 ` [patch 7/8] parisc: Prepare show_interrupts for GENERIC_HARDIRQS_NO_DEPRECATED Thomas Gleixner
2011-02-06 20:46 ` [patch 8/8] parisc: Select GENERIC_HARDIRQS_NO_DEPRECATED Thomas Gleixner
2011-02-07 16:02 ` [patch 0/8] parisc: Convert to new irq_chip functions James Bottomley
2011-02-07 16:53   ` Thomas Gleixner
2011-02-07 17:36     ` James Bottomley
2011-02-07 18:28       ` Thomas Gleixner
2011-02-07 21:26         ` James Bottomley
2011-02-08  0:32           ` James Bottomley
2011-02-08 14:25             ` Thomas Gleixner
2011-02-08 14:37               ` Thomas Gleixner
2011-02-08 16:53                 ` James Bottomley [this message]
2011-02-08 17:42                   ` Thomas Gleixner
2011-02-08 17:45                     ` James Bottomley
2011-02-08 21:59                       ` Thomas Gleixner

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=1297183997.3088.72.camel@mulgrave.site \
    --to=james.bottomley@hansenpartnership.com \
    --cc=kyle@redhat.com \
    --cc=linux-parisc@vger.kernel.org \
    --cc=tglx@linutronix.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox