Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6B30C433FE for ; Tue, 23 Nov 2021 09:11:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234254AbhKWJOX (ORCPT ); Tue, 23 Nov 2021 04:14:23 -0500 Received: from mail.kernel.org ([198.145.29.99]:55456 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234149AbhKWJOV (ORCPT ); Tue, 23 Nov 2021 04:14:21 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 32C5A60FD7; Tue, 23 Nov 2021 09:11:14 +0000 (UTC) Received: from sofa.misterjones.org ([185.219.108.64] helo=why.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mpRpY-007Ei9-2p; Tue, 23 Nov 2021 09:11:12 +0000 Date: Tue, 23 Nov 2021 09:11:11 +0000 Message-ID: <87r1b7ck40.wl-maz@kernel.org> From: Marc Zyngier To: Geert Uytterhoeven Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel-team@android.com, Rob Herring , John Crispin , Biwen Li , Chris Brandt , linux-renesas-soc@vger.kernel.org, Lad Prabhakar Subject: Re: [PATCH] of/irq: Add a quirk for controllers with their own definition of interrupt-map In-Reply-To: References: <20211122103032.517923-1-maz@kernel.org> <8735no70tt.wl-maz@kernel.org> <87tug3clvc.wl-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: geert@linux-m68k.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, kernel-team@android.com, robh@kernel.org, john@phrozen.org, biwen.li@nxp.com, chris.brandt@renesas.com, linux-renesas-soc@vger.kernel.org, prabhakar.mahadev-lad.rj@bp.renesas.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 23 Nov 2021 08:44:19 +0000, Geert Uytterhoeven wrote: > > Hi Marc, > > On Tue, Nov 23, 2021 at 9:33 AM Marc Zyngier wrote: > > On Tue, 23 Nov 2021 07:57:48 +0000, > > Geert Uytterhoeven wrote: > > > Summarized: > > > - Before the bad commit, and after your fix, irqc-rza1 is invoked, > > > and the number of interrupts seen is correct, but input events > > > are doubled. > > > - After the bad commit, irqc-rza1 is not invoked, and there is an > > > interrupt storm, but input events are OK. > > > > OK, that's reassuring, even if the "twice the events" stuff isn't what > > you'd expect. We at least know this is a separate issue, and that this > > patch on top of -rc1 brings you back to the 5.15 behaviour. > > > > I'd expect it to be the case for the other platforms as well. > > OK. > > BTW, what would have been the correct way to do this for irqc-rza1? > I think we're about to make the same mistake with RZ/G2L IRQC > support[1]? Indeed, and I was about to look into it. There are multiple ways to skin this cat, including renaming 'interrupt-map' to 'my-own-private-interrupt-map'. Or use something akin the new 'msi-range' (which we could call interrupt-range), and replace: interrupt-map = <0 0 &gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, <1 0 &gic GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, <2 0 &gic GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, <3 0 &gic GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, <4 0 &gic GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, <5 0 &gic GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, <6 0 &gic GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, <7 0 &gic GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; with: interrupt-range = <&gic GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH 0 8>; which reads as "base interrupt spec", "start pin", "count". This gives you almost the same level of information, and doesn't interfere with the rest of the DT properties. Parsing it is also much simpler. But that's up to you, really. M. -- Without deviation from the norm, progress is not possible.