2019-05-14 22:47:34 +08:00
|
|
|
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
|
|
|
===================
|
|
|
|
PCI Test User Guide
|
|
|
|
===================
|
|
|
|
|
|
|
|
:Author: Kishon Vijay Abraham I <kishon@ti.com>
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
This document is a guide to help users use pci-epf-test function driver
|
|
|
|
and pci_endpoint_test host driver for testing PCI. The list of steps to
|
|
|
|
be followed in the host side and EP side is given below.
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
Endpoint Device
|
|
|
|
===============
|
2017-03-27 15:15:18 +05:30
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
Endpoint Controller Devices
|
|
|
|
---------------------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
To find the list of endpoint controller devices in the system::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# ls /sys/class/pci_epc/
|
|
|
|
51000000.pcie_ep
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
If PCI_ENDPOINT_CONFIGFS is enabled::
|
|
|
|
|
2017-03-27 15:15:18 +05:30
|
|
|
# ls /sys/kernel/config/pci_ep/controllers
|
|
|
|
51000000.pcie_ep
|
|
|
|
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
Endpoint Function Drivers
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
To find the list of endpoint function drivers in the system::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# ls /sys/bus/pci-epf/drivers
|
|
|
|
pci_epf_test
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
If PCI_ENDPOINT_CONFIGFS is enabled::
|
|
|
|
|
2017-03-27 15:15:18 +05:30
|
|
|
# ls /sys/kernel/config/pci_ep/functions
|
|
|
|
pci_epf_test
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
|
|
|
|
Creating pci-epf-test Device
|
|
|
|
----------------------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
PCI endpoint function device can be created using the configfs. To create
|
2019-05-14 22:47:34 +08:00
|
|
|
pci-epf-test device, the following commands can be used::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# mount -t configfs none /sys/kernel/config
|
|
|
|
# cd /sys/kernel/config/pci_ep/
|
|
|
|
# mkdir functions/pci_epf_test/func1
|
|
|
|
|
|
|
|
The "mkdir func1" above creates the pci-epf-test function device that will
|
|
|
|
be probed by pci_epf_test driver.
|
|
|
|
|
|
|
|
The PCI endpoint framework populates the directory with the following
|
2019-05-14 22:47:34 +08:00
|
|
|
configurable fields::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# ls functions/pci_epf_test/func1
|
2018-07-19 10:32:19 +02:00
|
|
|
baseclass_code interrupt_pin progif_code subsys_id
|
|
|
|
cache_line_size msi_interrupts revid subsys_vendorid
|
|
|
|
deviceid msix_interrupts subclass_code vendorid
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
The PCI endpoint function driver populates these entries with default values
|
|
|
|
when the device is bound to the driver. The pci-epf-test driver populates
|
2019-05-14 22:47:34 +08:00
|
|
|
vendorid with 0xffff and interrupt_pin with 0x0001::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# cat functions/pci_epf_test/func1/vendorid
|
|
|
|
0xffff
|
|
|
|
# cat functions/pci_epf_test/func1/interrupt_pin
|
|
|
|
0x0001
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
|
|
|
|
Configuring pci-epf-test Device
|
|
|
|
-------------------------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
The user can configure the pci-epf-test device using configfs entry. In order
|
|
|
|
to change the vendorid and the number of MSI interrupts used by the function
|
2019-05-14 22:47:34 +08:00
|
|
|
device, the following commands can be used::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# echo 0x104c > functions/pci_epf_test/func1/vendorid
|
|
|
|
# echo 0xb500 > functions/pci_epf_test/func1/deviceid
|
selftests: pci_endpoint: Migrate to Kselftest framework
Migrate the PCI endpoint test to Kselftest framework. All the tests that
were part of the previous pcitest.sh file were migrated.
Below is the list of tests converted:
1. BAR0 Test
2. BAR1 Test
3. BAR2 Test
4. BAR3 Test
5. BAR4 Test
6. BAR5 Test
7. Consecutive BAR Tests
8. Legacy IRQ Tests
9. MSI Interrupt Tests (MSI1 to MSI32)
10. MSI-X Interrupt Tests (MSI-X1 to MSI-X2048)
11. Read Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
12. Write Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
13. Copy Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
14. Read Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
15. Write Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
16. Copy Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
BAR, DMA and MEMCPY tests are added as fixture variants and can be executed
separately as below:
$ pci_endpoint_test -v BAR0
$ pci_endpoint_test -v dma
$ pci_endpoint_test -v memcpy
Link: https://lore.kernel.org/r/20250116171650.33585-5-manivannan.sadhasivam@linaro.org
Co-developed-by: Aman Gupta <aman1.gupta@samsung.com>
Co-developed-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
[mani: reworked based on the IOCTL fix, cleanups, documentation, commit message]
Signed-off-by: Aman Gupta <aman1.gupta@samsung.com>
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
2025-01-16 22:46:50 +05:30
|
|
|
# echo 32 > functions/pci_epf_test/func1/msi_interrupts
|
|
|
|
# echo 2048 > functions/pci_epf_test/func1/msix_interrupts
|
2017-03-27 15:15:18 +05:30
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
|
|
|
|
Binding pci-epf-test Device to EP Controller
|
|
|
|
--------------------------------------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
In order for the endpoint function device to be useful, it has to be bound to
|
|
|
|
a PCI endpoint controller driver. Use the configfs to bind the function
|
2019-05-14 22:47:34 +08:00
|
|
|
device to one of the controller driver present in the system::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# ln -s functions/pci_epf_test/func1 controllers/51000000.pcie_ep/
|
|
|
|
|
|
|
|
Once the above step is completed, the PCI endpoint is ready to establish a link
|
|
|
|
with the host.
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
|
|
|
|
Start the Link
|
|
|
|
--------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
In order for the endpoint device to establish a link with the host, the _start_
|
2019-05-14 22:47:34 +08:00
|
|
|
field should be populated with '1'::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
# echo 1 > controllers/51000000.pcie_ep/start
|
|
|
|
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
RootComplex Device
|
|
|
|
==================
|
|
|
|
|
|
|
|
lspci Output
|
|
|
|
------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
Note that the devices listed here correspond to the value populated in 1.4
|
|
|
|
above::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
|
|
|
00:00.0 PCI bridge: Texas Instruments Device 8888 (rev 01)
|
|
|
|
01:00.0 Unassigned class [ff00]: Texas Instruments Device b500
|
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
|
|
|
|
Using Endpoint Test function Device
|
|
|
|
-----------------------------------
|
2017-03-27 15:15:18 +05:30
|
|
|
|
selftests: pci_endpoint: Migrate to Kselftest framework
Migrate the PCI endpoint test to Kselftest framework. All the tests that
were part of the previous pcitest.sh file were migrated.
Below is the list of tests converted:
1. BAR0 Test
2. BAR1 Test
3. BAR2 Test
4. BAR3 Test
5. BAR4 Test
6. BAR5 Test
7. Consecutive BAR Tests
8. Legacy IRQ Tests
9. MSI Interrupt Tests (MSI1 to MSI32)
10. MSI-X Interrupt Tests (MSI-X1 to MSI-X2048)
11. Read Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
12. Write Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
13. Copy Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
14. Read Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
15. Write Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
16. Copy Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
BAR, DMA and MEMCPY tests are added as fixture variants and can be executed
separately as below:
$ pci_endpoint_test -v BAR0
$ pci_endpoint_test -v dma
$ pci_endpoint_test -v memcpy
Link: https://lore.kernel.org/r/20250116171650.33585-5-manivannan.sadhasivam@linaro.org
Co-developed-by: Aman Gupta <aman1.gupta@samsung.com>
Co-developed-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
[mani: reworked based on the IOCTL fix, cleanups, documentation, commit message]
Signed-off-by: Aman Gupta <aman1.gupta@samsung.com>
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
2025-01-16 22:46:50 +05:30
|
|
|
Kselftest added in tools/testing/selftests/pci_endpoint can be used to run all
|
|
|
|
the default PCI endpoint tests. To build the Kselftest for PCI endpoint
|
|
|
|
subsystem, the following commands should be used::
|
2017-03-27 15:15:18 +05:30
|
|
|
|
2018-08-23 13:55:15 +02:00
|
|
|
# cd <kernel-dir>
|
2025-01-16 22:46:49 +05:30
|
|
|
# make -C tools/testing/selftests/pci_endpoint
|
2018-08-23 13:55:15 +02:00
|
|
|
|
2019-05-14 22:47:34 +08:00
|
|
|
or if you desire to compile and install in your system::
|
2018-08-23 13:55:15 +02:00
|
|
|
|
|
|
|
# cd <kernel-dir>
|
selftests: pci_endpoint: Migrate to Kselftest framework
Migrate the PCI endpoint test to Kselftest framework. All the tests that
were part of the previous pcitest.sh file were migrated.
Below is the list of tests converted:
1. BAR0 Test
2. BAR1 Test
3. BAR2 Test
4. BAR3 Test
5. BAR4 Test
6. BAR5 Test
7. Consecutive BAR Tests
8. Legacy IRQ Tests
9. MSI Interrupt Tests (MSI1 to MSI32)
10. MSI-X Interrupt Tests (MSI-X1 to MSI-X2048)
11. Read Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
12. Write Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
13. Copy Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
14. Read Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
15. Write Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
16. Copy Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
BAR, DMA and MEMCPY tests are added as fixture variants and can be executed
separately as below:
$ pci_endpoint_test -v BAR0
$ pci_endpoint_test -v dma
$ pci_endpoint_test -v memcpy
Link: https://lore.kernel.org/r/20250116171650.33585-5-manivannan.sadhasivam@linaro.org
Co-developed-by: Aman Gupta <aman1.gupta@samsung.com>
Co-developed-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
[mani: reworked based on the IOCTL fix, cleanups, documentation, commit message]
Signed-off-by: Aman Gupta <aman1.gupta@samsung.com>
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
2025-01-16 22:46:50 +05:30
|
|
|
# make -C tools/testing/selftests/pci_endpoint INSTALL_PATH=/usr/bin install
|
2018-08-23 13:55:15 +02:00
|
|
|
|
selftests: pci_endpoint: Migrate to Kselftest framework
Migrate the PCI endpoint test to Kselftest framework. All the tests that
were part of the previous pcitest.sh file were migrated.
Below is the list of tests converted:
1. BAR0 Test
2. BAR1 Test
3. BAR2 Test
4. BAR3 Test
5. BAR4 Test
6. BAR5 Test
7. Consecutive BAR Tests
8. Legacy IRQ Tests
9. MSI Interrupt Tests (MSI1 to MSI32)
10. MSI-X Interrupt Tests (MSI-X1 to MSI-X2048)
11. Read Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
12. Write Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
13. Copy Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
14. Read Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
15. Write Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
16. Copy Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
BAR, DMA and MEMCPY tests are added as fixture variants and can be executed
separately as below:
$ pci_endpoint_test -v BAR0
$ pci_endpoint_test -v dma
$ pci_endpoint_test -v memcpy
Link: https://lore.kernel.org/r/20250116171650.33585-5-manivannan.sadhasivam@linaro.org
Co-developed-by: Aman Gupta <aman1.gupta@samsung.com>
Co-developed-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
[mani: reworked based on the IOCTL fix, cleanups, documentation, commit message]
Signed-off-by: Aman Gupta <aman1.gupta@samsung.com>
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
2025-01-16 22:46:50 +05:30
|
|
|
The test will be located in <rootfs>/usr/bin/
|
2017-03-27 15:15:18 +05:30
|
|
|
|
selftests: pci_endpoint: Migrate to Kselftest framework
Migrate the PCI endpoint test to Kselftest framework. All the tests that
were part of the previous pcitest.sh file were migrated.
Below is the list of tests converted:
1. BAR0 Test
2. BAR1 Test
3. BAR2 Test
4. BAR3 Test
5. BAR4 Test
6. BAR5 Test
7. Consecutive BAR Tests
8. Legacy IRQ Tests
9. MSI Interrupt Tests (MSI1 to MSI32)
10. MSI-X Interrupt Tests (MSI-X1 to MSI-X2048)
11. Read Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
12. Write Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
13. Copy Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
14. Read Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
15. Write Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
16. Copy Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
BAR, DMA and MEMCPY tests are added as fixture variants and can be executed
separately as below:
$ pci_endpoint_test -v BAR0
$ pci_endpoint_test -v dma
$ pci_endpoint_test -v memcpy
Link: https://lore.kernel.org/r/20250116171650.33585-5-manivannan.sadhasivam@linaro.org
Co-developed-by: Aman Gupta <aman1.gupta@samsung.com>
Co-developed-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
[mani: reworked based on the IOCTL fix, cleanups, documentation, commit message]
Signed-off-by: Aman Gupta <aman1.gupta@samsung.com>
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
2025-01-16 22:46:50 +05:30
|
|
|
Kselftest Output
|
|
|
|
~~~~~~~~~~~~~~~~
|
2019-05-14 22:47:34 +08:00
|
|
|
::
|
|
|
|
|
selftests: pci_endpoint: Migrate to Kselftest framework
Migrate the PCI endpoint test to Kselftest framework. All the tests that
were part of the previous pcitest.sh file were migrated.
Below is the list of tests converted:
1. BAR0 Test
2. BAR1 Test
3. BAR2 Test
4. BAR3 Test
5. BAR4 Test
6. BAR5 Test
7. Consecutive BAR Tests
8. Legacy IRQ Tests
9. MSI Interrupt Tests (MSI1 to MSI32)
10. MSI-X Interrupt Tests (MSI-X1 to MSI-X2048)
11. Read Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
12. Write Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
13. Copy Tests - MEMCPY (For 1, 1024, 1025, 1024000, 1024001 Bytes)
14. Read Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
15. Write Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
16. Copy Tests - DMA (For 1, 1024, 1025, 1024000, 1024001 Bytes)
BAR, DMA and MEMCPY tests are added as fixture variants and can be executed
separately as below:
$ pci_endpoint_test -v BAR0
$ pci_endpoint_test -v dma
$ pci_endpoint_test -v memcpy
Link: https://lore.kernel.org/r/20250116171650.33585-5-manivannan.sadhasivam@linaro.org
Co-developed-by: Aman Gupta <aman1.gupta@samsung.com>
Co-developed-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
[mani: reworked based on the IOCTL fix, cleanups, documentation, commit message]
Signed-off-by: Aman Gupta <aman1.gupta@samsung.com>
Signed-off-by: Padmanabhan Rajanbabu <p.rajanbabu@samsung.com>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
2025-01-16 22:46:50 +05:30
|
|
|
# pci_endpoint_test
|
|
|
|
TAP version 13
|
|
|
|
1..16
|
|
|
|
# Starting 16 tests from 9 test cases.
|
|
|
|
# RUN pci_ep_bar.BAR0.BAR_TEST ...
|
|
|
|
# OK pci_ep_bar.BAR0.BAR_TEST
|
|
|
|
ok 1 pci_ep_bar.BAR0.BAR_TEST
|
|
|
|
# RUN pci_ep_bar.BAR1.BAR_TEST ...
|
|
|
|
# OK pci_ep_bar.BAR1.BAR_TEST
|
|
|
|
ok 2 pci_ep_bar.BAR1.BAR_TEST
|
|
|
|
# RUN pci_ep_bar.BAR2.BAR_TEST ...
|
|
|
|
# OK pci_ep_bar.BAR2.BAR_TEST
|
|
|
|
ok 3 pci_ep_bar.BAR2.BAR_TEST
|
|
|
|
# RUN pci_ep_bar.BAR3.BAR_TEST ...
|
|
|
|
# OK pci_ep_bar.BAR3.BAR_TEST
|
|
|
|
ok 4 pci_ep_bar.BAR3.BAR_TEST
|
|
|
|
# RUN pci_ep_bar.BAR4.BAR_TEST ...
|
|
|
|
# OK pci_ep_bar.BAR4.BAR_TEST
|
|
|
|
ok 5 pci_ep_bar.BAR4.BAR_TEST
|
|
|
|
# RUN pci_ep_bar.BAR5.BAR_TEST ...
|
|
|
|
# OK pci_ep_bar.BAR5.BAR_TEST
|
|
|
|
ok 6 pci_ep_bar.BAR5.BAR_TEST
|
|
|
|
# RUN pci_ep_basic.CONSECUTIVE_BAR_TEST ...
|
|
|
|
# OK pci_ep_basic.CONSECUTIVE_BAR_TEST
|
|
|
|
ok 7 pci_ep_basic.CONSECUTIVE_BAR_TEST
|
|
|
|
# RUN pci_ep_basic.LEGACY_IRQ_TEST ...
|
|
|
|
# OK pci_ep_basic.LEGACY_IRQ_TEST
|
|
|
|
ok 8 pci_ep_basic.LEGACY_IRQ_TEST
|
|
|
|
# RUN pci_ep_basic.MSI_TEST ...
|
|
|
|
# OK pci_ep_basic.MSI_TEST
|
|
|
|
ok 9 pci_ep_basic.MSI_TEST
|
|
|
|
# RUN pci_ep_basic.MSIX_TEST ...
|
|
|
|
# OK pci_ep_basic.MSIX_TEST
|
|
|
|
ok 10 pci_ep_basic.MSIX_TEST
|
|
|
|
# RUN pci_ep_data_transfer.memcpy.READ_TEST ...
|
|
|
|
# OK pci_ep_data_transfer.memcpy.READ_TEST
|
|
|
|
ok 11 pci_ep_data_transfer.memcpy.READ_TEST
|
|
|
|
# RUN pci_ep_data_transfer.memcpy.WRITE_TEST ...
|
|
|
|
# OK pci_ep_data_transfer.memcpy.WRITE_TEST
|
|
|
|
ok 12 pci_ep_data_transfer.memcpy.WRITE_TEST
|
|
|
|
# RUN pci_ep_data_transfer.memcpy.COPY_TEST ...
|
|
|
|
# OK pci_ep_data_transfer.memcpy.COPY_TEST
|
|
|
|
ok 13 pci_ep_data_transfer.memcpy.COPY_TEST
|
|
|
|
# RUN pci_ep_data_transfer.dma.READ_TEST ...
|
|
|
|
# OK pci_ep_data_transfer.dma.READ_TEST
|
|
|
|
ok 14 pci_ep_data_transfer.dma.READ_TEST
|
|
|
|
# RUN pci_ep_data_transfer.dma.WRITE_TEST ...
|
|
|
|
# OK pci_ep_data_transfer.dma.WRITE_TEST
|
|
|
|
ok 15 pci_ep_data_transfer.dma.WRITE_TEST
|
|
|
|
# RUN pci_ep_data_transfer.dma.COPY_TEST ...
|
|
|
|
# OK pci_ep_data_transfer.dma.COPY_TEST
|
|
|
|
ok 16 pci_ep_data_transfer.dma.COPY_TEST
|
|
|
|
# PASSED: 16 / 16 tests passed.
|
|
|
|
# Totals: pass:16 fail:0 xfail:0 xpass:0 skip:0 error:0
|
|
|
|
|
|
|
|
|
|
|
|
Testcase 16 (pci_ep_data_transfer.dma.COPY_TEST) will fail for most of the DMA
|
|
|
|
capable endpoint controllers due to the absence of the MEMCPY over DMA. For such
|
|
|
|
controllers, it is advisable to skip this testcase using this
|
|
|
|
command::
|
|
|
|
|
|
|
|
# pci_endpoint_test -f pci_ep_bar -f pci_ep_basic -v memcpy -T COPY_TEST -v dma
|
2025-07-10 15:13:54 -04:00
|
|
|
|
|
|
|
Kselftest EP Doorbell
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
If the Endpoint MSI controller is used for the doorbell usecase, run below
|
|
|
|
command for testing it:
|
|
|
|
|
|
|
|
# pci_endpoint_test -f pcie_ep_doorbell
|
|
|
|
|
|
|
|
# Starting 1 tests from 1 test cases.
|
|
|
|
# RUN pcie_ep_doorbell.DOORBELL_TEST ...
|
|
|
|
# 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
|