From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: [PATCH v6 4/6] vfio: Define vfio based vgpu's dma-buf operations Date: Tue, 06 Jun 2017 09:59:10 +0200 Message-ID: <1496735950.15129.5.camel@redhat.com> References: <1495874332-2851-1-git-send-email-xiaoguang.chen@intel.com> <1495874332-2851-5-git-send-email-xiaoguang.chen@intel.com> <1496042420.21582.3.camel@redhat.com> <93758f79-8076-9644-a8a7-6e2ebfd91fee@nvidia.com> <20170601103853.5ead4d39@w520.home> <1496392692.16895.1.camel@redhat.com> <3dd898eb-2d4d-18e1-1f82-5a5dcdeb7c9c@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <3dd898eb-2d4d-18e1-1f82-5a5dcdeb7c9c@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Kirti Wankhede , Alex Williamson , "Chen, Xiaoguang" Cc: "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "Lv, Zhiyuan" , "intel-gvt-dev@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE3LTA2LTA1IGF0IDEzOjU2ICswNTMwLCBLaXJ0aSBXYW5raGVkZSB3cm90ZToK PiAKPiBPbiA2LzIvMjAxNyAyOjA4IFBNLCBHZXJkIEhvZmZtYW5uIHdyb3RlOgo+ID4gCj4gPiA+ IHN0cnVjdCB2ZmlvX3ZncHVfc3VyZmFjZV9pbmZvIHsKPiA+ID4gwqDCoMKgwqDCoMKgwqDCoF9f dTY0IHN0YXJ0Owo+ID4gPiDCoMKgwqDCoMKgwqDCoMKgX191MzIgd2lkdGg7Cj4gPiA+IMKgwqDC oMKgwqDCoMKgwqBfX3UzMiBoZWlnaHQ7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3UzMiBzdHJp ZGU7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3UzMiBzaXplOwo+ID4gPiDCoMKgwqDCoMKgwqDC oMKgX191MzIgeF9wb3M7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqBfX3UzMiB5X3BvczsKPiA+ID4g wqDCoMKgwqDCoMKgwqDCoF9fdTMyIHBhZGRpbmc7Cj4gPiA+IMKgwqDCoMKgwqDCoMKgwqAvKiBP bmx5IHVzZWQgd2hlbiBWRklPX1ZHUFVfU1VSRkFDRV9ETUFCVUZfKiBmbGFncyBzZXQgKi8KPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoF9fdTY0IGRybV9mb3JtYXRfbW9kOwo+ID4gPiDCoMKgwqDCoMKg wqDCoMKgX191MzIgZHJtX2Zvcm1hdDsKPiA+IAo+ID4gV2h5IGZvciBkbWFidWZzIG9ubHk/wqDC oFNob3VsZG4ndCB0aGUgcmVnaW9uIHNwZWNpZnkgdGhlIGZvcm1hdAo+ID4gdG9vP8KgCj4gPiBF dmVuIGluIGNhc2UgeW91IGFyZSB1c2luZyBhIGZpeGVkIG9uZSAoc2F5Cj4gPiBEUk1fRk9STUFU X1hSR0I4ODg4KSB5b3UKPiA+IGNhbiBleHBsaWNpdGx5IHNheSBzbyBpbiBkcm1fZm9ybWF0IChh bmQgc2V0IGRybV9mb3JtYXRfbW9kIHRvCj4gPiB6ZXJvKS4KPiA+IAo+IAo+IERlZmluaXRpb25z IGZvciBQSVhNQU4gZm9ybWF0cyBhbmQgRFJNIGZvcm1hdHMgYXJlIGRpZmZlcmVudC4gSSB0aGlu awo+IHdlIG5lZWQgYSBmbGFnIHRvIHNwZWNpZnkgdGhlIGZvcm1hdCBvZiBzdXJmYWNlIHRoYXQg dmVuZG9yIGRyaXZlciBpcwo+IGdvaW5nIHRvIHByb3ZpZGUsIFBJWE1BTiBvciBEUk0uCgpObyBu ZWVkIHRvIHB1dCB0aGF0IGludG8gdGhlIGlvY3RsIGludGVyZmFjZS4gIEZpcnN0LCB0aGUga2Vy bmVsIHNob3VsZApub3Qgd29ycnkgYWJvdXQgd2hhdCB1c2Vyc3BhY2UgdXNlcyB0byBwcm9jZXNz IHRoZSBkYXRhLiAgU2Vjb25kIChtb3N0KQpkcm0gZm9ybWF0cyBjYW4gdHJpdmlhbGx5IGJlIG1h cHBlZCBpbnRvIHBpeG1hbiBmb3JtYXRzLgoKRm9yIGV4YW1wbGU6IFBJWE1BTl94OHI4ZzhiOCAo bGl0dGxlIGVuZGlhbikgPT0gRFJNX0ZPUk1BVF9YUkdCODg4OAoKPiBJZiBzdXJmYWNlIGlzIHBy b3ZpZGVkIHRocm91Z2ggcmVnaW9uIGluIFBJWE1BTiBmb3JtYXQsIGV4aXN0aW5nCj4gZnVuY3Rp b25zIGluIFFFTVUgY2FuIGJlIHVzZWQgdG8gZ2V0IGZvcm1hdCBmcm9tIGJwcCB2YWx1ZSwKPiBx ZW11X2RlZmF1bHRfcGl4bWFuX2Zvcm1hdCgpLiBTaW1pbGFybHksIGRpc3BsYXkgc3VyZmFjZSBj YW4gYmUKPiB1cGRhdGVkCj4gYnkgUUVNVSB1c2luZyBxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFj ZV9mcm9tKCkgZnJvbSBtbWFwZWQgcmVnaW9uLgoKQSB0aGluIHdyYXBwZXIgd2hpY2ggYWNjZXB0 cyBhIHN0cnVjdCB2ZmlvX3ZncHVfc3VyZmFjZV9pbmZvIGFuZAp0cmFuc2xhdGVzIHRoYXQgaW50 byBhIHFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlX2Zyb20oKSBjYWxsIHNob3VsZCBiZQpwcmV0 dHkgc21hbGwuCgpjaGVlcnMsCiAgR2VyZApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751258AbdFFH7P convert rfc822-to-8bit (ORCPT ); Tue, 6 Jun 2017 03:59:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50040 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750755AbdFFH7O (ORCPT ); Tue, 6 Jun 2017 03:59:14 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com DDC848123D Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=kraxel@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com DDC848123D Message-ID: <1496735950.15129.5.camel@redhat.com> Subject: Re: [PATCH v6 4/6] vfio: Define vfio based vgpu's dma-buf operations From: Gerd Hoffmann To: Kirti Wankhede , Alex Williamson , "Chen, Xiaoguang" Cc: "chris@chris-wilson.co.uk" , "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "zhenyuw@linux.intel.com" , "Lv, Zhiyuan" , "intel-gvt-dev@lists.freedesktop.org" , "Wang, Zhi A" , "Tian, Kevin" Date: Tue, 06 Jun 2017 09:59:10 +0200 In-Reply-To: <3dd898eb-2d4d-18e1-1f82-5a5dcdeb7c9c@nvidia.com> References: <1495874332-2851-1-git-send-email-xiaoguang.chen@intel.com> <1495874332-2851-5-git-send-email-xiaoguang.chen@intel.com> <1496042420.21582.3.camel@redhat.com> <93758f79-8076-9644-a8a7-6e2ebfd91fee@nvidia.com> <20170601103853.5ead4d39@w520.home> <1496392692.16895.1.camel@redhat.com> <3dd898eb-2d4d-18e1-1f82-5a5dcdeb7c9c@nvidia.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Mime-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Tue, 06 Jun 2017 07:59:14 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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