From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 99943C52D7C for ; Mon, 19 Aug 2024 19:45:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iI9y7eEB4PLgsZQlAJuz65XYtQLjehxjQ7TKZUd4TmE=; b=GMfv4P+49G2CSLhuc5gb83k2BR 1l+eaBReAXz/sOxBEv2MgL2AEtnzOBZ2Hrtf8LyJPTHR/8jpYjVRkfDFgZvQjzZLT69N42x2X+shy zMcnH1d6l0epBHXMmDHFGrU3vo79vlM4cIR9Ohw6ZKuo6E0nkpZrPQlbuVcrSLkSpV1DMmY3zac6R woDLHir9YgBy/F81VX3XdNQIne8AddyJ56KbgrObbS07UYdk7jn3xc5TrGqVWoJqRKpoijYxMF8za xgw2EESE8J1GOzrdvajkgFfIpfkUu9Gq3UjXgEimmBVMuqZywkL/PS2frA8p+CuLIv9v0ZycwRtwh H1pIOGMQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1sg8Ji-00000002lQN-3EsE; Mon, 19 Aug 2024 19:45:26 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1sg7Iu-00000002cVF-1Wof; Mon, 19 Aug 2024 18:40:33 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id AFD2560C88; Mon, 19 Aug 2024 18:40:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 383A8C32782; Mon, 19 Aug 2024 18:40:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1724092831; bh=ZMbADLpUAELxGABAgnkEdvEemGcRN8dlaJqTQh3jz20=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=tf3yuuM1xaQV1GST44D/askCKHwx3RLYMccgOWofU5ZQowzzd2wkHcAKj8q2/9jps dWoDaTIPRud5AuoFw1vcPgEABHC5VQ6LtZPVWI+Rd+61P7xfAM0XghusGTHqqGAXwa ZuWS1bQ5p18MAH42HP2ERd+ay+LdSVSO2DNyXUOlGZRZU+BWq8SAQ+pD1CzCsQNt0n Yl0QmavVLBDvxe1bnFz8uRC1/IMU9GRj+viqsIf26HyBNL+1YlG61oc5g45sk30HhE 2aLe7pJ8xurVdeYOentskQg+vTtgtPrxjluAjbRzcxHR5eOHS8Yv8Xc/d6VU8RgR5J AKJCdvos/PpIQ== Date: Mon, 19 Aug 2024 12:40:28 -0600 From: "Rob Herring (Arm)" To: Andrew Jones Cc: loongarch@lists.linux.dev, linux-kernel@vger.kernel.org, palmer@dabbelt.com, Anup Patel , linux-mips@vger.kernel.org, maz@kernel.org, linux-riscv@lists.infradead.org, aou@eecs.berkeley.edu, mark.rutland@arm.com, linux-arm-kernel@lists.infradead.org, saravanak@google.com, paul.walmsley@sifive.com, devicetree@vger.kernel.org Subject: Re: [PATCH v3] of/irq: Support #msi-cells=<0> in of_msi_get_domain Message-ID: <172409282414.2143677.12162426898759329021.robh@kernel.org> References: <20240817074107.31153-2-ajones@ventanamicro.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240817074107.31153-2-ajones@ventanamicro.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240819_114032_539813_857FDDCC X-CRM114-Status: GOOD ( 16.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sat, 17 Aug 2024 09:41:08 +0200, Andrew Jones wrote: > An 'msi-parent' property with a single entry and no accompanying > '#msi-cells' property is considered the legacy definition as opposed > to its definition after being expanded with commit 126b16e2ad98 > ("Docs: dt: add generic MSI bindings"). However, the legacy > definition is completely compatible with the current definition and, > since of_phandle_iterator_next() tolerates missing and present-but- > zero *cells properties since commit e42ee61017f5 ("of: Let > of_for_each_phandle fallback to non-negative cell_count"), there's no > need anymore to special case the legacy definition in > of_msi_get_domain(). > > Indeed, special casing has turned out to be harmful, because, as of > commit 7c025238b47a ("dt-bindings: irqchip: Describe the IMX MU block > as a MSI controller"), MSI controller DT bindings have started > specifying '#msi-cells' as a required property (even when the value > must be zero) as an effort to make the bindings more explicit. But, > since the special casing of 'msi-parent' only uses the existence of > '#msi-cells' for its heuristic, and not whether or not it's also > nonzero, the legacy path is not taken. Furthermore, the path to > support the new, broader definition isn't taken either since that > path has been restricted to the platform-msi bus. > > But, neither the definition of 'msi-parent' nor the definition of > '#msi-cells' is platform-msi-specific (the platform-msi bus was just > the first bus that needed '#msi-cells'), so remove both the special > casing and the restriction. The code removal also requires changing > to of_parse_phandle_with_optional_args() in order to ensure the > legacy (but compatible) use of 'msi-parent' remains supported. This > not only simplifies the code but also resolves an issue with PCI > devices finding their MSI controllers on riscv, as the riscv,imsics > binding requires '#msi-cells=<0>'. > > Signed-off-by: Andrew Jones > --- > v3: > - switch to of_for_each_phandle() to further cleanup/simplify the > code [Rob] > v2: > - switch to of_parse_phandle_with_optional_args() to ensure the > absence of #msi-cells means count=0 > > drivers/of/irq.c | 35 ++++++++--------------------------- > 1 file changed, 8 insertions(+), 27 deletions(-) > Applied, thanks!