xref: /linux/include/uapi/linux/pcitest.h (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 /*
3  * pcitest.h - PCI test uapi defines
4  *
5  * Copyright (C) 2017 Texas Instruments
6  * Author: Kishon Vijay Abraham I <kishon@ti.com>
7  *
8  */
9 
10 #ifndef __UAPI_LINUX_PCITEST_H
11 #define __UAPI_LINUX_PCITEST_H
12 
13 #define PCITEST_BAR		_IO('P', 0x1)
14 #define PCITEST_INTX_IRQ	_IO('P', 0x2)
15 #define PCITEST_LEGACY_IRQ	PCITEST_INTX_IRQ
16 #define PCITEST_MSI		_IOW('P', 0x3, int)
17 #define PCITEST_WRITE		_IOW('P', 0x4, unsigned long)
18 #define PCITEST_READ		_IOW('P', 0x5, unsigned long)
19 #define PCITEST_COPY		_IOW('P', 0x6, unsigned long)
20 #define PCITEST_MSIX		_IOW('P', 0x7, int)
21 #define PCITEST_SET_IRQTYPE	_IOW('P', 0x8, int)
22 #define PCITEST_GET_IRQTYPE	_IO('P', 0x9)
23 #define PCITEST_BARS		_IO('P', 0xa)
24 #define PCITEST_DOORBELL	_IO('P', 0xb)
25 #define PCITEST_BAR_SUBRANGE	_IO('P', 0xc)
26 #define PCITEST_CLEAR_IRQ	_IO('P', 0x10)
27 
28 #define PCITEST_IRQ_TYPE_UNDEFINED	-1
29 #define PCITEST_IRQ_TYPE_INTX		0
30 #define PCITEST_IRQ_TYPE_MSI		1
31 #define PCITEST_IRQ_TYPE_MSIX		2
32 #define PCITEST_IRQ_TYPE_AUTO		3
33 
34 #define PCITEST_FLAGS_USE_DMA	0x00000001
35 
36 struct pci_endpoint_test_xfer_param {
37 	unsigned long size;
38 	unsigned char flags;
39 };
40 
41 #endif /* __UAPI_LINUX_PCITEST_H */
42