All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] PCI: Support for configurable PCI endpoint
@ 2017-03-27  9:44 ` Kishon Vijay Abraham I
  0 siblings, 0 replies; 121+ messages in thread
From: Kishon Vijay Abraham I @ 2017-03-27  9:44 UTC (permalink / raw)
  To: Bjorn Helgaas, Joao Pinto, linux-pci, linux-doc, linux-kernel,
	devicetree, linux-omap, linux-arm-kernel
  Cc: hch, nsekhar, kishon

Hi Bjorn,

Please find the pull request for PCI endpoint support below. I've
also included all the history here.

Changes from v4:
*) add #syscon-cells property and used of_parse_phandle_with_args
   to perform a configuration in syscon module (as suggested by
   Rob Herring)
*) Remove unnecessary white space.

Changes from v3:
*) fixed a typo and adapted to https://lkml.org/lkml/2017/3/13/562.

Changes from v2:
*) changed the configfs structure as suggested by Christoph Hellwig. With
   this change the framework creates configfs entry for EP function driver
   and EP controller. Previously these entries have to be created by the
   the user. (Haven't changed the epc core or epf core except for invoking
   configfs APIs to create entries for EP function driver and EP controller.
   That's mostly because the EP function device can still be created by
   directly invoking the epf core API without using configfs).
*) Now the user has to use configfs entry 'start' to start the link.
   This was previously done by the function driver. However in the case of
   multi function EP, the function driver shouldn't start the link.

Changes from v1:
*) The preparation patches for adding EP support is removed and is sent
   separately
*) Added device ID for DRA74x/DRA72x and used it instead of
   using "PCI_ANY_ID"
*) Added userguide for PCI endpoint test function

Major Improvements from RFC:
 *) support multi-function devices (hw supported not virtual)
 *) Access host side buffers
 *) Raise MSI interrupts
 *) Add user space program to use the host side PCI driver
 *) Adapt all other users of designware to use the new design (only
    compile tested. Since I have only dra7xx boards, the new design
    has only been tested in dra7xx. I'd require the help of others
    to test the platforms they have access to).

This series has been developed over 4.11-rc1 + [1]
[1] -> https://lkml.org/lkml/2017/3/13/562

Let me know if this has to be re-based to some of your branch.

Thanks
Kishon

The following changes since commit 623e87fec8ab7867fb51b3079196bd10718a60ce:

  PCI: dwc: dra7xx: Push request_irq call to the bottom of probe (2017-03-22 20:35:30 +0530)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kishon/pci-endpoint.git tags/pci-endpoint-for-4.12

for you to fetch changes up to e98bf80074be4654faae42fe0f5a622a776b6fdd:

  ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP (2017-03-27 15:08:22 +0530)

----------------------------------------------------------------
pci: endpoint: for 4.12

 *) Add PCI endpoint core layer
 *) Modify designware and dra7xx driver to be configured in EP mode
 *) Add a PCI endpoint *test* function driver and corresponding host
    driver

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>

----------------------------------------------------------------
Kishon Vijay Abraham I (24):
      PCI: endpoint: Add EP core layer to enable EP controller and EP functions
      Documentation: PCI: Guide to use PCI Endpoint Core Layer
      PCI: endpoint: Introduce configfs entry for configuring EP functions
      Documentation: PCI: Guide to use pci endpoint configfs
      PCI: endpoint: Create configfs entry for EPC device and EPF driver
      Documentation: PCI: Add specification for the *pci test* function device
      PCI: endpoint: functions: Add an EP function to test PCI
      Documentation: PCI: Add binding documentation for pci-test endpoint function
      PCI: dwc: designware: Add EP mode support
      dt-bindings: PCI: Add dt bindings for pci designware EP mode
      PCI: dwc: dra7xx: Facilitate wrapper and msi interrupts to be enabled independently
      PCI: dwc: dra7xx: Add EP mode support
      dt-bindings: PCI: dra7xx: Add dt bindings for pci dra7xx EP mode
      dt-bindings: mfd: syscon: Add documentation for #syscon-cells property
      PCI: dwc: dra7xx: Workaround for errata id i870
      dt-bindings: PCI: dra7xx: Add dt bindings to enable unaligned access
      PCI: Add device IDs for DRA74x and DRA72x
      misc: Add host side pci driver for pci test function device
      Documentation: misc-devices: Add Documentation for pci-endpoint-test driver
      tools: PCI: Add a userspace tool to test PCI endpoint
      tools: PCI: Add sample test script to invoke pcitest
      Documentation: PCI: Add userguide for PCI endpoint test function
      MAINTAINERS: add PCI EP maintainer
      ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP

 Documentation/PCI/00-INDEX                                |  10 +++
 Documentation/PCI/endpoint/function/binding/pci-test.txt  |  17 +++++
 Documentation/PCI/endpoint/pci-endpoint-cfs.txt           | 105 ++++++++++++++++++++++++++
 Documentation/PCI/endpoint/pci-endpoint.txt               | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 Documentation/PCI/endpoint/pci-test-function.txt          |  66 ++++++++++++++++
 Documentation/PCI/endpoint/pci-test-howto.txt             | 179 +++++++++++++++++++++++++++++++++++++++++++
 Documentation/devicetree/bindings/mfd/syscon.txt          |   2 +
 Documentation/devicetree/bindings/pci/designware-pcie.txt |  26 +++++--
 Documentation/devicetree/bindings/pci/ti-pci.txt          |  42 +++++++++--
 Documentation/misc-devices/pci-endpoint-test.txt          |  35 +++++++++
 MAINTAINERS                                               |   9 +++
 arch/arm/mach-omap2/clockdomains7xx_data.c                |   2 +-
 drivers/Makefile                                          |   2 +
 drivers/misc/Kconfig                                      |   7 ++
 drivers/misc/Makefile                                     |   1 +
 drivers/misc/pci_endpoint_test.c                          | 534 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/Kconfig                                       |   1 +
 drivers/pci/dwc/Kconfig                                   |  36 ++++++++-
 drivers/pci/dwc/Makefile                                  |   5 +-
 drivers/pci/dwc/pci-dra7xx.c                              | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 drivers/pci/dwc/pcie-designware-ep.c                      | 342 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/dwc/pcie-designware.c                         | 125 ++++++++++++++++++++++++++++++
 drivers/pci/dwc/pcie-designware.h                         | 112 +++++++++++++++++++++++++++
 drivers/pci/endpoint/Kconfig                              |  31 ++++++++
 drivers/pci/endpoint/Makefile                             |   7 ++
 drivers/pci/endpoint/functions/Kconfig                    |  12 +++
 drivers/pci/endpoint/functions/Makefile                   |   5 ++
 drivers/pci/endpoint/functions/pci-epf-test.c             | 510 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/endpoint/pci-ep-cfs.c                         | 509 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/endpoint/pci-epc-core.c                       | 579 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/pci/endpoint/pci-epc-mem.c                        | 143 +++++++++++++++++++++++++++++++++++
 drivers/pci/endpoint/pci-epf-core.c                       | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 include/linux/mod_devicetable.h                           |  10 +++
 include/linux/pci-ep-cfs.h                                |  41 ++++++++++
 include/linux/pci-epc.h                                   | 144 +++++++++++++++++++++++++++++++++++
 include/linux/pci-epf.h                                   | 162 +++++++++++++++++++++++++++++++++++++++
 include/linux/pci_ids.h                                   |   2 +
 include/uapi/linux/Kbuild                                 |   1 +
 include/uapi/linux/pcitest.h                              |  19 +++++
 tools/pci/pcitest.c                                       | 186 +++++++++++++++++++++++++++++++++++++++++++++
 tools/pci/pcitest.sh                                      |  56 ++++++++++++++
 41 files changed, 4869 insertions(+), 40 deletions(-)
 create mode 100644 Documentation/PCI/endpoint/function/binding/pci-test.txt
 create mode 100644 Documentation/PCI/endpoint/pci-endpoint-cfs.txt
 create mode 100644 Documentation/PCI/endpoint/pci-endpoint.txt
 create mode 100644 Documentation/PCI/endpoint/pci-test-function.txt
 create mode 100644 Documentation/PCI/endpoint/pci-test-howto.txt
 create mode 100644 Documentation/misc-devices/pci-endpoint-test.txt
 create mode 100644 drivers/misc/pci_endpoint_test.c
 create mode 100644 drivers/pci/dwc/pcie-designware-ep.c
 create mode 100644 drivers/pci/endpoint/Kconfig
 create mode 100644 drivers/pci/endpoint/Makefile
 create mode 100644 drivers/pci/endpoint/functions/Kconfig
 create mode 100644 drivers/pci/endpoint/functions/Makefile
 create mode 100644 drivers/pci/endpoint/functions/pci-epf-test.c
 create mode 100644 drivers/pci/endpoint/pci-ep-cfs.c
 create mode 100644 drivers/pci/endpoint/pci-epc-core.c
 create mode 100644 drivers/pci/endpoint/pci-epc-mem.c
 create mode 100644 drivers/pci/endpoint/pci-epf-core.c
 create mode 100644 include/linux/pci-ep-cfs.h
 create mode 100644 include/linux/pci-epc.h
 create mode 100644 include/linux/pci-epf.h
 create mode 100644 include/uapi/linux/pcitest.h
 create mode 100644 tools/pci/pcitest.c
 create mode 100644 tools/pci/pcitest.sh

-- 
2.11.0

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

end of thread, other threads:[~2017-04-05  8:53 UTC | newest]

Thread overview: 121+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-27  9:44 [GIT PULL] PCI: Support for configurable PCI endpoint Kishon Vijay Abraham I
2017-03-27  9:44 ` Kishon Vijay Abraham I
2017-03-27  9:44 ` Kishon Vijay Abraham I
2017-03-27  9:44 ` Kishon Vijay Abraham I
2017-03-27  9:44 ` [PATCH v5 01/24] PCI: endpoint: Add EP core layer to enable EP controller and EP functions Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44 ` [PATCH v5 02/24] Documentation: PCI: Guide to use PCI Endpoint Core Layer Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44 ` [PATCH v5 03/24] PCI: endpoint: Introduce configfs entry for configuring EP functions Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:44   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 04/24] Documentation: PCI: Guide to use pci endpoint configfs Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 05/24] PCI: endpoint: Create configfs entry for EPC device and EPF driver Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 06/24] Documentation: PCI: Add specification for the *pci test* function device Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 07/24] PCI: endpoint: functions: Add an EP function to test PCI Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 08/24] Documentation: PCI: Add binding documentation for pci-test endpoint function Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 09/24] PCI: dwc: designware: Add EP mode support Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 10/24] dt-bindings: PCI: Add dt bindings for pci designware EP mode Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 11/24] PCI: dwc: dra7xx: Facilitate wrapper and msi interrupts to be enabled independently Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 12/24] PCI: dwc: dra7xx: Add EP mode support Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 13/24] dt-bindings: PCI: dra7xx: Add dt bindings for pci dra7xx EP mode Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 14/24] dt-bindings: mfd: syscon: Add documentation for #syscon-cells property Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-31 18:58   ` Rob Herring
2017-03-31 18:58     ` Rob Herring
2017-03-31 18:58     ` Rob Herring
2017-03-31 19:06     ` Rob Herring
2017-03-31 19:06       ` Rob Herring
2017-03-31 19:06       ` Rob Herring
2017-04-05  8:25       ` Kishon Vijay Abraham I
2017-04-05  8:25         ` Kishon Vijay Abraham I
2017-04-05  8:25         ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 15/24] PCI: dwc: dra7xx: Workaround for errata id i870 Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 16/24] dt-bindings: PCI: dra7xx: Add dt bindings to enable unaligned access Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-31 19:07   ` Rob Herring
2017-03-31 19:07     ` Rob Herring
2017-03-31 19:07     ` Rob Herring
2017-03-27  9:45 ` [PATCH v5 17/24] PCI: Add device IDs for DRA74x and DRA72x Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 18/24] misc: Add host side pci driver for pci test function device Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 19/24] Documentation: misc-devices: Add Documentation for pci-endpoint-test driver Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 20/24] tools: PCI: Add a userspace tool to test PCI endpoint Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 21/24] tools: PCI: Add sample test script to invoke pcitest Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 22/24] Documentation: PCI: Add userguide for PCI endpoint test function Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 23/24] MAINTAINERS: add PCI EP maintainer Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45 ` [PATCH v5 24/24] ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-27  9:45   ` Kishon Vijay Abraham I
2017-03-29 11:42 ` [GIT PULL] PCI: Support for configurable PCI endpoint Niklas Cassel
2017-03-29 11:42   ` Niklas Cassel
2017-03-29 11:42   ` Niklas Cassel
2017-03-29 11:42   ` Niklas Cassel
2017-03-29 12:10   ` Kishon Vijay Abraham I
2017-03-29 12:10     ` Kishon Vijay Abraham I
2017-03-29 12:10     ` Kishon Vijay Abraham I
2017-03-29 12:10     ` Kishon Vijay Abraham I
2017-03-29 12:36     ` Kishon Vijay Abraham I
2017-03-29 12:36       ` Kishon Vijay Abraham I
2017-03-29 12:36       ` Kishon Vijay Abraham I
2017-03-29 13:13       ` Niklas Cassel
2017-03-29 13:13         ` Niklas Cassel
2017-03-29 13:13         ` Niklas Cassel
2017-03-29 13:13         ` Niklas Cassel
2017-04-04 20:36 ` Bjorn Helgaas
2017-04-04 20:36   ` Bjorn Helgaas
2017-04-04 20:36   ` Bjorn Helgaas
2017-04-05  8:47   ` Kishon Vijay Abraham I
2017-04-05  8:47     ` Kishon Vijay Abraham I
2017-04-05  8:47     ` Kishon Vijay Abraham I

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.