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 X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 61520C433C1 for ; Sat, 20 Mar 2021 13:25:12 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D104B61962 for ; Sat, 20 Mar 2021 13:25:11 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D104B61962 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Subject:Cc:To: From:Message-ID:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Wsh+ALbf/1BWZOYWgTYXDgdQisW3tJQMzFt6UMs0f0s=; b=creg8TvYXN0E0YPPkmAT92YZB +nZTy9ad1v6xPcUkqgwIskD9/VfjeWIRkpZpBwz4iBVbmWNDRwswmgoA3/A5RrI3Kog1wAWeCVmD7 GaQSc3Ob6pdymC6WqoftcEo/sIkHatAv+P6d2Bs6IhDoI8/lR7vVw7TMGx4fJA3d+ATn14R6UX9bd 51pQ3Kx4NqfEPpC58hp7bv6eQreGE765fJZcWiGAZZNVbuccTanIy3TJhNEoq+5n0nT0DN7gVoKtw hi4+COi65HXqaJdQnGbkKLGByv+enhKhmoyIw+oSkqMHUiXbx5dmhyx3f23YZi+tXXRvGoWu2SQmD FYKijiaIw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lNbZv-008s94-QO; Sat, 20 Mar 2021 13:23:43 +0000 Received: from mail.kernel.org ([198.145.29.99]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lNbZr-008s8j-7o for linux-arm-kernel@lists.infradead.org; Sat, 20 Mar 2021 13:23:41 +0000 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 4CDE461970; Sat, 20 Mar 2021 13:23:37 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] 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) (envelope-from ) id 1lNbZn-002mhT-BP; Sat, 20 Mar 2021 13:23:35 +0000 Date: Sat, 20 Mar 2021 13:23:34 +0000 Message-ID: <87sg4qgdrd.wl-maz@kernel.org> From: Marc Zyngier To: Arnd Bergmann Cc: Bjorn Helgaas , Boqun Feng , Bjorn Helgaas , Linux ARM , Linux Kernel Mailing List , Linux on Hyper-V List , linux-pci , Catalin Marinas , Will Deacon , "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , Wei Liu , Lorenzo Pieralisi , Rob Herring , Clint Sbisa , Ard Biesheuvel , Sunil Muthuswamy Subject: Re: [RFC 1/2] arm64: PCI: Allow use arch-specific pci sysdata In-Reply-To: References: <20210319161956.2838291-2-boqun.feng@gmail.com> <20210319211246.GA250618@bjorn-Precision-5520> <87tup6gf3m.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") X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: arnd@arndb.de, helgaas@kernel.org, boqun.feng@gmail.com, bhelgaas@google.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org, catalin.marinas@arm.com, will@kernel.org, kys@microsoft.com, haiyangz@microsoft.com, sthemmin@microsoft.com, wei.liu@kernel.org, lorenzo.pieralisi@arm.com, robh@kernel.org, csbisa@amazon.com, ardb@kernel.org, sunilmut@microsoft.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210320_132339_606859_57C263F7 X-CRM114-Status: GOOD ( 33.94 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Sat, 20 Mar 2021 13:03:13 +0000, Arnd Bergmann wrote: > > On Sat, Mar 20, 2021 at 1:54 PM Marc Zyngier wrote: > > On Fri, 19 Mar 2021 21:12:46 +0000, > > > > > > > Ugh. pci_root_bus_fwnode() is another callback to find the > > > irq_domain. Only one call, from pci_host_bridge_msi_domain(), which > > > itself is only called from pci_set_bus_msi_domain(). This feels like > > > another case where we could simplify things by having the host bridge > > > driver figure out the irq_domain explicitly when it creates the > > > pci_host_bridge. It seems like that's where we have the most > > > information about how to find the irq_domain. > > > > Urgh. This is a perfect copy paste of the x86 horror, warts and all. > > I can't say I'm thrilled (another way to say "Gawd, Noes! Never!"). > > > > One thing I am sure of is that I do not want to add more custom > > indirection to build the MSI topology. We barely got rid of the > > msi_controller structure, and this is the same thing by another > > name. Probably worse, actually. > > > > In this case, I don't see the point in going via a fwnode indirection > > given that there is no firmware tables the first place. > > > > As for finding the irq domain from the host bridge, that's not doable > > in most cases on arm64, as it is pretty likely that the host bridge > > knows nothing about MSIs when they are implemented in the GIC (see my > > recent msi_controller removal series that has a few patches about > > that). > > > > Having an optional callback to host bridges to obtain the MSI domain > > may be possible in some cases though (there might be a chicken/egg > > problem for some drivers though...). > > I would expect that the host bridge driver can find the MSI domain > at probe time and just add a pointer into the pci_host_bridge > structure. In most cases, it doesn't implement it itself, and I'd be reluctant to duplicate information that can already be retrieved from somewhere else in a generic way (i.e. no PCI specific). M. -- Without deviation from the norm, progress is not possible. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel