linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] PCI: MSI: Getting rid of msi_controller, and other cleanups
@ 2021-02-25 15:10 Marc Zyngier
  2021-02-25 15:10 ` [PATCH 01/13] PCI: tegra: Convert to MSI domains Marc Zyngier
                   ` (13 more replies)
  0 siblings, 14 replies; 29+ messages in thread
From: Marc Zyngier @ 2021-02-25 15:10 UTC (permalink / raw)
  To: Lorenzo Pieralisi, Bjorn Helgaas
  Cc: Frank Wunderlich, Thierry Reding, Thomas Gleixner, Rob Herring,
	Will Deacon, K. Y. Srinivasan, Haiyang Zhang, Stephen Hemminger,
	Wei Liu, Thierry Reding, Jonathan Hunter, Ryder Lee, Marek Vasut,
	Yoshihiro Shimoda, Michal Simek, Paul Walmsley, linux-pci,
	linux-kernel, linux-arm-kernel, linux-hyperv, linux-tegra,
	linux-mediatek, linux-renesas-soc

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


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2021-03-22 14:05 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-25 15:10 [PATCH 00/13] PCI: MSI: Getting rid of msi_controller, and other cleanups Marc Zyngier
2021-02-25 15:10 ` [PATCH 01/13] PCI: tegra: Convert to MSI domains Marc Zyngier
2021-02-25 15:10 ` [PATCH 02/13] PCI: rcar: " Marc Zyngier
2021-02-28 18:48   ` Marek Vasut
2021-02-25 15:10 ` [PATCH 03/13] PCI: xilinx: " Marc Zyngier
2021-03-22 12:21   ` Lorenzo Pieralisi
2021-03-22 12:33     ` Michal Simek
2021-03-22 14:04       ` Marc Zyngier
2021-03-22 12:23   ` Lorenzo Pieralisi
2021-03-22 12:33     ` Michal Simek
2021-03-22 14:04     ` Marc Zyngier
2021-02-25 15:10 ` [PATCH 04/13] PCI: hyperv: Drop msi_controller structure Marc Zyngier
2021-03-01  4:24   ` Michael Kelley
2021-02-25 15:10 ` [PATCH 05/13] PCI: MSI: Drop use of msi_controller from core code Marc Zyngier
2021-02-25 15:10 ` [PATCH 06/13] PCI: MSI: Kill msi_controller structure Marc Zyngier
2021-02-25 15:10 ` [PATCH 07/13] PCI: MSI: Kill default_teardown_msi_irqs() Marc Zyngier
2021-02-25 15:10 ` [PATCH 08/13] PCI: MSI: Let PCI host bridges declare their lack of MSI handling Marc Zyngier
2021-02-25 15:10 ` [PATCH 09/13] PCI: mediatek: Advertise " Marc Zyngier
2021-03-01 10:43   ` Aw: " Frank Wunderlich
2021-03-01 11:49     ` Marc Zyngier
2021-03-01 12:16       ` Aw: " Frank Wunderlich
2021-03-01 13:31         ` Marc Zyngier
2021-03-01 14:06           ` Aw: " Frank Wunderlich
2021-03-02 10:35             ` Robin Murphy
2021-02-25 15:10 ` [PATCH 10/13] PCI: MSI: Let PCI host bridges declare their reliance on MSI domains Marc Zyngier
2021-02-25 15:10 ` [PATCH 11/13] PCI: Make pci_host_common_probe() declare its " Marc Zyngier
2021-02-25 15:10 ` [PATCH 12/13] PCI: MSI: Document the various ways of ending up with NO_MSI Marc Zyngier
2021-02-25 15:10 ` [PATCH 13/13] PCI: quirks: Refactor advertising of the NO_MSI flag Marc Zyngier
2021-03-10 19:29 ` [PATCH 00/13] PCI: MSI: Getting rid of msi_controller, and other cleanups Bjorn Helgaas

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).