[PATCH v4 00/12] Fix and improve the Rockchip endpoint driver
Damien Le Moal
dlemoal at kernel.org
Fri Oct 11 05:13:56 PDT 2024
This patch series fix the PCI address mapping handling of the Rockchip
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 .get_mem_map() operation to make the RK3399
endpoint controller driver fully functional with the new
pci_epc_mem_map() function
- Patch 6, 7, 8 and 9 refactor the driver code to make it more readable
- Patch 10 introduces the .stop() endpoint controller operation to
correctly disable the endpopint controller after use
- Patch 11 improves link training
- Patch 12 implements handling of the #PERST signal
This patch series depends on the PCI endpoint core patches from the
V5 series "Improve PCI memory mapping API". The 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 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 (12):
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::get_mem_map() operation
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
drivers/pci/controller/pcie-rockchip-ep.c | 408 ++++++++++++++++----
drivers/pci/controller/pcie-rockchip-host.c | 4 +-
drivers/pci/controller/pcie-rockchip.c | 21 +-
drivers/pci/controller/pcie-rockchip.h | 24 +-
4 files changed, 370 insertions(+), 87 deletions(-)
--
2.47.0
More information about the Linux-rockchip
mailing list