Pull more VFIO updates from Alex Williamson: "A second small set of commits for this merge window, primarily to unbreak some deletions from our uAPI header. - Additional mdev sample driver cleanup (Dan Carpenter) - Doc fix (Alyssa Ross) - Unbreak uAPI from NVLink2 support removal (Alex Williamson)" * tag 'vfio-v5.13-rc1pt2' of git://github.com/awilliam/linux-vfio: docs: vfio: fix typo vfio/pci: Revert nvlink removal uAPI breakage vfio/mdev: remove unnecessary NULL check in mbochs_create()
Showing the changes to include/uapi/linux (1 of 4 files). Show all
Unified · Split
| @@ -333,10 +333,21 @@ struct vfio_region_info_cap_type { · 332 unmodified lines | ||
| 333 | 333 | #define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3) |
| 334 | 334 | |
| 335 | 335 | /* 10de vendor PCI sub-types */ |
| 336 | −/* subtype 1 was VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM, don't use */ | |
| 336 | +/* | |
| 337 | + * NVIDIA GPU NVlink2 RAM is coherent RAM mapped onto the host address space. | |
| 338 | + * | |
| 339 | + * Deprecated, region no longer provided | |
| 340 | + */ | |
| 341 | +#define VFIO_REGION_SUBTYPE_NVIDIA_NVLINK2_RAM (1) | |
| 337 | 342 | |
| 338 | 343 | /* 1014 vendor PCI sub-types */ |
| 339 | −/* subtype 1 was VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD, don't use */ | |
| 344 | +/* | |
| 345 | + * IBM NPU NVlink2 ATSD (Address Translation Shootdown) register of NPU | |
| 346 | + * to do TLB invalidation on a GPU. | |
| 347 | + * | |
| 348 | + * Deprecated, region no longer provided | |
| 349 | + */ | |
| 350 | +#define VFIO_REGION_SUBTYPE_IBM_NVLINK2_ATSD (1) | |
| 340 | 351 | |
| 341 | 352 | /* sub-types for VFIO_REGION_TYPE_GFX */ |
| 342 | 353 | #define VFIO_REGION_SUBTYPE_GFX_EDID (1) |
| @@ -630,9 +641,36 @@ struct vfio_device_migration_info { · 287 unmodified lines | ||
| 630 | 641 | */ |
| 631 | 642 | #define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE 3 |
| 632 | 643 | |
| 633 | −/* subtype 4 was VFIO_REGION_INFO_CAP_NVLINK2_SSATGT, don't use */ | |
| 644 | +/* | |
| 645 | + * Capability with compressed real address (aka SSA - small system address) | |
| 646 | + * where GPU RAM is mapped on a system bus. Used by a GPU for DMA routing | |
| 647 | + * and by the userspace to associate a NVLink bridge with a GPU. | |
| 648 | + * | |
| 649 | + * Deprecated, capability no longer provided | |
| 650 | + */ | |
| 651 | +#define VFIO_REGION_INFO_CAP_NVLINK2_SSATGT 4 | |
| 652 | + | |
| 653 | +struct vfio_region_info_cap_nvlink2_ssatgt { | |
| 654 | + struct vfio_info_cap_header header; | |
| 655 | + __u64 tgt; | |
| 656 | +}; | |
| 634 | 657 | |
| 635 | −/* subtype 5 was VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD, don't use */ | |
| 658 | +/* | |
| 659 | + * Capability with an NVLink link speed. The value is read by | |
| 660 | + * the NVlink2 bridge driver from the bridge's "ibm,nvlink-speed" | |
| 661 | + * property in the device tree. The value is fixed in the hardware | |
| 662 | + * and failing to provide the correct value results in the link | |
| 663 | + * not working with no indication from the driver why. | |
| 664 | + * | |
| 665 | + * Deprecated, capability no longer provided | |
| 666 | + */ | |
| 667 | +#define VFIO_REGION_INFO_CAP_NVLINK2_LNKSPD 5 | |
| 668 | + | |
| 669 | +struct vfio_region_info_cap_nvlink2_lnkspd { | |
| 670 | + struct vfio_info_cap_header header; | |
| 671 | + __u32 link_speed; | |
| 672 | + __u32 __pad; | |
| 673 | +}; | |
| 636 | 674 | |
| 637 | 675 | /** |
| 638 | 676 | * VFIO_DEVICE_GET_IRQ_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 9, |