All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	Kirti Wankhede <kwankhede@nvidia.com>,
	Xiaoguang Chen <xiaoguang.chen@intel.com>,
	intel-gvt-dev@lists.freedesktop.org, zhiyuan.lv@intel.com
Subject: Re: [PATCH v9 5/7] vfio: Define vfio based dma-buf operations
Date: Mon, 19 Jun 2017 08:54:09 -0600	[thread overview]
Message-ID: <20170619085409.26f5c14c@w520.home> (raw)
In-Reply-To: <1497854053.4207.2.camel@redhat.com>

On Mon, 19 Jun 2017 08:34:13 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:

>   Hi,
> 
> > So perhaps this becomes:
> > 
> > struct vfio_device_gfx_plane_info {
> > 	__u64 start;
> > 	__u64 drm_format_mod;
> > 	__u32 drm_format;
> > 	__u32 width;
> > 	__u32 height;
> > 	__u32 stride;
> > 	__u32 size;
> > 	__u32 x_pos;
> > 	__u32 y_pos;
> > };  
> 
> Looks good.
> 
> > struct vfio_device_query_gfx_plane {
> > 	__u32 argsz;
> > 	__u32 flags;
> > #define VFIO_GFX_PLANE_FLAGS_REGION_ID		(1 << 0)
> > #define VFIO_GFX_PLANE_FLAGS_PLANE_ID		(1 << 1)
> > 	struct vfio_device_gfx_plane_info plane_info;
> > 	__u32 id; 
> > };  
> 
> Hmm, plane isn't really an ID, it is a type, with type being either
> DRM_PLANE_TYPE_PRIMARY or DRM_PLANE_TYPE_CURSOR, so I don't think the
> flage above make sense.

The intention was that ..._REGION_ID and ...PLANE_ID are describing
what the vfio_device_query_gfx_plane.id field represents, either a
region index or a plane identifier.  The type of plane would be
represented within the vfio_device_gfx_plane_info struct.

> What are the nvidia plane for cursor support btw?
> 
> > The flag defines the data in the id field as either referring to a
> > region (perhaps there could be multiple regions with only one active)  
> 
> Well, we have a "start" field in vfio_device_gfx_plane_info (maybe we
> should rename that to "offset"), which can be used to place multiple
> planes into a single, fixed region.

That seems reasonable.
 
> Also I think it would be useful to have some way to figure the device
> capabilities as the userspace workflow will look quite different for
> the two cases.

In the region case, VFIO_DEVICE_GET_REGION_INFO would include a device
specific region with a hopefully common identifier to identify it as a
graphics framebuffer.  VFIO_DEVICE_QUERY_GFX_PLANE would indicate the
plane as a region index.

In the dmabuf case, VFIO_DEVICE_QUERY_GFX_PLANE would indicate the
plane as a "plane ID" and some sort of
VFIO_DEVICE_GET_GFX_PLANE(VFIO_GFX_TYPE_DMABUF) ioctl would be
necessary to get a file descriptor to that plane.

What else are you thinking we need?  Thanks,

Alex
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
From: Alex Williamson <alex.williamson@redhat.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Kirti Wankhede <kwankhede@nvidia.com>,
	Xiaoguang Chen <xiaoguang.chen@intel.com>,
	chris@chris-wilson.co.uk, intel-gfx@lists.freedesktop.org,
	linux-kernel@vger.kernel.org, zhenyuw@linux.intel.com,
	zhiyuan.lv@intel.com, intel-gvt-dev@lists.freedesktop.org,
	zhi.a.wang@intel.com, kevin.tian@intel.com
Subject: Re: [PATCH v9 5/7] vfio: Define vfio based dma-buf operations
Date: Mon, 19 Jun 2017 08:54:09 -0600	[thread overview]
Message-ID: <20170619085409.26f5c14c@w520.home> (raw)
In-Reply-To: <1497854053.4207.2.camel@redhat.com>

On Mon, 19 Jun 2017 08:34:13 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:

>   Hi,
> 
> > So perhaps this becomes:
> > 
> > struct vfio_device_gfx_plane_info {
> > 	__u64 start;
> > 	__u64 drm_format_mod;
> > 	__u32 drm_format;
> > 	__u32 width;
> > 	__u32 height;
> > 	__u32 stride;
> > 	__u32 size;
> > 	__u32 x_pos;
> > 	__u32 y_pos;
> > };  
> 
> Looks good.
> 
> > struct vfio_device_query_gfx_plane {
> > 	__u32 argsz;
> > 	__u32 flags;
> > #define VFIO_GFX_PLANE_FLAGS_REGION_ID		(1 << 0)
> > #define VFIO_GFX_PLANE_FLAGS_PLANE_ID		(1 << 1)
> > 	struct vfio_device_gfx_plane_info plane_info;
> > 	__u32 id; 
> > };  
> 
> Hmm, plane isn't really an ID, it is a type, with type being either
> DRM_PLANE_TYPE_PRIMARY or DRM_PLANE_TYPE_CURSOR, so I don't think the
> flage above make sense.

The intention was that ..._REGION_ID and ...PLANE_ID are describing
what the vfio_device_query_gfx_plane.id field represents, either a
region index or a plane identifier.  The type of plane would be
represented within the vfio_device_gfx_plane_info struct.

> What are the nvidia plane for cursor support btw?
> 
> > The flag defines the data in the id field as either referring to a
> > region (perhaps there could be multiple regions with only one active)  
> 
> Well, we have a "start" field in vfio_device_gfx_plane_info (maybe we
> should rename that to "offset"), which can be used to place multiple
> planes into a single, fixed region.

That seems reasonable.
 
> Also I think it would be useful to have some way to figure the device
> capabilities as the userspace workflow will look quite different for
> the two cases.

In the region case, VFIO_DEVICE_GET_REGION_INFO would include a device
specific region with a hopefully common identifier to identify it as a
graphics framebuffer.  VFIO_DEVICE_QUERY_GFX_PLANE would indicate the
plane as a region index.

In the dmabuf case, VFIO_DEVICE_QUERY_GFX_PLANE would indicate the
plane as a "plane ID" and some sort of
VFIO_DEVICE_GET_GFX_PLANE(VFIO_GFX_TYPE_DMABUF) ioctl would be
necessary to get a file descriptor to that plane.

What else are you thinking we need?  Thanks,

Alex

  reply	other threads:[~2017-06-19 14:54 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-15  8:00 [PATCH v9 0/7] drm/i915/gvt: Dma-buf support for GVT-g Xiaoguang Chen
2017-06-15  8:00 ` Xiaoguang Chen
2017-06-15  8:00 ` [PATCH v9 1/7] drm/i915/gvt: Extend the GVT-g architecture Xiaoguang Chen
2017-06-15  8:00 ` [PATCH v9 2/7] drm/i915/gvt: OpRegion support for GVT-g Xiaoguang Chen
2017-06-15  8:00   ` Xiaoguang Chen
2017-06-15  8:00 ` [PATCH v9 3/7] drm: Extend the drm format Xiaoguang Chen
2017-06-15  8:00   ` Xiaoguang Chen
2017-06-15 10:21   ` Ville Syrjälä
2017-06-15 10:21     ` [Intel-gfx] " Ville Syrjälä
2017-06-20  9:01     ` Zhang, Tina
2017-06-15  8:00 ` [PATCH v9 4/7] drm/i915/gvt: Frame buffer decoder support for GVT-g Xiaoguang Chen
2017-06-15  8:00   ` Xiaoguang Chen
2017-06-15  8:00 ` [PATCH v9 5/7] vfio: Define vfio based dma-buf operations Xiaoguang Chen
2017-06-15  8:00   ` Xiaoguang Chen
2017-06-15 14:51   ` Kirti Wankhede
2017-06-15 14:51     ` Kirti Wankhede
2017-06-15 16:00     ` Gerd Hoffmann
2017-06-15 16:00       ` Gerd Hoffmann
2017-06-15 20:38       ` Alex Williamson
2017-06-15 20:38         ` Alex Williamson
2017-06-16 10:24         ` Gerd Hoffmann
2017-06-16 12:52           ` Alex Williamson
2017-06-16 13:32         ` Kirti Wankhede
2017-06-16 13:32           ` Kirti Wankhede
2017-06-16 16:39           ` Alex Williamson
2017-06-16 16:39             ` Alex Williamson
2017-06-16 18:28             ` Kirti Wankhede
2017-06-16 18:28               ` Kirti Wankhede
2017-06-19  6:34             ` Gerd Hoffmann
2017-06-19 14:54               ` Alex Williamson [this message]
2017-06-19 14:54                 ` Alex Williamson
2017-06-20  8:35                 ` Gerd Hoffmann
2017-06-20  8:35                   ` Gerd Hoffmann
2017-06-20 13:55                   ` Kirti Wankhede
2017-06-20 13:55                     ` Kirti Wankhede
2017-06-21  7:22                     ` Gerd Hoffmann
2017-07-12 13:18                       ` Kirti Wankhede
2017-07-12 13:18                         ` Kirti Wankhede
2017-07-14  9:58                         ` Gerd Hoffmann
2017-07-14  9:58                           ` Gerd Hoffmann
2017-06-19  6:38           ` Gerd Hoffmann
2017-06-19 14:55             ` Alex Williamson
2017-06-19 14:55               ` Alex Williamson
2017-06-20  8:41               ` Zhang, Tina
2017-06-20  8:41                 ` [Intel-gfx] " Zhang, Tina
2017-06-20 10:57                 ` Gerd Hoffmann
2017-06-20 10:57                   ` [Intel-gfx] " Gerd Hoffmann
2017-06-20 15:00                   ` Alex Williamson
2017-06-20 17:07                     ` Kirti Wankhede
2017-06-20 17:07                       ` [Intel-gfx] " Kirti Wankhede
2017-06-20 23:01                     ` Zhang, Tina
2017-06-20 23:01                       ` [Intel-gfx] " Zhang, Tina
2017-06-20 23:22                       ` Alex Williamson
2017-06-20 23:22                         ` [Intel-gfx] " Alex Williamson
2017-06-21  9:20                         ` Zhang, Tina
2017-06-21  9:20                           ` [Intel-gfx] " Zhang, Tina
2017-06-21 11:03                           ` Gerd Hoffmann
2017-06-21 18:59                             ` Alex Williamson
2017-06-22  8:30                               ` Gerd Hoffmann
2017-06-22  8:30                                 ` [Intel-gfx] " Gerd Hoffmann
2017-06-22 18:54                                 ` Alex Williamson
2017-06-22 18:54                                   ` [Intel-gfx] " Alex Williamson
2017-06-23  7:26                                   ` Gerd Hoffmann
2017-06-23  7:26                                     ` [Intel-gfx] " Gerd Hoffmann
2017-06-23  7:49                                     ` Zhi Wang
2017-06-23  7:49                                       ` Zhi Wang
2017-06-23  8:31                                       ` Gerd Hoffmann
2017-06-23 16:40                                         ` Alex Williamson
2017-06-23 16:40                                           ` [Intel-gfx] " Alex Williamson
2017-06-23 17:15                                     ` Alex Williamson
2017-06-23 17:15                                       ` [Intel-gfx] " Alex Williamson
2017-06-26  6:17                                       ` Gerd Hoffmann
2017-06-26  6:17                                         ` [Intel-gfx] " Gerd Hoffmann
2017-06-22  0:21                             ` Zhang, Tina
2017-06-22  0:21                               ` [Intel-gfx] " Zhang, Tina
2017-06-21  7:34                     ` Gerd Hoffmann
2017-06-21  7:34                       ` [Intel-gfx] " Gerd Hoffmann
2017-06-23 21:58                   ` Zhang, Tina
2017-06-23 21:58                     ` [Intel-gfx] " Zhang, Tina
2017-06-26  6:39                     ` Gerd Hoffmann
2017-06-26  6:39                       ` [Intel-gfx] " Gerd Hoffmann
2017-06-26 17:28                       ` Alex Williamson
2017-06-26 17:28                         ` [Intel-gfx] " Alex Williamson
2017-06-27  6:12                         ` Gerd Hoffmann
2017-06-27  6:12                           ` [Intel-gfx] " Gerd Hoffmann
2017-06-28 12:48                           ` Zhang, Tina
2017-06-28 12:48                             ` [Intel-gfx] " Zhang, Tina
2017-06-29  6:41                             ` Gerd Hoffmann
2017-06-29  6:41                               ` [Intel-gfx] " Gerd Hoffmann
2017-06-29  8:39                               ` Daniel Vetter
2017-06-29  8:39                                 ` [Intel-gfx] " Daniel Vetter
2017-07-04  0:47                                 ` Zhang, Tina
2017-07-04  0:47                                   ` [Intel-gfx] " Zhang, Tina
2017-06-20 13:35               ` Kirti Wankhede
2017-06-20 13:35                 ` Kirti Wankhede
2017-06-15  8:00 ` [PATCH v9 6/7] drm/i915/gvt: Dmabuf support for GVT-g Xiaoguang Chen
2017-06-15  8:00   ` Xiaoguang Chen
2017-06-15  8:00 ` [PATCH v9 7/7] drm/i915/gvt: Adding user interface for dma-buf Xiaoguang Chen
2017-06-15  8:00   ` Xiaoguang Chen
2017-06-15  8:03 ` ✗ Fi.CI.BAT: failure for drm/i915/gvt: dma-buf support for GVT-g (rev9) Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170619085409.26f5c14c@w520.home \
    --to=alex.williamson@redhat.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-gvt-dev@lists.freedesktop.org \
    --cc=kraxel@redhat.com \
    --cc=kwankhede@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=xiaoguang.chen@intel.com \
    --cc=zhiyuan.lv@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.