From: Damien Le Moal <dlemoal@kernel.org>
To: "Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
linux-pci@vger.kernel.org, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
devicetree@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org,
Rick Wertenbroek <rick.wertenbroek@gmail.com>,
Niklas Cassel <cassel@kernel.org>
Subject: [PATCH v5 00/14] Fix and improve the Rockchip endpoint driver
Date: Thu, 17 Oct 2024 10:58:35 +0900 [thread overview]
Message-ID: <20241017015849.190271-1-dlemoal@kernel.org> (raw)
This patch series fix the PCI address mapping handling of the Rockchip
PCI endpoint driver, refactor some of its code, improves link training
and adds handling of the PERST# signal.
This series is organized as follows:
- Patch 1 fixes the rockchip ATU programming
- Patch 2, 3 and 4 introduce small code improvments
- Patch 5 implements the .align_addr() operation to make the RK3399
endpoint controller driver fully functional with the new
pci_epc_mem_map() function
- Patch 6 uses the new align_addr operation function to fix the ATU
programming for MSI IRQ data mapping
- Patch 7, 8, 9 and 10 refactor the driver code to make it more
readable
- Patch 11 introduces the .stop() endpoint controller operation to
correctly disable the endpopint controller after use
- Patch 12 improves link training
- Patch 13 implements handling of the #PERST signal
- Patch 14 adds a DT overlay file to enable EP mode and define the
PERST# GPIO (reset-gpios) property.
These patches were tested using a Pine Rockpro64 board used as an
endpoint with the test endpoint function driver and a prototype nvme
endpoint function driver.
Changes from v4:
- Added patch 6
- Added comments to patch 12 and 13 to clarify link training handling
and PERST# GPIO use.
- Added patch 14
Changes from v3:
- Addressed Mani's comments (see mailing list for details).
- Removed old patch 11 (dt-binding changes) and instead use in patch 12
the already defined reset_gpios property.
- Added patch 6
- Added review tags
Changes from v2:
- Split the patch series
- Corrected patch 11 to add the missing "maxItem"
Changes from v1:
- Changed pci_epc_check_func() to pci_epc_function_is_valid() in patch
1.
- Removed patch "PCI: endpoint: Improve pci_epc_mem_alloc_addr()"
(former patch 2 of v1)
- Various typos cleanups all over. Also fixed some blank space
indentation.
- Added review tags
Damien Le Moal (14):
PCI: rockchip-ep: Fix address translation unit programming
PCI: rockchip-ep: Use a macro to define EP controller .align feature
PCI: rockchip-ep: Improve rockchip_pcie_ep_unmap_addr()
PCI: rockchip-ep: Improve rockchip_pcie_ep_map_addr()
PCI: rockchip-ep: Implement the pci_epc_ops::align_addr() operation
PCI: rockchip-ep: Fix MSI IRQ data mapping
PCI: rockchip-ep: Rename rockchip_pcie_parse_ep_dt()
PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() memory allocations
PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() MSI-X hiding
PCI: rockchip-ep: Refactor endpoint link training enable
PCI: rockship-ep: Implement the pci_epc_ops::stop_link() operation
PCI: rockchip-ep: Improve link training
PCI: rockchip-ep: Handle PERST# signal in endpoint mode
arm64: dts: rockchip: Add rockpro64 overlay for PCIe endpoint mode
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../rockchip/rk3399-rockpro64-pcie-ep.dtso | 20 +
drivers/pci/controller/pcie-rockchip-ep.c | 432 ++++++++++++++----
drivers/pci/controller/pcie-rockchip-host.c | 4 +-
drivers/pci/controller/pcie-rockchip.c | 21 +-
drivers/pci/controller/pcie-rockchip.h | 24 +-
6 files changed, 406 insertions(+), 96 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rockpro64-pcie-ep.dtso
--
2.47.0
WARNING: multiple messages have this Message-ID (diff)
From: Damien Le Moal <dlemoal@kernel.org>
To: "Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <bhelgaas@google.com>,
linux-pci@vger.kernel.org, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
devicetree@vger.kernel.org
Cc: linux-rockchip@lists.infradead.org,
Rick Wertenbroek <rick.wertenbroek@gmail.com>,
Niklas Cassel <cassel@kernel.org>
Subject: [PATCH v5 00/14] Fix and improve the Rockchip endpoint driver
Date: Thu, 17 Oct 2024 10:58:35 +0900 [thread overview]
Message-ID: <20241017015849.190271-1-dlemoal@kernel.org> (raw)
This patch series fix the PCI address mapping handling of the Rockchip
PCI endpoint driver, refactor some of its code, improves link training
and adds handling of the PERST# signal.
This series is organized as follows:
- Patch 1 fixes the rockchip ATU programming
- Patch 2, 3 and 4 introduce small code improvments
- Patch 5 implements the .align_addr() operation to make the RK3399
endpoint controller driver fully functional with the new
pci_epc_mem_map() function
- Patch 6 uses the new align_addr operation function to fix the ATU
programming for MSI IRQ data mapping
- Patch 7, 8, 9 and 10 refactor the driver code to make it more
readable
- Patch 11 introduces the .stop() endpoint controller operation to
correctly disable the endpopint controller after use
- Patch 12 improves link training
- Patch 13 implements handling of the #PERST signal
- Patch 14 adds a DT overlay file to enable EP mode and define the
PERST# GPIO (reset-gpios) property.
These patches were tested using a Pine Rockpro64 board used as an
endpoint with the test endpoint function driver and a prototype nvme
endpoint function driver.
Changes from v4:
- Added patch 6
- Added comments to patch 12 and 13 to clarify link training handling
and PERST# GPIO use.
- Added patch 14
Changes from v3:
- Addressed Mani's comments (see mailing list for details).
- Removed old patch 11 (dt-binding changes) and instead use in patch 12
the already defined reset_gpios property.
- Added patch 6
- Added review tags
Changes from v2:
- Split the patch series
- Corrected patch 11 to add the missing "maxItem"
Changes from v1:
- Changed pci_epc_check_func() to pci_epc_function_is_valid() in patch
1.
- Removed patch "PCI: endpoint: Improve pci_epc_mem_alloc_addr()"
(former patch 2 of v1)
- Various typos cleanups all over. Also fixed some blank space
indentation.
- Added review tags
Damien Le Moal (14):
PCI: rockchip-ep: Fix address translation unit programming
PCI: rockchip-ep: Use a macro to define EP controller .align feature
PCI: rockchip-ep: Improve rockchip_pcie_ep_unmap_addr()
PCI: rockchip-ep: Improve rockchip_pcie_ep_map_addr()
PCI: rockchip-ep: Implement the pci_epc_ops::align_addr() operation
PCI: rockchip-ep: Fix MSI IRQ data mapping
PCI: rockchip-ep: Rename rockchip_pcie_parse_ep_dt()
PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() memory allocations
PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() MSI-X hiding
PCI: rockchip-ep: Refactor endpoint link training enable
PCI: rockship-ep: Implement the pci_epc_ops::stop_link() operation
PCI: rockchip-ep: Improve link training
PCI: rockchip-ep: Handle PERST# signal in endpoint mode
arm64: dts: rockchip: Add rockpro64 overlay for PCIe endpoint mode
arch/arm64/boot/dts/rockchip/Makefile | 1 +
.../rockchip/rk3399-rockpro64-pcie-ep.dtso | 20 +
drivers/pci/controller/pcie-rockchip-ep.c | 432 ++++++++++++++----
drivers/pci/controller/pcie-rockchip-host.c | 4 +-
drivers/pci/controller/pcie-rockchip.c | 21 +-
drivers/pci/controller/pcie-rockchip.h | 24 +-
6 files changed, 406 insertions(+), 96 deletions(-)
create mode 100644 arch/arm64/boot/dts/rockchip/rk3399-rockpro64-pcie-ep.dtso
--
2.47.0
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next reply other threads:[~2024-10-17 1:58 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-17 1:58 Damien Le Moal [this message]
2024-10-17 1:58 ` [PATCH v5 00/14] Fix and improve the Rockchip endpoint driver Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 01/14] PCI: rockchip-ep: Fix address translation unit programming Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-11-15 22:41 ` Bjorn Helgaas
2024-11-15 22:41 ` Bjorn Helgaas
2024-11-17 8:04 ` Damien Le Moal
2024-11-17 8:04 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 02/14] PCI: rockchip-ep: Use a macro to define EP controller .align feature Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 03/14] PCI: rockchip-ep: Improve rockchip_pcie_ep_unmap_addr() Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 04/14] PCI: rockchip-ep: Improve rockchip_pcie_ep_map_addr() Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 05/14] PCI: rockchip-ep: Implement the pci_epc_ops::align_addr() operation Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 06/14] PCI: rockchip-ep: Fix MSI IRQ data mapping Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 9:52 ` Niklas Cassel
2024-10-17 9:52 ` Niklas Cassel
2024-10-17 1:58 ` [PATCH v5 07/14] PCI: rockchip-ep: Rename rockchip_pcie_parse_ep_dt() Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 08/14] PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() memory allocations Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 09/14] PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() MSI-X hiding Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 10/14] PCI: rockchip-ep: Refactor endpoint link training enable Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 11/14] PCI: rockship-ep: Implement the pci_epc_ops::stop_link() operation Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 12/14] PCI: rockchip-ep: Improve link training Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-11-15 23:03 ` Bjorn Helgaas
2024-11-15 23:03 ` Bjorn Helgaas
2024-11-17 8:00 ` Damien Le Moal
2024-11-17 8:00 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 13/14] PCI: rockchip-ep: Handle PERST# signal in endpoint mode Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-12-15 0:13 ` Bjorn Helgaas
2024-12-15 0:13 ` Bjorn Helgaas
2024-12-15 2:09 ` Damien Le Moal
2024-12-15 2:09 ` Damien Le Moal
2024-10-17 1:58 ` [PATCH v5 14/14] arm64: dts: rockchip: Add rockpro64 overlay for PCIe " Damien Le Moal
2024-10-17 1:58 ` Damien Le Moal
2024-10-29 10:35 ` [PATCH v5 00/14] Fix and improve the Rockchip endpoint driver Damien Le Moal
2024-10-29 10:35 ` Damien Le Moal
2024-11-13 14:29 ` Damien Le Moal
2024-11-13 14:29 ` Damien Le Moal
2024-11-13 17:52 ` Manivannan Sadhasivam
2024-11-13 17:52 ` Manivannan Sadhasivam
2024-11-13 20:59 ` Krzysztof Wilczyński
2024-11-13 20:59 ` Krzysztof Wilczyński
2024-11-14 4:14 ` Damien Le Moal
2024-11-14 4:14 ` Damien Le Moal
2024-11-14 17:24 ` Krzysztof Wilczyński
2024-11-14 17:24 ` Krzysztof Wilczyński
2024-11-13 20:49 ` Krzysztof Wilczyński
2024-11-13 20:49 ` Krzysztof Wilczyński
2024-12-16 5:49 ` Manivannan Sadhasivam
2024-12-16 5:49 ` Manivannan Sadhasivam
2024-12-16 6:00 ` Niklas Cassel
2024-12-16 6:00 ` Niklas Cassel
2024-12-16 6:05 ` Manivannan Sadhasivam
2024-12-16 6:05 ` Manivannan Sadhasivam
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=20241017015849.190271-1-dlemoal@kernel.org \
--to=dlemoal@kernel.org \
--cc=bhelgaas@google.com \
--cc=cassel@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=heiko@sntech.de \
--cc=kishon@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kw@linux.com \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=rick.wertenbroek@gmail.com \
--cc=robh@kernel.org \
--cc=shawn.lin@rock-chips.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.