All of lore.kernel.org
 help / color / mirror / Atom feed
From: boris.brezillon@free-electrons.com (Boris Brezillon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 3/5] irqchip: Add DT binding doc for the virtual irq demuxer chip
Date: Tue, 10 Feb 2015 16:52:01 +0100	[thread overview]
Message-ID: <20150210165201.634bc04b@bbrezillon> (raw)
In-Reply-To: <20150210153628.GF9432@leverpostej>

Hi Mark,

On Tue, 10 Feb 2015 15:36:28 +0000
Mark Rutland <mark.rutland@arm.com> wrote:

> Hi Boris,
> 
> On Thu, Jan 29, 2015 at 10:33:38AM +0000, Boris Brezillon wrote:
> > Add documentation for the virtual irq demuxer.
> > 
> > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > ---
> >  .../bindings/interrupt-controller/dumb-demux.txt   | 41 ++++++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt b/Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt
> > new file mode 100644
> > index 0000000..b9a7830
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt
> > @@ -0,0 +1,41 @@
> > +* Virtual Interrupt Demultiplexer
> > +
> > +This virtual demultiplexer simply forward all incoming interrupts to its
> > +enabled/unmasked children.
> > +It is only intended to be used by hardware that do not provide a proper way
> > +to demultiplex a source interrupt, and thus have to wake all their children
> > +up so that they can possibly handle the interrupt (if needed).
> > +This can be seen as an alternative to shared interrupts when at least one
> > +of the interrupt children is a timer (and require the irq to stay enabled
> > +on suspend) while others are not. This will prevent calling irq handlers of
> > +non timer devices while they are suspended.
> 
> This sounds like a DT-workaround for a Linux implementation problem, and
> I don't think this the right way to solve your problem.

I understand your concern, but why are you answering while I asked for
DT maintainers reviews for several days (if not several weeks).

> 
> Why does this have to be in DT at all? Why can we not fix the core to
> handle these details?

We already discussed that with Rob and Thomas, and hiding such a
demuxer chip is not an easy task.
I'm open to any suggestion to do that, though I'd like you (I mean DT
guys) to provide a working implementation (or at least a viable concept)
that would silently demultiplex an irq.

> 
> I am very much not keen on this binding.

Yes, but do you have anything else to propose.
We're experiencing this warning for 2 releases now, and this is time to
find a solution (even if it's not a perfect one).

> 
> > +
> > +Required properties:
> > +- compatible: Should be "virtual,irq-demux".
> > +- interrupt-controller: Identifies the node as an interrupt controller.
> > +- interrupts-extended or interrupt-parent and interrupts: Reference the source
> > +  interrupt connected to this dumb demuxer.
> > +- #interrupt-cells: The number of cells to define the interrupts (should be 1).
> > +  The only cell is the IRQ number.
> > +- irqs: u32 bitfield specifying the interrupts provided by the demuxer.
> 
> Arbitrary limitation?

I first proposed to make this field unlimited, but Thomas suggested to
keep it limited to 32 bits (and I didn't complain since my HW needs
far less than 32 interrupts).

Best Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

WARNING: multiple messages have this Message-ID (diff)
From: Boris Brezillon <boris.brezillon@free-electrons.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	Nicolas Ferre <nicolas.ferre@atmel.com>,
	Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
	Alexandre Belloni <alexandre.belloni@free-electrons.com>,
	Rob Herring <robh+dt@kernel.org>, Pawel Moll <Pawel.Moll@arm.com>,
	Ian Campbell <ijc+devicetree@hellion.org.uk>,
	Kumar Gala <galak@codeaurora.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 3/5] irqchip: Add DT binding doc for the virtual irq demuxer chip
Date: Tue, 10 Feb 2015 16:52:01 +0100	[thread overview]
Message-ID: <20150210165201.634bc04b@bbrezillon> (raw)
In-Reply-To: <20150210153628.GF9432@leverpostej>

Hi Mark,

On Tue, 10 Feb 2015 15:36:28 +0000
Mark Rutland <mark.rutland@arm.com> wrote:

> Hi Boris,
> 
> On Thu, Jan 29, 2015 at 10:33:38AM +0000, Boris Brezillon wrote:
> > Add documentation for the virtual irq demuxer.
> > 
> > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
> > ---
> >  .../bindings/interrupt-controller/dumb-demux.txt   | 41 ++++++++++++++++++++++
> >  1 file changed, 41 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt b/Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt
> > new file mode 100644
> > index 0000000..b9a7830
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/interrupt-controller/dumb-demux.txt
> > @@ -0,0 +1,41 @@
> > +* Virtual Interrupt Demultiplexer
> > +
> > +This virtual demultiplexer simply forward all incoming interrupts to its
> > +enabled/unmasked children.
> > +It is only intended to be used by hardware that do not provide a proper way
> > +to demultiplex a source interrupt, and thus have to wake all their children
> > +up so that they can possibly handle the interrupt (if needed).
> > +This can be seen as an alternative to shared interrupts when at least one
> > +of the interrupt children is a timer (and require the irq to stay enabled
> > +on suspend) while others are not. This will prevent calling irq handlers of
> > +non timer devices while they are suspended.
> 
> This sounds like a DT-workaround for a Linux implementation problem, and
> I don't think this the right way to solve your problem.

I understand your concern, but why are you answering while I asked for
DT maintainers reviews for several days (if not several weeks).

> 
> Why does this have to be in DT at all? Why can we not fix the core to
> handle these details?

We already discussed that with Rob and Thomas, and hiding such a
demuxer chip is not an easy task.
I'm open to any suggestion to do that, though I'd like you (I mean DT
guys) to provide a working implementation (or at least a viable concept)
that would silently demultiplex an irq.

> 
> I am very much not keen on this binding.

Yes, but do you have anything else to propose.
We're experiencing this warning for 2 releases now, and this is time to
find a solution (even if it's not a perfect one).

> 
> > +
> > +Required properties:
> > +- compatible: Should be "virtual,irq-demux".
> > +- interrupt-controller: Identifies the node as an interrupt controller.
> > +- interrupts-extended or interrupt-parent and interrupts: Reference the source
> > +  interrupt connected to this dumb demuxer.
> > +- #interrupt-cells: The number of cells to define the interrupts (should be 1).
> > +  The only cell is the IRQ number.
> > +- irqs: u32 bitfield specifying the interrupts provided by the demuxer.
> 
> Arbitrary limitation?

I first proposed to make this field unlimited, but Thomas suggested to
keep it limited to 32 bits (and I didn't complain since my HW needs
far less than 32 interrupts).

Best Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

  reply	other threads:[~2015-02-10 15:52 UTC|newest]

Thread overview: 165+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-29 10:33 [PATCH v4 0/5] ARM: at91: fix irq_pm_install_action WARNING Boris Brezillon
2015-01-29 10:33 ` Boris Brezillon
2015-01-29 10:33 ` Boris Brezillon
2015-01-29 10:33 ` [PATCH v4 1/5] genirq: Authorize chained handlers to remain disabled when initialized Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-01-29 10:33 ` [PATCH v4 2/5] irqchip: add virtual demultiplexer implementation Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-02-10 15:00   ` Peter Zijlstra
2015-02-10 15:00     ` Peter Zijlstra
2015-02-10 15:20     ` Boris Brezillon
2015-02-10 15:20       ` Boris Brezillon
2015-02-10 15:43     ` [PATCH] genirq: fix virtual irq demuxer related comments Boris Brezillon
2015-02-10 15:43       ` Boris Brezillon
2015-02-10 16:14       ` Peter Zijlstra
2015-02-10 16:14         ` Peter Zijlstra
2015-02-10 16:14         ` Peter Zijlstra
2015-02-20 16:12         ` Mark Rutland
2015-02-20 16:12           ` Mark Rutland
2015-02-20 16:17           ` Peter Zijlstra
2015-02-20 16:17             ` Peter Zijlstra
2015-02-10 15:48   ` [PATCH v4 2/5] irqchip: add virtual demultiplexer implementation Mark Rutland
2015-02-10 15:48     ` Mark Rutland
2015-02-10 15:48     ` Mark Rutland
2015-01-29 10:33 ` [PATCH v4 3/5] irqchip: Add DT binding doc for the virtual irq demuxer chip Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-02-10 15:36   ` Mark Rutland
2015-02-10 15:36     ` Mark Rutland
2015-02-10 15:52     ` Boris Brezillon [this message]
2015-02-10 15:52       ` Boris Brezillon
2015-02-10 16:06       ` Boris Brezillon
2015-02-10 16:06         ` Boris Brezillon
2015-02-10 16:16       ` Mark Rutland
2015-02-10 16:16         ` Mark Rutland
2015-02-10 16:20         ` Boris Brezillon
2015-02-10 16:20           ` Boris Brezillon
2015-02-10 20:48       ` Mark Rutland
2015-02-10 20:48         ` Mark Rutland
2015-02-11  8:53         ` Boris Brezillon
2015-02-11  8:53           ` Boris Brezillon
2015-02-11 11:11           ` Mark Rutland
2015-02-11 11:11             ` Mark Rutland
2015-02-11 11:11             ` Mark Rutland
2015-02-11 12:24             ` Boris Brezillon
2015-02-11 12:24               ` Boris Brezillon
2015-02-11 12:24               ` Boris Brezillon
2015-02-11 12:36               ` Mark Rutland
2015-02-11 12:36                 ` Mark Rutland
2015-02-11 13:38                 ` Alexandre Belloni
2015-02-11 13:38                   ` Alexandre Belloni
2015-02-11 13:38                   ` Alexandre Belloni
2015-02-11 13:48                   ` Mark Rutland
2015-02-11 13:48                     ` Mark Rutland
2015-02-11 13:48                     ` Mark Rutland
2015-02-11 14:55               ` Rafael J. Wysocki
2015-02-11 14:55                 ` Rafael J. Wysocki
2015-02-11 14:55                 ` Rafael J. Wysocki
2015-02-11 14:43                 ` Mark Rutland
2015-02-11 14:43                   ` Mark Rutland
2015-02-11 15:17                   ` Rafael J. Wysocki
2015-02-11 15:17                     ` Rafael J. Wysocki
2015-02-11 15:03                     ` Boris Brezillon
2015-02-11 15:03                       ` Boris Brezillon
2015-02-11 15:03                       ` Boris Brezillon
2015-02-11 15:39                       ` Rafael J. Wysocki
2015-02-11 15:39                         ` Rafael J. Wysocki
2015-02-11 15:23                         ` Mark Rutland
2015-02-11 15:23                           ` Mark Rutland
2015-02-11 15:12                     ` Mark Rutland
2015-02-11 15:12                       ` Mark Rutland
2015-02-11 15:51                       ` Rafael J. Wysocki
2015-02-11 15:51                         ` Rafael J. Wysocki
2015-02-11 15:57                         ` Mark Rutland
2015-02-11 15:57                           ` Mark Rutland
2015-02-11 16:15                           ` Boris Brezillon
2015-02-11 16:15                             ` Boris Brezillon
2015-02-11 16:32                             ` Mark Rutland
2015-02-11 16:32                               ` Mark Rutland
2015-02-11 16:32                               ` Mark Rutland
2015-02-11 16:38                               ` Boris Brezillon
2015-02-11 16:38                                 ` Boris Brezillon
2015-02-11 17:17                                 ` Mark Rutland
2015-02-11 17:17                                   ` Mark Rutland
2015-02-20 14:22                                 ` Mark Rutland
2015-02-20 14:22                                   ` Mark Rutland
2015-02-20 14:22                                   ` Mark Rutland
2015-02-20 14:53                                   ` Boris Brezillon
2015-02-20 14:53                                     ` Boris Brezillon
2015-02-20 15:16                                     ` Mark Rutland
2015-02-20 15:16                                       ` Mark Rutland
2015-02-20 15:16                                       ` Mark Rutland
2015-02-23 17:00                                       ` Boris Brezillon
2015-02-23 17:00                                         ` Boris Brezillon
2015-02-23 18:14                                         ` Mark Rutland
2015-02-23 18:14                                           ` Mark Rutland
2015-02-23 18:14                                           ` Mark Rutland
2015-02-23 20:16                                           ` Boris Brezillon
2015-02-23 20:16                                             ` Boris Brezillon
2015-02-11 16:42                             ` Rafael J. Wysocki
2015-02-11 16:42                               ` Rafael J. Wysocki
2015-02-11 16:28                               ` Boris Brezillon
2015-02-11 16:28                                 ` Boris Brezillon
2015-02-11 17:13                               ` Mark Rutland
2015-02-11 17:13                                 ` Mark Rutland
2015-02-11 17:13                                 ` Mark Rutland
2015-02-11 17:29                                 ` Boris Brezillon
2015-02-11 17:29                                   ` Boris Brezillon
2015-02-12 10:52                                   ` Mark Rutland
2015-02-12 10:52                                     ` Mark Rutland
2015-02-12 11:09                                     ` Boris Brezillon
2015-02-12 11:09                                       ` Boris Brezillon
2015-02-12 11:23                                       ` Mark Rutland
2015-02-12 11:23                                         ` Mark Rutland
2015-02-16  9:49                                 ` Peter Zijlstra
2015-02-16  9:49                                   ` Peter Zijlstra
2015-02-16  9:49                                   ` Peter Zijlstra
2015-02-16  9:28                         ` Peter Zijlstra
2015-02-16  9:28                           ` Peter Zijlstra
2015-02-16 12:23                           ` Mark Rutland
2015-02-16 12:23                             ` Mark Rutland
2015-02-16 12:23                             ` Mark Rutland
2015-02-19  1:16                             ` Rafael J. Wysocki
2015-02-19  1:16                               ` Rafael J. Wysocki
2015-02-19 11:23                               ` Mark Rutland
2015-02-19 11:23                                 ` Mark Rutland
2015-02-19 11:23                                 ` Mark Rutland
2015-02-19 22:35                                 ` Rafael J. Wysocki
2015-02-19 22:35                                   ` Rafael J. Wysocki
2015-02-20 10:31                                   ` Mark Rutland
2015-02-20 10:31                                     ` Mark Rutland
2015-02-24  1:02                                     ` Rafael J. Wysocki
2015-02-24  1:02                                       ` Rafael J. Wysocki
2015-02-24  1:02                                       ` Rafael J. Wysocki
2015-02-24  8:42                                       ` Boris Brezillon
2015-02-24  8:42                                         ` Boris Brezillon
2015-02-11 14:45                 ` Boris Brezillon
2015-02-11 14:45                   ` Boris Brezillon
2015-02-11 14:45                   ` Boris Brezillon
2015-02-11 14:39             ` Rafael J. Wysocki
2015-02-11 14:39               ` Rafael J. Wysocki
2015-02-11  9:11         ` Peter Zijlstra
2015-02-11  9:11           ` Peter Zijlstra
2015-02-11  9:11           ` Peter Zijlstra
2015-02-11 11:15           ` Mark Rutland
2015-02-11 11:15             ` Mark Rutland
2015-02-11 14:31             ` Rafael J. Wysocki
2015-02-11 14:31               ` Rafael J. Wysocki
2015-02-11 14:14               ` Mark Rutland
2015-02-11 14:14                 ` Mark Rutland
2015-02-11 14:14                 ` Mark Rutland
2015-02-11 15:07                 ` Rafael J. Wysocki
2015-02-11 15:07                   ` Rafael J. Wysocki
2015-02-11 15:03                   ` Mark Rutland
2015-02-11 15:03                     ` Mark Rutland
2015-02-11 15:03                     ` Mark Rutland
2015-02-11 14:34         ` Rafael J. Wysocki
2015-02-11 14:34           ` Rafael J. Wysocki
2015-02-11 14:34           ` Rafael J. Wysocki
2015-01-29 10:33 ` [PATCH v4 4/5] ARM: at91/dt: select VIRT_IRQ_DEMUX for all at91 SoCs Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-01-29 10:33 ` [PATCH v4 5/5] ARM: at91/dt: define a virtual irq demultiplexer chip connected on irq1 Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-01-29 10:33   ` Boris Brezillon
2015-02-09 15:47 ` [PATCH v4 0/5] ARM: at91: fix irq_pm_install_action WARNING Boris Brezillon
2015-02-09 15:47   ` Boris Brezillon

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=20150210165201.634bc04b@bbrezillon \
    --to=boris.brezillon@free-electrons.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 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.