]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
vfio: use vfio_pci_core_setup_barmap to map bar in mmap
authorAnkit Agrawal <ankita@nvidia.com>
Thu, 27 Nov 2025 17:06:29 +0000 (17:06 +0000)
committerAlex Williamson <alex@shazbot.org>
Fri, 28 Nov 2025 17:07:25 +0000 (10:07 -0700)
Remove code duplication in vfio_pci_core_mmap by calling
vfio_pci_core_setup_barmap to perform the bar mapping.

No functional change is intended.

Cc: Donald Dutile <ddutile@redhat.com>
Reviewed-by: Shameer Kolothum <skolothumtho@nvidia.com>
Reviewed-by: Zhi Wang <zhiw@nvidia.com>
Suggested-by: Alex Williamson <alex@shazbot.org>
Signed-off-by: Ankit Agrawal <ankita@nvidia.com>
Link: https://lore.kernel.org/r/20251127170632.3477-4-ankita@nvidia.com
Signed-off-by: Alex Williamson <alex@shazbot.org>
drivers/vfio/pci/vfio_pci_core.c

index 9bb700d25ccbed87bf33cfb1816662209f675d41..3a11e6f450f70105f17a3a621520c195d99e0671 100644 (file)
@@ -1761,18 +1761,9 @@ int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma
         * Even though we don't make use of the barmap for the mmap,
         * we need to request the region and the barmap tracks that.
         */
-       if (!vdev->barmap[index]) {
-               ret = pci_request_selected_regions(pdev,
-                                                  1 << index, "vfio-pci");
-               if (ret)
-                       return ret;
-
-               vdev->barmap[index] = pci_iomap(pdev, index, 0);
-               if (!vdev->barmap[index]) {
-                       pci_release_selected_regions(pdev, 1 << index);
-                       return -ENOMEM;
-               }
-       }
+       ret = vfio_pci_core_setup_barmap(vdev, index);
+       if (ret)
+               return ret;
 
        vma->vm_private_data = vdev;
        vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);