From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Subject: Re: [PATCH] ARM: tegra: dalmore: fix irq trigger type Date: Wed, 12 Feb 2014 12:39:41 -0700 Message-ID: <52FBCDFD.1040902@wwwdotorg.org> References: <4fcfcfdbc86c37c6d47ec32cdbd987f3b406e9b5.1392147256.git.stefan@agner.ch> <20140211204737.GA1895@mithrandir> <30f0db808e7543d9ab6b077aa5e239f2@agner.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <30f0db808e7543d9ab6b077aa5e239f2-XLVq0VzYD2Y@public.gmane.org> Sender: linux-tegra-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Stefan Agner , josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org Cc: Thierry Reding , linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org List-Id: linux-tegra@vger.kernel.org On 02/11/2014 02:21 PM, Stefan Agner wrote: > Am 2014-02-11 21:47, schrieb Thierry Reding: >> On Tue, Feb 11, 2014 at 09:11:32PM +0100, Stefan Agner wrote: >>> Trigger type needs to be IRQ_TYPE_LEVEL_HIGH since the interrupt >>> signal gets inverted by the PMC (configured by the invert-interrupt >>> property). >> >> Isn't the reason the other way around? The PMIC generates a low-level >> interrupt, but the GIC can only be configured to accept high-level (or >> rising edge) and therefore the nvidia,invert-interrupt property needs to >> be set in the PMC node? > Hm yes agreed. I should also write the whole story here, maybe this: > > The GIC only support high-active interrupts. When using a PMIC with > low-active interrupt, the PMC has to be configured by using the > nvidia,invert-interrupt property in its node. > > This fix sets the GIC back to high-active and reverts commit > eca8f98e404934027f84f72882c5e92ffbd9e5f5. (Trimming CC lists) Stefan, It'd be best to include the commit subject rather than just the commit hash, i.e.: ... and reverts commit eca8f98e4049 "ARM: tegra: dalmore: fix the irq trigger type of Palmas MFD device". It may also be helpful for the commit description to quote the kernel boot message which this patch solves: > [ 0.215178] genirq: Setting trigger mode 8 for irq 118 failed (gic_set_type+0x0/0xf4) For me, applying this patch actually *causes* an interrupt storm, rather than preventing one. Yet without it, no interrupts occur at all. I wonder if the driver has a bug where it's not correctly clearing all interrupt status (e.g. something pre-existing before boot), so once the polarity is set up correctly, the interrupt is stuck? Joseph, As the author of the patch that's being reverted, can you please comment here? From mboxrd@z Thu Jan 1 00:00:00 1970 From: swarren@wwwdotorg.org (Stephen Warren) Date: Wed, 12 Feb 2014 12:39:41 -0700 Subject: [PATCH] ARM: tegra: dalmore: fix irq trigger type In-Reply-To: <30f0db808e7543d9ab6b077aa5e239f2@agner.ch> References: <4fcfcfdbc86c37c6d47ec32cdbd987f3b406e9b5.1392147256.git.stefan@agner.ch> <20140211204737.GA1895@mithrandir> <30f0db808e7543d9ab6b077aa5e239f2@agner.ch> Message-ID: <52FBCDFD.1040902@wwwdotorg.org> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On 02/11/2014 02:21 PM, Stefan Agner wrote: > Am 2014-02-11 21:47, schrieb Thierry Reding: >> On Tue, Feb 11, 2014 at 09:11:32PM +0100, Stefan Agner wrote: >>> Trigger type needs to be IRQ_TYPE_LEVEL_HIGH since the interrupt >>> signal gets inverted by the PMC (configured by the invert-interrupt >>> property). >> >> Isn't the reason the other way around? The PMIC generates a low-level >> interrupt, but the GIC can only be configured to accept high-level (or >> rising edge) and therefore the nvidia,invert-interrupt property needs to >> be set in the PMC node? > Hm yes agreed. I should also write the whole story here, maybe this: > > The GIC only support high-active interrupts. When using a PMIC with > low-active interrupt, the PMC has to be configured by using the > nvidia,invert-interrupt property in its node. > > This fix sets the GIC back to high-active and reverts commit > eca8f98e404934027f84f72882c5e92ffbd9e5f5. (Trimming CC lists) Stefan, It'd be best to include the commit subject rather than just the commit hash, i.e.: ... and reverts commit eca8f98e4049 "ARM: tegra: dalmore: fix the irq trigger type of Palmas MFD device". It may also be helpful for the commit description to quote the kernel boot message which this patch solves: > [ 0.215178] genirq: Setting trigger mode 8 for irq 118 failed (gic_set_type+0x0/0xf4) For me, applying this patch actually *causes* an interrupt storm, rather than preventing one. Yet without it, no interrupts occur at all. I wonder if the driver has a bug where it's not correctly clearing all interrupt status (e.g. something pre-existing before boot), so once the polarity is set up correctly, the interrupt is stuck? Joseph, As the author of the patch that's being reverted, can you please comment here?