All of lore.kernel.org
 help / color / mirror / Atom feed
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 3/5] irqchip: Add DT binding doc for the virtual irq demuxer chip
Date: Wed, 11 Feb 2015 16:32:31 +0000	[thread overview]
Message-ID: <20150211163231.GR9154@leverpostej> (raw)
In-Reply-To: <20150211171515.55d5066f@bbrezillon>

On Wed, Feb 11, 2015 at 04:15:15PM +0000, Boris Brezillon wrote:
> On Wed, 11 Feb 2015 15:57:20 +0000
> Mark Rutland <mark.rutland@arm.com> wrote:
> 
> > [...]
> > 
> > > > > > So for the flag at request time approach to work, all the drivers using
> > > > > > the interrupt would have to flag they're safe in that context.
> > > > > 
> > > > > Something like IRQF_"I can share the line with a timer" I guess?  That wouldn't
> > > > > hurt and can be checked at request time even.
> > > > 
> > > > I guess that would have to imply IRQF_SHARED, so we'd have something
> > > > like:
> > > > 
> > > > IRQF_SHARED_SUSPEND_OK - This handler is safe to call spuriously during
> > > > 			 suspend in the case the line is shared. The
> > > > 			 handler will not access unavailable hardware
> > > > 			 or kernel infrastructure during this period.
> > > > 
> > > > #define __IRQF_SUSPEND_SPURIOUS		0x00040000
> > > > #define	IRQF_SHARED_SUSPEND_OK		(IRQF_SHARED | __IRQF_SUSPEND_SPURIOUS)
> > > 
> > > What about
> > > 
> > > #define __IRQF_TIMER_SIBLING_OK	0x00040000
> > > #define	IRQF_SHARED_TIMER_OK	(IRQF_SHARED | __IRQF_TIMER_SIBLING_OK)
> > > 
> > > The "suspend" part is kind of a distraction to me here, because that really
> > > only is about sharing an IRQ with a timer and the "your interrupt handler
> > > may be called when the device is suspended" part is just a consequence of that.
> > 
> > My rationale was that you didn't really care who else was using the IRQ
> > (e.g. the timer); you're just stating that you can survive being called
> > during suspend (which is what the driver may need to check for in the
> > handler if the device happens to be powered down or whatever).
> > 
> > So I guess I see it the other way around. This is essentially claiming
> > we can handle sharing with IRQF_NO_SUSPEND rather than IRQF_TIMER.
> > 
> > > So IMO it's better to have "TIMER" in the names to avoid encouraging people to
> > > abuse this for other purposes not related to timers.
> > 
> > In the end a name is a name, and if you think IRQF_SHARED_TIMER_OK is
> > better I shan't complain.
> > 
> > The fundamental issue I'm concerned with is addressed by this approach.
> 
> Okay then, is anyone taking care of submitting such a patch (Mark ?) ?

I'll have the core patch shortly.

I'll need to ask for your help tagging the relevant drivers and testing.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Boris Brezillon
	<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: "Rafael J. Wysocki" <rjw-LthD3rsA81gm4RdzfppkhA@public.gmane.org>,
	Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
	Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
	Nicolas Ferre
	<nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>,
	Jean-Christophe Plagniol-Villard
	<plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>,
	Alexandre Belloni
	<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Pawel Moll <Pawel.Moll-5wv7dgnIgG8@public.gmane.org>,
	Ian Campbell
	<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
	Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"Rafael J. Wysocki"
	<rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH v4 3/5] irqchip: Add DT binding doc for the virtual irq demuxer chip
Date: Wed, 11 Feb 2015 16:32:31 +0000	[thread overview]
Message-ID: <20150211163231.GR9154@leverpostej> (raw)
In-Reply-To: <20150211171515.55d5066f@bbrezillon>

On Wed, Feb 11, 2015 at 04:15:15PM +0000, Boris Brezillon wrote:
> On Wed, 11 Feb 2015 15:57:20 +0000
> Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org> wrote:
> 
> > [...]
> > 
> > > > > > So for the flag at request time approach to work, all the drivers using
> > > > > > the interrupt would have to flag they're safe in that context.
> > > > > 
> > > > > Something like IRQF_"I can share the line with a timer" I guess?  That wouldn't
> > > > > hurt and can be checked at request time even.
> > > > 
> > > > I guess that would have to imply IRQF_SHARED, so we'd have something
> > > > like:
> > > > 
> > > > IRQF_SHARED_SUSPEND_OK - This handler is safe to call spuriously during
> > > > 			 suspend in the case the line is shared. The
> > > > 			 handler will not access unavailable hardware
> > > > 			 or kernel infrastructure during this period.
> > > > 
> > > > #define __IRQF_SUSPEND_SPURIOUS		0x00040000
> > > > #define	IRQF_SHARED_SUSPEND_OK		(IRQF_SHARED | __IRQF_SUSPEND_SPURIOUS)
> > > 
> > > What about
> > > 
> > > #define __IRQF_TIMER_SIBLING_OK	0x00040000
> > > #define	IRQF_SHARED_TIMER_OK	(IRQF_SHARED | __IRQF_TIMER_SIBLING_OK)
> > > 
> > > The "suspend" part is kind of a distraction to me here, because that really
> > > only is about sharing an IRQ with a timer and the "your interrupt handler
> > > may be called when the device is suspended" part is just a consequence of that.
> > 
> > My rationale was that you didn't really care who else was using the IRQ
> > (e.g. the timer); you're just stating that you can survive being called
> > during suspend (which is what the driver may need to check for in the
> > handler if the device happens to be powered down or whatever).
> > 
> > So I guess I see it the other way around. This is essentially claiming
> > we can handle sharing with IRQF_NO_SUSPEND rather than IRQF_TIMER.
> > 
> > > So IMO it's better to have "TIMER" in the names to avoid encouraging people to
> > > abuse this for other purposes not related to timers.
> > 
> > In the end a name is a name, and if you think IRQF_SHARED_TIMER_OK is
> > better I shan't complain.
> > 
> > The fundamental issue I'm concerned with is addressed by this approach.
> 
> Okay then, is anyone taking care of submitting such a patch (Mark ?) ?

I'll have the core patch shortly.

I'll need to ask for your help tagging the relevant drivers and testing.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	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: Wed, 11 Feb 2015 16:32:31 +0000	[thread overview]
Message-ID: <20150211163231.GR9154@leverpostej> (raw)
In-Reply-To: <20150211171515.55d5066f@bbrezillon>

On Wed, Feb 11, 2015 at 04:15:15PM +0000, Boris Brezillon wrote:
> On Wed, 11 Feb 2015 15:57:20 +0000
> Mark Rutland <mark.rutland@arm.com> wrote:
> 
> > [...]
> > 
> > > > > > So for the flag at request time approach to work, all the drivers using
> > > > > > the interrupt would have to flag they're safe in that context.
> > > > > 
> > > > > Something like IRQF_"I can share the line with a timer" I guess?  That wouldn't
> > > > > hurt and can be checked at request time even.
> > > > 
> > > > I guess that would have to imply IRQF_SHARED, so we'd have something
> > > > like:
> > > > 
> > > > IRQF_SHARED_SUSPEND_OK - This handler is safe to call spuriously during
> > > > 			 suspend in the case the line is shared. The
> > > > 			 handler will not access unavailable hardware
> > > > 			 or kernel infrastructure during this period.
> > > > 
> > > > #define __IRQF_SUSPEND_SPURIOUS		0x00040000
> > > > #define	IRQF_SHARED_SUSPEND_OK		(IRQF_SHARED | __IRQF_SUSPEND_SPURIOUS)
> > > 
> > > What about
> > > 
> > > #define __IRQF_TIMER_SIBLING_OK	0x00040000
> > > #define	IRQF_SHARED_TIMER_OK	(IRQF_SHARED | __IRQF_TIMER_SIBLING_OK)
> > > 
> > > The "suspend" part is kind of a distraction to me here, because that really
> > > only is about sharing an IRQ with a timer and the "your interrupt handler
> > > may be called when the device is suspended" part is just a consequence of that.
> > 
> > My rationale was that you didn't really care who else was using the IRQ
> > (e.g. the timer); you're just stating that you can survive being called
> > during suspend (which is what the driver may need to check for in the
> > handler if the device happens to be powered down or whatever).
> > 
> > So I guess I see it the other way around. This is essentially claiming
> > we can handle sharing with IRQF_NO_SUSPEND rather than IRQF_TIMER.
> > 
> > > So IMO it's better to have "TIMER" in the names to avoid encouraging people to
> > > abuse this for other purposes not related to timers.
> > 
> > In the end a name is a name, and if you think IRQF_SHARED_TIMER_OK is
> > better I shan't complain.
> > 
> > The fundamental issue I'm concerned with is addressed by this approach.
> 
> Okay then, is anyone taking care of submitting such a patch (Mark ?) ?

I'll have the core patch shortly.

I'll need to ask for your help tagging the relevant drivers and testing.

Thanks,
Mark.

  reply	other threads:[~2015-02-11 16:32 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
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 [this message]
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=20150211163231.GR9154@leverpostej \
    --to=mark.rutland@arm.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.