mbox series

[00/18] PCI: aardvark controller changes BATCH 5

Message ID 20220220193346.23789-1-kabel@kernel.org
Headers show
Series PCI: aardvark controller changes BATCH 5 | expand

Message

Marek Behún Feb. 20, 2022, 7:33 p.m. UTC
Hello Lorenzo, Krzysztof,

here comes batch 5 of changes for Aardvark PCIe controller.

This batch
- adds support for AER
- adds support for DLLSC and hotplug interrupt
- adds support for sending slot power limit message
- adds enabling/disabling PCIe clock
- adds suspend support
- optimizes link training by adding it into separate worker
- optimizes GPIO resetting by asserting it only if it wasn't asserted
  already

Marek

Marek Behún (1):
  arm64: dts: marvell: armada-37xx: Add clock to PCIe node

Miquel Raynal (2):
  PCI: aardvark: Add clock support
  PCI: aardvark: Add suspend to RAM support

Pali Rohár (13):
  PCI: aardvark: Add support for AER registers on emulated bridge
  PCI: Add PCI_EXP_SLTCAP_*_SHIFT macros
  PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
  PCI: pciehp: Enable DLLSC interrupt only if supported
  PCI: pciehp: Enable Command Completed Interrupt only if supported
  PCI: aardvark: Add support for DLLSC and hotplug interrupt
  PCI: Add PCI_EXP_SLTCTL_ASPL_DISABLE macro
  PCI: Add function for parsing `slot-power-limit-milliwatt` DT property
  dt-bindings: PCI: aardvark: Describe slot-power-limit-milliwatt
  PCI: aardvark: Send Set_Slot_Power_Limit message
  arm64: dts: armada-3720-turris-mox: Define slot-power-limit-milliwatt
    for PCIe
  PCI: aardvark: Run link training in separate worker
  PCI: aardvark: Optimize PCIe card reset via GPIO

Russell King (2):
  PCI: pci-bridge-emul: Re-arrange register tests
  PCI: pci-bridge-emul: Add support for PCIe extended capabilities

 .../devicetree/bindings/pci/aardvark-pci.txt  |   2 +
 .../dts/marvell/armada-3720-turris-mox.dts    |   1 +
 arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |   1 +
 drivers/pci/controller/pci-aardvark.c         | 380 ++++++++++++++++--
 drivers/pci/hotplug/pciehp_hpc.c              |  34 +-
 drivers/pci/hotplug/pnv_php.c                 |  13 +-
 drivers/pci/of.c                              |  64 +++
 drivers/pci/pci-bridge-emul.c                 | 130 +++---
 drivers/pci/pci-bridge-emul.h                 |  15 +
 drivers/pci/pci.h                             |  15 +
 include/uapi/linux/pci_regs.h                 |   4 +
 11 files changed, 565 insertions(+), 94 deletions(-)

Comments

Lorenzo Pieralisi April 11, 2022, 3:36 p.m. UTC | #1
On Sun, Feb 20, 2022 at 08:33:28PM +0100, Marek Behún wrote:
> Hello Lorenzo, Krzysztof,
> 
> here comes batch 5 of changes for Aardvark PCIe controller.
> 
> This batch
> - adds support for AER
> - adds support for DLLSC and hotplug interrupt
> - adds support for sending slot power limit message
> - adds enabling/disabling PCIe clock
> - adds suspend support
> - optimizes link training by adding it into separate worker
> - optimizes GPIO resetting by asserting it only if it wasn't asserted
>   already
> 
> Marek

Hi Marek,

I noticed Pali posted patches [9,11] separately:

https://lore.kernel.org/linux-pci/20220325093827.4983-1-pali@kernel.org

I will review the rest of the series - when it comes to merging patches
we will handle how to apply them.

Lorenzo

> Marek Behún (1):
>   arm64: dts: marvell: armada-37xx: Add clock to PCIe node
> 
> Miquel Raynal (2):
>   PCI: aardvark: Add clock support
>   PCI: aardvark: Add suspend to RAM support
> 
> Pali Rohár (13):
>   PCI: aardvark: Add support for AER registers on emulated bridge
>   PCI: Add PCI_EXP_SLTCAP_*_SHIFT macros
>   PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
>   PCI: pciehp: Enable DLLSC interrupt only if supported
>   PCI: pciehp: Enable Command Completed Interrupt only if supported
>   PCI: aardvark: Add support for DLLSC and hotplug interrupt
>   PCI: Add PCI_EXP_SLTCTL_ASPL_DISABLE macro
>   PCI: Add function for parsing `slot-power-limit-milliwatt` DT property
>   dt-bindings: PCI: aardvark: Describe slot-power-limit-milliwatt
>   PCI: aardvark: Send Set_Slot_Power_Limit message
>   arm64: dts: armada-3720-turris-mox: Define slot-power-limit-milliwatt
>     for PCIe
>   PCI: aardvark: Run link training in separate worker
>   PCI: aardvark: Optimize PCIe card reset via GPIO
> 
> Russell King (2):
>   PCI: pci-bridge-emul: Re-arrange register tests
>   PCI: pci-bridge-emul: Add support for PCIe extended capabilities
> 
>  .../devicetree/bindings/pci/aardvark-pci.txt  |   2 +
>  .../dts/marvell/armada-3720-turris-mox.dts    |   1 +
>  arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |   1 +
>  drivers/pci/controller/pci-aardvark.c         | 380 ++++++++++++++++--
>  drivers/pci/hotplug/pciehp_hpc.c              |  34 +-
>  drivers/pci/hotplug/pnv_php.c                 |  13 +-
>  drivers/pci/of.c                              |  64 +++
>  drivers/pci/pci-bridge-emul.c                 | 130 +++---
>  drivers/pci/pci-bridge-emul.h                 |  15 +
>  drivers/pci/pci.h                             |  15 +
>  include/uapi/linux/pci_regs.h                 |   4 +
>  11 files changed, 565 insertions(+), 94 deletions(-)
> 
> -- 
> 2.34.1
>
Pali Rohár April 11, 2022, 4:53 p.m. UTC | #2
On Monday 11 April 2022 16:36:43 Lorenzo Pieralisi wrote:
> On Sun, Feb 20, 2022 at 08:33:28PM +0100, Marek Behún wrote:
> > Hello Lorenzo, Krzysztof,
> > 
> > here comes batch 5 of changes for Aardvark PCIe controller.
> > 
> > This batch
> > - adds support for AER
> > - adds support for DLLSC and hotplug interrupt
> > - adds support for sending slot power limit message
> > - adds enabling/disabling PCIe clock
> > - adds suspend support
> > - optimizes link training by adding it into separate worker
> > - optimizes GPIO resetting by asserting it only if it wasn't asserted
> >   already
> > 
> > Marek
> 
> Hi Marek,
> 
> I noticed Pali posted patches [9,11] separately:
> 
> https://lore.kernel.org/linux-pci/20220325093827.4983-1-pali@kernel.org

Patches 9,10,11 from this patch series are also in above mvebu patch
series as they are required for other patch in above patch series.

Above patch series is v3 and I'm planning to send v4 to address all
review issues.

So basically patches 9,10,11 in this patch series should be replaced
with new version.

> I will review the rest of the series - when it comes to merging patches
> we will handle how to apply them.
> 
> Lorenzo
> 
> > Marek Behún (1):
> >   arm64: dts: marvell: armada-37xx: Add clock to PCIe node
> > 
> > Miquel Raynal (2):
> >   PCI: aardvark: Add clock support
> >   PCI: aardvark: Add suspend to RAM support
> > 
> > Pali Rohár (13):
> >   PCI: aardvark: Add support for AER registers on emulated bridge
> >   PCI: Add PCI_EXP_SLTCAP_*_SHIFT macros
> >   PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
> >   PCI: pciehp: Enable DLLSC interrupt only if supported
> >   PCI: pciehp: Enable Command Completed Interrupt only if supported
> >   PCI: aardvark: Add support for DLLSC and hotplug interrupt
> >   PCI: Add PCI_EXP_SLTCTL_ASPL_DISABLE macro
> >   PCI: Add function for parsing `slot-power-limit-milliwatt` DT property
> >   dt-bindings: PCI: aardvark: Describe slot-power-limit-milliwatt
> >   PCI: aardvark: Send Set_Slot_Power_Limit message
> >   arm64: dts: armada-3720-turris-mox: Define slot-power-limit-milliwatt
> >     for PCIe
> >   PCI: aardvark: Run link training in separate worker
> >   PCI: aardvark: Optimize PCIe card reset via GPIO
> > 
> > Russell King (2):
> >   PCI: pci-bridge-emul: Re-arrange register tests
> >   PCI: pci-bridge-emul: Add support for PCIe extended capabilities
> > 
> >  .../devicetree/bindings/pci/aardvark-pci.txt  |   2 +
> >  .../dts/marvell/armada-3720-turris-mox.dts    |   1 +
> >  arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |   1 +
> >  drivers/pci/controller/pci-aardvark.c         | 380 ++++++++++++++++--
> >  drivers/pci/hotplug/pciehp_hpc.c              |  34 +-
> >  drivers/pci/hotplug/pnv_php.c                 |  13 +-
> >  drivers/pci/of.c                              |  64 +++
> >  drivers/pci/pci-bridge-emul.c                 | 130 +++---
> >  drivers/pci/pci-bridge-emul.h                 |  15 +
> >  drivers/pci/pci.h                             |  15 +
> >  include/uapi/linux/pci_regs.h                 |   4 +
> >  11 files changed, 565 insertions(+), 94 deletions(-)
> > 
> > -- 
> > 2.34.1
> >
Lorenzo Pieralisi May 13, 2022, 10:33 a.m. UTC | #3
On Sun, Feb 20, 2022 at 08:33:28PM +0100, Marek Behún wrote:
> Hello Lorenzo, Krzysztof,
> 
> here comes batch 5 of changes for Aardvark PCIe controller.
> 
> This batch
> - adds support for AER
> - adds support for DLLSC and hotplug interrupt
> - adds support for sending slot power limit message
> - adds enabling/disabling PCIe clock
> - adds suspend support
> - optimizes link training by adding it into separate worker
> - optimizes GPIO resetting by asserting it only if it wasn't asserted
>   already

I had a look and I can take patches 3 and 5 to cut the delta further,
please let me know if that helps.

Thanks,
Lorenzo

> Marek
> 
> Marek Behún (1):
>   arm64: dts: marvell: armada-37xx: Add clock to PCIe node
> 
> Miquel Raynal (2):
>   PCI: aardvark: Add clock support
>   PCI: aardvark: Add suspend to RAM support
> 
> Pali Rohár (13):
>   PCI: aardvark: Add support for AER registers on emulated bridge
>   PCI: Add PCI_EXP_SLTCAP_*_SHIFT macros
>   PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
>   PCI: pciehp: Enable DLLSC interrupt only if supported
>   PCI: pciehp: Enable Command Completed Interrupt only if supported
>   PCI: aardvark: Add support for DLLSC and hotplug interrupt
>   PCI: Add PCI_EXP_SLTCTL_ASPL_DISABLE macro
>   PCI: Add function for parsing `slot-power-limit-milliwatt` DT property
>   dt-bindings: PCI: aardvark: Describe slot-power-limit-milliwatt
>   PCI: aardvark: Send Set_Slot_Power_Limit message
>   arm64: dts: armada-3720-turris-mox: Define slot-power-limit-milliwatt
>     for PCIe
>   PCI: aardvark: Run link training in separate worker
>   PCI: aardvark: Optimize PCIe card reset via GPIO
> 
> Russell King (2):
>   PCI: pci-bridge-emul: Re-arrange register tests
>   PCI: pci-bridge-emul: Add support for PCIe extended capabilities
> 
>  .../devicetree/bindings/pci/aardvark-pci.txt  |   2 +
>  .../dts/marvell/armada-3720-turris-mox.dts    |   1 +
>  arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |   1 +
>  drivers/pci/controller/pci-aardvark.c         | 380 ++++++++++++++++--
>  drivers/pci/hotplug/pciehp_hpc.c              |  34 +-
>  drivers/pci/hotplug/pnv_php.c                 |  13 +-
>  drivers/pci/of.c                              |  64 +++
>  drivers/pci/pci-bridge-emul.c                 | 130 +++---
>  drivers/pci/pci-bridge-emul.h                 |  15 +
>  drivers/pci/pci.h                             |  15 +
>  include/uapi/linux/pci_regs.h                 |   4 +
>  11 files changed, 565 insertions(+), 94 deletions(-)
> 
> -- 
> 2.34.1
>
Pali Rohár May 13, 2022, 4:48 p.m. UTC | #4
On Friday 13 May 2022 11:33:28 Lorenzo Pieralisi wrote:
> On Sun, Feb 20, 2022 at 08:33:28PM +0100, Marek Behún wrote:
> > Hello Lorenzo, Krzysztof,
> > 
> > here comes batch 5 of changes for Aardvark PCIe controller.
> > 
> > This batch
> > - adds support for AER
> > - adds support for DLLSC and hotplug interrupt
> > - adds support for sending slot power limit message
> > - adds enabling/disabling PCIe clock
> > - adds suspend support
> > - optimizes link training by adding it into separate worker
> > - optimizes GPIO resetting by asserting it only if it wasn't asserted
> >   already
> 
> I had a look and I can take patches 3 and 5 to cut the delta further,
> please let me know if that helps.

Hello! Hopefully Marek would be back in week or more. Meanwhile patches
3 and 5 should be fine to take.

> Thanks,
> Lorenzo
> 
> > Marek
> > 
> > Marek Behún (1):
> >   arm64: dts: marvell: armada-37xx: Add clock to PCIe node
> > 
> > Miquel Raynal (2):
> >   PCI: aardvark: Add clock support
> >   PCI: aardvark: Add suspend to RAM support
> > 
> > Pali Rohár (13):
> >   PCI: aardvark: Add support for AER registers on emulated bridge
> >   PCI: Add PCI_EXP_SLTCAP_*_SHIFT macros
> >   PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
> >   PCI: pciehp: Enable DLLSC interrupt only if supported
> >   PCI: pciehp: Enable Command Completed Interrupt only if supported
> >   PCI: aardvark: Add support for DLLSC and hotplug interrupt
> >   PCI: Add PCI_EXP_SLTCTL_ASPL_DISABLE macro
> >   PCI: Add function for parsing `slot-power-limit-milliwatt` DT property
> >   dt-bindings: PCI: aardvark: Describe slot-power-limit-milliwatt
> >   PCI: aardvark: Send Set_Slot_Power_Limit message
> >   arm64: dts: armada-3720-turris-mox: Define slot-power-limit-milliwatt
> >     for PCIe
> >   PCI: aardvark: Run link training in separate worker
> >   PCI: aardvark: Optimize PCIe card reset via GPIO
> > 
> > Russell King (2):
> >   PCI: pci-bridge-emul: Re-arrange register tests
> >   PCI: pci-bridge-emul: Add support for PCIe extended capabilities
> > 
> >  .../devicetree/bindings/pci/aardvark-pci.txt  |   2 +
> >  .../dts/marvell/armada-3720-turris-mox.dts    |   1 +
> >  arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |   1 +
> >  drivers/pci/controller/pci-aardvark.c         | 380 ++++++++++++++++--
> >  drivers/pci/hotplug/pciehp_hpc.c              |  34 +-
> >  drivers/pci/hotplug/pnv_php.c                 |  13 +-
> >  drivers/pci/of.c                              |  64 +++
> >  drivers/pci/pci-bridge-emul.c                 | 130 +++---
> >  drivers/pci/pci-bridge-emul.h                 |  15 +
> >  drivers/pci/pci.h                             |  15 +
> >  include/uapi/linux/pci_regs.h                 |   4 +
> >  11 files changed, 565 insertions(+), 94 deletions(-)
> > 
> > -- 
> > 2.34.1
> >
Lorenzo Pieralisi May 18, 2022, 3:54 p.m. UTC | #5
On Sun, 20 Feb 2022 20:33:28 +0100, Marek Behún wrote:
> here comes batch 5 of changes for Aardvark PCIe controller.
> 
> This batch
> - adds support for AER
> - adds support for DLLSC and hotplug interrupt
> - adds support for sending slot power limit message
> - adds enabling/disabling PCIe clock
> - adds suspend support
> - optimizes link training by adding it into separate worker
> - optimizes GPIO resetting by asserting it only if it wasn't asserted
>   already
> 
> [...]

Applied to pci/aardvark, thanks!

[03/18] PCI: aardvark: Add support for AER registers on emulated bridge
        https://git.kernel.org/lpieralisi/pci/c/06228c0ae2
[05/18] PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
        https://git.kernel.org/lpieralisi/pci/c/bf8dd34079

Thanks,
Lorenzo
Lorenzo Pieralisi Aug. 16, 2022, 4:25 p.m. UTC | #6
On Sun, Feb 20, 2022 at 08:33:28PM +0100, Marek Behún wrote:
> Hello Lorenzo, Krzysztof,
> 
> here comes batch 5 of changes for Aardvark PCIe controller.
> 
> This batch
> - adds support for AER
> - adds support for DLLSC and hotplug interrupt
> - adds support for sending slot power limit message
> - adds enabling/disabling PCIe clock
> - adds suspend support
> - optimizes link training by adding it into separate worker
> - optimizes GPIO resetting by asserting it only if it wasn't asserted
>   already
> 
> Marek
> 
> Marek Behún (1):
>   arm64: dts: marvell: armada-37xx: Add clock to PCIe node
> 
> Miquel Raynal (2):
>   PCI: aardvark: Add clock support
>   PCI: aardvark: Add suspend to RAM support
> 
> Pali Rohár (13):
>   PCI: aardvark: Add support for AER registers on emulated bridge
>   PCI: Add PCI_EXP_SLTCAP_*_SHIFT macros
>   PCI: aardvark: Fix reporting Slot capabilities on emulated bridge
>   PCI: pciehp: Enable DLLSC interrupt only if supported
>   PCI: pciehp: Enable Command Completed Interrupt only if supported
>   PCI: aardvark: Add support for DLLSC and hotplug interrupt
>   PCI: Add PCI_EXP_SLTCTL_ASPL_DISABLE macro
>   PCI: Add function for parsing `slot-power-limit-milliwatt` DT property
>   dt-bindings: PCI: aardvark: Describe slot-power-limit-milliwatt
>   PCI: aardvark: Send Set_Slot_Power_Limit message
>   arm64: dts: armada-3720-turris-mox: Define slot-power-limit-milliwatt
>     for PCIe
>   PCI: aardvark: Run link training in separate worker
>   PCI: aardvark: Optimize PCIe card reset via GPIO
> 
> Russell King (2):
>   PCI: pci-bridge-emul: Re-arrange register tests
>   PCI: pci-bridge-emul: Add support for PCIe extended capabilities
> 
>  .../devicetree/bindings/pci/aardvark-pci.txt  |   2 +
>  .../dts/marvell/armada-3720-turris-mox.dts    |   1 +
>  arch/arm64/boot/dts/marvell/armada-37xx.dtsi  |   1 +
>  drivers/pci/controller/pci-aardvark.c         | 380 ++++++++++++++++--
>  drivers/pci/hotplug/pciehp_hpc.c              |  34 +-
>  drivers/pci/hotplug/pnv_php.c                 |  13 +-
>  drivers/pci/of.c                              |  64 +++
>  drivers/pci/pci-bridge-emul.c                 | 130 +++---
>  drivers/pci/pci-bridge-emul.h                 |  15 +
>  drivers/pci/pci.h                             |  15 +
>  include/uapi/linux/pci_regs.h                 |   4 +
>  11 files changed, 565 insertions(+), 94 deletions(-)

Hi Marek,

back from a hiatus, just catching up with threads. According to
patchwork patches {8,14,16} of this series are still to be
reviewed; may I ask you please an update on the status and we
will take it from there.

Thanks,
Lorenzo
Marek Behún Aug. 18, 2022, 1:56 p.m. UTC | #7
On Tue, 16 Aug 2022 18:25:48 +0200
Lorenzo Pieralisi <lpieralisi@kernel.org> wrote:

> Hi Marek,
> 
> back from a hiatus, just catching up with threads. According to
> patchwork patches {8,14,16} of this series are still to be
> reviewed; may I ask you please an update on the status and we
> will take it from there.

Sent batch 6 :)