All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Torgue <alexandre.torgue@st.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree@vger.kernel.org,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Jason Cooper <jason@lakedaemon.net>,
	arnd@arndb.de, Marc Zyngier <marc.zyngier@arm.com>,
	bruherrera@gmail.com, Linus Walleij <linus.walleij@linaro.org>,
	linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org,
	Rob Herring <robh+dt@kernel.org>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	lee.jones@linaro.org, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v5 2/9] drivers: irqchip: Add STM32 external interrupts support
Date: Tue, 20 Sep 2016 17:28:53 +0200	[thread overview]
Message-ID: <2095bf33-2940-3294-afd6-a28a48762569@st.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1609201600490.6905@nanos>

Thomas,

On 09/20/2016 04:02 PM, Thomas Gleixner wrote:
> On Tue, 20 Sep 2016, Alexandre Torgue wrote:
>> On 09/20/2016 02:44 PM, Thomas Gleixner wrote:
>>> Free will be called when a interrupt in the child domain is torn down,
>>> i.e. when irq_domain_free_irqs() is called. And it will be called for both
>>> domains like the alloc callback is invoked on both domains via
>>> irq_domain_alloc_irqs().
>>
>> Thanks Thomas for this clarification (I'm sure now that we need .free
>> callbacks).
>> irq_domain_free_irqs() is called in 2 scenario:
>> 1- when issue occurs in irq_create_fwspec_mapping()
>> 2- when irq_dispose_mapping() is called
>>
>> Case 2 is the one I tested some times ago. In this case, I need to mask
>> interrupts in .free callback of EXTI (parent) domain to avoid spurious
>> interrupts.
>
> And why would irq_dispose_mapping() be called on an unmasked, i.e. active,
> interrupt? The masking is just papering over that.

Ok. So my test was wrong and irq_dispose_mapping() has to be called when 
irq is masked (for example just  after free_irq()). For sure in this 
case the mask inside exti free callback has no sens (catch :))

I will change .free callback by:

static void stm32_exti_free(struct irq_domain *d, unsigned int virq,
			    unsigned int nr_irqs)
{
	struct irq_data *data = irq_domain_get_irq_data(d, virq);
	irq_domain_reset_irq_data(data);
}


so if you agree I will resend only patches concerning stm32 exti driver 
[1],[2],[3],[4]

Thanks for your time.

alex


>
> Thanks,
>
> 	tglx
>

WARNING: multiple messages have this Message-ID (diff)
From: Alexandre Torgue <alexandre.torgue@st.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Mark Rutland <mark.rutland@arm.com>, <devicetree@vger.kernel.org>,
	Daniel Thompson <daniel.thompson@linaro.org>,
	Jason Cooper <jason@lakedaemon.net>, <arnd@arndb.de>,
	Marc Zyngier <marc.zyngier@arm.com>, <bruherrera@gmail.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	<linux-kernel@vger.kernel.org>, <linux-gpio@vger.kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	Maxime Coquelin <mcoquelin.stm32@gmail.com>,
	<lee.jones@linaro.org>, <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v5 2/9] drivers: irqchip: Add STM32 external interrupts support
Date: Tue, 20 Sep 2016 17:28:53 +0200	[thread overview]
Message-ID: <2095bf33-2940-3294-afd6-a28a48762569@st.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1609201600490.6905@nanos>

Thomas,

On 09/20/2016 04:02 PM, Thomas Gleixner wrote:
> On Tue, 20 Sep 2016, Alexandre Torgue wrote:
>> On 09/20/2016 02:44 PM, Thomas Gleixner wrote:
>>> Free will be called when a interrupt in the child domain is torn down,
>>> i.e. when irq_domain_free_irqs() is called. And it will be called for both
>>> domains like the alloc callback is invoked on both domains via
>>> irq_domain_alloc_irqs().
>>
>> Thanks Thomas for this clarification (I'm sure now that we need .free
>> callbacks).
>> irq_domain_free_irqs() is called in 2 scenario:
>> 1- when issue occurs in irq_create_fwspec_mapping()
>> 2- when irq_dispose_mapping() is called
>>
>> Case 2 is the one I tested some times ago. In this case, I need to mask
>> interrupts in .free callback of EXTI (parent) domain to avoid spurious
>> interrupts.
>
> And why would irq_dispose_mapping() be called on an unmasked, i.e. active,
> interrupt? The masking is just papering over that.

Ok. So my test was wrong and irq_dispose_mapping() has to be called when 
irq is masked (for example just  after free_irq()). For sure in this 
case the mask inside exti free callback has no sens (catch :))

I will change .free callback by:

static void stm32_exti_free(struct irq_domain *d, unsigned int virq,
			    unsigned int nr_irqs)
{
	struct irq_data *data = irq_domain_get_irq_data(d, virq);
	irq_domain_reset_irq_data(data);
}


so if you agree I will resend only patches concerning stm32 exti driver 
[1],[2],[3],[4]

Thanks for your time.

alex


>
> Thanks,
>
> 	tglx
>

WARNING: multiple messages have this Message-ID (diff)
From: alexandre.torgue@st.com (Alexandre Torgue)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 2/9] drivers: irqchip: Add STM32 external interrupts support
Date: Tue, 20 Sep 2016 17:28:53 +0200	[thread overview]
Message-ID: <2095bf33-2940-3294-afd6-a28a48762569@st.com> (raw)
In-Reply-To: <alpine.DEB.2.20.1609201600490.6905@nanos>

Thomas,

On 09/20/2016 04:02 PM, Thomas Gleixner wrote:
> On Tue, 20 Sep 2016, Alexandre Torgue wrote:
>> On 09/20/2016 02:44 PM, Thomas Gleixner wrote:
>>> Free will be called when a interrupt in the child domain is torn down,
>>> i.e. when irq_domain_free_irqs() is called. And it will be called for both
>>> domains like the alloc callback is invoked on both domains via
>>> irq_domain_alloc_irqs().
>>
>> Thanks Thomas for this clarification (I'm sure now that we need .free
>> callbacks).
>> irq_domain_free_irqs() is called in 2 scenario:
>> 1- when issue occurs in irq_create_fwspec_mapping()
>> 2- when irq_dispose_mapping() is called
>>
>> Case 2 is the one I tested some times ago. In this case, I need to mask
>> interrupts in .free callback of EXTI (parent) domain to avoid spurious
>> interrupts.
>
> And why would irq_dispose_mapping() be called on an unmasked, i.e. active,
> interrupt? The masking is just papering over that.

Ok. So my test was wrong and irq_dispose_mapping() has to be called when 
irq is masked (for example just  after free_irq()). For sure in this 
case the mask inside exti free callback has no sens (catch :))

I will change .free callback by:

static void stm32_exti_free(struct irq_domain *d, unsigned int virq,
			    unsigned int nr_irqs)
{
	struct irq_data *data = irq_domain_get_irq_data(d, virq);
	irq_domain_reset_irq_data(data);
}


so if you agree I will resend only patches concerning stm32 exti driver 
[1],[2],[3],[4]

Thanks for your time.

alex


>
> Thanks,
>
> 	tglx
>

  reply	other threads:[~2016-09-20 15:28 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-09 14:41 [PATCH v5 0/9] Add STM32 EXTI interrupt controller support Alexandre TORGUE
2016-09-09 14:41 ` Alexandre TORGUE
2016-09-09 14:41 ` Alexandre TORGUE
2016-09-09 14:41 ` [PATCH v5 1/9] Documentation: dt-bindings: Document STM32 EXTI controller bindings Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-19 21:24   ` Rob Herring
2016-09-19 21:24     ` Rob Herring
2016-09-19 21:24     ` Rob Herring
2016-09-09 14:41 ` [PATCH v5 2/9] drivers: irqchip: Add STM32 external interrupts support Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
     [not found]   ` <1473432124-6784-3-git-send-email-alexandre.torgue-qxv4g6HH51o@public.gmane.org>
2016-09-13  8:19     ` Marc Zyngier
2016-09-13  8:19       ` Marc Zyngier
2016-09-13  8:19       ` Marc Zyngier
2016-09-13 15:21   ` Thomas Gleixner
2016-09-13 15:21     ` Thomas Gleixner
2016-09-13 16:29     ` Alexandre Torgue
2016-09-13 16:29       ` Alexandre Torgue
2016-09-13 16:29       ` Alexandre Torgue
2016-09-14  9:19       ` Thomas Gleixner
2016-09-14  9:19         ` Thomas Gleixner
2016-09-14 13:05         ` Alexandre Torgue
2016-09-14 13:05           ` Alexandre Torgue
2016-09-14 13:05           ` Alexandre Torgue
2016-09-14 13:34           ` Thomas Gleixner
2016-09-14 13:34             ` Thomas Gleixner
2016-09-14 13:44             ` Alexandre Torgue
2016-09-14 13:44               ` Alexandre Torgue
2016-09-14 13:44               ` Alexandre Torgue
2016-09-20  9:48               ` Alexandre Torgue
2016-09-20  9:48                 ` Alexandre Torgue
2016-09-20  9:48                 ` Alexandre Torgue
2016-09-20  9:51                 ` Thomas Gleixner
2016-09-20  9:51                   ` Thomas Gleixner
2016-09-20 12:40                   ` Alexandre Torgue
2016-09-20 12:40                     ` Alexandre Torgue
2016-09-20 12:40                     ` Alexandre Torgue
2016-09-20 12:44                     ` Thomas Gleixner
2016-09-20 12:44                       ` Thomas Gleixner
2016-09-20 13:33                       ` Alexandre Torgue
2016-09-20 13:33                         ` Alexandre Torgue
2016-09-20 13:33                         ` Alexandre Torgue
2016-09-20 14:02                         ` Thomas Gleixner
2016-09-20 14:02                           ` Thomas Gleixner
2016-09-20 15:28                           ` Alexandre Torgue [this message]
2016-09-20 15:28                             ` Alexandre Torgue
2016-09-20 15:28                             ` Alexandre Torgue
2016-09-20 15:36                             ` Thomas Gleixner
2016-09-20 15:36                               ` Thomas Gleixner
2016-09-09 14:41 ` [PATCH v5 3/9] ARM: STM32: Select external interrupts controller Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-09 14:41 ` [PATCH v5 4/9] ARM: dts: Add EXTI controller node to stm32f429 Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-09 14:41   ` Alexandre TORGUE
2016-09-09 14:42 ` [PATCH v5 5/9] Documentation: dt-bindings: Add IRQ related properties of STM32 pinctrl Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
     [not found]   ` <1473432124-6784-6-git-send-email-alexandre.torgue-qxv4g6HH51o@public.gmane.org>
2016-09-13  8:12     ` Linus Walleij
2016-09-13  8:12       ` Linus Walleij
2016-09-13  8:12       ` Linus Walleij
2016-09-13  8:18   ` Linus Walleij
2016-09-13  8:18     ` Linus Walleij
2016-09-13  8:18     ` Linus Walleij
2016-09-13 12:34     ` Alexandre Torgue
2016-09-13 12:34       ` Alexandre Torgue
2016-09-13 12:34       ` Alexandre Torgue
2016-09-13 12:47       ` Linus Walleij
2016-09-13 12:47         ` Linus Walleij
2016-09-13 12:47         ` Linus Walleij
2016-09-09 14:42 ` [PATCH v5 6/9] pinctrl: Add IRQ support to STM32 gpios Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
     [not found]   ` <1473432124-6784-7-git-send-email-alexandre.torgue-qxv4g6HH51o@public.gmane.org>
2016-09-13  8:14     ` Linus Walleij
2016-09-13  8:14       ` Linus Walleij
2016-09-13  8:14       ` Linus Walleij
2016-09-09 14:42 ` [PATCH v5 7/9] ARM: dts: Add GPIO irq support to STM2F429 Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
     [not found] ` <1473432124-6784-1-git-send-email-alexandre.torgue-qxv4g6HH51o@public.gmane.org>
2016-09-09 14:42   ` [PATCH v5 8/9] ARM: dts: Declare push button as GPIO key on stm32f429 boards Alexandre TORGUE
2016-09-09 14:42     ` Alexandre TORGUE
2016-09-09 14:42     ` Alexandre TORGUE
2016-09-09 14:42 ` [PATCH v5 9/9] ARM: config: Enable GPIO Key driver in stm32_defconfig Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE
2016-09-09 14:42   ` Alexandre TORGUE

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=2095bf33-2940-3294-afd6-a28a48762569@st.com \
    --to=alexandre.torgue@st.com \
    --cc=arnd@arndb.de \
    --cc=bruherrera@gmail.com \
    --cc=daniel.thompson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=jason@lakedaemon.net \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=mcoquelin.stm32@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=tglx@linutronix.de \
    /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.