From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756193AbcJTSBo (ORCPT ); Thu, 20 Oct 2016 14:01:44 -0400 Received: from mga14.intel.com ([192.55.52.115]:25438 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754777AbcJTSBk (ORCPT ); Thu, 20 Oct 2016 14:01:40 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,372,1473145200"; d="scan'208";a="892164534" Date: Thu, 20 Oct 2016 20:59:25 +0300 From: Mika Westerberg To: Christian Steiner Cc: "linux-kernel@vger.kernel.org" , Linus Walleij Subject: Re: pinctrl_cherryview: massive error messages (handle_bad_irq) Message-ID: <20161020175925.GR24289@lahna.fi.intel.com> References: <20161019192222.GQ1722@lahna.fi.intel.com> <20161020100801.GV1722@lahna.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.7.0 (2016-08-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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.