From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7D43215E7F1 for ; Thu, 18 Apr 2024 11:46:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713440768; cv=none; b=Vo92CV5eP9myIRg9c4O/qGBH818jEShz5ZVQ738W86XIA6y0wQ6xhASCRzUPMlzkikKc7F55U6i4a5LHs1GB9RLF6YBsWx+qjnm3Q+pMvyY6Q6a8h8B5A9cNheXxfs/DjChJ2pNH++TyQNProkMlcDrz+SXKlLfTYjP5MjIr+Nk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713440768; c=relaxed/simple; bh=RRGuCpmn9QpJJtwiZl5qPKqvfeSljByY3/4eHt18EWs=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=c1qsKvd9Z7/ZS/thMTlkhFk1VkucO3ajZk4vAW+HiQFpVYxIPkz6DaN9tzdmA+qsLOqa0P0qmep9sNvKntzdJVWH5b9NUsBjVB1iJPOhyOEdmirJzOLzTvJhtlKrV6qGKDwZ0TnW6EJrDaIs/kuyILf5owgpV+l33bVJHnncAPA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com; spf=pass smtp.mailfrom=ventanamicro.com; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b=CTRY/soJ; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ventanamicro.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ventanamicro.com header.i=@ventanamicro.com header.b="CTRY/soJ" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-1e424bd30fbso6730525ad.0 for ; Thu, 18 Apr 2024 04:46:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1713440765; x=1714045565; darn=lists.linux.dev; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=tse31PpId242mWCWoF9F68b2IO88pQ6rFBjaTyilK9M=; b=CTRY/soJNBu59A2zngHTyWk2HT4mDUTHx/PRr/cE/YW5RBe7DO7IeFy04bvb+K13XE zQf0Xokz4JKxpcBSawH4LKJ5wgwTJWJXZVmauFqUOSFes0+8S9YbhsMaTWj2W+9luj3S cheftyT8P0v5AbgjuU6bn/DP1XxptzmElubjxgIDKoEVrKraebvbMMoO/4EqJEv8HxO4 hbAWBMfl+0xRS7uJB6LMckb5KFXuIT8B9Jl2xCnBMQnNcHEjo+/NdyywQQZgYUhZMdKW eRuO8jxgjgXPVLrP8i0lJh8aI4W3dlMXKoPu7LACkwXNsxJvksSWFp5iB9EX0Zg1O9xw nG1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713440765; x=1714045565; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tse31PpId242mWCWoF9F68b2IO88pQ6rFBjaTyilK9M=; b=nLY8Y2mPLfW+IE2BnxoQHLY9Hd9oeCdNjPS343WRWG5kdsnp7cJIrJP1QALTQLK3Kw vnoquhqBBcpAmKfJy11+/8/WsSrEVAobMCqfXKKt8Un1vVn1dFlOiLdBb6F104wxqlrh ZLEbiaZfVikUetgvFSYj41XnieXmvwEIZPSynjRMjXFJQTHscPyxnzq4OAA8tL8HeyGT Zf3F81z1093C6hyp9uhmjyhwNO5nvUxMtvr7V2idrGJWvu770KlZSd+Q1iiyaTLxJ/O3 hrjartcc1d889UohhtOXlMg0kHQ2uYWgDHVJnlcz3xem80s5MYyALF6xtPmyr88iCAv+ 1a8w== X-Forwarded-Encrypted: i=1; AJvYcCUIcbc34hl+Ev9UXQVvKds1CgYXsnp8sHEmQp79EqXyJwL48xxfOVVIoaT+6VNUFFC8oetaP5BO+I2GLOStYFzseQ6Skg3/vk72sbnM X-Gm-Message-State: AOJu0YzlRnnOXQZOnVpWl8vh55za1NIMJtOGicLpRJ5UvV27O1Cp3qFb THBzqlGAPREqh6WF4XKODIEWrlp6v9rqC+pt28sFs/qWzaGrRcjplpYqWS+nz/A= X-Google-Smtp-Source: AGHT+IHRN0PX0++JRfnr2/T3yLJtW4R020dQU6g3OEB6EOIeUseXqxzCCZJlgMQ9PVF1Si/Jw1nqbQ== X-Received: by 2002:a17:902:ec90:b0:1e4:911b:7a6b with SMTP id x16-20020a170902ec9000b001e4911b7a6bmr3458551plg.61.1713440764817; Thu, 18 Apr 2024 04:46:04 -0700 (PDT) Received: from sunil-laptop ([106.51.189.72]) by smtp.gmail.com with ESMTPSA id x1-20020a170902ec8100b001e5cadbdf8csm1327734plg.37.2024.04.18.04.45.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Apr 2024 04:46:04 -0700 (PDT) Date: Thu, 18 Apr 2024 17:15:53 +0530 From: Sunil V L To: Bjorn Helgaas Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, acpica-devel@lists.linux.dev, Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , "Rafael J . Wysocki" , Len Brown , Bjorn Helgaas , Anup Patel , Thomas Gleixner , Samuel Holland , Robert Moore , Haibo1 Xu , Conor Dooley , Andrew Jones , Atish Kumar Patra , Andrei Warkentin , Marc Zyngier , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= Subject: Re: [RFC PATCH v4 03/20] PCI: Make pci_create_root_bus() declare its reliance on MSI domains Message-ID: References: <20240416204653.GA164172@bhelgaas> Precedence: bulk X-Mailing-List: acpica-devel@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Hi Bjorn, On Wed, Apr 17, 2024 at 09:03:13PM +0530, Sunil V L wrote: > > I think fundamentally there are two issues here. > > 1) MSI domain should have been setup properly when > pci_register_host_bridge() is called. I see that pci_arch_init() which > is supposed to get called early calls x86_create_pci_msi_domain(). > pci_register_host_bridge() also calls pci_set_bus_msi_domain() to setup > the MSI domain which can walk up to host bridge to find. So, not sure > why PCI_BUS_FLAGS_NO_MSI is getting set. Is there an issue in walking up > the tree? > I think I understand now why this is happening on X86. In X86, even though x86_create_pci_msi_domain() sets up the MSI domain, it never informs IRQ framework. Only later in pcibios_device_add(), the device's MSI domain will be set which is too late for this bridge logic. So, when pci_set_bus_msi_domain() is called from pci_register_host_bridge(), it will not get it. It works in RISC-V (I guess ARM64 as well) because, the irqchip driver for MSI controller registers using pci_msi_register_fwnode_provider(). But, if we set bridge->msi_domain = true in X86, it will disable MSI even though it supports MSI which is really bad. Please correct me if I am wrong with the analysis. If correct, what do you think the way forward if using CONFIG option is not good? I tried to register the domain in below commit but I don't feel it is a cleaner way. https://github.com/vlsunil/linux/commit/d6cf76f10c225c94fffb286b7a3e803a4e37df54 Thanks, Sunil 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 CCFE4C4345F for ; Thu, 18 Apr 2024 11:46:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+4O6NcYZH7iUOwiROiys6xXARz+DBNUd6Lr9Mvf43pI=; b=RbDud5dzrzsaoF XwCxIHCTGhpCQrE22G70QduxF6aKPh0vFapaD692x3+kikqihBLOQM8HqRvU7D9XM+ZiknQB+qXr4 /PoCabYQHX15JqsHKjtauCDOvfRnYQPAUPCU0qzJqnj6Zidjxy7+EntNbxHfvL6KRsFAkMSOtphnV kKCXhXm4h6tmsl3N9K/yB6iudY5fjpFIZJ0ljMH01gPTVPLDVsgbUZZtEc6zJsbr8xbz13jW97nSx jDSkm6BmkdlyIWzxzJXXd2YJCLD9g2w/GzYVHiclZf4cbH+6XnB5An/SSskO7NkC60wZhyB6SXXk8 VpEUBeR73zc9w2LUl1Uw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rxQDS-000000022mc-1yfM; Thu, 18 Apr 2024 11:46:10 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rxQDO-000000022lc-3yCq for linux-riscv@lists.infradead.org; Thu, 18 Apr 2024 11:46:08 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1e51398cc4eso6806075ad.2 for ; Thu, 18 Apr 2024 04:46:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1713440765; x=1714045565; darn=lists.infradead.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=tse31PpId242mWCWoF9F68b2IO88pQ6rFBjaTyilK9M=; b=UvEng+BhsQI00F5NyWnH8TFLnUuHb9PLGQJQO1w79hnx1sm6Va2wobTeOjMTVpjd5g Ua+pLus+l5t4YWJkCfLbaLmSLAfxlic3tWZf4T9wnLQqWLHSGZHb/X5XniDH+o/HYwHU LWoLxdIR3mHTz1NJGO7mRNEHGYVB1NYeKnPcisnrl+BOxmnCEW1hWHOMLvRmv2K9FZO0 YMrsw959WgEheE99TRbgTVmt+M20Qlxvx5dWCTXmfwXlUyKhH/JicPS/pWMebB4bW518 GGq9CbqUByzp4miPgJst0+PZNpwa1f2im5yKevIsljZ1YZ45rwLirTJ6QoYIV1Dtluzh kNIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713440765; x=1714045565; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tse31PpId242mWCWoF9F68b2IO88pQ6rFBjaTyilK9M=; b=FyiD8OGwg92eVwvWIcGOG2IbDfAfyVCVtBkm//DqpiVWCW6ME+EZ31a4bhy2B9U2y3 SWdzFGBgEXQ+hhWbrdCEn8QMUC85mI+nm+qjds4dUT2bysoae3aqjl2DHeVopF1f3FM0 O29d4HxmNUCU+UFu7XDI331ELE3JgreoF1MsSuBtoaP5jIGjIADMC8rv4vTjcVK0wDBC CgB9V+M9EJUVRpWVAr63XyVjtsgp1jnQeQ21LFRLx2QMV/Se38R2/I3fKFBUfiiIKq/y BJuptLKgpA+leYBxPMsgEpwhnHxXbX/outfnXddVvLj8HGyPiJzCFffzmE/09LkaFvm0 /d4Q== X-Forwarded-Encrypted: i=1; AJvYcCW10AZtZwmSmpdci0RVcS/1zlpv9L6eOIZ757hOE4m26QJ7juLA/v68aqXrkBvlFduApCJfJQBMl0nCEjhhKJFsDwRzJSP6hgMu6TaLsztQ X-Gm-Message-State: AOJu0YwZKYC8koiL+ZVD/+XYFsiPx0PKvfI2NbriLIeB2TQ5LOfReasz aZS/M6fHajYihpneHrbaofeJuuy6YU/W0OBKXsbeSj6IBzEh5RwJc7i3XjgElhM= X-Google-Smtp-Source: AGHT+IHRN0PX0++JRfnr2/T3yLJtW4R020dQU6g3OEB6EOIeUseXqxzCCZJlgMQ9PVF1Si/Jw1nqbQ== X-Received: by 2002:a17:902:ec90:b0:1e4:911b:7a6b with SMTP id x16-20020a170902ec9000b001e4911b7a6bmr3458551plg.61.1713440764817; Thu, 18 Apr 2024 04:46:04 -0700 (PDT) Received: from sunil-laptop ([106.51.189.72]) by smtp.gmail.com with ESMTPSA id x1-20020a170902ec8100b001e5cadbdf8csm1327734plg.37.2024.04.18.04.45.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Apr 2024 04:46:04 -0700 (PDT) Date: Thu, 18 Apr 2024 17:15:53 +0530 From: Sunil V L To: Bjorn Helgaas Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, acpica-devel@lists.linux.dev, Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , "Rafael J . Wysocki" , Len Brown , Bjorn Helgaas , Anup Patel , Thomas Gleixner , Samuel Holland , Robert Moore , Haibo1 Xu , Conor Dooley , Andrew Jones , Atish Kumar Patra , Andrei Warkentin , Marc Zyngier , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= Subject: Re: [RFC PATCH v4 03/20] PCI: Make pci_create_root_bus() declare its reliance on MSI domains Message-ID: References: <20240416204653.GA164172@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240418_044607_021163_C4D03CBE X-CRM114-Status: GOOD ( 17.86 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org Hi Bjorn, On Wed, Apr 17, 2024 at 09:03:13PM +0530, Sunil V L wrote: > > I think fundamentally there are two issues here. > > 1) MSI domain should have been setup properly when > pci_register_host_bridge() is called. I see that pci_arch_init() which > is supposed to get called early calls x86_create_pci_msi_domain(). > pci_register_host_bridge() also calls pci_set_bus_msi_domain() to setup > the MSI domain which can walk up to host bridge to find. So, not sure > why PCI_BUS_FLAGS_NO_MSI is getting set. Is there an issue in walking up > the tree? > I think I understand now why this is happening on X86. In X86, even though x86_create_pci_msi_domain() sets up the MSI domain, it never informs IRQ framework. Only later in pcibios_device_add(), the device's MSI domain will be set which is too late for this bridge logic. So, when pci_set_bus_msi_domain() is called from pci_register_host_bridge(), it will not get it. It works in RISC-V (I guess ARM64 as well) because, the irqchip driver for MSI controller registers using pci_msi_register_fwnode_provider(). But, if we set bridge->msi_domain = true in X86, it will disable MSI even though it supports MSI which is really bad. Please correct me if I am wrong with the analysis. If correct, what do you think the way forward if using CONFIG option is not good? I tried to register the domain in below commit but I don't feel it is a cleaner way. https://github.com/vlsunil/linux/commit/d6cf76f10c225c94fffb286b7a3e803a4e37df54 Thanks, Sunil _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv 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 48128C4345F for ; Thu, 18 Apr 2024 11:46:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2dYy10AHLC+qVHfGtq2rDT1TO02NpKVw3us/M7g4zqo=; b=sNYtjqE7WX/+Ff +giHJknJKdTaEzh+hK/tNNiLsxtSISLoCXFrq9s+ZeDNLklVI/+V4MnxZtAOxLLemV8H+jLzwJjn6 KJvuaXesHorX2/aMGVEtC0BoL+WuQXHEu36G0DeZgdkDjBCb1Nk6+jRCVjlEObY/G7I+prgQQda3Z SoE24/5g0Tc9T3FrN+pjeliyJWKfxU4CY2Pp9dlCPHYWIg/LvOWWKDgAj4MyZ+2cseEnKP2lOA7Mp wJuPhBy6uJilwvvbo7qa1rMU5RDeDMXSX2vz9BWgy0XEfBmrtNGvQYdcAizOAibKIXVvgLl+gtHmu pX1B5ounhKMQ0mSwmWwQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rxQDT-000000022mi-0LjV; Thu, 18 Apr 2024 11:46:11 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rxQDP-000000022ld-06N5 for linux-arm-kernel@lists.infradead.org; Thu, 18 Apr 2024 11:46:08 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-1e852b2c780so6278965ad.1 for ; Thu, 18 Apr 2024 04:46:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1713440765; x=1714045565; darn=lists.infradead.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=tse31PpId242mWCWoF9F68b2IO88pQ6rFBjaTyilK9M=; b=UvEng+BhsQI00F5NyWnH8TFLnUuHb9PLGQJQO1w79hnx1sm6Va2wobTeOjMTVpjd5g Ua+pLus+l5t4YWJkCfLbaLmSLAfxlic3tWZf4T9wnLQqWLHSGZHb/X5XniDH+o/HYwHU LWoLxdIR3mHTz1NJGO7mRNEHGYVB1NYeKnPcisnrl+BOxmnCEW1hWHOMLvRmv2K9FZO0 YMrsw959WgEheE99TRbgTVmt+M20Qlxvx5dWCTXmfwXlUyKhH/JicPS/pWMebB4bW518 GGq9CbqUByzp4miPgJst0+PZNpwa1f2im5yKevIsljZ1YZ45rwLirTJ6QoYIV1Dtluzh kNIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713440765; x=1714045565; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tse31PpId242mWCWoF9F68b2IO88pQ6rFBjaTyilK9M=; b=VIMgH3bfIpGbXpavDnB7gk4XPVNNGl0X1SjGKTHLE0iS4h2YECygiIxx40fteWCQxQ djgm6ZK0aj59cUmVDGtoe4H3PjWH1OkaXfYMHsosKyAOt9Y/7Utbh/eZUv8tOfSCwbEF xt74dgrHNgg3g1WnlkAwAb5OMY+xdkIdWaBR0S/FSELafrP5GiD4zVI40Lr3DpvFEybI yvA2edZtzE4ldBuXAtpfwIHgL/992Yq+H8Ini6m8hdcPO+D3HVJnav4ElBUI6Yd8B0UO mYPaJrLjeBjwR/UJ587XjH8Uri2Rdl/lnwFI21u0ppQXw/xXi0gU870EKbgxu2Ezqpf3 zvqw== X-Gm-Message-State: AOJu0Ywt3vfLDRgqiG4xHNu3zahn2cWETTjkbV8kepPeLigyJ3XwqoRg c1AIzeAZdQf03PJ/YmEpHPtMwHYNdINS4FFbqCGNjCgoLrtxLIIUNMEHh8LoBjw= X-Google-Smtp-Source: AGHT+IHRN0PX0++JRfnr2/T3yLJtW4R020dQU6g3OEB6EOIeUseXqxzCCZJlgMQ9PVF1Si/Jw1nqbQ== X-Received: by 2002:a17:902:ec90:b0:1e4:911b:7a6b with SMTP id x16-20020a170902ec9000b001e4911b7a6bmr3458551plg.61.1713440764817; Thu, 18 Apr 2024 04:46:04 -0700 (PDT) Received: from sunil-laptop ([106.51.189.72]) by smtp.gmail.com with ESMTPSA id x1-20020a170902ec8100b001e5cadbdf8csm1327734plg.37.2024.04.18.04.45.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Apr 2024 04:46:04 -0700 (PDT) Date: Thu, 18 Apr 2024 17:15:53 +0530 From: Sunil V L To: Bjorn Helgaas Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, linux-acpi@vger.kernel.org, linux-pci@vger.kernel.org, acpica-devel@lists.linux.dev, Catalin Marinas , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou , "Rafael J . Wysocki" , Len Brown , Bjorn Helgaas , Anup Patel , Thomas Gleixner , Samuel Holland , Robert Moore , Haibo1 Xu , Conor Dooley , Andrew Jones , Atish Kumar Patra , Andrei Warkentin , Marc Zyngier , =?utf-8?B?QmrDtnJuIFTDtnBlbA==?= Subject: Re: [RFC PATCH v4 03/20] PCI: Make pci_create_root_bus() declare its reliance on MSI domains Message-ID: References: <20240416204653.GA164172@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240418_044607_080508_30A191B9 X-CRM114-Status: GOOD ( 19.76 ) 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 Hi Bjorn, On Wed, Apr 17, 2024 at 09:03:13PM +0530, Sunil V L wrote: > > I think fundamentally there are two issues here. > > 1) MSI domain should have been setup properly when > pci_register_host_bridge() is called. I see that pci_arch_init() which > is supposed to get called early calls x86_create_pci_msi_domain(). > pci_register_host_bridge() also calls pci_set_bus_msi_domain() to setup > the MSI domain which can walk up to host bridge to find. So, not sure > why PCI_BUS_FLAGS_NO_MSI is getting set. Is there an issue in walking up > the tree? > I think I understand now why this is happening on X86. In X86, even though x86_create_pci_msi_domain() sets up the MSI domain, it never informs IRQ framework. Only later in pcibios_device_add(), the device's MSI domain will be set which is too late for this bridge logic. So, when pci_set_bus_msi_domain() is called from pci_register_host_bridge(), it will not get it. It works in RISC-V (I guess ARM64 as well) because, the irqchip driver for MSI controller registers using pci_msi_register_fwnode_provider(). But, if we set bridge->msi_domain = true in X86, it will disable MSI even though it supports MSI which is really bad. Please correct me if I am wrong with the analysis. If correct, what do you think the way forward if using CONFIG option is not good? I tried to register the domain in below commit but I don't feel it is a cleaner way. https://github.com/vlsunil/linux/commit/d6cf76f10c225c94fffb286b7a3e803a4e37df54 Thanks, Sunil _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel