From nobody Sat Feb 7 09:02:09 2026 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 F069AC07545 for ; Tue, 24 Oct 2023 14:34:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234505AbjJXOe4 (ORCPT ); Tue, 24 Oct 2023 10:34:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232073AbjJXOex (ORCPT ); Tue, 24 Oct 2023 10:34:53 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 27EF7C4 for ; Tue, 24 Oct 2023 07:34:52 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86B2AC433C8; Tue, 24 Oct 2023 14:34:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1698158091; bh=0EcLCqFouJP0hY8CNrI3CsIj9BAxE4T9i5fPItqAv0c=; h=From:To:Cc:Subject:Date:From; b=TSPUXGwOds8PIYzY2u1wv4dS+kG7ASiDxO6BPzFcICge3VQ2LE+LJ37M/PdrdGI7T MIoZY7q1+456RCEme3UQ839oZi5qbfSnJunKgdcHb2zA4tkHOklL2VlYm7DLmeSy3d SltmN1Q3N6xrOHFCpGsgXtrIxbrQBTznP4Im5V3PvCPC5+6pfFALAZTnj+8GRp8L3H anN1xHdV5VXWBIT2QFich5957eHD3R9D0rL+yW++RO8UkTTu0z5AIIA3/+jzXUCaRX zUJwVKqjY0yIxaYQpqdo1PLEsK0lW9UApaZg+ktQ9wmrj7ninWpnhrBHCiaufvcRWL P8qyAbc3lkdiQ== Received: from sofa.misterjones.org ([185.219.108.64] helo=valley-girl.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1qvIUb-007Ewh-89; Tue, 24 Oct 2023 15:34:49 +0100 From: Marc Zyngier To: Thomas Gleixner Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, lpieralisi@kernel.org, Dominic Rath Subject: [PATCH] irqchip/gic-v3-its: Don't override quirk settings with default values Date: Tue, 24 Oct 2023 15:34:31 +0100 Message-Id: <20231024143431.2144579-1-maz@kernel.org> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: tglx@linutronix.de, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, lpieralisi@kernel.org, dominic.rath@ibv-augsburg.net 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 Content-Type: text/plain; charset="utf-8" When splitting the allocation of the ITS node from its configuration, some of the default settings were kept in the latter instead of being moved to the former. This has the side effect of negating some of the quirk detection that have happened in between, amongst which the dreaded Synquacer hack (that also affect Dominic's TI platform). Move the initialisation of these fields early, so that they can again be overriden by the Synquacer quirk. Fixes: 9585a495ac93 ("irqchip/gic-v3-its: Split allocation from initialisat= ion of its_node") Reported by: Dominic Rath Tested-by: Dominic Rath Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20231024084831.GA3788@JADEVM-DRA --- Notes: Hi Thomas, =20 This is an urgent, last-minute fix for a regression that I introduced i= n -rc6. I'd appreciate it if you could send it along to Linus before v6.6 gets = released. =20 Thanks, =20 M. drivers/irqchip/irq-gic-v3-its.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-= its.c index 75a2dd550625..a8c89df1a997 100644 --- a/drivers/irqchip/irq-gic-v3-its.c +++ b/drivers/irqchip/irq-gic-v3-its.c @@ -5112,8 +5112,6 @@ static int __init its_probe_one(struct its_node *its) } its->cmd_base =3D (void *)page_address(page); its->cmd_write =3D its->cmd_base; - its->get_msi_base =3D its_irq_get_msi_base; - its->msi_domain_flags =3D IRQ_DOMAIN_FLAG_ISOLATED_MSI; =20 err =3D its_alloc_tables(its); if (err) @@ -5362,6 +5360,8 @@ static struct its_node __init *its_node_init(struct r= esource *res, its->typer =3D gic_read_typer(its_base + GITS_TYPER); its->base =3D its_base; its->phys_base =3D res->start; + its->get_msi_base =3D its_irq_get_msi_base; + its->msi_domain_flags =3D IRQ_DOMAIN_FLAG_ISOLATED_MSI; =20 its->numa_node =3D numa_node; its->fwnode_handle =3D handle; --=20 2.39.2