GNU Linux-libre 4.19.211-gnu1
[releases.git] / Documentation / misc-devices / pci-endpoint-test.txt
1 Driver for PCI Endpoint Test Function
2
3 This driver should be used as a host side driver if the root complex is
4 connected to a configurable PCI endpoint running *pci_epf_test* function
5 driver configured according to [1].
6
7 The "pci_endpoint_test" driver can be used to perform the following tests.
8
9 The PCI driver for the test device performs the following tests
10         *) verifying addresses programmed in BAR
11         *) raise legacy IRQ
12         *) raise MSI IRQ
13         *) raise MSI-X IRQ
14         *) read data
15         *) write data
16         *) copy data
17
18 This misc driver creates /dev/pci-endpoint-test.<num> for every
19 *pci_epf_test* function connected to the root complex and "ioctls"
20 should be used to perform the above tests.
21
22 ioctl
23 -----
24  PCITEST_BAR: Tests the BAR. The number of the BAR to be tested
25               should be passed as argument.
26  PCITEST_LEGACY_IRQ: Tests legacy IRQ
27  PCITEST_MSI: Tests message signalled interrupts. The MSI number
28               to be tested should be passed as argument.
29  PCITEST_MSIX: Tests message signalled interrupts. The MSI-X number
30               to be tested should be passed as argument.
31  PCITEST_SET_IRQTYPE: Changes driver IRQ type configuration. The IRQ type
32               should be passed as argument (0: Legacy, 1:MSI, 2:MSI-X).
33  PCITEST_GET_IRQTYPE: Gets driver IRQ type configuration.
34  PCITEST_WRITE: Perform write tests. The size of the buffer should be passed
35                 as argument.
36  PCITEST_READ: Perform read tests. The size of the buffer should be passed
37                as argument.
38  PCITEST_COPY: Perform read tests. The size of the buffer should be passed
39                as argument.
40
41 [1] -> Documentation/PCI/endpoint/function/binding/pci-test.txt