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