On Thu, Oct 20, 2016 at 03:36:32PM +0000, Christian Steiner wrote: > >> Currently I am using BIOS v1.22. Recently Acer released v1.23. I could > >> test if the BIOS update solves the problem. > > > > Please try that first. > > Updating the BIOS to v1.23 solved the problem. Thank you very much for > your advice!
Good to know :) > > If that does not work, then I we may be able to mask all interrupts up > > to nirqs - 1 but I first would like to check if the BIOS upgrade helps. > > > >>>> If you need more information or if I should test a patch, please let me > >>>> know. > >>> > >>> Can you send me output of /proc/interrupts and > >>> /sys/kernel/debug/pinctrl/INT33FF:*/pins. > >> > >> Of course: > >> > >>> $ cat /proc/interrupts > >>> CPU0 CPU1 CPU2 CPU3 > >>> 0: 1388 0 0 0 IO-APIC 2-edge > >>> timer > >>> 1: 17 3 4 3 IO-APIC 1-edge > >>> i8042 > >>> 8: 1 0 0 0 IO-APIC 8-edge > >>> rtc0 > >>> 9: 28 23 22 23 IO-APIC 9-fasteoi > >>> acpi > >>> 12: 76 36 36 36 IO-APIC 12-edge > >>> i8042 > >>> 18: 0 0 0 0 IO-APIC 18-fasteoi > >>> i801_smbus > >>> 45: 13 17 9 13 IO-APIC 45-fasteoi > >>> mmc0 > >>> 47: 0 0 0 0 IO-APIC 47-fasteoi > >>> mmc1 > >>> 115: 7816 7632 7694 7549 PCI-MSI 311296-edge > >>> ahci[0000:00:13.0] > >>> 116: 43793 44661 43670 44402 PCI-MSI 1572864-edge > >>> eth0 > >>> 117: 10759 0 0 0 chv-gpio 0 > >>> 191: 0 0 0 0 chv-gpio 50 > >>> 80860F14:01 cd > >>> 196: 35 37 40 41 PCI-MSI 1048576-edge > >>> iwlwifi > >>> 197: 24359 22517 23054 22852 PCI-MSI 327680-edge > >>> xhci_hcd > >>> 198: 174515 168035 165519 167706 PCI-MSI 32768-edge > >>> i915 > >>> 199: 20 18 18 16 PCI-MSI 442368-edge > >>> snd_hda_intel:card0 > >>> NMI: 0 0 0 0 Non-maskable > >>> interrupts > >>> LOC: 409748 405619 425239 440549 Local timer interrupts > >>> SPU: 0 0 0 0 Spurious interrupts > >>> PMI: 0 0 0 0 Performance > >>> monitoring interrupts > >>> IWI: 0 0 0 0 IRQ work interrupts > >>> RTR: 0 0 0 0 APIC ICR read retries > >>> RES: 74598 69435 68734 60007 Rescheduling > >>> interrupts > >>> CAL: 23842 28885 29873 26859 Function call > >>> interrupts > >>> TLB: 17407 23763 25060 21008 TLB shootdowns > >>> TRM: 0 0 0 0 Thermal event > >>> interrupts > >>> THR: 0 0 0 0 Threshold APIC > >>> interrupts > >>> MCE: 0 0 0 0 Machine check > >>> exceptions > >>> MCP: 45 44 44 44 Machine check polls > >>> ERR: 0 > >>> MIS: 0 > >>> PIN: 0 0 0 0 Posted-interrupt > >>> notification event > >>> PIW: 0 0 0 0 Posted-interrupt > >>> wakeup event > > FYI: IRQ 117 is no longer listed in /proc/interrupts with BIOS v1.23. > > >> > >>> $ cat /sys/kernel/debug/pinctrl/INT33FF:*/pin > >>> registered pins: 24 > >>> pin 0 (PMU_SLP_S3_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 1 (PMU_BATLOW_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 2 (SUS_STAT_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 3 (PMU_SLP_S0IX_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 4 (PMU_AC_PRESENT) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 5 (PMU_PLTRST_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 6 (PMU_SUSCLK) mode 1 ctrl0 0x00010000 ctrl1 0x04c00000 > >>> pin 7 (PMU_SLP_LAN_B) mode 1 ctrl0 0x00010000 ctrl1 0x04c00000 > >>> pin 8 (PMU_PWRBTN_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 9 (PMU_SLP_S4_B) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > >>> pin 10 (PMU_WAKE_B) mode 1 ctrl0 0x00c10001 ctrl1 0x04c00000 > >>> pin 11 (PMU_WAKE_LAN_B) GPIO ctrl0 0x00018300 ctrl1 0x04c00000 > >>> pin 15 (MF_ISH_GPIO_3) mode 1 ctrl0 0x00010000 ctrl1 0x04c00000 > >>> pin 16 (MF_ISH_GPIO_7) GPIO ctrl0 0x00018102 ctrl1 0x04c00000 > >>> pin 17 (MF_ISH_I2C1_SCL) GPIO ctrl0 0x00018102 ctrl1 0x04c00000 > >>> pin 18 (MF_ISH_GPIO_1) mode 1 ctrl0 0x00010000 ctrl1 0x04c00000 > >>> pin 19 (MF_ISH_GPIO_5) GPIO ctrl0 0x10008201 ctrl1 0x04c00004 > > > > It most probably is this one. Active high and the line is high so this > > is generating interrupts all the time if not masked. > > Looks you were right. Here is a diff of the changes (-: BIOS v1.22, +: > BIOS v1.23): > > -pin 19 (MF_ISH_GPIO_5) GPIO ctrl0 0x10008201 ctrl1 0x04c00004 > +pin 19 (MF_ISH_GPIO_5) GPIO ctrl0 0x10008200 ctrl1 0x04c00004 Yes the pin is now low instead of high so should not generate interrupts. > -pin 49 (MF_LPC_CLKOUT1) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > +pin 49 (MF_LPC_CLKOUT1) mode 1 ctrl0 0x00010000 ctrl1 0x04c00000 > -pin 51 (MF_LPC_CLKOUT0) mode 1 ctrl0 0x00010000 ctrl1 0x04c00000 > +pin 51 (MF_LPC_CLKOUT0) mode 1 ctrl0 0x00010001 ctrl1 0x04c00000 > > By the way, is the message > > Cannot set affinity for irq 191 > in the above kernel logs something to care about? It just means that the driver does not implement ->set_affinity() for the IRQ which is fine as the GPIO hardware does not support that.