dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
  • [parent not found: <20210615133519.754763-8-hch@lst.de>]
  • [parent not found: <20210615133519.754763-6-hch@lst.de>]
  • [parent not found: <20210615133519.754763-10-hch@lst.de>]
  • [parent not found: <20210615133519.754763-11-hch@lst.de>]
  • * Re: Allow mdev drivers to directly create the vfio_device (v3)
           [not found] <20210615133519.754763-1-hch@lst.de>
                       ` (4 preceding siblings ...)
           [not found] ` <20210615133519.754763-11-hch@lst.de>
    @ 2021-06-15 19:35 ` Alex Williamson
      2021-06-15 20:35   ` Jason Gunthorpe
           [not found] ` <20210615133519.754763-3-hch@lst.de>
                       ` (2 subsequent siblings)
      8 siblings, 1 reply; 22+ messages in thread
    From: Alex Williamson @ 2021-06-15 19:35 UTC (permalink / raw)
      To: Christoph Hellwig
      Cc: kvm, linux-doc, David Airlie, dri-devel, Kirti Wankhede,
    	linux-s390, Jonathan Corbet, Rafael J. Wysocki, Halil Pasic,
    	Christian Borntraeger, Jason Gunthorpe, intel-gfx, Jason Herne,
    	Vasily Gorbik, Heiko Carstens, Rodrigo Vivi, Tony Krowiak,
    	Greg Kroah-Hartman, Cornelia Huck
    
    On Tue, 15 Jun 2021 15:35:09 +0200
    Christoph Hellwig <hch@lst.de> wrote:
    
    > This is my alternative take on this series from Jason:
    > 
    > https://lore.kernel.org/dri-devel/87czsszi9i.fsf@redhat.com/T/
    > 
    > The mdev/vfio parts are exactly the same, but this solves the driver core
    > changes for the direct probing without the in/out flag that Greg hated,
    > which cause a little more work, but probably make the result better.
    > 
    > Original decription from Jason below:
    > 
    > The mdev bus's core part for managing the lifecycle of devices is mostly
    > as one would expect for a driver core bus subsystem.
    > 
    > However instead of having a normal 'struct device_driver' and binding the
    > actual mdev drivers through the standard driver core mechanisms it open
    > codes this with the struct mdev_parent_ops and provides a single driver
    > that shims between the VFIO core's struct vfio_device and the actual
    > device driver.
    > 
    > Instead, allow mdev drivers implement an actual struct mdev_driver and
    > directly call vfio_register_group_dev() in the probe() function for the
    > mdev. Arrange to bind the created mdev_device to the mdev_driver that is
    > provided by the end driver.
    > 
    > The actual execution flow doesn't change much, eg what was
    > parent_ops->create is now device_driver->probe and it is called at almost
    > the exact same time - except under the normal control of the driver core.
    > 
    > Ultimately converting all the drivers unlocks a fair number of additional
    > VFIO simplifications and cleanups.
    
    Looks like we need an update to
    Documentation/driver-api/vfio-mediated-device.rst to go along with
    this.
    
    Also, if we're preserving compatibility with the "legacy"
    mdev_parent_ops callbacks without deprecating them, does it really make
    sense to convert every one of the sample drivers to this new direct
    registration?  Thanks,
    
    Alex
    
    
    ^ permalink raw reply	[flat|nested] 22+ messages in thread
  • [parent not found: <20210615133519.754763-3-hch@lst.de>]
  • [parent not found: <20210615133519.754763-7-hch@lst.de>]
  • [parent not found: <20210615133519.754763-9-hch@lst.de>]
  • [parent not found: <20210614150846.4111871-1-hch@lst.de>]

    end of thread, other threads:[~2021-06-16 20:21 UTC | newest]
    
    Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <20210615133519.754763-1-hch@lst.de>
         [not found] ` <20210615133519.754763-5-hch@lst.de>
    2021-06-15 14:03   ` [PATCH 04/10] driver core: Don't return EPROBE_DEFER to userspace during sysfs bind Cornelia Huck
    2021-06-15 19:36   ` Alex Williamson
         [not found] ` <20210615133519.754763-8-hch@lst.de>
    2021-06-15 14:06   ` [PATCH 07/10] vfio/mdev: Allow the mdev_parent_ops to specify the device driver to bind Cornelia Huck
    2021-06-15 14:11   ` Greg Kroah-Hartman
    2021-06-16  0:00     ` Jason Gunthorpe
    2021-06-16  6:39       ` Greg Kroah-Hartman
    2021-06-16 20:20   ` Kirti Wankhede
         [not found] ` <20210615133519.754763-6-hch@lst.de>
    2021-06-15 14:10   ` [PATCH 05/10] driver core: Export device_driver_attach() Greg Kroah-Hartman
         [not found] ` <20210615133519.754763-10-hch@lst.de>
    2021-06-15 14:12   ` [PATCH 09/10] vfio/mdpy: Convert to use vfio_register_group_dev() Greg Kroah-Hartman
         [not found] ` <20210615133519.754763-11-hch@lst.de>
    2021-06-15 14:12   ` [PATCH 10/10] vfio/mbochs: " Greg Kroah-Hartman
    2021-06-15 19:35 ` Allow mdev drivers to directly create the vfio_device (v3) Alex Williamson
    2021-06-15 20:35   ` Jason Gunthorpe
         [not found]     ` <20210616031313.GA24992@lst.de>
    2021-06-16 14:03       ` Jason Gunthorpe
         [not found] ` <20210615133519.754763-3-hch@lst.de>
    2021-06-15 13:53   ` [PATCH 02/10] driver core: Better distinguish probe errors in really_probe Cornelia Huck
    2021-06-15 14:09     ` Greg Kroah-Hartman
    2021-06-15 14:09   ` Greg Kroah-Hartman
    2021-06-16 20:20   ` Kirti Wankhede
         [not found] ` <20210615133519.754763-7-hch@lst.de>
    2021-06-15 14:10   ` [PATCH 06/10] vfio/mdev: Remove CONFIG_VFIO_MDEV_DEVICE Greg Kroah-Hartman
    2021-06-16 20:20   ` Kirti Wankhede
         [not found] ` <20210615133519.754763-9-hch@lst.de>
    2021-06-15 14:11   ` [PATCH 08/10] vfio/mtty: Convert to use vfio_register_group_dev() Greg Kroah-Hartman
    2021-06-16 20:20   ` Kirti Wankhede
         [not found] <20210614150846.4111871-1-hch@lst.de>
         [not found] ` <20210614150846.4111871-8-hch@lst.de>
    2021-06-15 10:54   ` [PATCH 07/10] vfio/mdev: Allow the mdev_parent_ops to specify the device driver to bind Cornelia Huck
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox;
    as well as URLs for NNTP newsgroup(s).