All of lore.kernel.org
 help / color / mirror / Atom feed
* irqchip: sirfsoc: Question about SIRFSOC_NUM_IRQS setting
@ 2013-07-04 14:32 Axel Lin
  2013-07-04 15:29 ` Arnd Bergmann
  0 siblings, 1 reply; 2+ messages in thread
From: Axel Lin @ 2013-07-04 14:32 UTC (permalink / raw)
  To: Barry Song; +Cc: Arnd Bergmann, Thomas Gleixner, Maxime Ripard, linux-kernel

irq_setup_generic_chip() setup max. 32 interrupts starting from gc->irq_base.

sirfsoc_irq_init()
  -> sirfsoc_alloc_gc()
    -> irq_setup_generic_chip()

In sirfsoc_irq_init(), current code calls
sirfsoc_alloc_gc(base + 4, 32, SIRFSOC_NUM_IRQS - 32); //Note, SIRFSOC_NUM_IRQS is 128

So I'm wondering if SIRFSOC_NUM_IRQS setting is correct or not.

PS. In initial commit 02c981c07bc95ac1e "ARM: CSR: Adding CSR SiRFprimaII board support"
SIRFSOC_INTENAL_IRQ_END is 59.

Regards,
Axel





^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: irqchip: sirfsoc: Question about SIRFSOC_NUM_IRQS setting
  2013-07-04 14:32 irqchip: sirfsoc: Question about SIRFSOC_NUM_IRQS setting Axel Lin
@ 2013-07-04 15:29 ` Arnd Bergmann
  0 siblings, 0 replies; 2+ messages in thread
From: Arnd Bergmann @ 2013-07-04 15:29 UTC (permalink / raw)
  To: Axel Lin; +Cc: Barry Song, Thomas Gleixner, Maxime Ripard, linux-kernel

On Thursday 04 July 2013, Axel Lin wrote:
> irq_setup_generic_chip() setup max. 32 interrupts starting from gc->irq_base.
> 
> sirfsoc_irq_init()
>   -> sirfsoc_alloc_gc()
>     -> irq_setup_generic_chip()
> 
> In sirfsoc_irq_init(), current code calls
> sirfsoc_alloc_gc(base + 4, 32, SIRFSOC_NUM_IRQS - 32); //Note, SIRFSOC_NUM_IRQS is 128
> 
> So I'm wondering if SIRFSOC_NUM_IRQS setting is correct or not.

I think this is a result of the sirf marco platform getting added. Note
also the comment in

        /* using legacy because irqchip_generic does not work with linear */
        sirfsoc_irqdomain = irq_domain_add_legacy(np, SIRFSOC_NUM_IRQS, 0, 0,
                                 &irq_domain_simple_ops, base);


With linux-3.11 this is no longer true: the generic irqchip now does
work with the linear domain, and the code can be simplified by
using irq_alloc_domain_generic_chips(), which also gets rid
of the SIRFSOC_NUM_IRQS constant.

	Arnd

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2013-07-04 15:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-04 14:32 irqchip: sirfsoc: Question about SIRFSOC_NUM_IRQS setting Axel Lin
2013-07-04 15:29 ` Arnd Bergmann

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.