mbox series

[v5,0/2] Add new UniPhier PCIe host driver

Message ID 1544143992-16385-1-git-send-email-hayashi.kunihiko@socionext.com (mailing list archive)
Headers show
Series Add new UniPhier PCIe host driver | expand

Message

Kunihiko Hayashi Dec. 7, 2018, 12:53 a.m. UTC
This series adds PCIe host controller driver for Socionext UniPhier SoCs.
This controller is based on the DesignWare PCIe core. This driver
supports LD20 and PXs3 SoCs.

v4: https://www.spinics.net/lists/linux-pci/msg78278.html

About legacy IRQ, it might be necessary to share common view from
keystone driver that have been cleaned up[1].

[1] https://lore.kernel.org/patchwork/patch/989541/

Changes since v4:
- fix an issue of using the wrong value to mask IRQ mask register

Changes since v3:
- dt-bindings: fix INTX numbering of legacy interrupt map
- change interrupts to level ones
- remove .xlate function
- merge uniphier_pcie_ltssm_disable() into uniphier_pcie_ltssm_enable()
- remove an error message on uniphier_pcie_establish_link()
- change the order between irq_domain_add_liniear() and
  irq_set_chained_handler_and_data()
- replace dummy_irq_chip with uniphier_pcie_irq_chip and its functions
- add dependency on CONFIG_HAS_IOMEM
- MAINTAINERS: add pcie-uniphier entry

Changes since v2:
- dt-bindings: remove a comment that the node name isn't important
- dt-bindings: remove "intx" interrupt
- dt-bindings: define 'legacy-interrupt-controller' node and its properties
- return an error value when link up fails
- remove devm_request_irq() and a handler for MSI IRQ
- use chained interrupt instead of devm_request_irq() for legacy IRQ
- add unipher_pcie_config_legacy_irq() to get legacy IRQ from
  'legacy-interrupt controller' node
- replace 4 statments to handle INTX with for_each_set_bit()
- remove initialization of pp->root_bus_nr
- remove indivisual interrupt enable bit definitions
- rename 'irq_domain' member to 'legacy_irq_domain' in private structure
- use pci_irqd_intx_xlate() for irq_domain_ops.xlate function

Changes since v1:
- follow capitalization conventions in the descriptions
- use C style comments except for the SPDX line

Kunihiko Hayashi (2):
  dt-bindings: PCI: Add UniPhier PCIe host controller description
  PCI: uniphier: Add UniPhier PCIe host controller support

 .../devicetree/bindings/pci/uniphier-pcie.txt      |  81 ++++
 MAINTAINERS                                        |   7 +
 drivers/pci/controller/dwc/Kconfig                 |  10 +
 drivers/pci/controller/dwc/Makefile                |   1 +
 drivers/pci/controller/dwc/pcie-uniphier.c         | 471 +++++++++++++++++++++
 5 files changed, 570 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/pci/uniphier-pcie.txt
 create mode 100644 drivers/pci/controller/dwc/pcie-uniphier.c

Comments

Lorenzo Pieralisi Dec. 19, 2018, 3:48 p.m. UTC | #1
On Fri, Dec 07, 2018 at 09:53:10AM +0900, Kunihiko Hayashi wrote:
> This series adds PCIe host controller driver for Socionext UniPhier SoCs.
> This controller is based on the DesignWare PCIe core. This driver
> supports LD20 and PXs3 SoCs.
> 
> v4: https://www.spinics.net/lists/linux-pci/msg78278.html
> 
> About legacy IRQ, it might be necessary to share common view from
> keystone driver that have been cleaned up[1].
> 
> [1] https://lore.kernel.org/patchwork/patch/989541/
> 
> Changes since v4:
> - fix an issue of using the wrong value to mask IRQ mask register
> 
> Changes since v3:
> - dt-bindings: fix INTX numbering of legacy interrupt map
> - change interrupts to level ones
> - remove .xlate function
> - merge uniphier_pcie_ltssm_disable() into uniphier_pcie_ltssm_enable()
> - remove an error message on uniphier_pcie_establish_link()
> - change the order between irq_domain_add_liniear() and
>   irq_set_chained_handler_and_data()
> - replace dummy_irq_chip with uniphier_pcie_irq_chip and its functions
> - add dependency on CONFIG_HAS_IOMEM
> - MAINTAINERS: add pcie-uniphier entry
> 
> Changes since v2:
> - dt-bindings: remove a comment that the node name isn't important
> - dt-bindings: remove "intx" interrupt
> - dt-bindings: define 'legacy-interrupt-controller' node and its properties
> - return an error value when link up fails
> - remove devm_request_irq() and a handler for MSI IRQ
> - use chained interrupt instead of devm_request_irq() for legacy IRQ
> - add unipher_pcie_config_legacy_irq() to get legacy IRQ from
>   'legacy-interrupt controller' node
> - replace 4 statments to handle INTX with for_each_set_bit()
> - remove initialization of pp->root_bus_nr
> - remove indivisual interrupt enable bit definitions
> - rename 'irq_domain' member to 'legacy_irq_domain' in private structure
> - use pci_irqd_intx_xlate() for irq_domain_ops.xlate function
> 
> Changes since v1:
> - follow capitalization conventions in the descriptions
> - use C style comments except for the SPDX line
> 
> Kunihiko Hayashi (2):
>   dt-bindings: PCI: Add UniPhier PCIe host controller description
>   PCI: uniphier: Add UniPhier PCIe host controller support
> 
>  .../devicetree/bindings/pci/uniphier-pcie.txt      |  81 ++++
>  MAINTAINERS                                        |   7 +
>  drivers/pci/controller/dwc/Kconfig                 |  10 +
>  drivers/pci/controller/dwc/Makefile                |   1 +
>  drivers/pci/controller/dwc/pcie-uniphier.c         | 471 +++++++++++++++++++++
>  5 files changed, 570 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/pci/uniphier-pcie.txt
>  create mode 100644 drivers/pci/controller/dwc/pcie-uniphier.c

Applied to pci/uniphier, aiming for v4.21, thanks.

Lorenzo