On 2025/11/8 1:41, Jason Gunthorpe wrote:
> Change the function signature of hisi_acc_vfio_pci_ioctl()
> and re-indent it.
> 
> Reviewed-by: Kevin Tian <[email protected]>
> Acked-by: Pranjal Shrivastava <[email protected]>
> Signed-off-by: Jason Gunthorpe <[email protected]>
> ---
>  .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 57 +++++++++----------
>  1 file changed, 27 insertions(+), 30 deletions(-)
> 
> diff --git a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c 
> b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> index fde33f54e99ec5..899db4d742a010 100644
> --- a/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> +++ b/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c
> @@ -1324,43 +1324,39 @@ static ssize_t hisi_acc_vfio_pci_read(struct 
> vfio_device *core_vdev,
>       return vfio_pci_core_read(core_vdev, buf, new_count, ppos);
>  }
>  
> -static long hisi_acc_vfio_pci_ioctl(struct vfio_device *core_vdev, unsigned 
> int cmd,
> -                                 unsigned long arg)
> +static int hisi_acc_vfio_ioctl_get_region(struct vfio_device *core_vdev,
> +                                       struct vfio_region_info __user *arg)
>  {
> -     if (cmd == VFIO_DEVICE_GET_REGION_INFO) {
> -             struct vfio_pci_core_device *vdev =
> -                     container_of(core_vdev, struct vfio_pci_core_device, 
> vdev);
> -             struct pci_dev *pdev = vdev->pdev;
> -             struct vfio_region_info info;
> -             unsigned long minsz;
> +     struct vfio_pci_core_device *vdev =
> +             container_of(core_vdev, struct vfio_pci_core_device, vdev);
> +     struct pci_dev *pdev = vdev->pdev;
> +     struct vfio_region_info info;
> +     unsigned long minsz;
>  
> -             minsz = offsetofend(struct vfio_region_info, offset);
> +     minsz = offsetofend(struct vfio_region_info, offset);
>  
> -             if (copy_from_user(&info, (void __user *)arg, minsz))
> -                     return -EFAULT;
> +     if (copy_from_user(&info, arg, minsz))
> +             return -EFAULT;
>  
> -             if (info.argsz < minsz)
> -                     return -EINVAL;
> +     if (info.argsz < minsz)
> +             return -EINVAL;
>  
> -             if (info.index == VFIO_PCI_BAR2_REGION_INDEX) {
> -                     info.offset = VFIO_PCI_INDEX_TO_OFFSET(info.index);
> +     if (info.index != VFIO_PCI_BAR2_REGION_INDEX)
> +             return vfio_pci_ioctl_get_region_info(core_vdev, arg);
>  
> -                     /*
> -                      * ACC VF dev BAR2 region consists of both functional
> -                      * register space and migration control register space.
> -                      * Report only the functional region to Guest.
> -                      */
> -                     info.size = pci_resource_len(pdev, info.index) / 2;
> +     info.offset = VFIO_PCI_INDEX_TO_OFFSET(info.index);
>

Please adapt based on the latest code in the Next branch.
Code updates have already been made here.

Thanks
Longfang.

> -                     info.flags = VFIO_REGION_INFO_FLAG_READ |
> -                                     VFIO_REGION_INFO_FLAG_WRITE |
> -                                     VFIO_REGION_INFO_FLAG_MMAP;
> +     /*
> +      * ACC VF dev BAR2 region consists of both functional
> +      * register space and migration control register space.
> +      * Report only the functional region to Guest.
> +      */
> +     info.size = pci_resource_len(pdev, info.index) / 2;
>  
> -                     return copy_to_user((void __user *)arg, &info, minsz) ?
> -                                         -EFAULT : 0;
> -             }
> -     }
> -     return vfio_pci_core_ioctl(core_vdev, cmd, arg);
> +     info.flags = VFIO_REGION_INFO_FLAG_READ | VFIO_REGION_INFO_FLAG_WRITE |
> +                  VFIO_REGION_INFO_FLAG_MMAP;
> +
> +     return copy_to_user(arg, &info, minsz) ? -EFAULT : 0;
>  }
>  
>  static int hisi_acc_vf_debug_check(struct seq_file *seq, struct vfio_device 
> *vdev)
> @@ -1557,7 +1553,8 @@ static const struct vfio_device_ops 
> hisi_acc_vfio_pci_migrn_ops = {
>       .release = vfio_pci_core_release_dev,
>       .open_device = hisi_acc_vfio_pci_open_device,
>       .close_device = hisi_acc_vfio_pci_close_device,
> -     .ioctl = hisi_acc_vfio_pci_ioctl,
> +     .ioctl = vfio_pci_core_ioctl,
> +     .get_region_info = hisi_acc_vfio_ioctl_get_region,
>       .device_feature = vfio_pci_core_ioctl_feature,
>       .read = hisi_acc_vfio_pci_read,
>       .write = hisi_acc_vfio_pci_write,
> 

Reply via email to