public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: arnd@arndb•de (Arnd Bergmann)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 3/8] ARM: sirf: move irq driver to drivers/irqchip
Date: Mon, 25 Mar 2013 09:41:14 +0000	[thread overview]
Message-ID: <201303250941.14399.arnd@arndb.de> (raw)
In-Reply-To: <CAGsJ_4wUtgEGY9fc_RGq4m+=wzzgS1MxCOCLRm6Xh+-5kVMAdQ@mail.gmail.com>

On Monday 25 March 2013, Barry Song wrote:
> 2013/3/20, Arnd Bergmann <arnd@arndb•de>:

> > +static asmlinkage void __exception_irq_entry sirfsoc_handle_irq(struct
> > pt_regs *regs)
> > +{
> > +	void __iomem *base = sirfsoc_irqdomain->host_data;
> > +	u32 irqstat, irqnr;
> > +
> > +	irqstat = readl_relaxed(base + SIRFSOC_INIT_IRQ_ID);
> > +	irqnr = irq_find_mapping(sirfsoc_irqdomain, irqstat & 0xff);
> > +
> > +	handle_IRQ(irqnr, regs);
> > +}
> > +
> > +static void __init sirfsoc_irq_init(struct device_node *np, struct
> > device_node *parent)
> 
> this function should be changed from void to int.

Right.

> > +{
> > +	void __iomem *base = of_iomap(np, 0);
> > +	if (!base)
> > +		panic("unable to map intc cpu registers\n");
> > +
> > +	sirfsoc_irqdomain = irq_domain_add_linear(np, SIRFSOC_NUM_IRQS,
> > +				 &irq_domain_simple_ops, base);
> 
> this breaks the hwirq and irq mapping. the hwirq 0 is mapped to
> no_irqs, then setup_irq will fail in
> drivers/clocksource/timer-prima2.c.

Hmm, I don't understand yet what is going on there. This should create
a domain with all dynamically allocated interrupt descriptors,
and the hwirq number is just local to the controller then.

Without patch 2 of the series, this would fail, because that interrupt
is not mapped, but as far as I can tell, we correctly instantiate
the domain here, so the irq_of_parse_and_map() in sirfsoc_of_timer_map
should return a valid interrupt number. Can you check what it returns
instead? Does it work if you revert to a legacy domain here?

	Arnd

  reply	other threads:[~2013-03-25  9:41 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-20 11:41 [PATCH 0/8] SIRF multiplatform support Arnd Bergmann
2013-03-20 11:41 ` [PATCH 1/8] pinctrl: sirf: convert to linear irq domain Arnd Bergmann
2013-03-20 14:28   ` Barry Song
2013-03-25  9:11   ` Barry Song
2013-03-25  9:33     ` Arnd Bergmann
2013-03-25 10:08       ` Barry Song
2013-03-20 11:41 ` [PATCH 2/8] ARM: sirf: fix prima2 interrupt lookup Arnd Bergmann
2013-03-25  5:44   ` Barry Song
2013-03-20 11:41 ` [PATCH 3/8] ARM: sirf: move irq driver to drivers/irqchip Arnd Bergmann
2013-03-25  9:19   ` Barry Song
2013-03-25  9:41     ` Arnd Bergmann [this message]
2013-03-25  9:56       ` Barry Song
2013-03-25 11:13         ` Arnd Bergmann
2013-03-20 11:41 ` [PATCH 4/8] ARM: sirf: enable sparse IRQ Arnd Bergmann
2013-03-25 10:33   ` Barry Song
2013-03-25 10:53     ` Arnd Bergmann
2013-03-20 11:41 ` [PATCH 5/8] ARM: sirf: move debug-macro.S to include/debug/sirf.S Arnd Bergmann
2013-03-25  9:44   ` Barry Song
2013-03-20 11:41 ` [PATCH 6/8] ARM: sirf: use clocksource_of infrastructure Arnd Bergmann
2013-03-25  9:27   ` Barry Song
2013-03-20 11:41 ` [PATCH 7/8] ARM: sirf: enable multiplatform support Arnd Bergmann
2013-03-25 10:22   ` Barry Song
2013-03-25 10:54     ` Arnd Bergmann
2013-03-20 11:41 ` [PATCH 8/8] ARM: sirf: enable support in multi_v7_defconfig Arnd Bergmann
2013-03-25 10:26   ` Barry Song
2013-03-20 12:28 ` [PATCH 0/8] SIRF multiplatform support Arnd Bergmann
2013-03-25 11:33 ` Arnd Bergmann
2013-03-26  6:17   ` Barry Song
2013-03-26 14:31     ` Arnd Bergmann
2013-03-27  1:48       ` Barry Song

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=201303250941.14399.arnd@arndb.de \
    --to=arnd@arndb$(echo .)de \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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