linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali@kernel.org>
To: "Michael Ellerman" <mpe@ellerman.id.au>,
	"Benjamin Herrenschmidt" <benh@kernel.crashing.org>,
	"Paul Mackerras" <paulus@samba.org>,
	"Christophe Leroy" <christophe.leroy@csgroup.eu>,
	"Cédric Le Goater" <clg@kaod.org>,
	"Nick Child" <nick.child@ibm.com>,
	"Bjorn Helgaas" <helgaas@kernel.org>
Cc: linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 0/5] powerpc/pci: Cleanup unused code and enable 256 PCI buses
Date: Wed,  6 Jul 2022 12:43:03 +0200	[thread overview]
Message-ID: <20220706104308.5390-1-pali@kernel.org> (raw)

This patch series cleanup unused code by eliminating it at compile time
and then enable usage of all 256 PCI buses per every PCI domain as
currently PCI bus numbers have to be unique across all PCI domains.
So first bus number of each PCI domain would be zero and not the bus
number of the previous domain plus one. As such bus assignment changes
BDF address of every PCI device on multi-domain system, this new
"feature" is configurable by config option to prevent regressions.

Tested on Freescale P2020 board. Before this patch lspci reports:

8000:00:00.0 PCI bridge: Freescale Semiconductor Inc P2020E (rev 21)
8000:01:00.0 USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02)
9000:02:00.0 PCI bridge: Freescale Semiconductor Inc P2020E (rev 21)
9000:03:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
a000:04:00.0 PCI bridge: Freescale Semiconductor Inc P2020E (rev 21)
a000:05:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter

With these patches and enabled config option it reports:

8000:00:00.0 PCI bridge: Freescale Semiconductor Inc P2020E (rev 21)
8000:01:00.0 USB controller: Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02)
9000:00:00.0 PCI bridge: Freescale Semiconductor Inc P2020E (rev 21)
9000:01:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
a000:00:00.0 PCI bridge: Freescale Semiconductor Inc P2020E (rev 21)
a000:01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter

Now every PCIe Root Port is on bus zero and theoretically with enough
multiport PCIe switches connected to every PCIe Root Port, it should be
possible to have 256 PCI buses on every PCIe controller (as each is in
own PCI domain) and therefore connect more PCIe cards as without these
patches.

Pali Rohár (5):
  powerpc/pci: Hide pci_device_from_OF_node() for non-powermac code
  powerpc/pci: Make pcibios_make_OF_bus_map() static
  powerpc/pci: Hide pci_create_OF_bus_map() for non-chrp code
  powerpc/pci: Disable filling pci-OF-bus-map for non-chrp/powermac
  powerpc/pci: Add config option for using all 256 PCI buses

 arch/powerpc/Kconfig                  | 11 +++++++++++
 arch/powerpc/include/asm/pci-bridge.h |  4 ++++
 arch/powerpc/kernel/pci_32.c          | 27 +++++++++++++++++++++------
 arch/powerpc/kernel/pci_64.c          |  2 ++
 4 files changed, 38 insertions(+), 6 deletions(-)

-- 
2.20.1


             reply	other threads:[~2022-07-06 10:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-06 10:43 Pali Rohár [this message]
2022-07-06 10:43 ` [PATCH 1/5] powerpc/pci: Hide pci_device_from_OF_node() for non-powermac code Pali Rohár
2022-07-11 22:35   ` Bjorn Helgaas
2022-07-06 10:43 ` [PATCH 2/5] powerpc/pci: Make pcibios_make_OF_bus_map() static Pali Rohár
2022-07-06 10:43 ` [PATCH 3/5] powerpc/pci: Hide pci_create_OF_bus_map() for non-chrp code Pali Rohár
2022-07-06 10:43 ` [PATCH 4/5] powerpc/pci: Disable filling pci-OF-bus-map for non-chrp/powermac Pali Rohár
2022-07-06 10:43 ` [PATCH 5/5] powerpc/pci: Add config option for using all 256 PCI buses Pali Rohár
2022-07-21 22:21   ` Pali Rohár
2022-07-26 11:02     ` Michael Ellerman
2022-07-26 11:10       ` Pali Rohár
2022-08-17 16:42         ` Pali Rohár
2022-07-29 13:02 ` [PATCH 0/5] powerpc/pci: Cleanup unused code and enable " Michael Ellerman

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=20220706104308.5390-1-pali@kernel.org \
    --to=pali@kernel.org \
    --cc=benh@kernel.crashing.org \
    --cc=christophe.leroy@csgroup.eu \
    --cc=clg@kaod.org \
    --cc=helgaas@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=nick.child@ibm.com \
    --cc=paulus@samba.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).