OFS / oneapi-asp

Intel® oneAPI Accelerator Support Package (ASP)
MIT License
2 stars 9 forks source link

[Feature]- Initial support for multiple PCIe channels #142

Closed DouglasGroen closed 6 months ago

DouglasGroen commented 6 months ago

Description

To support PCIe Gen5x16 (and beyond) we need to support multiple AXI interfaces from the FIM. This PR adds the initial support for leveraging an array of AXI interfaces facing the host, and the downstream support for multiple DMA and USM channels.

Tests run:

Initial ASE tests (using zero-copy-data-transfer which does both DMA and USM transactions) look good for both 1-channel and 2-channel (using 2 VFs at ofs_plat_afu). Hardware testing of 1-channel using a nightly base FIM (5pf, 3vf) behaves similar to the ASP without these changes. Tested on d5005, n6001, iseries-dk, and fseries-dk. Compilation of 2-channel ASP is successful (2 PCIe channels, 2 DMA channels, but only 1 USM channel due to lack of compiler support); I'm still trying to test in hardware using 2 VFs. Might need to add a simple DFH CSR block on the 2nd channel so the protocol checker doesn't lock the MMIO path up when there is no response to MMIO requests, as I currently only use the host-memory components of the AXI interface and ignore the MMIO component.