Re: [PATCH RESEND v2] gpio: omap: Add omap_gpio_disable/enable_irq calls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bin Liu <b-liu@xxxxxx> 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@xxxxxx> writes:
>> > 
>> > > From: Bin Liu <b-liu@xxxxxx>
>> > > 
>> > > 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@xxxxxx>
>> > > [Judith: Add commit message]
>> > > Signed-off-by: Judith Mendez <jm@xxxxxx>
>> > 
>> > 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




[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux