Interrupt storm on AMD GPIO IRQ-handler

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

 



<resend with linux-gpio@xxxxxxxxxxxxxxx added>

Hi All,

I'm mailing you all because you've recently worked on the
drivers/pinctrl/pinctrl-amd.c driver.

I've been debugging an issue which causes the touchscreen
(and digitizer) to not work on many AMD based HP laptops /
2-in-1s (x360 models).

I've found and fixed the main culprit and many users report
things are fixed for them now, see:

https://bugzilla.kernel.org/show_bug.cgi?id=198715
https://bugzilla.kernel.org/show_bug.cgi?id=199523
https://bugzilla.redhat.com/show_bug.cgi?id=1644013

The reporter of the last bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1644013

Is still seeing a somewhat related issue though, sometimes
(often) IRQ 7 which is the IRQ used for the AMD GPIO cluster
keeps firing and the kernel says:

kernel: irq 7: nobody cared
kernel: Disabling IRQ #7

The amd_gpio chip/driver appears to be the only driver
connected to IRQ 7, so I think there is an issue with the
amd_gpio driver where it does not properly clear the interrupt
source. E.g. it might be that the BIOS requested interrupts
on a GPIO which Linux does not monitor and that the driver
does not disable this GPIO-IRQ on probe and since it is not
handling that pin in IRQ mode also does not clear it.

Anyways that is just a theory. It would greatly help if
someone who knows the amd_gpio driver better could take
a look.

Possibly related, while looking through the history of the
driver I also found commit ba714a9c1dea ("pinctrl/amd: Use
regular interrupt instead of chained") from Thomas Gleixner
the reason for this commit is also an interrupt storm
and the conversion was done so that the kernel would
at least disable the interrupt and keep the rest of the
system working, see:

https://bugzilla.suse.com/show_bug.cgi?id=1034261

For the original report on this.

Regards,

Hans




[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