Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751916AbdGFOBv (ORCPT ); Thu, 6 Jul 2017 10:01:51 -0400 Received: from hqemgate15.nvidia.com ([216.228.121.64]:2714 "EHLO hqemgate15.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751653AbdGFOBu (ORCPT ); Thu, 6 Jul 2017 10:01:50 -0400 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Thu, 06 Jul 2017 07:01:48 -0700 Subject: Re: [PATCH v10] vfio: ABI for mdev display dma-buf operation To: Tina Zhang , , , , , , , , CC: , , References: <1499293795-6265-1-git-send-email-tina.zhang@intel.com> X-Nvconfidentiality: public From: Kirti Wankhede Message-ID: <980a5c09-fa8a-255d-19ad-acf4bb29d271@nvidia.com> Date: Thu, 6 Jul 2017 19:31:34 +0530 MIME-Version: 1.0 In-Reply-To: <1499293795-6265-1-git-send-email-tina.zhang@intel.com> X-Originating-IP: [10.24.70.188] X-ClientProxiedBy: DRBGMAIL101.nvidia.com (10.18.16.20) To bgmail102.nvidia.com (10.25.59.11) Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1794 Lines: 66 On 7/6/2017 3:59 AM, 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 need to creat new resource according to the > new fd or just use the existed resource related to the old fd. > > Signed-off-by: Tina Zhang > > diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h > index ae46105..c92bc69 100644 > --- a/include/uapi/linux/vfio.h > +++ b/include/uapi/linux/vfio.h > @@ -502,6 +502,36 @@ 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) > + * Return: 0 on success, -errno on failure. > + */ > + > +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; > +}; > + Above structure looks good to me. > +struct vfio_device_query_gfx_plane { > + __u32 argsz; > + __u32 flags; > + struct vfio_device_gfx_plane_info plane_info; > + __u32 plane_type; > + __s32 fd; /* dma-buf fd */ > + __u32 plane_id; > +}; > + It would be better to have comment here about what are expected values for plane_type and plane_id. Thanks, Kirti > +#define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14) > + > + > /* -------- API for Type1 VFIO IOMMU -------- */ > > /** >