• Linus Torvalds's avatar
    Merge tag 'vfio-v5.19-rc1' of https://github.com/awilliam/linux-vfio · 17688215
    Linus Torvalds authored
    Pull vfio updates from Alex Williamson:
    
     - Improvements to mlx5 vfio-pci variant driver, including support for
       parallel migration per PF (Yishai Hadas)
    
     - Remove redundant iommu_present() check (Robin Murphy)
    
     - Ongoing refactoring to consolidate the VFIO driver facing API to use
       vfio_device (Jason Gunthorpe)
    
     - Use drvdata to store vfio_device among all vfio-pci and variant
       drivers (Jason Gunthorpe)
    
     - Remove redundant code now that IOMMU core manages group DMA ownership
       (Jason Gunthorpe)
    
     - Remove vfio_group from external API handling struct file ownership
       (Jason Gunthorpe)
    
     - Correct typo in uapi comments (Thomas Huth)
    
     - Fix coccicheck detected deadlock (Wan Jiabing)
    
     - Use rwsem to remove races and simplify code around container and kvm
       association to groups (Jason Gunthorpe)
    
     - Harden access to devices in low power states and use runtime PM to
       enable d3cold support for unused devices (Abhishek Sahu)
    
     - Fix dma_owner handling of fake IOMMU groups (Jason Gunthorpe)
    
     - Set driver_managed_dma on vfio-pci variant drivers (Jason Gunthorpe)
    
     - Pass KVM pointer directly rather than via notifier (Matthew Rosato)
    
    * tag 'vfio-v5.19-rc1' of https://github.com/awilliam/linux-vfio: (38 commits)
      vfio: remove VFIO_GROUP_NOTIFY_SET_KVM
      vfio/pci: Add driver_managed_dma to the new vfio_pci drivers
      vfio: Do not manipulate iommu dma_owner for fake iommu groups
      vfio/pci: Move the unused device into low power state with runtime PM
      vfio/pci: Virtualize PME related registers bits and initialize to zero
      vfio/pci: Change the PF power state to D0 before enabling VFs
      vfio/pci: Invalidate mmaps and block the access in D3hot power state
      vfio: Change struct vfio_group::container_users to a non-atomic int
      vfio: Simplify the life cycle of the group FD
      vfio: Fully lock struct vfio_group::container
      vfio: Split up vfio_group_get_device_fd()
      vfio: Change struct vfio_group::opened from an atomic to bool
      vfio: Add missing locking for struct vfio_group::kvm
      kvm/vfio: Fix potential deadlock problem in vfio
      include/uapi/linux/vfio.h: Fix trivial typo - _IORW should be _IOWR instead
      vfio/pci: Use the struct file as the handle not the vfio_group
      kvm/vfio: Remove vfio_group from kvm
      vfio: Change vfio_group_set_kvm() to vfio_file_set_kvm()
      vfio: Change vfio_external_check_extension() to vfio_file_enforced_coherent()
      vfio: Remove vfio_external_group_match_file()
      ...
    17688215
vfio.c 55.8 KB