On Mon, Jul 21, 2025 at 08:48:11PM +0530, Manivannan Sadhasivam wrote:
> On Thu, 10 Jul 2025 15:13:46 -0400, Frank Li wrote:
> > [...]
> 
> Applied, thanks!
> 
> [3/9] PCI: endpoint: Add RC-to-EP doorbell support using platform MSI 
> controller
>       commit: b537ffe0eb2ab458f20ec135cc2b565c63a2ea00
> [4/9] PCI: endpoint: pci-ep-msi: Add MSI address/data pair mutable check
>       commit: 1f2ed78e43abb9ac0856a82867f64d472368a832
> [5/9] PCI: endpoint: Add pci_epf_align_inbound_addr() helper for address 
> alignment
>       commit: 1c2c5f9855a5cf4617bcda721c22dbd3345f06a1
> [6/9] PCI: endpoint: pci-epf-test: Add doorbell test support
>       commit: 5d4da5f8092e5a77ae371ae1112283b59790ac22
> [7/9] misc: pci_endpoint_test: Add doorbell test case
>       commit: a1a293e709a4ec0fa2e4253993a4b75f581c6cf2
> [8/9] selftests: pci_endpoint: Add doorbell test case
>       commit: b964b4894fcfc72e7496cf52a33cbba39d094c5b


Hello all,

I wanted to test this on rk3588, so I added msi-map to the pcie_ep node.

It works the first time:
# ./pcitest -r pcie_ep_doorbell.DOORBELL_TEST
TAP version 13
1..1
# Starting 1 tests from 1 test cases.
#  RUN           pcie_ep_doorbell.DOORBELL_TEST ...
[   17.996519] offset: 70040
[   17.997904] left: 250 status: 0x240
#            OK  pcie_ep_doorbell.DOORBELL_TEST
ok 1 pcie_ep_doorbell.DOORBELL_TEST
# PASSED: 1 / 1 tests passed.
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0

Prints on EP side:
[   17.924761] pci_epf_test_enable_doorbell
[   17.926035] doorbell offset: 70040
[   17.927898] pci_epf_test_doorbell_handler
[   17.932816] pci_epf_test_disable_doorbell



However, if I run the exact same test case again:
# ./pcitest -r pcie_ep_doorbell.DOORBELL_TEST
TAP version 13
1..1
# Starting 1 tests from 1 test cases.
RUN           pcie_ep_doorbell.DOORBELL_TEST ...
[   34.672546] offset: 70040
[   35.688190] left: 0 status: 0x0
[   35.688480] pci-endpoint-test 0000:01:00.0: Failed to trigger doorbell in 
endpoint
# pci_endpoint_test.c:258:DOORBELL_TEST:Expected 0 (0) == ret (-22)
# pci_endpoint_test.c:258:DOORBELL_TEST:Test failed for Doorbell

# DOORBELL_TEST: Test failed
#          FAIL  pcie_ep_doorbell.DOORBELL_TEST
not ok 1 pcie_ep_doorbell.DOORBELL_TEST
# FAILED: 0 / 1 tests passed.

Prints on EP side:
[   34.600717] pci_epf_test_enable_doorbell
[   34.602086] doorbell offset: 70040
[   35.624718] pci_epf_test_disable_doorbell



As you can see the print that I added in pci_epf_test_doorbell_handler()
never comes the second time executing this test case.


Frank, do you see the same problem?


Kind regards,
Niklas

Reply via email to