[PATCH v2 0/2] PCI endpoint test: Add support for capabilities

Niklas Cassel
2024-11-21T15:23:31Z

Hello all,

The pci-epf-test driver recently moved to the pci_epc_mem_map() API.
This API call handle unaligned addresses seamlessly, if the EPC driver
being used has implemented the .align_addr callback.

This means that pci-epf-test no longer need any special padding to the
buffers that is allocated on the host side. (This was only done in order
to satisfy the EPC's alignment requirements.)

In fact, to test that the pci_epc_mem_map() API is working as intended,
it is important that the host side does not only provide buffers that
are nicely aligned.

However, since not all EPC drivers have implemented the .align_addr
callback, add support for capabilities in pci-epf-test, and if the
EPC driver implements the .align_addr callback, set a new
CAP_UNALIGNED_ACCESS capability. If CAP_UNALIGNED_ACCESS is set, do not
allocate overly sized buffers on the host side.

For EPC drivers that have not implemented the .align_addr callback, this
series will not introduce any functional changes.

Kind regards,
Niklas

Changes since v1:
-Improved commit message (thank you Frank)
-Renamed CAP_HAS_ALIGN_ADDR to CAP_UNALIGNED_ACCESS (thank you Damien)

Niklas Cassel (2):
PCI: endpoint: pci-epf-test: Add support for capabilities
misc: pci_endpoint_test: Add support for capabilities

drivers/misc/pci_endpoint_test.c | 21 +++++++++++++++++++
drivers/pci/endpoint/functions/pci-epf-test.c | 19 +++++++++++++++++
2 files changed, 40 insertions(+)

--
2.47.0