Test and enable PCIe AtomicOp completer support of various widths and report via device-info capability to userspace.
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -240,6 +240,20 @@ struct vfio_device_info { · 239 unmodified lines | ||
| 240 | 240 | #define VFIO_DEVICE_INFO_CAP_ZPCI_UTIL 3 |
| 241 | 241 | #define VFIO_DEVICE_INFO_CAP_ZPCI_PFIP 4 |
| 242 | 242 | |
| 243 | +/* | |
| 244 | + * The following VFIO_DEVICE_INFO capability reports support for PCIe AtomicOp | |
| 245 | + * completion to the root bus with supported widths provided via flags. | |
| 246 | + */ | |
| 247 | +#define VFIO_DEVICE_INFO_CAP_PCI_ATOMIC_COMP 5 | |
| 248 | +struct vfio_device_info_cap_pci_atomic_comp { | |
| 249 | + struct vfio_info_cap_header header; | |
| 250 | + __u32 flags; | |
| 251 | +#define VFIO_PCI_ATOMIC_COMP32 (1 << 0) | |
| 252 | +#define VFIO_PCI_ATOMIC_COMP64 (1 << 1) | |
| 253 | +#define VFIO_PCI_ATOMIC_COMP128 (1 << 2) | |
| 254 | + __u32 reserved; | |
| 255 | +}; | |
| 256 | + | |
| 243 | 257 | /** |
| 244 | 258 | * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8, |
| 245 | 259 | * struct vfio_region_info) |