mbox series

[00/10] PCI: Add generic Conf Type 0/1 helpers

Message ID 20240429104633.11060-1-ilpo.jarvinen@linux.intel.com
Headers show
Series PCI: Add generic Conf Type 0/1 helpers | expand

Message

Ilpo Järvinen April 29, 2024, 10:46 a.m. UTC
This series replaces PCI_CONF1{,_EXT}_ADDRESS() with more generic
helpers and makes them more widely available by placing the new helpers
into include/linux/pci.h.

Most of what is under drivers/pci/controller is converted to use the
new helpers by this series. I left arch/ changes out from this because
they're quite varied so they would be harder to verify (and review)
except ARM/orion5x that I had to do now due to a naming conflict.
Nonetheless, there is plenty custom type 0/1 code under arch/ that
could now take advantage of the new helpers.

I've postponed touching pcie-mediatek.c because there's odd slot
calculation which I brought up in another thread.

Ilpo Järvinen (10):
  ARM: orion5x: Rename PCI_CONF_{REG,FUNC}() out of the way
  PCI: Add helpers to calculate PCI Conf Type 0/1 addresses
  ARM: orion5x: Pass devfn to orion5x_pci_hw_{rd,wr}_conf()
  ARM: orion5x: Use generic PCI Conf Type 1 helper
  PCI: ixp4xx: Use generic PCI Conf Type 0 helper
  PCI: ixp4xx: Replace 1 with PCI_CONF1_TRANSACTION
  PCI: Replace PCI_CONF1{,_EXT}_ADDRESS() with the new helpers
  PCI: tegra: Use generic PCI Conf Type 1 helper
  PCI: mvebu: Use generic PCI Conf Type 1 helper
  PCI: v3: Use generic PCI Conf Type 0/1 helpers

 arch/arm/mach-orion5x/pci.c           | 54 +++++++----------
 drivers/pci/controller/pci-ftpci100.c |  6 +-
 drivers/pci/controller/pci-ixp4xx.c   |  9 ++-
 drivers/pci/controller/pci-mvebu.c    | 13 +---
 drivers/pci/controller/pci-tegra.c    | 12 +---
 drivers/pci/controller/pci-v3-semi.c  |  6 +-
 drivers/pci/controller/pcie-mt7621.c  |  7 +--
 drivers/pci/pci.h                     | 45 --------------
 include/linux/pci.h                   | 86 +++++++++++++++++++++++++++
 9 files changed, 123 insertions(+), 115 deletions(-)

Comments

Pali Rohár April 29, 2024, 6:23 p.m. UTC | #1
On Monday 29 April 2024 13:46:23 Ilpo Järvinen wrote:
> This series replaces PCI_CONF1{,_EXT}_ADDRESS() with more generic
> helpers and makes them more widely available by placing the new helpers
> into include/linux/pci.h.

There was a request to move these macros from include/linux/pci.h file
to the driver/pci/pci.h file...

https://lore.kernel.org/linux-pci/20220913211143.GA624473@bhelgaas/

Something was changed that it has to be moved back?
Ilpo Järvinen April 30, 2024, 11:18 a.m. UTC | #2
On Mon, 29 Apr 2024, Pali Rohár wrote:

> On Monday 29 April 2024 13:46:23 Ilpo Järvinen wrote:
> > This series replaces PCI_CONF1{,_EXT}_ADDRESS() with more generic
> > helpers and makes them more widely available by placing the new helpers
> > into include/linux/pci.h.
> 
> There was a request to move these macros from include/linux/pci.h file
> to the driver/pci/pci.h file...
> 
> https://lore.kernel.org/linux-pci/20220913211143.GA624473@bhelgaas/
> 
> Something was changed that it has to be moved back?

I wasn't aware of this thread.

I'm actually a bit surprised by that suggestion because of the abundance 
of arch/ examples but maybe this too boils down to the configuration 
mechanism vs configuration commands thing.