linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* DMA: PL330: support for multiple irqs?
@ 2012-01-03 17:13 dirac3000
  2012-01-03 17:25 ` Russell King - ARM Linux
  0 siblings, 1 reply; 2+ messages in thread
From: dirac3000 @ 2012-01-03 17:13 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

I have noticed the current PL330 driver does not provide any support for
multiples interrupts, even if the controller allows such implementation
(e.g.: one interrupt line for channel).

So far the driver takes the first element of the IRQ field in the
amba_device structure and makes a request on that IRQ, but I am working
on a PL330 with 7 different IRQ lines (6 for events + 1 for irq_abort).

A possibility would be to change the driver to loop over the
amba_device->irq array, but this is limited to max 2 IRQs, and I don't
understand this limitation.

Has anybody worked on a similar configuration?

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

* DMA: PL330: support for multiple irqs?
  2012-01-03 17:13 DMA: PL330: support for multiple irqs? dirac3000
@ 2012-01-03 17:25 ` Russell King - ARM Linux
  0 siblings, 0 replies; 2+ messages in thread
From: Russell King - ARM Linux @ 2012-01-03 17:25 UTC (permalink / raw)
  To: linux-arm-kernel

On Tue, Jan 03, 2012 at 06:13:14PM +0100, dirac3000 wrote:
> I have noticed the current PL330 driver does not provide any support for
> multiples interrupts, even if the controller allows such implementation
> (e.g.: one interrupt line for channel).
> 
> So far the driver takes the first element of the IRQ field in the
> amba_device structure and makes a request on that IRQ, but I am working
> on a PL330 with 7 different IRQ lines (6 for events + 1 for irq_abort).

So, you seem to have the first SoC which uses this silly 'lets not use
the common interrupt' sillyness.

> A possibility would be to change the driver to loop over the
> amba_device->irq array, but this is limited to max 2 IRQs, and I don't
> understand this limitation.

That's because no one before has used the separate IRQ lines.  To do
so just needlessly increases the complexity of the drivers.

It's probably just as easy to arrange your platform code to treat all
the physical interrupts for the device as one logical interrupt and be
done with it.

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

end of thread, other threads:[~2012-01-03 17:25 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-03 17:13 DMA: PL330: support for multiple irqs? dirac3000
2012-01-03 17:25 ` Russell King - ARM Linux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).