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: Mon, 07 Feb 2011 18:32:16 -0600 [thread overview]
Message-ID: <1297125136.8577.113.camel@mulgrave.site> (raw)
In-Reply-To: <1297113986.8577.92.camel@mulgrave.site>
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)) {
/* Bad linux design decision. The mask has already
* been set; we must reset it. Will fix - tglx
*/
@@ -128,11 +128,11 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
}
static int cpu_set_affinity_irq(struct irq_data *d, const struct cpumask *dest,
- bool force))
+ bool force)
{
int cpu_dest;
- cpu_dest = cpu_check_affinity(d->irq, dest);
+ cpu_dest = cpu_check_affinity(d, dest);
if (cpu_dest < 0)
return -1;
@@ -296,7 +296,7 @@ int txn_alloc_irq(unsigned int bits_wide)
unsigned long txn_affinity_addr(unsigned int irq, int cpu)
{
#ifdef CONFIG_SMP
- struct irq_data *d = get_irq_data(irq);
+ struct irq_data *d = irq_get_irq_data(irq);
cpumask_copy(d->affinity, cpumask_of(cpu));
#endif
diff --git a/drivers/parisc/iosapic.c b/drivers/parisc/iosapic.c
index a015c12..95930d0 100644
--- a/drivers/parisc/iosapic.c
+++ b/drivers/parisc/iosapic.c
@@ -693,7 +693,7 @@ static int iosapic_set_affinity_irq(struct irq_data *d,
return -1;
cpumask_copy(d->affinity, cpumask_of(dest_cpu));
- vi->txn_addr = txn_affinity_addr(irq, dest_cpu);
+ vi->txn_addr = txn_affinity_addr(d->irq, dest_cpu);
spin_lock_irqsave(&iosapic_lock, flags);
/* d1 contains the destination CPU, so only want to set that
next prev parent reply other threads:[~2011-02-08 0:32 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 [this message]
2011-02-08 14:25 ` Thomas Gleixner
2011-02-08 14:37 ` Thomas Gleixner
2011-02-08 16:53 ` James Bottomley
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=1297125136.8577.113.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