Re: [PATCH v2 2/2] docs: vfio: Update vfio.rst per latest interfaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Yi,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on awilliam-vfio/for-linus]
[also build test WARNING on linus/master v6.2-rc6 next-20230203]
[cannot apply to awilliam-vfio/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Yi-Liu/vfio-Update-the-kdoc-for-vfio_device_ops/20230203-163612
base:   https://github.com/awilliam/linux-vfio.git for-linus
patch link:    https://lore.kernel.org/r/20230203083345.711443-3-yi.l.liu%40intel.com
patch subject: [PATCH v2 2/2] docs: vfio: Update vfio.rst per latest interfaces
reproduce:
        # https://github.com/intel-lab-lkp/linux/commit/8db2c0d3414387502a6c743d6fa383cec960e3ba
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Yi-Liu/vfio-Update-the-kdoc-for-vfio_device_ops/20230203-163612
        git checkout 8db2c0d3414387502a6c743d6fa383cec960e3ba
        make menuconfig
        # enable CONFIG_COMPILE_TEST, CONFIG_WARN_MISSING_DOCUMENTS, CONFIG_WARN_ABI_ERRORS
        make htmldocs

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> Documentation/driver-api/vfio.rst:264: WARNING: Inline emphasis start-string without end-string.
>> Documentation/driver-api/vfio.rst:296: WARNING: Literal block ends without a blank line; unexpected unindent.
>> Documentation/driver-api/vfio.rst:305: WARNING: Unexpected indentation.
>> Documentation/driver-api/vfio.rst:306: WARNING: Block quote ends without a blank line; unexpected unindent.

vim +264 Documentation/driver-api/vfio.rst

   263	
 > 264		vfio_alloc_device(dev_struct, member, dev, ops);
   265		void vfio_put_device(struct vfio_device *device);
   266	
   267	vfio_register_group_dev() indicates to the core to begin tracking the
   268	iommu_group of the specified dev and register the dev as owned by a VFIO bus
   269	driver. Once vfio_register_group_dev() returns it is possible for userspace to
   270	start accessing the driver, thus the driver should ensure it is completely
   271	ready before calling it. The driver provides an ops structure for callbacks
   272	similar to a file operations structure::
   273	
   274		struct vfio_device_ops {
   275			char	*name;
   276			int	(*init)(struct vfio_device *vdev);
   277			void	(*release)(struct vfio_device *vdev);
   278			int	(*bind_iommufd)(struct vfio_device *vdev,
   279						struct iommufd_ctx *ictx, u32 *out_device_id);
   280			void	(*unbind_iommufd)(struct vfio_device *vdev);
   281			int	(*attach_ioas)(struct vfio_device *vdev, u32 *pt_id);
   282			int	(*open_device)(struct vfio_device *vdev);
   283			void	(*close_device)(struct vfio_device *vdev);
   284			ssize_t	(*read)(struct vfio_device *vdev, char __user *buf,
   285					size_t count, loff_t *ppos);
   286			ssize_t	(*write)(struct vfio_device *vdev, const char __user *buf,
   287				 size_t count, loff_t *size);
   288			long	(*ioctl)(struct vfio_device *vdev, unsigned int cmd,
   289					 unsigned long arg);
   290			int	(*mmap)(struct vfio_device *vdev, struct vm_area_struct *vma);
   291			void	(*request)(struct vfio_device *vdev, unsigned int count);
   292			int	(*match)(struct vfio_device *vdev, char *buf);
   293			void	(*dma_unmap)(struct vfio_device *vdev, u64 iova, u64 length);
   294			int	(*device_feature)(struct vfio_device *device, u32 flags,
   295						  void __user *arg, size_t argsz);
 > 296	};
   297	
   298	Each function is passed the vdev that was originally registered
   299	in the vfio_register_group_dev() or vfio_register_emulated_iommu_dev()
   300	call above.  This allows the bus driver to obtain its private data using
   301	container_of().
   302	- The init/release callbacks are issued when vfio_device is initialized
   303	- and released.
   304	- The open/close_device callbacks are issued when a new file descriptor is
 > 305	  created for a device (via VFIO_GROUP_GET_DEVICE_FD).
 > 306	- The ioctl interface provides a direct pass through for VFIO_DEVICE_* ioctls.
   307	- The [un]bind_iommufd callbacks are issued when the device is bound to
   308	- and unbound from iommufd.
   309	- The attach_ioas callback is issued when the device is attached to an IOAS
   310	  managed by the bound iommufd. The attached IOAS is automatically detached
   311	  when the device is unbound from the iommufd.
   312	- The read/write/mmap interfaces implement the device region access defined by
   313	  the device's own VFIO_DEVICE_GET_REGION_INFO ioctl.
   314	- The request callback is issued when device is going to be unregistered.
   315	- The dma_unmap callback is issued when a range of iova's are unmapped in
   316	  the container or IOAS attached by the device. Drivers which care about
   317	  DMA unmap can implement this callback and must tolerate receiving unmap
   318	  notifications before the device is opened.
   319	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux