All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lad Prabhakar <prabhakar.csengg@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Magnus Damm <magnus.damm@gmail.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Marek Vasut <marek.vasut+renesas@gmail.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	linux-pci@vger.kernel.org
Cc: Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Murray <andrew.murray@arm.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-renesas-soc@vger.kernel.org,
	Chris Paterson <Chris.Paterson2@renesas.com>,
	"Lad, Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>
Subject: [PATCH 0/5] Add support for PCIe controller to work in endpoint mode on R-Car SoCs.
Date: Wed,  6 Nov 2019 19:36:04 +0000	[thread overview]
Message-ID: <20191106193609.19645-1-prabhakar.mahadev-lad.rj@bp.renesas.com> (raw)

From: "Lad, Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>

This patch series adds support for PCIe controller on rcar to work in endpoint mode,
this also extends the epf framework to handle multiple outbound regions.

Note: 
The cadence/rockchip/designware endpoint drivers are build tested only.

Endpoint configuration:
$ cd /sys/kernel/config/pci_ep
$ mkdir functions/pci_epf_test/func1
$ echo 0x1912 > functions/pci_epf_test/func1/vendorid
$ echo 0x002d > functions/pci_epf_test/func1/deviceid
$ echo 32 > functions/pci_epf_test/func1/msi_interrupts
$ ln -s functions/pci_epf_test/func1/ controllers/fe000000.pcie_ep/
$ echo 1 > controllers/fe000000.pcie_ep/start

Host side results:
lspci output:
01:00.0 Unassigned class [ff00]: Renesas Technology Corp. Device 002d
        Flags: bus master, fast devsel, latency 0, IRQ 103
        Memory at fe200200 (64-bit, non-prefetchable) [size=128]
        Memory at fe200000 (64-bit, non-prefetchable) [size=256]
        Memory at fe200100 (64-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Kernel driver in use: pci-endpoint-test

pcitest results:

BAR tests

BAR0:           OKAY
BAR1:           NOT OKAY
BAR2:           OKAY
BAR3:           NOT OKAY
BAR4:           OKAY
BAR5:           NOT OKAY

Interrupt tests

SET IRQ TYPE TO LEGACY:         OKAY
LEGACY IRQ:     OKAY
Read Tests

SET IRQ TYPE TO LEGACY:         OKAY
READ (      1 bytes):           OKAY
READ (   1024 bytes):           OKAY
READ (   1025 bytes):           OKAY
READ (1024000 bytes):           OKAY
READ (1024001 bytes):           OKAY

Write Tests

WRITE (      1 bytes):          OKAY
WRITE (   1024 bytes):          OKAY
WRITE (   1025 bytes):          OKAY
WRITE (1024000 bytes):          OKAY
WRITE (1024001 bytes):          OKAY

Copy Tests

COPY (      1 bytes):           OKAY
COPY (   1024 bytes):           OKAY
COPY (   1025 bytes):           OKAY
COPY (1024000 bytes):           OKAY
COPY (1024001 bytes):           OKAY

BAR tests for 1/3/5 fail because its configured to use 64bit bars

Lad, Prabhakar (5):
  pci: pcie-rcar: preparation for adding endpoint support
  pci: endpoint: add support to handle multiple base for mapping
    outbound memory
  PCI: rcar: Add R-Car PCIe endpoint device tree bindings
  pci: rcar: add support for rcar pcie controller in endpoint mode
  misc: pci_endpoint_test: add device-id for RZ/G2 pcie controller

 .../devicetree/bindings/pci/rcar-pci-ep.txt   |   43 +
 arch/arm64/configs/defconfig                  |    2 +-
 arch/arm64/configs/renesas_defconfig          |    2 +-
 drivers/misc/pci_endpoint_test.c              |    3 +
 drivers/pci/controller/Kconfig                |   11 +-
 drivers/pci/controller/Makefile               |    3 +-
 .../pci/controller/dwc/pcie-designware-ep.c   |   30 +-
 drivers/pci/controller/pcie-cadence-ep.c      |   11 +-
 drivers/pci/controller/pcie-rcar-ep.c         |  483 +++++++
 drivers/pci/controller/pcie-rcar-host.c       | 1058 ++++++++++++++
 drivers/pci/controller/pcie-rcar.c            | 1231 +----------------
 drivers/pci/controller/pcie-rcar.h            |  129 ++
 drivers/pci/controller/pcie-rockchip-ep.c     |   13 +-
 drivers/pci/endpoint/functions/pci-epf-test.c |   29 +-
 drivers/pci/endpoint/pci-epc-core.c           |    7 +-
 drivers/pci/endpoint/pci-epc-mem.c            |  189 ++-
 include/linux/pci-epc.h                       |   43 +-
 17 files changed, 2016 insertions(+), 1271 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/rcar-pci-ep.txt
 create mode 100644 drivers/pci/controller/pcie-rcar-ep.c
 create mode 100644 drivers/pci/controller/pcie-rcar-host.c
 create mode 100644 drivers/pci/controller/pcie-rcar.h

-- 
2.20.1


WARNING: multiple messages have this Message-ID (diff)
From: Lad Prabhakar <prabhakar.csengg@gmail.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Geert Uytterhoeven <geert+renesas@glider.be>,
	Magnus Damm <magnus.damm@gmail.com>,
	Kishon Vijay Abraham I <kishon@ti.com>,
	Marek Vasut <marek.vasut+renesas@gmail.com>,
	Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>,
	linux-pci@vger.kernel.org
Cc: devicetree@vger.kernel.org,
	Chris Paterson <Chris.Paterson2@renesas.com>,
	Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
	Arnd Bergmann <arnd@arndb.de>,
	Catalin Marinas <catalin.marinas@arm.com>,
	linux-kernel@vger.kernel.org, "Lad,
	Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>,
	linux-renesas-soc@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andrew Murray <andrew.murray@arm.com>,
	Will Deacon <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/5] Add support for PCIe controller to work in endpoint mode on R-Car SoCs.
Date: Wed,  6 Nov 2019 19:36:04 +0000	[thread overview]
Message-ID: <20191106193609.19645-1-prabhakar.mahadev-lad.rj@bp.renesas.com> (raw)

From: "Lad, Prabhakar" <prabhakar.mahadev-lad.rj@bp.renesas.com>

This patch series adds support for PCIe controller on rcar to work in endpoint mode,
this also extends the epf framework to handle multiple outbound regions.

Note: 
The cadence/rockchip/designware endpoint drivers are build tested only.

Endpoint configuration:
$ cd /sys/kernel/config/pci_ep
$ mkdir functions/pci_epf_test/func1
$ echo 0x1912 > functions/pci_epf_test/func1/vendorid
$ echo 0x002d > functions/pci_epf_test/func1/deviceid
$ echo 32 > functions/pci_epf_test/func1/msi_interrupts
$ ln -s functions/pci_epf_test/func1/ controllers/fe000000.pcie_ep/
$ echo 1 > controllers/fe000000.pcie_ep/start

Host side results:
lspci output:
01:00.0 Unassigned class [ff00]: Renesas Technology Corp. Device 002d
        Flags: bus master, fast devsel, latency 0, IRQ 103
        Memory at fe200200 (64-bit, non-prefetchable) [size=128]
        Memory at fe200000 (64-bit, non-prefetchable) [size=256]
        Memory at fe200100 (64-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Kernel driver in use: pci-endpoint-test

pcitest results:

BAR tests

BAR0:           OKAY
BAR1:           NOT OKAY
BAR2:           OKAY
BAR3:           NOT OKAY
BAR4:           OKAY
BAR5:           NOT OKAY

Interrupt tests

SET IRQ TYPE TO LEGACY:         OKAY
LEGACY IRQ:     OKAY
Read Tests

SET IRQ TYPE TO LEGACY:         OKAY
READ (      1 bytes):           OKAY
READ (   1024 bytes):           OKAY
READ (   1025 bytes):           OKAY
READ (1024000 bytes):           OKAY
READ (1024001 bytes):           OKAY

Write Tests

WRITE (      1 bytes):          OKAY
WRITE (   1024 bytes):          OKAY
WRITE (   1025 bytes):          OKAY
WRITE (1024000 bytes):          OKAY
WRITE (1024001 bytes):          OKAY

Copy Tests

COPY (      1 bytes):           OKAY
COPY (   1024 bytes):           OKAY
COPY (   1025 bytes):           OKAY
COPY (1024000 bytes):           OKAY
COPY (1024001 bytes):           OKAY

BAR tests for 1/3/5 fail because its configured to use 64bit bars

Lad, Prabhakar (5):
  pci: pcie-rcar: preparation for adding endpoint support
  pci: endpoint: add support to handle multiple base for mapping
    outbound memory
  PCI: rcar: Add R-Car PCIe endpoint device tree bindings
  pci: rcar: add support for rcar pcie controller in endpoint mode
  misc: pci_endpoint_test: add device-id for RZ/G2 pcie controller

 .../devicetree/bindings/pci/rcar-pci-ep.txt   |   43 +
 arch/arm64/configs/defconfig                  |    2 +-
 arch/arm64/configs/renesas_defconfig          |    2 +-
 drivers/misc/pci_endpoint_test.c              |    3 +
 drivers/pci/controller/Kconfig                |   11 +-
 drivers/pci/controller/Makefile               |    3 +-
 .../pci/controller/dwc/pcie-designware-ep.c   |   30 +-
 drivers/pci/controller/pcie-cadence-ep.c      |   11 +-
 drivers/pci/controller/pcie-rcar-ep.c         |  483 +++++++
 drivers/pci/controller/pcie-rcar-host.c       | 1058 ++++++++++++++
 drivers/pci/controller/pcie-rcar.c            | 1231 +----------------
 drivers/pci/controller/pcie-rcar.h            |  129 ++
 drivers/pci/controller/pcie-rockchip-ep.c     |   13 +-
 drivers/pci/endpoint/functions/pci-epf-test.c |   29 +-
 drivers/pci/endpoint/pci-epc-core.c           |    7 +-
 drivers/pci/endpoint/pci-epc-mem.c            |  189 ++-
 include/linux/pci-epc.h                       |   43 +-
 17 files changed, 2016 insertions(+), 1271 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/pci/rcar-pci-ep.txt
 create mode 100644 drivers/pci/controller/pcie-rcar-ep.c
 create mode 100644 drivers/pci/controller/pcie-rcar-host.c
 create mode 100644 drivers/pci/controller/pcie-rcar.h

-- 
2.20.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2019-11-06 19:36 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-06 19:36 Lad Prabhakar [this message]
2019-11-06 19:36 ` [PATCH 0/5] Add support for PCIe controller to work in endpoint mode on R-Car SoCs Lad Prabhakar
2019-11-06 19:36 ` [PATCH 1/5] pci: pcie-rcar: preparation for adding endpoint support Lad Prabhakar
2019-11-06 19:36   ` Lad Prabhakar
2019-11-27  4:55   ` Kishon Vijay Abraham I
2019-11-27  4:55     ` Kishon Vijay Abraham I
2019-11-27 20:51     ` Lad, Prabhakar
2019-11-27 20:51       ` Lad, Prabhakar
2019-11-06 19:36 ` [PATCH 2/5] pci: endpoint: add support to handle multiple base for mapping outbound memory Lad Prabhakar
2019-11-06 19:36   ` Lad Prabhakar
2019-11-27  5:14   ` Kishon Vijay Abraham I
2019-11-27  5:14     ` Kishon Vijay Abraham I
2019-11-27  5:14     ` Kishon Vijay Abraham I
2019-11-27 21:21     ` Lad, Prabhakar
2019-11-27 21:21       ` Lad, Prabhakar
2019-11-27 21:21       ` Lad, Prabhakar
2019-12-05 10:22       ` Kishon Vijay Abraham I
2019-12-05 10:22         ` Kishon Vijay Abraham I
2019-12-05 10:22         ` Kishon Vijay Abraham I
2019-12-06 13:08         ` Lad, Prabhakar
2019-12-06 13:08           ` Lad, Prabhakar
2019-12-06 13:08           ` Lad, Prabhakar
2019-11-27  6:05   ` Kishon Vijay Abraham I
2019-11-27  6:05     ` Kishon Vijay Abraham I
2019-11-27  6:05     ` Kishon Vijay Abraham I
2019-11-27 21:28     ` Lad, Prabhakar
2019-11-27 21:28       ` Lad, Prabhakar
2019-11-27 21:28       ` Lad, Prabhakar
2019-11-06 19:36 ` [PATCH 3/5] PCI: rcar: Add R-Car PCIe endpoint device tree bindings Lad Prabhakar
2019-11-06 19:36   ` Lad Prabhakar
2019-11-07  7:39   ` Biju Das
2019-11-07  7:39     ` Biju Das
2019-11-07  8:10     ` Lad, Prabhakar
2019-11-07  8:10       ` Lad, Prabhakar
2019-11-07  8:44   ` Geert Uytterhoeven
2019-11-07  8:44     ` Geert Uytterhoeven
2019-11-07  9:25     ` Lad, Prabhakar
2019-11-07  9:25       ` Lad, Prabhakar
2019-11-07 20:08       ` Geert Uytterhoeven
2019-11-07 20:08         ` Geert Uytterhoeven
2019-11-07 22:46         ` Lad, Prabhakar
2019-11-07 22:46           ` Lad, Prabhakar
2019-11-08  8:36           ` Geert Uytterhoeven
2019-11-08  8:36             ` Geert Uytterhoeven
2019-11-13  4:08         ` Rob Herring
2019-11-13  4:08           ` Rob Herring
2019-11-27  5:44           ` Kishon Vijay Abraham I
2019-11-27  5:44             ` Kishon Vijay Abraham I
2019-11-27 21:00             ` Lad, Prabhakar
2019-11-27 21:00               ` Lad, Prabhakar
2019-11-06 19:36 ` [PATCH 4/5] pci: rcar: add support for rcar pcie controller in endpoint mode Lad Prabhakar
2019-11-06 19:36   ` Lad Prabhakar
2019-11-06 19:36 ` [PATCH 5/5] misc: pci_endpoint_test: add device-id for RZ/G2 pcie controller Lad Prabhakar
2019-11-06 19:36   ` Lad Prabhakar
2019-11-27  5:45   ` Kishon Vijay Abraham I
2019-11-27  5:45     ` Kishon Vijay Abraham I
2019-11-26 14:33 ` [PATCH 0/5] Add support for PCIe controller to work in endpoint mode on R-Car SoCs Lad, Prabhakar
2019-11-26 14:33   ` Lad, Prabhakar
2019-11-27  6:07   ` Kishon Vijay Abraham I
2019-11-27  6:07     ` Kishon Vijay Abraham I

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191106193609.19645-1-prabhakar.mahadev-lad.rj@bp.renesas.com \
    --to=prabhakar.csengg@gmail.com \
    --cc=Chris.Paterson2@renesas.com \
    --cc=andrew.murray@arm.com \
    --cc=arnd@arndb.de \
    --cc=bhelgaas@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=devicetree@vger.kernel.org \
    --cc=geert+renesas@glider.be \
    --cc=gregkh@linuxfoundation.org \
    --cc=kishon@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=magnus.damm@gmail.com \
    --cc=marek.vasut+renesas@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
    --cc=robh+dt@kernel.org \
    --cc=will@kernel.org \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.