linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Boqun Feng <boqun.feng@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
	Arnd Bergmann <arnd@arndb.de>, Marc Zyngier <maz@kernel.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: "Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	"Haiyang Zhang" <haiyangz@microsoft.com>,
	"Stephen Hemminger" <sthemmin@microsoft.com>,
	"Wei Liu" <wei.liu@kernel.org>,
	"Dexuan Cui" <decui@microsoft.com>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Wilczyński" <kw@linux.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-pci@vger.kernel.org,
	"Sunil Muthuswamy" <sunilmut@microsoft.com>,
	"Mike Rapoport" <rppt@kernel.org>
Subject: [PATCH v6 6/8] PCI: hv: Set ->domain_nr of pci_host_bridge at probing time
Date: Tue, 27 Jul 2021 02:06:55 +0800	[thread overview]
Message-ID: <20210726180657.142727-7-boqun.feng@gmail.com> (raw)
In-Reply-To: <20210726180657.142727-1-boqun.feng@gmail.com>

No functional change, just store and maintain the PCI domain number in
the ->domain_nr of pci_host_bridge. Note that we still need to keep
the copy of domain number in x86-specific pci_sysdata, because x86 is
not a PCI_DOMAINS_GENERIC=y architecture, so the ->domain_nr of
pci_host_bridge doesn't work for it yet.

Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
---
 drivers/pci/controller/pci-hyperv.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index 8d42da5dd1d4..5741b1dd3c14 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -2299,7 +2299,7 @@ static void hv_eject_device_work(struct work_struct *work)
 	 * because hbus->bridge->bus may not exist yet.
 	 */
 	wslot = wslot_to_devfn(hpdev->desc.win_slot.slot);
-	pdev = pci_get_domain_bus_and_slot(hbus->sysdata.domain, 0, wslot);
+	pdev = pci_get_domain_bus_and_slot(hbus->bridge->domain_nr, 0, wslot);
 	if (pdev) {
 		pci_lock_rescan_remove();
 		pci_stop_and_remove_bus_device(pdev);
@@ -3071,6 +3071,7 @@ static int hv_pci_probe(struct hv_device *hdev,
 			 "PCI dom# 0x%hx has collision, using 0x%hx",
 			 dom_req, dom);
 
+	hbus->bridge->domain_nr = dom;
 	hbus->sysdata.domain = dom;
 
 	hbus->hdev = hdev;
@@ -3080,7 +3081,7 @@ static int hv_pci_probe(struct hv_device *hdev,
 	spin_lock_init(&hbus->device_list_lock);
 	spin_lock_init(&hbus->retarget_msi_interrupt_lock);
 	hbus->wq = alloc_ordered_workqueue("hv_pci_%x", 0,
-					   hbus->sysdata.domain);
+					   hbus->bridge->domain_nr);
 	if (!hbus->wq) {
 		ret = -ENOMEM;
 		goto free_dom;
@@ -3207,7 +3208,7 @@ static int hv_pci_probe(struct hv_device *hdev,
 destroy_wq:
 	destroy_workqueue(hbus->wq);
 free_dom:
-	hv_put_dom_num(hbus->sysdata.domain);
+	hv_put_dom_num(hbus->bridge->domain_nr);
 free_bus:
 	kfree(hbus);
 	return ret;
@@ -3315,7 +3316,7 @@ static int hv_pci_remove(struct hv_device *hdev)
 	irq_domain_remove(hbus->irq_domain);
 	irq_domain_free_fwnode(hbus->sysdata.fwnode);
 
-	hv_put_dom_num(hbus->sysdata.domain);
+	hv_put_dom_num(hbus->bridge->domain_nr);
 
 	kfree(hbus);
 	return ret;
-- 
2.32.0


  parent reply	other threads:[~2021-07-26 18:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-26 18:06 [PATCH v6 0/8] PCI: hv: Support host bridge probing on ARM64 Boqun Feng
2021-07-26 18:06 ` [PATCH v6 1/8] PCI: Introduce domain_nr in pci_host_bridge Boqun Feng
2021-07-26 18:06 ` [PATCH v6 2/8] PCI: Support populating MSI domains of root buses via bridges Boqun Feng
2021-07-27 16:14   ` Bjorn Helgaas
2021-07-26 18:06 ` [PATCH v6 3/8] arm64: PCI: Restructure pcibios_root_bridge_prepare() Boqun Feng
2021-08-23  9:43   ` Catalin Marinas
2021-07-26 18:06 ` [PATCH v6 4/8] arm64: PCI: Support root bridge preparation for Hyper-V Boqun Feng
2021-08-19 16:13   ` Boqun Feng
2021-08-20 17:49     ` Catalin Marinas
2021-08-23  9:12       ` Lorenzo Pieralisi
2021-08-23  9:43   ` Catalin Marinas
2021-07-26 18:06 ` [PATCH v6 5/8] PCI: hv: Generify PCI probing Boqun Feng
2021-07-26 18:06 ` Boqun Feng [this message]
2021-07-26 18:06 ` [PATCH v6 7/8] PCI: hv: Set up MSI domain at bridge probing time Boqun Feng
2021-07-26 18:06 ` [PATCH v6 8/8] PCI: hv: Turn on the host bridge probing on ARM64 Boqun Feng
2021-08-03 17:14   ` Lorenzo Pieralisi
2021-08-09 14:38     ` Boqun Feng
2021-08-09 15:53       ` Lorenzo Pieralisi
2021-08-19 12:19         ` Boqun Feng
2021-07-27 16:12 ` [PATCH v6 0/8] PCI: hv: Support " Bjorn Helgaas
2021-08-02  8:13   ` Boqun Feng
2021-08-02  8:15 ` Boqun Feng
2021-08-02 23:05   ` Bjorn Helgaas
2021-08-19 14:17 ` Lorenzo Pieralisi
2021-08-19 15:47   ` Boqun Feng
2021-08-23 10:10     ` Lorenzo Pieralisi
2021-08-23 12:49       ` Boqun Feng
2021-08-23 10:02 ` Lorenzo Pieralisi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210726180657.142727-7-boqun.feng@gmail.com \
    --to=boqun.feng@gmail.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=decui@microsoft.com \
    --cc=haiyangz@microsoft.com \
    --cc=kw@linux.com \
    --cc=kys@microsoft.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=maz@kernel.org \
    --cc=robh@kernel.org \
    --cc=rppt@kernel.org \
    --cc=sthemmin@microsoft.com \
    --cc=sunilmut@microsoft.com \
    --cc=wei.liu@kernel.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).