From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH v2 5/5] drm/i915/gvt: Adding interface so user space can get the dma-buf Date: Fri, 19 May 2017 10:33:52 -0600 Message-ID: <20170519103352.7befec0b@w520.home> References: <1495101005-16045-1-git-send-email-xiaoguang.chen@intel.com> <1495101005-16045-6-git-send-email-xiaoguang.chen@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1495101005-16045-6-git-send-email-xiaoguang.chen@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Xiaoguang Chen Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhiyuan.lv@intel.com, intel-gvt-dev@lists.freedesktop.org, kraxel@redhat.com List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAxOCBNYXkgMjAxNyAxNzo1MDowNSArMDgwMApYaWFvZ3VhbmcgQ2hlbiA8eGlhb2d1 YW5nLmNoZW5AaW50ZWwuY29tPiB3cm90ZToKCj4gVXNlciBzcGFjZSB3aWxsIHRyeSB0byBjcmVh dGUgYSBtYW5hZ2VtZW50IGZkIGZvciB0aGUgZG1hLWJ1ZiBvcGVyYXRpb24uCj4gVXNpbmcgdGhp cyBtYW5hZ2VtZW50IGZkIHVzZXIgY2FuIHF1ZXJ5IHRoZSBwbGFuZSBpbmZvcm1hdGlvbiBhbmQg Y3JlYXRlCj4gYSBkbWEtYnVmIGZkIGlmIG5lY2Vzc2FyeS4KPiBHVlQtZyB3aWxsIGhhbmRsZSB0 aGUgbGlmZSBjeWNsZSBvZiB0aGUgbWFuYWdlbWVudCBmZCBhbmQgd2lsbCBhbGlnbiB0aGUKPiBs aWZlIGN5Y2xlIG9mIHRoZSBmZCB3aXRoIHRoZSB2ZmlvIGRldmljZS4KPiBVc2VyIHNwYWNlIHNo b3VsZCBoYW5kbGUgdGhlIGxpZmUgY3ljbGUgb2YgdGhlIGNyZWF0ZWQgZG1hLWJ1ZiBmZCBjbG9z ZQo+IHRoZSBkbWEtYnVmIGZkIHRpbWVseSB3aGVuIGZpbmlzaGluZyB1c2UuCj4gCj4gU2lnbmVk LW9mZi1ieTogWGlhb2d1YW5nIENoZW4gPHhpYW9ndWFuZy5jaGVuQGludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5jICAgfCAgMiArCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndnQuaCAgIHwgIDMgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2t2bWd0LmMgfCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g IGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgIHwgIDIgKwo+ICBpbmNsdWRlL3VhcGkv bGludXgvdmZpby5oICAgICAgICB8IDEyICsrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDEwOCBp bnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9n dnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuYwo+IGluZGV4IDIwMzI5MTcuLjQ4 ZTA0ZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5jCj4gQEAgLTU0LDYgKzU0LDggQEAKPiAg CS52Z3B1X3Jlc2V0ID0gaW50ZWxfZ3Z0X3Jlc2V0X3ZncHUsCj4gIAkudmdwdV9hY3RpdmF0ZSA9 IGludGVsX2d2dF9hY3RpdmF0ZV92Z3B1LAo+ICAJLnZncHVfZGVhY3RpdmF0ZSA9IGludGVsX2d2 dF9kZWFjdGl2YXRlX3ZncHUsCj4gKwkudmdwdV9xdWVyeV9kbWFidWYgPSBpbnRlbF92Z3B1X3F1 ZXJ5X2RtYWJ1ZiwKPiArCS52Z3B1X2NyZWF0ZV9kbWFidWYgPSBpbnRlbF92Z3B1X2NyZWF0ZV9k bWFidWYsCj4gIH07Cj4gIAo+ICAvKioKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Z0L2d2dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5oCj4gaW5kZXggYTU1 MzEyMC4uYjdmZGZkNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0LmgKPiBAQCAtMTg1LDYgKzE4 NSw3IEBAIHN0cnVjdCBpbnRlbF92Z3B1IHsKPiAgCQlzdHJ1Y3Qga3ZtICprdm07Cj4gIAkJc3Ry dWN0IHdvcmtfc3RydWN0IHJlbGVhc2Vfd29yazsKPiAgCQlhdG9taWNfdCByZWxlYXNlZDsKPiAr CQlzdHJ1Y3QgdmZpb19kZXZpY2UgKnZmaW9fZGV2aWNlOwo+ICAJfSB2ZGV2Owo+ICAjZW5kaWYK PiAgCXN0cnVjdCBpbnRlbF92Z3B1X3BsYW5lX2luZm8gKnBsYW5lX2luZm87Cj4gQEAgLTQ2OSw2 ICs0NzAsOCBAQCBzdHJ1Y3QgaW50ZWxfZ3Z0X29wcyB7Cj4gIAl2b2lkICgqdmdwdV9yZXNldCko c3RydWN0IGludGVsX3ZncHUgKik7Cj4gIAl2b2lkICgqdmdwdV9hY3RpdmF0ZSkoc3RydWN0IGlu dGVsX3ZncHUgKik7Cj4gIAl2b2lkICgqdmdwdV9kZWFjdGl2YXRlKShzdHJ1Y3QgaW50ZWxfdmdw dSAqKTsKPiArCWludCAoKnZncHVfcXVlcnlfZG1hYnVmKShzdHJ1Y3QgaW50ZWxfdmdwdSAqLCB2 b2lkICopOwo+ICsJaW50ICgqdmdwdV9jcmVhdGVfZG1hYnVmKShzdHJ1Y3QgaW50ZWxfdmdwdSAq LCB2b2lkICopOwo+ICB9Owo+ICAKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9rdm1ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMKPiBpbmRl eCAzODlmMDcyLi45YTY2M2RmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2 dC9rdm1ndC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMKPiBAQCAt NDEsNiArNDEsNyBAQAo+ICAjaW5jbHVkZSA8bGludXgva3ZtX2hvc3QuaD4KPiAgI2luY2x1ZGUg PGxpbnV4L3ZmaW8uaD4KPiAgI2luY2x1ZGUgPGxpbnV4L21kZXYuaD4KPiArI2luY2x1ZGUgPGxp bnV4L2Fub25faW5vZGVzLmg+Cj4gIAo+ICAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKPiAgI2luY2x1 ZGUgImd2dC5oIgo+IEBAIC01MjQsNiArNTI1LDY2IEBAIHN0YXRpYyBpbnQgaW50ZWxfdmdwdV9y ZWdfaW5pdF9vcHJlZ2lvbihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSkKPiAgCXJldHVybiByZXQ7 Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQgaW50ZWxfdmdwdV9kbWFidWZfbWdyX2ZkX21tYXAoc3Ry dWN0IGZpbGUgKmZpbGUsCj4gKwkJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCj4gK3sKPiAr CXJldHVybiAtRVBFUk07Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgaW50ZWxfdmdwdV9kbWFidWZf bWdyX2ZkX3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwKPiArCQlzdHJ1Y3QgZmlsZSAqZmls cCkKPiArewo+ICsJc3RydWN0IGludGVsX3ZncHUgKnZncHUgPSBmaWxwLT5wcml2YXRlX2RhdGE7 Cj4gKwo+ICsJaWYgKHZncHUtPnZkZXYudmZpb19kZXZpY2UgIT0gTlVMTCkKPiArCQl2ZmlvX2Rl dmljZV9wdXQodmdwdS0+dmRldi52ZmlvX2RldmljZSk7Cj4gKwllbHNlCj4gKwkJZ3Z0X3ZncHVf ZXJyKCJpbnRlbCB2Z3B1IGRtYWJ1ZiBtZ3IgZmQgaXMgaW4gYSB3cm9uZyBzdGF0ZVxuIik7CgpZ b3UgY291bGQgZG86CgppZiAoV0FSTl9PTighdmdwdS0+dmRldi52ZmlvX2RldmljZSkpCglyZXR1 cm4gLUVJTlZBTDsKCj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBsb25nIGlu dGVsX3ZncHVfZG1hYnVmX21ncl9mZF9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwKPiArCQl1bnNp Z25lZCBpbnQgaW9jdGwsIHVuc2lnbmVkIGxvbmcgYXJnKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxf dmdwdSAqdmdwdSA9IGZpbHAtPnByaXZhdGVfZGF0YTsKPiArCWludCBtaW5zejsKPiArCXN0cnVj dCBpbnRlbF92Z3B1X2RtYWJ1ZiBkbWFidWY7Cj4gKwlpbnQgcmV0Owo+ICsJc3RydWN0IGZkIGY7 Cj4gKwo+ICsJbWluc3ogPSBvZmZzZXRvZmVuZChzdHJ1Y3QgaW50ZWxfdmdwdV9kbWFidWYsIHRp bGVkKTsKPiArCWlmIChjb3B5X2Zyb21fdXNlcigmZG1hYnVmLCAodm9pZCBfX3VzZXIgKilhcmcs IG1pbnN6KSkKPiArCQlyZXR1cm4gLUVGQVVMVDsKPiArCj4gKwlmID0gZmRnZXQoZG1hYnVmLmZk KTsKPiArCj4gKwlpZiAoaW9jdGwgPT0gSU5URUxfVkdQVV9RVUVSWV9ETUFCVUYpCj4gKwkJcmV0 ID0gaW50ZWxfZ3Z0X29wcy0+dmdwdV9xdWVyeV9kbWFidWYodmdwdSwgJmRtYWJ1Zik7Cj4gKwll bHNlIGlmIChpb2N0bCA9PSBJTlRFTF9WR1BVX0dFTkVSQVRFX0RNQUJVRikKPiArCQlyZXQgPSBp bnRlbF9ndnRfb3BzLT52Z3B1X2NyZWF0ZV9kbWFidWYodmdwdSwgJmRtYWJ1Zik7CgpXaHkgYXJl IHRoZXNlIHN0aWxsIEludGVsIHNwZWNpZmljPwoKPiArCWVsc2Ugewo+ICsJCWZkcHV0KGYpOwo+ ICsJCWd2dF92Z3B1X2VycigidW5zdXBwb3J0ZWQgZG1hYnVmIG9wZXJhdGlvblxuIik7Cj4gKwkJ cmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJaWYgKHJldCAhPSAwKSB7Cj4gKwkJZmRwdXQo Zik7Cj4gKwkJZ3Z0X3ZncHVfZXJyKCJndnQtZyBnZXQgZG1hYnVmIGZhaWxlZDolZFxuIiwgcmV0 KTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCWZkcHV0KGYpOwo+ICsKPiArCXJldHVy biBjb3B5X3RvX3VzZXIoKHZvaWQgX191c2VyICopYXJnLCAmZG1hYnVmLCBtaW5zeikgPyAtRUZB VUxUIDogMDsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMg aW50ZWxfdmdwdV9kbWFidWZfbWdyX2ZkX29wcyA9IHsKPiArCS5yZWxlYXNlICAgICAgICA9IGlu dGVsX3ZncHVfZG1hYnVmX21ncl9mZF9yZWxlYXNlLAo+ICsJLnVubG9ja2VkX2lvY3RsID0gaW50 ZWxfdmdwdV9kbWFidWZfbWdyX2ZkX2lvY3RsLAo+ICsJLm1tYXAgICAgICAgICAgID0gaW50ZWxf dmdwdV9kbWFidWZfbWdyX2ZkX21tYXAsCj4gKwkubGxzZWVrICAgICAgICAgPSBub29wX2xsc2Vl aywKPiArfTsKPiAgc3RhdGljIGludCBpbnRlbF92Z3B1X2NyZWF0ZShzdHJ1Y3Qga29iamVjdCAq a29iaiwgc3RydWN0IG1kZXZfZGV2aWNlICptZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfdmdw dSAqdmdwdSA9IE5VTEw7Cj4gQEAgLTEyNTksNiArMTMyMCwzNCBAQCBzdGF0aWMgbG9uZyBpbnRl bF92Z3B1X2lvY3RsKHN0cnVjdCBtZGV2X2RldmljZSAqbWRldiwgdW5zaWduZWQgaW50IGNtZCwK PiAgCX0gZWxzZSBpZiAoY21kID09IFZGSU9fREVWSUNFX1JFU0VUKSB7Cj4gIAkJaW50ZWxfZ3Z0 X29wcy0+dmdwdV9yZXNldCh2Z3B1KTsKPiAgCQlyZXR1cm4gMDsKPiArCX0gZWxzZSBpZiAoY21k ID09IFZGSU9fREVWSUNFX0dFVF9GRCkgewo+ICsJCWludCBmZDsKPiArCQl1MzIgdHlwZTsKPiAr CQlzdHJ1Y3QgdmZpb19kZXZpY2UgKmRldmljZTsKPiArCj4gKwkJaWYgKGNvcHlfZnJvbV91c2Vy KCZ0eXBlLCAodm9pZCBfX3VzZXIgKilhcmcsIHNpemVvZih0eXBlKSkpCj4gKwkJCXJldHVybiAt RUlOVkFMOwo+ICsJCWlmICh0eXBlICE9IElOVEVMX1ZHUFVfRE1BQlVGX01HUl9GRCkgewoKWWV0 IG1vcmUgdW5uZWNlc3NhcnkgSW50ZWwgc3BlY2lmaWMgY29kZS4gIFVzZXJzcGFjZSBkb2Vzbid0 IHdhbnQgdG8KaGFuZGxlIGEgZG1hYnVmIGRpZmZlcmVudGx5IGJldHdlZW4gSW50ZWwsIEFNRCwg YW5kIE5WSURJQSwgc28gaWYgd2UKaGF2ZSBubyByZWFzb24gdG8gbmVlZCB2ZW5kb3Igc3BlY2lm aWMgaW9jdGwgYW5kIHBhcmFtZXRlcnMsIHRoZW4gZG9uJ3QuCgo+ICsJCQlndnRfdmdwdV9lcnIo Im5vdCBzdXBwb3J0ZWQgZmQgdHlwZTolZFxuIiwgdHlwZSk7CgpKdXN0IHJldHVybiBlcnJvciwg dXNlcnMgY2FuIGFidXNlIGFueSBsb2dnaW5nIHRoZXkgY2FuIGdldCB0by4KCj4gKwkJCXJldHVy biAtRUlOVkFMOwo+ICsJCX0KPiArCj4gKwkJZmQgPSBhbm9uX2lub2RlX2dldGZkKCJpbnRlbC12 Z3B1LWRtYWJ1Zi1tZ3ItZmQiLAo+ICsJCQkmaW50ZWxfdmdwdV9kbWFidWZfbWdyX2ZkX29wcywK PiArCQkJdmdwdSwgT19SRFdSIHwgT19DTE9FWEVDKTsKCkFuZCB0aGlzIG9yZGVyaW5nIGlzIHN0 aWxsIHdyb25nLCBkbyB0aGlzIGxhc3Qgc28geW91IGRvbid0IG5lZWQgdG8Kd29ycnkgYWJvdXQg Z2V0dGluZyB0aGUgdmZpb19kZXZpY2UgcmVmZXJlbmNlIGJlbG93IGZhaWxpbmcgYW5kIGNhbGxp bmcKcmVsZWFzZSB1bm5lY2Vzc2FyaWx5ICh0aG91Z2ggaXQgc2VlbXMgdGhpcyBmZCBpcyBsZWFr ZWQgaW4gdGhhdCBjYXNlCmFueXdheSkuCgo+ICsJCWlmIChmZCA8IDApIHsKPiArCQkJZ3Z0X3Zn cHVfZXJyKCJjcmVhdGUgZG1hYnVmIG1nciBmZCBmYWlsZWRcbiIpOwo+ICsJCQlyZXR1cm4gLUVJ TlZBTDsKPiArCQl9Cj4gKwo+ICsJCWRldmljZSA9IHZmaW9fZGV2aWNlX2dldF9mcm9tX2Rldiht ZGV2X2RldihtZGV2KSk7Cj4gKwkJaWYgKGRldmljZSA9PSBOVUxMKSB7Cj4gKwkJCWd2dF92Z3B1 X2Vycigia3ZtZ3Q6IHZmaW8gZGV2aWNlIGlzIG51bGxcbiIpOwo+ICsJCQlyZXR1cm4gLUVJTlZB TDsKPiArCQl9Cj4gKwkJdmdwdS0+dmRldi52ZmlvX2RldmljZSA9IGRldmljZTsKPiArCj4gKwkJ cmV0dXJuIGZkOwo+ICAJfQo+ICAKPiAgCXJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKPiBpbmRl eCBjZGU0ZjhlLi45ZDI4NDMzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9k cm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+IEBAIC0xNDY2LDYgKzE0 NjYsOCBAQCBzdHJ1Y3QgaW50ZWxfdmdwdV9kbWFidWYgewo+ICAJX191MzIgdGlsZWQ7Cj4gIH07 Cj4gIAo+ICsjZGVmaW5lIElOVEVMX1ZHUFVfRE1BQlVGX01HUl9GRAkwCj4gKwo+ICAjaWYgZGVm aW5lZChfX2NwbHVzcGx1cykKPiAgfQo+ICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91 YXBpL2xpbnV4L3ZmaW8uaCBiL2luY2x1ZGUvdWFwaS9saW51eC92ZmlvLmgKPiBpbmRleCBhZTQ2 MTA1Li5jODE1MDBiIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9saW51eC92ZmlvLmgKPiAr KysgYi9pbmNsdWRlL3VhcGkvbGludXgvdmZpby5oCj4gQEAgLTUwMiw2ICs1MDIsMTggQEAgc3Ry dWN0IHZmaW9fcGNpX2hvdF9yZXNldCB7Cj4gIAo+ICAjZGVmaW5lIFZGSU9fREVWSUNFX1BDSV9I T1RfUkVTRVQJX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTMpCj4gIAo+ICsvKioKPiArICog VkZJT19ERVZJQ0VfR0VUX0ZEIC0gX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTQsIF9fdTMy KQo+ICsgKgo+ICsgKiBDcmVhdGUgYSBmZCBmb3IgYSB2ZmlvIGRldmljZSBiYXNlZCBvbiB0aGUg aW5wdXQgdHlwZQo+ICsgKiBWZW5kb3IgZHJpdmVyIHNob3VsZCBoYW5kbGUgdGhpcyBpb2N0bCB0 byBjcmVhdGUgYSBmZCBhbmQgbWFuYWdlIHRoZQo+ICsgKiBsaWZlIGN5Y2xlIG9mIHRoaXMgZmQu Cj4gKyAqCj4gKyAqIFJldHVybjogYSBmZCBpZiB2ZW5kb3Igc3VwcG9ydCB0aGF0IHR5cGUsIC1l cnJubyBpZiBub3Qgc3VwcG9ydGVkCj4gKyAqLwo+ICsKPiArI2RlZmluZSBWRklPX0RFVklDRV9H RVRfRkQJX0lPKFZGSU9fVFlQRSwgVkZJT19CQVNFICsgMTQpCj4gKwoKVGhlIGtub3duIGlucHV0 IHR5cGVzIHdvdWxkIG5lZWQgdG8gYmUgZGVmaW5lZCBoZXJlIHRvby4gIERlZmluaXRpb24gb2YK dGhlIGlvY3RscyBhdmFpbGFibGUgb24gdGhhdCB0eXBlIHNob3VsZCBhbHNvIGJlIGRvY3VtZW50 ZWQgaGVyZS4KCj4gIC8qIC0tLS0tLS0tIEFQSSBmb3IgVHlwZTEgVkZJTyBJT01NVSAtLS0tLS0t LSAqLwo+ICAKPiAgLyoqCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK