From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf Date: Thu, 11 May 2017 15:27:53 +0200 Message-ID: <1494509273.17970.12.camel@redhat.com> References: <1493372130-27727-1-git-send-email-xiaoguang.chen@intel.com> <1493372130-27727-7-git-send-email-xiaoguang.chen@intel.com> <1493718658.8581.82.camel@redhat.com> <20170504100833.199bc8ba@t450s.home> <1493967331.371.53.camel@redhat.com> <20170505091115.7a680636@t450s.home> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "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 ICBIaSwKCj4gV2hpbGUgcmVhZCB0aGUgZnJhbWVidWZmZXIgcmVnaW9uIHdlIGhhdmUgdG8gdGVs bCB0aGUgdmVuZG9yIGRyaXZlciB3aGljaCBmcmFtZWJ1ZmZlciB3ZSB3YW50IHRvIHJlYWQ/IFRo ZXJlIGFyZSB0d28gZnJhbWVidWZmZXJzIG5vdyBpbiBLVk1HVCB0aGF0IGlzIHByaW1hcnkgYW5k IGN1cnNvci4KPiBUaGVyZSBhcmUgdHdvIG1ldGhvZHMgdG8gaW1wbGVtZW50IHRoaXM6Cj4gMSkg d3JpdGUgdGhlIHBsYW5lIGlkIGZpcnN0IGFuZCB0aGVuIHJlYWQgdGhlIGZyYW1lYnVmZmVyLgo+ IDIpIGNyZWF0ZSAyIHZmaW8gcmVnaW9ucyBvbmUgZm9yIHByaW1hcnkgYW5kIG9uZSBmb3IgY3Vy c29yLgoKKDMpIFBsYWNlIGluZm9ybWF0aW9uIGZvciBib3RoIHBsYW5lcyBpbnRvIG9uZSB2Zmlv IHJlZ2lvbi4KICAgIFdoaWNoIGFsbG93cyB0byBmZXRjaCBib3RoIHdpdGggYSBzaW5nbGUgcmVh ZCgpIHN5c2NhbGwuCgpUaGUgcXVlc3Rpb24gaXMgaG93IHlvdSdsbCBnZXQgdGhlIGZpbGUgZGVz Y3JpcHRvciB0aGVuLiAgSWYgdGhlIGlvY3RsCnJldHVybnMgdGhlIGRtYS1idWYgZmQgb25seSB5 b3UgaGF2ZSBhIHJhY3kgaW50ZXJmYWNlOiAgVGhpbmdzIGNhbgpjaGFuZ2UgYmV0d2VlbiByZWFk KHZmaW8tcmVnaW9uKSBhbmQgaW9jdGwobmVlZC1kbWFidWYtZmQpLgoKaW9jdGwobmVlZC1kbWEt YnVmKSBjb3VsZCByZXR1cm4gYm90aCBkbWFidWYgZmQgYW5kIHBsYW5lIGluZm8gdG8gZml4CnRo ZSByYWNlLCBidXQgdGhlbiBpdCBpcyBlYXNpZXIgdG8gZ28gd2l0aCBpb2N0bCBvbmx5IGludGVy ZmFjZSAoc2ltbGlhcgp0byB0aGUgb3JnaW5hbCBvbmUgZnJvbSBkZWMgbGFzdCB5ZWFyKSBJIHRo aW5rLgoKY2hlZXJzLAogIEdlcmQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755911AbdEKN17 convert rfc822-to-8bit (ORCPT ); Thu, 11 May 2017 09:27:59 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32780 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755496AbdEKN15 (ORCPT ); Thu, 11 May 2017 09:27:57 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com E09578553D Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=kraxel@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com E09578553D Message-ID: <1494509273.17970.12.camel@redhat.com> Subject: Re: [RFC PATCH 6/6] drm/i915/gvt: support QEMU getting the dmabuf From: Gerd Hoffmann To: "Chen, Xiaoguang" Cc: Alex Williamson , "Tian, Kevin" , "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" Date: Thu, 11 May 2017 15:27:53 +0200 In-Reply-To: References: <1493372130-27727-1-git-send-email-xiaoguang.chen@intel.com> <1493372130-27727-7-git-send-email-xiaoguang.chen@intel.com> <1493718658.8581.82.camel@redhat.com> <20170504100833.199bc8ba@t450s.home> <1493967331.371.53.camel@redhat.com> <20170505091115.7a680636@t450s.home> 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.28]); Thu, 11 May 2017 13:27:57 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, > While read the framebuffer region we have to tell the vendor driver which framebuffer we want to read? There are two framebuffers now in KVMGT that is primary and cursor. > There are two methods to implement this: > 1) write the plane id first and then read the framebuffer. > 2) create 2 vfio regions one for primary and one for cursor. (3) Place information for both planes into one vfio region. Which allows to fetch both with a single read() syscall. The question is how you'll get the file descriptor then. If the ioctl returns the dma-buf fd only you have a racy interface: Things can change between read(vfio-region) and ioctl(need-dmabuf-fd). ioctl(need-dma-buf) could return both dmabuf fd and plane info to fix the race, but then it is easier to go with ioctl only interface (simliar to the orginal one from dec last year) I think. cheers, Gerd