[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210225151023.3642391-1-maz@kernel.org>
Date: Thu, 25 Feb 2021 15:10:10 +0000
From: Marc Zyngier <maz@...nel.org>
To: Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Bjorn Helgaas <bhelgaas@...gle.com>
Cc: Frank Wunderlich <frank-w@...lic-files.de>,
Thierry Reding <treding@...dia.com>,
Thomas Gleixner <tglx@...utronix.de>,
Rob Herring <robh@...nel.org>, Will Deacon <will@...nel.org>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Wei Liu <wei.liu@...nel.org>,
Thierry Reding <thierry.reding@...il.com>,
Jonathan Hunter <jonathanh@...dia.com>,
Ryder Lee <ryder.lee@...iatek.com>,
Marek Vasut <marek.vasut+renesas@...il.com>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
Michal Simek <michal.simek@...inx.com>,
Paul Walmsley <paul.walmsley@...ive.com>,
linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-hyperv@...r.kernel.org,
linux-tegra@...r.kernel.org, linux-mediatek@...ts.infradead.org,
linux-renesas-soc@...r.kernel.org
Subject: [PATCH 00/13] PCI: MSI: Getting rid of msi_controller, and other cleanups
The msi_controller data structure was the first attempt at treating
MSIs like any other interrupt. We replaced it a few years ago with the
generic MSI framework, but as it turns out, some older drivers are
still using it.
This series aims at converting these stragglers, drop msi_controller,
and fix some other nits such as having ways for a host bridge to
advertise whether it supports MSIs or not.
A few notes:
- The Tegra patch is the result of back and forth work with Thierry: I
wrote the initial patch, which didn't work (I didn't have any HW at
the time). Thierry made it work, and I subsequently fixed a couple
of bugs/cleanups. I'm responsible for the result, so don't blame
Thierry for any of it! FWIW, I'm now running a Jetson TX2 with its
root fs over NVME, and MSIs are OK.
- RCAR is totally untested, though Marek had a go at a previous
version. More testing required.
- The xilinx stuff is *really* untested. Paul, if you have a RISC-V
board that uses it, could you please give it a go? Michal, same
thing for the stuff you have at hand...
- hyperv: I don't have access to such hypervisor, and no way to test
it. Help welcomed.
- The patches dealing with the advertising of MSI handling are the
result of a long discussion that took place here[1]. I took the
liberty to rejig Thomas' initial patches, and add what I needed for
the MSI domain stuff. Again, blame me if something is wrong, and not
Thomas.
Feedback welcome.
M.
[1] https://lore.kernel.org/r/20201031140330.83768-1-linux@fw-web.de
Marc Zyngier (11):
PCI: tegra: Convert to MSI domains
PCI: rcar: Convert to MSI domains
PCI: xilinx: Convert to MSI domains
PCI: hyperv: Drop msi_controller structure
PCI: MSI: Drop use of msi_controller from core code
PCI: MSI: Kill msi_controller structure
PCI: MSI: Kill default_teardown_msi_irqs()
PCI: MSI: Let PCI host bridges declare their reliance on MSI domains
PCI: Make pci_host_common_probe() declare its reliance on MSI domains
PCI: MSI: Document the various ways of ending up with NO_MSI
PCI: quirks: Refactor advertising of the NO_MSI flag
Thomas Gleixner (2):
PCI: MSI: Let PCI host bridges declare their lack of MSI handling
PCI: mediatek: Advertise lack of MSI handling
drivers/pci/controller/Kconfig | 4 +-
drivers/pci/controller/pci-host-common.c | 1 +
drivers/pci/controller/pci-hyperv.c | 4 -
drivers/pci/controller/pci-tegra.c | 343 ++++++++++++-----------
drivers/pci/controller/pcie-mediatek.c | 4 +
drivers/pci/controller/pcie-rcar-host.c | 342 +++++++++++-----------
drivers/pci/controller/pcie-xilinx.c | 238 +++++++---------
drivers/pci/msi.c | 46 +--
drivers/pci/probe.c | 4 +-
drivers/pci/quirks.c | 15 +-
include/linux/msi.h | 17 +-
include/linux/pci.h | 4 +-
12 files changed, 463 insertions(+), 559 deletions(-)
--
2.29.2
Powered by blists - more mailing lists