mbox series

[v2,00/23] PCI: aardvark controller fixes BATCH 4

Message ID 20220110015018.26359-1-kabel@kernel.org (mailing list archive)
Headers show
Series PCI: aardvark controller fixes BATCH 4 | expand

Message

Marek Behún Jan. 10, 2022, 1:49 a.m. UTC
Hello Lorenzo, Bjorn and Marc,

this is v2 of fourth batch of fixes for the Aardvark PCIe controller
driver.

Stuff is converted to new interrupt APIs and recommendations from Marc.
Marc, could you look at these and acknowledge or comment?

This series mainly fixes and adds support for stuff around interrupts:
the most important thing is fixing MSI support.

The series is rebased on helgaas/next.

Marek

Changes since v1:
- added patches converting irq_chip and msi_domain_info structures into
  static driver structures, instead of creating them dynamically, as
  suggested by Marc
- added some small patches that should be easy to review
  - conversion to use constants from linux/pci.h instead of ad-hoc
    constants int patch 1
  - use dev_fwnode(dev) instead of of_node_to_fwnode(dev->of_node) in
    patch 8
  - fix of a comment in patch 22

Marek Behún (6):
  PCI: aardvark: Make MSI irq_chip structures static driver structures
  PCI: aardvark: Make msi_domain_info structure a static driver
    structure
  PCI: aardvark: Use dev_fwnode() instead of
    of_node_to_fwnode(dev->of_node)
  PCI: aardvark: Drop __maybe_unused from advk_pcie_disable_phy()
  PCI: aardvark: Update comment about link going down after link-up
  PCI: aardvark: Make main irq_chip structure a static driver structure

Pali Rohár (17):
  PCI: aardvark: Replace custom PCIE_CORE_INT_* macros with
    PCI_INTERRUPT_*
  PCI: aardvark: Fix reading MSI interrupt number
  PCI: aardvark: Fix support for MSI interrupts
  PCI: aardvark: Rewrite IRQ code to chained IRQ handler
  PCI: aardvark: Check return value of generic_handle_domain_irq() when
    processing INTx IRQ
  PCI: aardvark: Refactor unmasking summary MSI interrupt
  PCI: aardvark: Add support for masking MSI interrupts
  PCI: aardvark: Fix setting MSI address
  PCI: aardvark: Enable MSI-X support
  PCI: aardvark: Add support for ERR interrupt on emulated bridge
  PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
  PCI: aardvark: Optimize writing PCI_EXP_RTCTL_PMEIE and
    PCI_EXP_RTSTA_PME on emulated bridge
  PCI: aardvark: Add support for PME interrupts
  PCI: aardvark: Fix support for PME requester on emulated bridge
  PCI: aardvark: Use separate INTA interrupt for emulated root bridge
  PCI: aardvark: Remove irq_mask_ack callback for INTx interrupts
  PCI: aardvark: Don't mask irq when mapping

 drivers/pci/controller/pci-aardvark.c | 415 +++++++++++++++++---------
 1 file changed, 281 insertions(+), 134 deletions(-)

Comments

Lorenzo Pieralisi Feb. 8, 2022, 10:50 a.m. UTC | #1
On Mon, 10 Jan 2022 02:49:55 +0100, Marek Behún wrote:
> this is v2 of fourth batch of fixes for the Aardvark PCIe controller
> driver.
> 
> Stuff is converted to new interrupt APIs and recommendations from Marc.
> Marc, could you look at these and acknowledge or comment?
> 
> This series mainly fixes and adds support for stuff around interrupts:
> the most important thing is fixing MSI support.
> 
> [...]

Applied to pci/aardvark, thanks!

[01/23] PCI: aardvark: Replace custom PCIE_CORE_INT_* macros with PCI_INTERRUPT_*
        https://git.kernel.org/lpieralisi/pci/c/1d86abf1f8
[02/23] PCI: aardvark: Fix reading MSI interrupt number
        https://git.kernel.org/lpieralisi/pci/c/805dfc18dd
[03/23] PCI: aardvark: Fix support for MSI interrupts
        https://git.kernel.org/lpieralisi/pci/c/b0b0b8b897
[04/23] PCI: aardvark: Rewrite IRQ code to chained IRQ handler
        https://git.kernel.org/lpieralisi/pci/c/1571d67dc1
[05/23] PCI: aardvark: Check return value of generic_handle_domain_irq() when processing INTx IRQ
        https://git.kernel.org/lpieralisi/pci/c/51f96e287c
[06/23] PCI: aardvark: Make MSI irq_chip structures static driver structures
        https://git.kernel.org/lpieralisi/pci/c/c3cb8e5183
[07/23] PCI: aardvark: Make msi_domain_info structure a static driver structure
        https://git.kernel.org/lpieralisi/pci/c/26bcd54e4a
[08/23] PCI: aardvark: Use dev_fwnode() instead of of_node_to_fwnode(dev->of_node)
        https://git.kernel.org/lpieralisi/pci/c/222af78532
[09/23] PCI: aardvark: Refactor unmasking summary MSI interrupt
        https://git.kernel.org/lpieralisi/pci/c/4689c09163
[10/23] PCI: aardvark: Add support for masking MSI interrupts
        https://git.kernel.org/lpieralisi/pci/c/e77d9c9069
[11/23] PCI: aardvark: Fix setting MSI address
        https://git.kernel.org/lpieralisi/pci/c/46ad3dc417
[12/23] PCI: aardvark: Enable MSI-X support
        https://git.kernel.org/lpieralisi/pci/c/754e449889
[13/23] PCI: aardvark: Add support for ERR interrupt on emulated bridge
        https://git.kernel.org/lpieralisi/pci/c/3ebfefa396
[14/23] PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge
        https://git.kernel.org/lpieralisi/pci/c/735f5ae49e
[15/23] PCI: aardvark: Optimize writing PCI_EXP_RTCTL_PMEIE and PCI_EXP_RTSTA_PME on emulated bridge
        https://git.kernel.org/lpieralisi/pci/c/7122bcb332
[16/23] PCI: aardvark: Add support for PME interrupts
        https://git.kernel.org/lpieralisi/pci/c/0fc75d8745
[17/23] PCI: aardvark: Fix support for PME requester on emulated bridge
        https://git.kernel.org/lpieralisi/pci/c/273ddd86d6
[18/23] PCI: aardvark: Use separate INTA interrupt for emulated root bridge
        https://git.kernel.org/lpieralisi/pci/c/815bc31368
[19/23] PCI: aardvark: Remove irq_mask_ack callback for INTx interrupts
        https://git.kernel.org/lpieralisi/pci/c/b08e5b53d1
[20/23] PCI: aardvark: Don't mask irq when mapping
        https://git.kernel.org/lpieralisi/pci/c/befa710001
[21/23] PCI: aardvark: Drop __maybe_unused from advk_pcie_disable_phy()
        https://git.kernel.org/lpieralisi/pci/c/0c36ab437e
[22/23] PCI: aardvark: Update comment about link going down after link-up
        https://git.kernel.org/lpieralisi/pci/c/92f4ffecc4

Thanks,
Lorenzo