[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <7hy11xjkdn.fsf@baylibre.com>
Date: Tue, 05 Nov 2024 16:06:44 -0800
From: Kevin Hilman <khilman@...nel.org>
To: Bin Liu <b-liu@...com>, Judith Mendez <jm@...com>
Cc: Santosh Shilimkar <ssantosh@...nel.org>, Linus Walleij
<linus.walleij@...aro.org>, Bartosz
Golaszewski <brgl@...ev.pl>, linux-omap@...r.kernel.org,
linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND v2] gpio: omap: Add omap_gpio_disable/enable_irq
calls
Bin Liu <b-liu@...com> writes:
> On Tue, Nov 05, 2024 at 12:47:58PM -0600, Judith Mendez wrote:
>> Hi Kevin,
>>
>> On 11/1/24 9:29 AM, Kevin Hilman wrote:
>> > Hi Judith,
>> >
>> > Judith Mendez <jm@...com> writes:
>> >
>> > > From: Bin Liu <b-liu@...com>
>> > >
>> > > Add omap_gpio_disable_irq and omap_gpio_enable_irq
>> > > calls in gpio-omap.
>> > >
>> > > Currently, kernel cannot disable gpio interrupts in
>> > > case of a irq storm, so add omap_gpio_disable/enable_irq
>> > > so that interrupts can be disabled/enabled.
>> > >
>> > > Signed-off-by: Bin Liu <b-liu@...com>
>> > > [Judith: Add commit message]
>> > > Signed-off-by: Judith Mendez <jm@...com>
>> >
>> > Thanks for this patch. Can you give a bit more context on the
>> > problem(s) this solves and on which SoCs/platforms it was
>> > developed/validated?
>>
>> Sorry for the late response. Patch was tested/developed on am335x
>> device BBB, If you feed a PWM signal at 200KHz frequency to
>> GPIO, and execute gpiomon 0 12 &, Linux will be unresponsive
>> even after CTRL+C without these 2 functions in this patch. Once
>> this patch is applied, you can get console back after hitting
>> CTRL+C and then proceed to kill gpiomon.
>
> In addtion to Judith's explanation, when the PWM is applied to a GPIO
> pin, kernel detects the interrupt storm and disables the irq, however,
> without these callbacks, this gpio platform driver doesn't really
> disable the interrupt in the gpio controller, so the interrupt storm is
> still happening and handled by this gpio controller driver then causes
> Linux unresponsive.
Excellent! Thank you both for the detailed explanations.
Kevin
Powered by blists - more mailing lists