From: Boqun Feng <boqun.feng@gmail.com> To: Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org 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>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Rob Herring <robh@kernel.org>, Clint Sbisa <csbisa@amazon.com>, Boqun Feng <boqun.feng@gmail.com>, Ard Biesheuvel <ardb@kernel.org>, Sunil Muthuswamy <sunilmut@microsoft.com> Subject: [RFC 0/2] PCI: Introduce pci_ops::use_arch_sysdata Date: Sat, 20 Mar 2021 00:19:54 +0800 [thread overview] Message-ID: <20210319161956.2838291-1-boqun.feng@gmail.com> (raw) Hi Bjorn, I'm currently working on virtual PCI support for Hyper-V ARM64 guests. Similar to virtual PCI on x86 Hyper-V guests, the PCI root bus is not probed via ACPI (or of), it's probed from Hyper-V VMbus, therefore it doesn't have config window. Since ARM64 is a CONFIG_PCI_DOMAINS_GENERIC=y, PCI core code always treats as the root bus has a config window. So we need to resolve this and want to reuse the code as much as possible. My current solution is introducing a pci_ops::use_arch_sysdata, and if it's true, the PCI core code treats the pci_bus::sysdata as an arch-specific sysdata (rather than pci_config_window) for CONFIG_PCI_DOMAINS_GENERIC=y architectures. This allows us to reuse the existing code for Hyper-V PCI controller. This is simply a proposal, I'm open to any suggestion. Thanks! Regards, Boqun Boqun Feng (2): arm64: PCI: Allow use arch-specific pci sysdata PCI: hv: Tell PCI core arch-specific sysdata is used arch/arm64/include/asm/pci.h | 29 +++++++++++++++++++++++++++++ arch/arm64/kernel/pci.c | 15 ++++++++++++--- drivers/pci/controller/pci-hyperv.c | 3 +++ include/linux/pci.h | 3 +++ 4 files changed, 47 insertions(+), 3 deletions(-) -- 2.30.2
WARNING: multiple messages have this Message-ID (diff)
From: Boqun Feng <boqun.feng@gmail.com> To: Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org 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>, Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>, Rob Herring <robh@kernel.org>, Clint Sbisa <csbisa@amazon.com>, Boqun Feng <boqun.feng@gmail.com>, Ard Biesheuvel <ardb@kernel.org>, Sunil Muthuswamy <sunilmut@microsoft.com> Subject: [RFC 0/2] PCI: Introduce pci_ops::use_arch_sysdata Date: Sat, 20 Mar 2021 00:19:54 +0800 [thread overview] Message-ID: <20210319161956.2838291-1-boqun.feng@gmail.com> (raw) Hi Bjorn, I'm currently working on virtual PCI support for Hyper-V ARM64 guests. Similar to virtual PCI on x86 Hyper-V guests, the PCI root bus is not probed via ACPI (or of), it's probed from Hyper-V VMbus, therefore it doesn't have config window. Since ARM64 is a CONFIG_PCI_DOMAINS_GENERIC=y, PCI core code always treats as the root bus has a config window. So we need to resolve this and want to reuse the code as much as possible. My current solution is introducing a pci_ops::use_arch_sysdata, and if it's true, the PCI core code treats the pci_bus::sysdata as an arch-specific sysdata (rather than pci_config_window) for CONFIG_PCI_DOMAINS_GENERIC=y architectures. This allows us to reuse the existing code for Hyper-V PCI controller. This is simply a proposal, I'm open to any suggestion. Thanks! Regards, Boqun Boqun Feng (2): arm64: PCI: Allow use arch-specific pci sysdata PCI: hv: Tell PCI core arch-specific sysdata is used arch/arm64/include/asm/pci.h | 29 +++++++++++++++++++++++++++++ arch/arm64/kernel/pci.c | 15 ++++++++++++--- drivers/pci/controller/pci-hyperv.c | 3 +++ include/linux/pci.h | 3 +++ 4 files changed, 47 insertions(+), 3 deletions(-) -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-03-19 16:21 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-19 16:19 Boqun Feng [this message] 2021-03-19 16:19 ` [RFC 0/2] PCI: Introduce pci_ops::use_arch_sysdata Boqun Feng 2021-03-19 16:19 ` [RFC 1/2] arm64: PCI: Allow use arch-specific pci sysdata Boqun Feng 2021-03-19 16:19 ` Boqun Feng 2021-03-19 21:12 ` Bjorn Helgaas 2021-03-19 21:12 ` Bjorn Helgaas 2021-03-20 12:54 ` Marc Zyngier 2021-03-20 12:54 ` Marc Zyngier 2021-03-20 13:03 ` Arnd Bergmann 2021-03-20 13:03 ` Arnd Bergmann 2021-03-20 13:23 ` Marc Zyngier 2021-03-20 13:23 ` Marc Zyngier 2021-03-20 14:24 ` Arnd Bergmann 2021-03-20 14:24 ` Arnd Bergmann 2021-03-20 17:14 ` Marc Zyngier 2021-03-20 17:14 ` Marc Zyngier 2021-03-20 12:54 ` Arnd Bergmann 2021-03-20 12:54 ` Arnd Bergmann 2021-03-20 16:09 ` Arnd Bergmann 2021-03-20 16:09 ` Arnd Bergmann 2021-03-29 14:32 ` Boqun Feng 2021-03-29 14:32 ` Boqun Feng 2021-03-29 14:43 ` Arnd Bergmann 2021-03-29 14:43 ` Arnd Bergmann 2021-03-20 12:52 ` Arnd Bergmann 2021-03-20 12:52 ` Arnd Bergmann 2021-03-19 16:19 ` [RFC 2/2] PCI: hv: Tell PCI core arch-specific sysdata is used Boqun Feng 2021-03-19 16:19 ` Boqun Feng 2021-03-19 19:04 ` [RFC 0/2] PCI: Introduce pci_ops::use_arch_sysdata Bjorn Helgaas 2021-03-19 19:04 ` Bjorn Helgaas
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=20210319161956.2838291-1-boqun.feng@gmail.com \ --to=boqun.feng@gmail.com \ --cc=ardb@kernel.org \ --cc=bhelgaas@google.com \ --cc=catalin.marinas@arm.com \ --cc=csbisa@amazon.com \ --cc=haiyangz@microsoft.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=robh@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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.