On Wed, Jul 12, 2017 at 02:10:51PM +0800, Tina Zhang wrote:
> Add VFIO_DEVICE_QUERY_GFX_PLANE ioctl command to let user mode query and
> get the plan and its related information.
> 
> The dma-buf's life cycle is handled by user mode and tracked by kernel.
> The returned fd in struct vfio_device_query_gfx_plane can be a new
> fd or an old fd of a re-exported dma-buf. Host User mode can check the
> value of fd and to see if it needs to create new resource according to
> the new fd or just use the existed resource related to the old fd.
> 
> Signed-off-by: Tina Zhang <tina.zh...@intel.com>
> 
> diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
> index ae46105..c176cc8 100644
> --- a/include/uapi/linux/vfio.h
> +++ b/include/uapi/linux/vfio.h
> @@ -502,6 +502,32 @@ struct vfio_pci_hot_reset {
>  
>  #define VFIO_DEVICE_PCI_HOT_RESET    _IO(VFIO_TYPE, VFIO_BASE + 13)
>  
> +/**
> + * VFIO_DEVICE_QUERY_GFX_PLANE - _IOW(VFIO_TYPE, VFIO_BASE + 14, struct 
> vfio_device_query_gfx_plane)
> + *
> + * Set the drm_plane_type and retrieve information about the gfx plane.
> + *
> + * Return: 0 on success, -errno on failure.
> + */
> +struct vfio_device_gfx_plane_info {
> +     __u32 argsz;

What's argsz for?

> +     __u32 flags;
> +     /* in */
> +     __u32 drm_plane_type;   /* type of plane: DRM_PLANE_TYPE_* */

Do we plan to support multiple outputs on a vfio? In that case just the
plane-type doesn't identify the right plane. Also, if you want to support
overlay planes, then usually hw has a lot of those.
-Daniel

> +     /* out */
> +     __u32 drm_format;       /* drm format of plane */
> +     __u32 width;    /* width of plane */
> +     __u32 height;   /* height of plane */
> +     __u32 stride;   /* stride of plane */
> +     __u32 size;     /* size of plane in bytes, align on page*/
> +     __u32 x_pos;    /* horizontal position of cursor plane, upper left 
> corner in pixels */
> +     __u32 y_pos;    /* vertical position of cursor plane, upper left corner 
> in lines*/

Why is x/y pos only for cursors? I'm not clear at all what this would be
for ... Is this an offset within the plane where the cursor starts?
-Daniel

> +     __s32 fd;       /* dma-buf fd */
> +};
> +
> +#define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14)
> +
> +
>  /* -------- API for Type1 VFIO IOMMU -------- */
>  
>  /**
> -- 
> 2.7.4
> 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to