From: Gerd Hoffmann <kraxel@redhat.com> To: Kirti Wankhede <kwankhede@nvidia.com>, Alex Williamson <alex.williamson@redhat.com>, "Chen, Xiaoguang" <xiaoguang.chen@intel.com> Cc: "chris@chris-wilson.co.uk" <chris@chris-wilson.co.uk>, "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "zhenyuw@linux.intel.com" <zhenyuw@linux.intel.com>, "Lv, Zhiyuan" <zhiyuan.lv@intel.com>, "intel-gvt-dev@lists.freedesktop.org" <intel-gvt-dev@lists.freedesktop.org>, "Wang, Zhi A" <zhi.a.wang@intel.com>, "Tian, Kevin" <kevin.tian@intel.com> Subject: Re: [PATCH v6 4/6] vfio: Define vfio based vgpu's dma-buf operations Date: Tue, 06 Jun 2017 09:59:10 +0200 [thread overview] Message-ID: <1496735950.15129.5.camel@redhat.com> (raw) In-Reply-To: <3dd898eb-2d4d-18e1-1f82-5a5dcdeb7c9c@nvidia.com> On Mon, 2017-06-05 at 13:56 +0530, Kirti Wankhede wrote: > > On 6/2/2017 2:08 PM, Gerd Hoffmann wrote: > > > > > struct vfio_vgpu_surface_info { > > > __u64 start; > > > __u32 width; > > > __u32 height; > > > __u32 stride; > > > __u32 size; > > > __u32 x_pos; > > > __u32 y_pos; > > > __u32 padding; > > > /* Only used when VFIO_VGPU_SURFACE_DMABUF_* flags set */ > > > __u64 drm_format_mod; > > > __u32 drm_format; > > > > Why for dmabufs only? Shouldn't the region specify the format > > too? > > Even in case you are using a fixed one (say > > DRM_FORMAT_XRGB8888) you > > can explicitly say so in drm_format (and set drm_format_mod to > > zero). > > > > Definitions for PIXMAN formats and DRM formats are different. I think > we need a flag to specify the format of surface that vendor driver is > going to provide, PIXMAN or DRM. No need to put that into the ioctl interface. First, the kernel should not worry about what userspace uses to process the data. Second (most) drm formats can trivially be mapped into pixman formats. For example: PIXMAN_x8r8g8b8 (little endian) == DRM_FORMAT_XRGB8888 > If surface is provided through region in PIXMAN format, existing > functions in QEMU can be used to get format from bpp value, > qemu_default_pixman_format(). Similarly, display surface can be > updated > by QEMU using qemu_create_displaysurface_from() from mmaped region. A thin wrapper which accepts a struct vfio_vgpu_surface_info and translates that into a qemu_create_displaysurface_from() call should be pretty small. cheers, Gerd
WARNING: multiple messages have this Message-ID (diff)
From: Gerd Hoffmann <kraxel@redhat.com> To: Kirti Wankhede <kwankhede@nvidia.com>, Alex Williamson <alex.williamson@redhat.com>, "Chen, Xiaoguang" <xiaoguang.chen@intel.com> Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "Lv, Zhiyuan" <zhiyuan.lv@intel.com>, "intel-gvt-dev@lists.freedesktop.org" <intel-gvt-dev@lists.freedesktop.org> Subject: Re: [PATCH v6 4/6] vfio: Define vfio based vgpu's dma-buf operations Date: Tue, 06 Jun 2017 09:59:10 +0200 [thread overview] Message-ID: <1496735950.15129.5.camel@redhat.com> (raw) In-Reply-To: <3dd898eb-2d4d-18e1-1f82-5a5dcdeb7c9c@nvidia.com> On Mon, 2017-06-05 at 13:56 +0530, Kirti Wankhede wrote: > > On 6/2/2017 2:08 PM, Gerd Hoffmann wrote: > > > > > struct vfio_vgpu_surface_info { > > > __u64 start; > > > __u32 width; > > > __u32 height; > > > __u32 stride; > > > __u32 size; > > > __u32 x_pos; > > > __u32 y_pos; > > > __u32 padding; > > > /* Only used when VFIO_VGPU_SURFACE_DMABUF_* flags set */ > > > __u64 drm_format_mod; > > > __u32 drm_format; > > > > Why for dmabufs only? Shouldn't the region specify the format > > too? > > Even in case you are using a fixed one (say > > DRM_FORMAT_XRGB8888) you > > can explicitly say so in drm_format (and set drm_format_mod to > > zero). > > > > Definitions for PIXMAN formats and DRM formats are different. I think > we need a flag to specify the format of surface that vendor driver is > going to provide, PIXMAN or DRM. No need to put that into the ioctl interface. First, the kernel should not worry about what userspace uses to process the data. Second (most) drm formats can trivially be mapped into pixman formats. For example: PIXMAN_x8r8g8b8 (little endian) == DRM_FORMAT_XRGB8888 > If surface is provided through region in PIXMAN format, existing > functions in QEMU can be used to get format from bpp value, > qemu_default_pixman_format(). Similarly, display surface can be > updated > by QEMU using qemu_create_displaysurface_from() from mmaped region. A thin wrapper which accepts a struct vfio_vgpu_surface_info and translates that into a qemu_create_displaysurface_from() call should be pretty small. cheers, Gerd _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-06-06 7:59 UTC|newest] Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-05-27 8:38 [PATCH v6 0/6] drm/i915/gvt: Dma-buf support for GVT-g Xiaoguang Chen 2017-05-27 8:38 ` Xiaoguang Chen 2017-05-27 8:38 ` [PATCH v6 1/6] drm/i915/gvt: Extend the GVT-g architecture to support vfio device region Xiaoguang Chen 2017-05-27 8:38 ` Xiaoguang Chen 2017-05-27 8:38 ` [PATCH v6 2/6] drm/i915/gvt: OpRegion support for GVT-g Xiaoguang Chen 2017-05-27 8:38 ` Xiaoguang Chen 2017-05-31 4:47 ` Zhenyu Wang 2017-05-31 4:47 ` Zhenyu Wang 2017-05-31 6:22 ` Chen, Xiaoguang 2017-05-31 6:22 ` Chen, Xiaoguang 2017-05-31 6:30 ` Zhenyu Wang 2017-05-31 6:30 ` Zhenyu Wang 2017-05-31 6:44 ` Chen, Xiaoguang 2017-05-31 6:44 ` Chen, Xiaoguang 2017-05-27 8:38 ` [PATCH v6 3/6] drm/i915/gvt: Frame buffer decoder " Xiaoguang Chen 2017-05-27 8:38 ` Xiaoguang Chen 2017-05-31 5:12 ` Zhenyu Wang 2017-05-31 5:12 ` Zhenyu Wang 2017-05-31 6:46 ` Chen, Xiaoguang 2017-05-31 6:46 ` Chen, Xiaoguang 2017-05-27 8:38 ` [PATCH v6 4/6] vfio: Define vfio based vgpu's dma-buf operations Xiaoguang Chen 2017-05-29 7:20 ` Gerd Hoffmann 2017-05-29 7:20 ` Gerd Hoffmann 2017-05-31 6:18 ` Chen, Xiaoguang 2017-05-31 6:18 ` Chen, Xiaoguang 2017-05-31 17:22 ` Kirti Wankhede 2017-05-31 17:22 ` Kirti Wankhede 2017-06-01 3:01 ` Chen, Xiaoguang 2017-06-01 3:01 ` Chen, Xiaoguang 2017-06-01 16:38 ` Alex Williamson 2017-06-01 16:38 ` Alex Williamson 2017-06-01 18:46 ` Kirti Wankhede 2017-06-01 18:46 ` Kirti Wankhede 2017-06-02 8:38 ` Gerd Hoffmann 2017-06-02 8:38 ` Gerd Hoffmann 2017-06-05 8:26 ` Kirti Wankhede 2017-06-05 8:26 ` Kirti Wankhede 2017-06-06 7:59 ` Gerd Hoffmann [this message] 2017-06-06 7:59 ` Gerd Hoffmann 2017-05-27 8:38 ` [PATCH v6 5/6] drm/i915/gvt: Dmabuf support for GVT-g Xiaoguang Chen 2017-05-27 8:38 ` Xiaoguang Chen 2017-05-31 12:04 ` Gerd Hoffmann 2017-05-31 12:04 ` Gerd Hoffmann 2017-06-01 3:02 ` Chen, Xiaoguang 2017-06-01 3:02 ` Chen, Xiaoguang 2017-06-01 9:15 ` Chris Wilson 2017-06-01 9:15 ` Chris Wilson 2017-05-27 8:38 ` [PATCH v6 6/6] drm/i915/gvt: Adding interface so user space can get the dma-buf Xiaoguang Chen 2017-05-27 8:38 ` Xiaoguang Chen 2017-06-01 18:08 ` Alex Williamson 2017-06-01 18:08 ` Alex Williamson 2017-06-02 3:24 ` Chen, Xiaoguang 2017-06-02 3:24 ` Chen, Xiaoguang 2017-06-02 3:34 ` Alex Williamson 2017-06-02 3:34 ` Alex Williamson 2017-06-02 9:31 ` Chen, Xiaoguang 2017-06-02 9:31 ` Chen, Xiaoguang 2017-06-02 14:58 ` Alex Williamson 2017-06-02 14:58 ` Alex Williamson 2017-06-02 15:23 ` Gerd Hoffmann 2017-06-02 15:23 ` Gerd Hoffmann 2017-06-05 2:39 ` Chen, Xiaoguang 2017-06-05 2:39 ` Chen, Xiaoguang 2017-06-06 7:35 ` Gerd Hoffmann 2017-06-06 7:35 ` Gerd Hoffmann 2017-05-27 8:44 ` ✗ Fi.CI.BAT: failure for drm/i915/gvt: dma-buf support for GVT-g (rev6) Patchwork 2017-05-30 10:23 ` [PATCH v6 0/6] drm/i915/gvt: Dma-buf support for GVT-g Gerd Hoffmann 2017-05-30 10:23 ` Gerd Hoffmann 2017-05-31 2:29 ` Chen, Xiaoguang 2017-05-31 2:29 ` Chen, Xiaoguang 2017-05-31 8:59 ` Gerd Hoffmann 2017-05-31 8:59 ` Gerd Hoffmann 2017-05-31 9:07 ` Chen, Xiaoguang 2017-05-31 9:07 ` Chen, Xiaoguang
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=1496735950.15129.5.camel@redhat.com \ --to=kraxel@redhat.com \ --cc=alex.williamson@redhat.com \ --cc=chris@chris-wilson.co.uk \ --cc=intel-gfx@lists.freedesktop.org \ --cc=intel-gvt-dev@lists.freedesktop.org \ --cc=kevin.tian@intel.com \ --cc=kwankhede@nvidia.com \ --cc=linux-kernel@vger.kernel.org \ --cc=xiaoguang.chen@intel.com \ --cc=zhenyuw@linux.intel.com \ --cc=zhi.a.wang@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: linkBe 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.