]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI: endpoint: pci-epf-test: Add support for capabilities
authorNiklas Cassel <cassel@kernel.org>
Tue, 3 Dec 2024 06:38:53 +0000 (07:38 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 21 Jan 2025 15:44:14 +0000 (09:44 -0600)
commit8a02612f85660e0e18e7ac59ef8ff8592b8e2d42
tree47c50afaa535e3989b50f7bc17b822aec6ea7e9b
parent235c2b197a8de2887f13990094a3343d2392155b
PCI: endpoint: pci-epf-test: Add support for capabilities

The test BAR is on the EP side is allocated using pci_epf_alloc_space(),
which allocates the backing memory using dma_alloc_coherent(), which will
return zeroed memory regardless of __GFP_ZERO was set or not.

This means that running a new version of pci-endpoint-test.c (host side)
with an old version of pci-epf-test.c (EP side) will not see any
capabilities being set (as intended), so this is backwards compatible.

Additionally, the EP side always allocates at least 128 bytes for the test
BAR (excluding the MSI-X table), this means that adding another register at
offset 0x30 is still within the 128 available bytes.

For now, we only add the CAP_UNALIGNED_ACCESS capability.

Set CAP_UNALIGNED_ACCESS if the EPC driver can handle any address (because
it implements the .align_addr callback).

Link: https://lore.kernel.org/r/20241203063851.695733-5-cassel@kernel.org
Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Krzysztof WilczyƄski <kwilczynski@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
drivers/pci/endpoint/functions/pci-epf-test.c