Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-20 Thread Thomas Gleixner
On Thu, 15 Jan 2015, Rob Herring wrote: > On Thu, Jan 15, 2015 at 3:11 AM, Thomas Gleixner wrote: > > On Wed, 14 Jan 2015, Rob Herring wrote: > > > We do not change shared interrupts in any way. We provide an > > alternative mechanism for braindead hardware. And if the at91 folks > > are fine

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-20 Thread Thomas Gleixner
On Thu, 15 Jan 2015, Rob Herring wrote: On Thu, Jan 15, 2015 at 3:11 AM, Thomas Gleixner t...@linutronix.de wrote: On Wed, 14 Jan 2015, Rob Herring wrote: We do not change shared interrupts in any way. We provide an alternative mechanism for braindead hardware. And if the at91 folks are

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Rob Herring
On Thu, Jan 15, 2015 at 3:11 AM, Thomas Gleixner wrote: > On Wed, 14 Jan 2015, Rob Herring wrote: >> On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner wrote: >> > All attempts to work around that have resulted in horrible bandaids so >> > far. That's why I guided Boris to implement this dummy

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Nicolas Ferre
Le 14/01/2015 23:55, Boris Brezillon a écrit : > Hi Rob, > > On Wed, 14 Jan 2015 16:24:32 -0600 > Rob Herring wrote: > >> On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner wrote: >>> On Tue, 13 Jan 2015, Rob Herring wrote: On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon wrote:

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Nicolas Ferre
Le 15/01/2015 10:11, Thomas Gleixner a écrit : > On Wed, 14 Jan 2015, Rob Herring wrote: >> On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner wrote: >>> All attempts to work around that have resulted in horrible bandaids so >>> far. That's why I guided Boris to implement this dummy demultiplexing

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Thomas Gleixner
On Wed, 14 Jan 2015, Rob Herring wrote: > On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner wrote: > > All attempts to work around that have resulted in horrible bandaids so > > far. That's why I guided Boris to implement this dummy demultiplexing > > mechanism. It solves the problem at hand

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Rob Herring
On Thu, Jan 15, 2015 at 3:11 AM, Thomas Gleixner t...@linutronix.de wrote: On Wed, 14 Jan 2015, Rob Herring wrote: On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner t...@linutronix.de wrote: All attempts to work around that have resulted in horrible bandaids so far. That's why I guided Boris

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Thomas Gleixner
On Wed, 14 Jan 2015, Rob Herring wrote: On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner t...@linutronix.de wrote: All attempts to work around that have resulted in horrible bandaids so far. That's why I guided Boris to implement this dummy demultiplexing mechanism. It solves the problem at

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Nicolas Ferre
Le 14/01/2015 23:55, Boris Brezillon a écrit : Hi Rob, On Wed, 14 Jan 2015 16:24:32 -0600 Rob Herring robherri...@gmail.com wrote: On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner t...@linutronix.de wrote: On Tue, 13 Jan 2015, Rob Herring wrote: On Tue, Jan 13, 2015 at 12:46 PM, Boris

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-15 Thread Nicolas Ferre
Le 15/01/2015 10:11, Thomas Gleixner a écrit : On Wed, 14 Jan 2015, Rob Herring wrote: On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner t...@linutronix.de wrote: All attempts to work around that have resulted in horrible bandaids so far. That's why I guided Boris to implement this dummy

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
Hi Rob, On Wed, 14 Jan 2015 16:24:32 -0600 Rob Herring wrote: > On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner wrote: > > On Tue, 13 Jan 2015, Rob Herring wrote: > >> On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon > >> wrote: > >> > Some interrupt controllers are multiplexing several

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Rob Herring
On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner wrote: > On Tue, 13 Jan 2015, Rob Herring wrote: >> On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon >> wrote: >> > Some interrupt controllers are multiplexing several peripheral IRQs on >> > a single interrupt line. >> > While this is not a

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Nicolas Ferre
Le 14/01/2015 15:03, Boris Brezillon a écrit : > On Wed, 14 Jan 2015 14:36:42 +0100 > Nicolas Ferre wrote: > >> Le 13/01/2015 19:46, Boris Brezillon a écrit : >>> Some interrupt controllers are multiplexing several peripheral IRQs on >>> a single interrupt line. >>> While this is not a problem

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
On Wed, 14 Jan 2015 14:36:42 +0100 Nicolas Ferre wrote: > Le 13/01/2015 19:46, Boris Brezillon a écrit : > > Some interrupt controllers are multiplexing several peripheral IRQs on > > a single interrupt line. > > While this is not a problem for most IRQs (as long as all peripherals > > request

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Nicolas Ferre
Le 13/01/2015 19:46, Boris Brezillon a écrit : > Some interrupt controllers are multiplexing several peripheral IRQs on > a single interrupt line. > While this is not a problem for most IRQs (as long as all peripherals > request the interrupt with IRQF_SHARED flag set), multiplexing timers and >

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Thomas Gleixner
On Tue, 13 Jan 2015, Rob Herring wrote: > On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon > wrote: > > Some interrupt controllers are multiplexing several peripheral IRQs on > > a single interrupt line. > > While this is not a problem for most IRQs (as long as all peripherals > > request the

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
Hi Thomas, On Tue, 13 Jan 2015 22:00:55 +0100 (CET) Thomas Gleixner wrote: > On Tue, 13 Jan 2015, Boris Brezillon wrote: > > + ret = irq_set_handler_data(irq, demux); > > + if (ret) { > > + pr_err("Failed to assign handler data\n"); > > + goto err_free_domain; > > + }

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
Hi Rob, On Tue, 13 Jan 2015 21:26:42 -0600 Rob Herring wrote: > On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon > wrote: > > Some interrupt controllers are multiplexing several peripheral IRQs on > > a single interrupt line. > > While this is not a problem for most IRQs (as long as all

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Rob Herring
On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner t...@linutronix.de wrote: On Tue, 13 Jan 2015, Rob Herring wrote: On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon boris.brezil...@free-electrons.com wrote: Some interrupt controllers are multiplexing several peripheral IRQs on a single

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
Hi Rob, On Wed, 14 Jan 2015 16:24:32 -0600 Rob Herring robherri...@gmail.com wrote: On Wed, Jan 14, 2015 at 4:36 AM, Thomas Gleixner t...@linutronix.de wrote: On Tue, 13 Jan 2015, Rob Herring wrote: On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon boris.brezil...@free-electrons.com

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Nicolas Ferre
Le 14/01/2015 15:03, Boris Brezillon a écrit : On Wed, 14 Jan 2015 14:36:42 +0100 Nicolas Ferre nicolas.fe...@atmel.com wrote: Le 13/01/2015 19:46, Boris Brezillon a écrit : Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
Hi Rob, On Tue, 13 Jan 2015 21:26:42 -0600 Rob Herring robherri...@gmail.com wrote: On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon boris.brezil...@free-electrons.com wrote: Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
Hi Thomas, On Tue, 13 Jan 2015 22:00:55 +0100 (CET) Thomas Gleixner t...@linutronix.de wrote: On Tue, 13 Jan 2015, Boris Brezillon wrote: + ret = irq_set_handler_data(irq, demux); + if (ret) { + pr_err(Failed to assign handler data\n); + goto err_free_domain; +

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Boris Brezillon
On Wed, 14 Jan 2015 14:36:42 +0100 Nicolas Ferre nicolas.fe...@atmel.com wrote: Le 13/01/2015 19:46, Boris Brezillon a écrit : Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a problem for most IRQs (as long as all

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Nicolas Ferre
Le 13/01/2015 19:46, Boris Brezillon a écrit : Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a problem for most IRQs (as long as all peripherals request the interrupt with IRQF_SHARED flag set), multiplexing timers and other

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-14 Thread Thomas Gleixner
On Tue, 13 Jan 2015, Rob Herring wrote: On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon boris.brezil...@free-electrons.com wrote: Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a problem for most IRQs (as long as all

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-13 Thread Rob Herring
On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon wrote: > Some interrupt controllers are multiplexing several peripheral IRQs on > a single interrupt line. > While this is not a problem for most IRQs (as long as all peripherals > request the interrupt with IRQF_SHARED flag set), multiplexing

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-13 Thread Thomas Gleixner
On Tue, 13 Jan 2015, Boris Brezillon wrote: > + ret = irq_set_handler_data(irq, demux); > + if (ret) { > + pr_err("Failed to assign handler data\n"); > + goto err_free_domain; > + } > + > + irq_set_chained_handler(irq, irq_dumb_demux_handler); > + > + /*

[PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-13 Thread Boris Brezillon
Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a problem for most IRQs (as long as all peripherals request the interrupt with IRQF_SHARED flag set), multiplexing timers and other type of peripherals will generate a WARNING (mixing

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-13 Thread Rob Herring
On Tue, Jan 13, 2015 at 12:46 PM, Boris Brezillon boris.brezil...@free-electrons.com wrote: Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a problem for most IRQs (as long as all peripherals request the interrupt with

[PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-13 Thread Boris Brezillon
Some interrupt controllers are multiplexing several peripheral IRQs on a single interrupt line. While this is not a problem for most IRQs (as long as all peripherals request the interrupt with IRQF_SHARED flag set), multiplexing timers and other type of peripherals will generate a WARNING (mixing

Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation

2015-01-13 Thread Thomas Gleixner
On Tue, 13 Jan 2015, Boris Brezillon wrote: + ret = irq_set_handler_data(irq, demux); + if (ret) { + pr_err(Failed to assign handler data\n); + goto err_free_domain; + } + + irq_set_chained_handler(irq, irq_dumb_demux_handler); + + /* + *