From: nicolas.ferre@atmel.com (Nicolas Ferre)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation
Date: Thu, 15 Jan 2015 10:26:45 +0100 [thread overview]
Message-ID: <54B787D5.9070408@atmel.com> (raw)
In-Reply-To: <alpine.DEB.2.11.1501151003430.5526@nanos>
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 <tglx@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 hand nicely without adding nasty
>>> hackarounds into the suspend/resume code and inflicting platform
>>> knowledge on multi-platform device drivers.
>>
>> This change will break on old kernels with a new dtb. Would you be
>> happy if a BIOS update required a new kernel? Fixing this for any
>> platform requires a dtb update which may not be possible on some
>> platforms. I don't have a problem with this breakage for 1 platform
>> and the at91 guys may not care, but we'd ultimately be changing how
>> all shared irqs are specified for all DT. Maybe we decide that this is
>> how we want to describe things, but that needs much wider discussion
>> and agreement.
>
> We do not change shared interrupts in any way. We provide an
> alternative mechanism for braindead hardware. And if the at91 folks
Let me add subtle details: "Old braindead hardware, with possibility to
use alternative set of timers which doesn't have shared interrupt lines" ;-)
> are fine with the DT change, then it's their decision. Nothing forces
> this on everyone.
Yes I do agree to change DT.
>>> If you have a proper solution for the problem at hand which
>>>
>>> - avoids the demux dummy
>>>
>>> - works straight forward with suspend/resume/wakeup
>>>
>>> - does not add horrible new APIs
>>>
>>> - does not add conditionals to the interrupt hotpath
>>>
>>> - does not inflict platform knowledge about interrupt chip details
>>> on drivers
>>>
>>> then I'm happy to take it.
>>>
>>> But as long as you can't come up with anything sane, the demux dummy
>>> is the best solution for this problem we've seen so far.
>>
>> What if during suspend you move all actions w/o IRQF_NO_SUSPEND to a
>> suspended action list? This would leave only the actions with
>> IRQF_NO_SUSPEND set in the active action list. The cost would be a
>> pointer in irq_desc and moving the actions during suspend and resume.
>
> That's exactly what we want NOT. Because it prevents us to do proper
> sanity checks for IRQF_NO_SUSPEND. We've been there and I rejected it
> for that very reason.
>
>> There are probably ways to do this demux irqchip without a DT change.
>
> What's the problem with a DT change for a single platform, if the
> maintainers are willing to take it and deal with the fallout?
>
> And in case of AT91 the new kernel will simply work with the old DT
> and just emit the same warning vs. the IRQF_NO_SUSPEND mismatch. Older
> kernels won't work with a new DT, but that's about it.
>
> Aside of that, I'm quite amused about your DT update worries. DTs
> break with every kernel version on very popular platforms in very
> weird and subtle ways.
DT on AT91 is a Work In Progress (for 3.5 years) and the facts have told
us that DT updates were absolutely necessary. So, for now, I agree to
change DT as far as AT91 is concerned.
Bye,
--
Nicolas Ferre
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Ferre <nicolas.ferre-AIFe0yeh4nAAvxtiuMwx3w@public.gmane.org>
To: Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>,
Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Boris Brezillon
<boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>,
Jason Cooper <jason-NLaQJdtUoK4Be96aLqz0jA@public.gmane.org>,
Jean-Christophe Plagniol-Villard
<plagnioj-sclMFOaUSTBWk0Htik3J/w@public.gmane.org>,
Alexandre Belloni
<alexandre.belloni-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@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>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <mark.rutland-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>
Subject: Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation
Date: Thu, 15 Jan 2015 10:26:45 +0100 [thread overview]
Message-ID: <54B787D5.9070408@atmel.com> (raw)
In-Reply-To: <alpine.DEB.2.11.1501151003430.5526@nanos>
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 <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org> 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 nicely without adding nasty
>>> hackarounds into the suspend/resume code and inflicting platform
>>> knowledge on multi-platform device drivers.
>>
>> This change will break on old kernels with a new dtb. Would you be
>> happy if a BIOS update required a new kernel? Fixing this for any
>> platform requires a dtb update which may not be possible on some
>> platforms. I don't have a problem with this breakage for 1 platform
>> and the at91 guys may not care, but we'd ultimately be changing how
>> all shared irqs are specified for all DT. Maybe we decide that this is
>> how we want to describe things, but that needs much wider discussion
>> and agreement.
>
> We do not change shared interrupts in any way. We provide an
> alternative mechanism for braindead hardware. And if the at91 folks
Let me add subtle details: "Old braindead hardware, with possibility to
use alternative set of timers which doesn't have shared interrupt lines" ;-)
> are fine with the DT change, then it's their decision. Nothing forces
> this on everyone.
Yes I do agree to change DT.
>>> If you have a proper solution for the problem at hand which
>>>
>>> - avoids the demux dummy
>>>
>>> - works straight forward with suspend/resume/wakeup
>>>
>>> - does not add horrible new APIs
>>>
>>> - does not add conditionals to the interrupt hotpath
>>>
>>> - does not inflict platform knowledge about interrupt chip details
>>> on drivers
>>>
>>> then I'm happy to take it.
>>>
>>> But as long as you can't come up with anything sane, the demux dummy
>>> is the best solution for this problem we've seen so far.
>>
>> What if during suspend you move all actions w/o IRQF_NO_SUSPEND to a
>> suspended action list? This would leave only the actions with
>> IRQF_NO_SUSPEND set in the active action list. The cost would be a
>> pointer in irq_desc and moving the actions during suspend and resume.
>
> That's exactly what we want NOT. Because it prevents us to do proper
> sanity checks for IRQF_NO_SUSPEND. We've been there and I rejected it
> for that very reason.
>
>> There are probably ways to do this demux irqchip without a DT change.
>
> What's the problem with a DT change for a single platform, if the
> maintainers are willing to take it and deal with the fallout?
>
> And in case of AT91 the new kernel will simply work with the old DT
> and just emit the same warning vs. the IRQF_NO_SUSPEND mismatch. Older
> kernels won't work with a new DT, but that's about it.
>
> Aside of that, I'm quite amused about your DT update worries. DTs
> break with every kernel version on very popular platforms in very
> weird and subtle ways.
DT on AT91 is a Work In Progress (for 3.5 years) and the facts have told
us that DT updates were absolutely necessary. So, for now, I agree to
change DT as far as AT91 is concerned.
Bye,
--
Nicolas Ferre
--
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: Nicolas Ferre <nicolas.ferre@atmel.com>
To: Thomas Gleixner <tglx@linutronix.de>,
Rob Herring <robherring2@gmail.com>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>,
Jason Cooper <jason@lakedaemon.net>,
Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>,
Alexandre Belloni <alexandre.belloni@free-electrons.com>,
"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>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation
Date: Thu, 15 Jan 2015 10:26:45 +0100 [thread overview]
Message-ID: <54B787D5.9070408@atmel.com> (raw)
In-Reply-To: <alpine.DEB.2.11.1501151003430.5526@nanos>
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 <tglx@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 hand nicely without adding nasty
>>> hackarounds into the suspend/resume code and inflicting platform
>>> knowledge on multi-platform device drivers.
>>
>> This change will break on old kernels with a new dtb. Would you be
>> happy if a BIOS update required a new kernel? Fixing this for any
>> platform requires a dtb update which may not be possible on some
>> platforms. I don't have a problem with this breakage for 1 platform
>> and the at91 guys may not care, but we'd ultimately be changing how
>> all shared irqs are specified for all DT. Maybe we decide that this is
>> how we want to describe things, but that needs much wider discussion
>> and agreement.
>
> We do not change shared interrupts in any way. We provide an
> alternative mechanism for braindead hardware. And if the at91 folks
Let me add subtle details: "Old braindead hardware, with possibility to
use alternative set of timers which doesn't have shared interrupt lines" ;-)
> are fine with the DT change, then it's their decision. Nothing forces
> this on everyone.
Yes I do agree to change DT.
>>> If you have a proper solution for the problem at hand which
>>>
>>> - avoids the demux dummy
>>>
>>> - works straight forward with suspend/resume/wakeup
>>>
>>> - does not add horrible new APIs
>>>
>>> - does not add conditionals to the interrupt hotpath
>>>
>>> - does not inflict platform knowledge about interrupt chip details
>>> on drivers
>>>
>>> then I'm happy to take it.
>>>
>>> But as long as you can't come up with anything sane, the demux dummy
>>> is the best solution for this problem we've seen so far.
>>
>> What if during suspend you move all actions w/o IRQF_NO_SUSPEND to a
>> suspended action list? This would leave only the actions with
>> IRQF_NO_SUSPEND set in the active action list. The cost would be a
>> pointer in irq_desc and moving the actions during suspend and resume.
>
> That's exactly what we want NOT. Because it prevents us to do proper
> sanity checks for IRQF_NO_SUSPEND. We've been there and I rejected it
> for that very reason.
>
>> There are probably ways to do this demux irqchip without a DT change.
>
> What's the problem with a DT change for a single platform, if the
> maintainers are willing to take it and deal with the fallout?
>
> And in case of AT91 the new kernel will simply work with the old DT
> and just emit the same warning vs. the IRQF_NO_SUSPEND mismatch. Older
> kernels won't work with a new DT, but that's about it.
>
> Aside of that, I'm quite amused about your DT update worries. DTs
> break with every kernel version on very popular platforms in very
> weird and subtle ways.
DT on AT91 is a Work In Progress (for 3.5 years) and the facts have told
us that DT updates were absolutely necessary. So, for now, I agree to
change DT as far as AT91 is concerned.
Bye,
--
Nicolas Ferre
next prev parent reply other threads:[~2015-01-15 9:26 UTC|newest]
Thread overview: 91+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-13 18:46 [PATCH v2 0/5] ARM: at91: fix irq_pm_install_action WARNING Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-13 18:46 ` [PATCH v2 1/5] irqchip: add dumb demultiplexer implementation Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-13 21:00 ` Thomas Gleixner
2015-01-13 21:00 ` Thomas Gleixner
2015-01-14 8:31 ` Boris Brezillon
2015-01-14 8:31 ` Boris Brezillon
2015-01-14 3:26 ` Rob Herring
2015-01-14 3:26 ` Rob Herring
2015-01-14 3:26 ` Rob Herring
2015-01-14 8:22 ` Boris Brezillon
2015-01-14 8:22 ` Boris Brezillon
2015-01-14 8:22 ` Boris Brezillon
2015-01-14 10:36 ` Thomas Gleixner
2015-01-14 10:36 ` Thomas Gleixner
2015-01-14 10:36 ` Thomas Gleixner
2015-01-14 22:24 ` Rob Herring
2015-01-14 22:24 ` Rob Herring
2015-01-14 22:24 ` Rob Herring
2015-01-14 22:55 ` Boris Brezillon
2015-01-14 22:55 ` Boris Brezillon
2015-01-14 22:55 ` Boris Brezillon
2015-01-15 9:44 ` Nicolas Ferre
2015-01-15 9:44 ` Nicolas Ferre
2015-01-15 9:44 ` Nicolas Ferre
2015-01-15 9:11 ` Thomas Gleixner
2015-01-15 9:11 ` Thomas Gleixner
2015-01-15 9:11 ` Thomas Gleixner
2015-01-15 9:26 ` Nicolas Ferre [this message]
2015-01-15 9:26 ` Nicolas Ferre
2015-01-15 9:26 ` Nicolas Ferre
2015-01-15 15:40 ` Rob Herring
2015-01-15 15:40 ` Rob Herring
2015-01-15 15:40 ` Rob Herring
2015-01-20 13:08 ` Thomas Gleixner
2015-01-20 13:08 ` Thomas Gleixner
2015-01-20 20:07 ` Rob Herring
2015-01-14 13:36 ` Nicolas Ferre
2015-01-14 13:36 ` Nicolas Ferre
2015-01-14 13:36 ` Nicolas Ferre
2015-01-14 14:03 ` Boris Brezillon
2015-01-14 14:03 ` Boris Brezillon
2015-01-14 14:03 ` Boris Brezillon
2015-01-14 14:43 ` Nicolas Ferre
2015-01-14 14:43 ` Nicolas Ferre
2015-01-14 14:43 ` Nicolas Ferre
2015-01-13 18:46 ` [PATCH v2 2/5] irqchip: Add DT binding doc for dumb demuxer chips Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-13 19:00 ` Jason Cooper
2015-01-13 19:00 ` Jason Cooper
2015-01-13 19:00 ` Jason Cooper
2015-01-13 20:52 ` Boris Brezillon
2015-01-13 20:52 ` Boris Brezillon
2015-01-13 20:52 ` Boris Brezillon
2015-01-14 18:56 ` Jason Cooper
2015-01-14 18:56 ` Jason Cooper
2015-01-14 18:56 ` Jason Cooper
2015-01-14 19:08 ` Boris Brezillon
2015-01-14 19:08 ` Boris Brezillon
2015-01-14 19:08 ` Boris Brezillon
2015-01-14 19:33 ` Jason Cooper
2015-01-14 19:33 ` Jason Cooper
2015-01-14 19:33 ` Jason Cooper
2015-01-14 13:42 ` Nicolas Ferre
2015-01-14 13:42 ` Nicolas Ferre
2015-01-14 13:42 ` Nicolas Ferre
2015-01-13 18:46 ` [PATCH v2 3/5] ARM: at91/dt: select DUMB_IRQ_DEMUX for all at91 SoCs Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-14 13:45 ` Nicolas Ferre
2015-01-14 13:45 ` Nicolas Ferre
2015-01-14 13:45 ` Nicolas Ferre
2015-01-13 18:46 ` [PATCH v2 4/5] ARM: at91/dt: add AIC irq1 muxed peripheral id definitions Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-14 13:21 ` Nicolas Ferre
2015-01-14 13:21 ` Nicolas Ferre
2015-01-14 13:21 ` Nicolas Ferre
2015-01-14 13:34 ` Boris Brezillon
2015-01-14 13:34 ` Boris Brezillon
2015-01-14 13:34 ` Boris Brezillon
2015-01-14 13:40 ` Nicolas Ferre
2015-01-14 13:40 ` Nicolas Ferre
2015-01-14 13:40 ` Nicolas Ferre
2015-01-13 18:46 ` [PATCH v2 5/5] ARM: at91/dt: define a dumb irq demultiplexer chip connected on irq1 Boris Brezillon
2015-01-13 18:46 ` Boris Brezillon
2015-01-14 13:48 ` Nicolas Ferre
2015-01-14 13:48 ` Nicolas Ferre
2015-01-14 13:48 ` Nicolas Ferre
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=54B787D5.9070408@atmel.com \
--to=nicolas.ferre@atmel.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.