From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH v3 5/9] xen/gntdev: Allow mappings for DMA buffers Date: Tue, 12 Jun 2018 16:41:56 +0300 Message-ID: <20180612134200.17456-6-andr2000@gmail.com> References: <20180612134200.17456-1-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x242.google.com (mail-lf0-x242.google.com [IPv6:2a00:1450:4010:c07::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 670BC6E4D7 for ; Tue, 12 Jun 2018 13:42:18 +0000 (UTC) Received: by mail-lf0-x242.google.com with SMTP id n15-v6so36077641lfn.10 for ; Tue, 12 Jun 2018 06:42:18 -0700 (PDT) In-Reply-To: <20180612134200.17456-1-andr2000@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, jgross@suse.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com Cc: andr2000@gmail.com, daniel.vetter@intel.com, dongwon.kim@intel.com, Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKQWxsb3cgbWFwcGluZ3MgZm9yIERNQSBiYWNrZWQgIGJ1ZmZlcnMgaWYgZ3JhbnQg dGFibGUgbW9kdWxlCnN1cHBvcnRzIHN1Y2g6IHRoaXMgZXh0ZW5kcyBncmFudCBkZXZpY2UgdG8g bm90IG9ubHkgbWFwIGJ1ZmZlcnMKbWFkZSBvZiBiYWxsb29uIHBhZ2VzLCBidXQgYWxzbyBmcm9t IGJ1ZmZlcnMgYWxsb2NhdGVkIHdpdGgKZG1hX2FsbG9jX3h4eC4KClNpZ25lZC1vZmYtYnk6IE9s ZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4K LS0tCiBkcml2ZXJzL3hlbi9nbnRkZXYuYyAgICAgIHwgOTkgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiBpbmNsdWRlL3VhcGkveGVuL2dudGRldi5oIHwgMTUgKysrKysr CiAyIGZpbGVzIGNoYW5nZWQsIDExMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMveGVuL2dudGRldi5jIGIvZHJpdmVycy94ZW4vZ250ZGV2LmMKaW5k ZXggYmQ1NjY1M2I5YmJjLi5kNmI3OWFkMWNkNmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2du dGRldi5jCisrKyBiL2RyaXZlcnMveGVuL2dudGRldi5jCkBAIC0zNyw2ICszNyw5IEBACiAjaW5j bHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4KICNpbmNsdWRl IDxsaW51eC9yZWZjb3VudC5oPgorI2lmZGVmIENPTkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCisj aW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+CisjZW5kaWYKIAogI2luY2x1ZGUgPHhlbi94ZW4u aD4KICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4KQEAgLTcyLDYgKzc1LDExIEBAIHN0cnVj dCBnbnRkZXZfcHJpdiB7CiAJc3RydWN0IG11dGV4IGxvY2s7CiAJc3RydWN0IG1tX3N0cnVjdCAq bW07CiAJc3RydWN0IG1tdV9ub3RpZmllciBtbjsKKworI2lmZGVmIENPTkZJR19YRU5fR1JBTlRf RE1BX0FMTE9DCisJLyogRGV2aWNlIGZvciB3aGljaCBETUEgbWVtb3J5IGlzIGFsbG9jYXRlZC4g Ki8KKwlzdHJ1Y3QgZGV2aWNlICpkbWFfZGV2OworI2VuZGlmCiB9OwogCiBzdHJ1Y3QgdW5tYXBf bm90aWZ5IHsKQEAgLTk2LDEwICsxMDQsMjcgQEAgc3RydWN0IGdyYW50X21hcCB7CiAJc3RydWN0 IGdudHRhYl91bm1hcF9ncmFudF9yZWYgKmt1bm1hcF9vcHM7CiAJc3RydWN0IHBhZ2UgKipwYWdl czsKIAl1bnNpZ25lZCBsb25nIHBhZ2VzX3ZtX3N0YXJ0OworCisjaWZkZWYgQ09ORklHX1hFTl9H UkFOVF9ETUFfQUxMT0MKKwkvKgorCSAqIElmIGRtYWJ1Zl92YWRkciBpcyBub3QgTlVMTCB0aGVu IHRoaXMgbWFwcGluZyBpcyBiYWNrZWQgYnkgRE1BCisJICogY2FwYWJsZSBtZW1vcnkuCisJICov CisKKwlzdHJ1Y3QgZGV2aWNlICpkbWFfZGV2OworCS8qIEZsYWdzIHVzZWQgdG8gY3JlYXRlIHRo aXMgRE1BIGJ1ZmZlcjogR05UREVWX0RNQV9GTEFHX1hYWC4gKi8KKwlpbnQgZG1hX2ZsYWdzOwor CXZvaWQgKmRtYV92YWRkcjsKKwlkbWFfYWRkcl90IGRtYV9idXNfYWRkcjsKKwkvKiBOZWVkZWQg dG8gYXZvaWQgYWxsb2NhdGlvbiBpbiBnbnR0YWJfZG1hX2ZyZWVfcGFnZXMoKS4gKi8KKwl4ZW5f cGZuX3QgKmZyYW1lczsKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCB1bm1hcF9ncmFudF9wYWdl cyhzdHJ1Y3QgZ3JhbnRfbWFwICptYXAsIGludCBvZmZzZXQsIGludCBwYWdlcyk7CiAKK3N0YXRp YyBzdHJ1Y3QgbWlzY2RldmljZSBnbnRkZXZfbWlzY2RldjsKKwogLyogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAK IHN0YXRpYyB2b2lkIGdudGRldl9wcmludF9tYXBzKHN0cnVjdCBnbnRkZXZfcHJpdiAqcHJpdiwK QEAgLTEyMSw4ICsxNDYsMjcgQEAgc3RhdGljIHZvaWQgZ250ZGV2X2ZyZWVfbWFwKHN0cnVjdCBn cmFudF9tYXAgKm1hcCkKIAlpZiAobWFwID09IE5VTEwpCiAJCXJldHVybjsKIAorI2lmZGVmIENP TkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCisJaWYgKG1hcC0+ZG1hX3ZhZGRyKSB7CisJCXN0cnVj dCBnbnR0YWJfZG1hX2FsbG9jX2FyZ3MgYXJnczsKKworCQlhcmdzLmRldiA9IG1hcC0+ZG1hX2Rl djsKKwkJYXJncy5jb2hlcmVudCA9IG1hcC0+ZG1hX2ZsYWdzICYgR05UREVWX0RNQV9GTEFHX0NP SEVSRU5UOworCQlhcmdzLm5yX3BhZ2VzID0gbWFwLT5jb3VudDsKKwkJYXJncy5wYWdlcyA9IG1h cC0+cGFnZXM7CisJCWFyZ3MuZnJhbWVzID0gbWFwLT5mcmFtZXM7CisJCWFyZ3MudmFkZHIgPSBt YXAtPmRtYV92YWRkcjsKKwkJYXJncy5kZXZfYnVzX2FkZHIgPSBtYXAtPmRtYV9idXNfYWRkcjsK KworCQlnbnR0YWJfZG1hX2ZyZWVfcGFnZXMoJmFyZ3MpOworCX0gZWxzZQorI2VuZGlmCiAJaWYg KG1hcC0+cGFnZXMpCiAJCWdudHRhYl9mcmVlX3BhZ2VzKG1hcC0+Y291bnQsIG1hcC0+cGFnZXMp OworCisjaWZkZWYgQ09ORklHX1hFTl9HUkFOVF9ETUFfQUxMT0MKKwlrZnJlZShtYXAtPmZyYW1l cyk7CisjZW5kaWYKIAlrZnJlZShtYXAtPnBhZ2VzKTsKIAlrZnJlZShtYXAtPmdyYW50cyk7CiAJ a2ZyZWUobWFwLT5tYXBfb3BzKTsKQEAgLTEzMiw3ICsxNzYsOCBAQCBzdGF0aWMgdm9pZCBnbnRk ZXZfZnJlZV9tYXAoc3RydWN0IGdyYW50X21hcCAqbWFwKQogCWtmcmVlKG1hcCk7CiB9CiAKLXN0 YXRpYyBzdHJ1Y3QgZ3JhbnRfbWFwICpnbnRkZXZfYWxsb2NfbWFwKHN0cnVjdCBnbnRkZXZfcHJp diAqcHJpdiwgaW50IGNvdW50KQorc3RhdGljIHN0cnVjdCBncmFudF9tYXAgKmdudGRldl9hbGxv Y19tYXAoc3RydWN0IGdudGRldl9wcml2ICpwcml2LCBpbnQgY291bnQsCisJCQkJCSAgaW50IGRt YV9mbGFncykKIHsKIAlzdHJ1Y3QgZ3JhbnRfbWFwICphZGQ7CiAJaW50IGk7CkBAIC0xNTUsNiAr MjAwLDM3IEBAIHN0YXRpYyBzdHJ1Y3QgZ3JhbnRfbWFwICpnbnRkZXZfYWxsb2NfbWFwKHN0cnVj dCBnbnRkZXZfcHJpdiAqcHJpdiwgaW50IGNvdW50KQogCSAgICBOVUxMID09IGFkZC0+cGFnZXMp CiAJCWdvdG8gZXJyOwogCisjaWZkZWYgQ09ORklHX1hFTl9HUkFOVF9ETUFfQUxMT0MKKwlhZGQt PmRtYV9mbGFncyA9IGRtYV9mbGFnczsKKworCS8qCisJICogQ2hlY2sgaWYgdGhpcyBtYXBwaW5n IGlzIHJlcXVlc3RlZCB0byBiZSBiYWNrZWQKKwkgKiBieSBhIERNQSBidWZmZXIuCisJICovCisJ aWYgKGRtYV9mbGFncyAmIChHTlRERVZfRE1BX0ZMQUdfV0MgfCBHTlRERVZfRE1BX0ZMQUdfQ09I RVJFTlQpKSB7CisJCXN0cnVjdCBnbnR0YWJfZG1hX2FsbG9jX2FyZ3MgYXJnczsKKworCQlhZGQt PmZyYW1lcyA9IGtjYWxsb2MoY291bnQsIHNpemVvZihhZGQtPmZyYW1lc1swXSksCisJCQkJICAg ICAgR0ZQX0tFUk5FTCk7CisJCWlmICghYWRkLT5mcmFtZXMpCisJCQlnb3RvIGVycjsKKworCQkv KiBSZW1lbWJlciB0aGUgZGV2aWNlLCBzbyB3ZSBjYW4gZnJlZSBETUEgbWVtb3J5LiAqLworCQlh ZGQtPmRtYV9kZXYgPSBwcml2LT5kbWFfZGV2OworCisJCWFyZ3MuZGV2ID0gcHJpdi0+ZG1hX2Rl djsKKwkJYXJncy5jb2hlcmVudCA9IGRtYV9mbGFncyAmIEdOVERFVl9ETUFfRkxBR19DT0hFUkVO VDsKKwkJYXJncy5ucl9wYWdlcyA9IGNvdW50OworCQlhcmdzLnBhZ2VzID0gYWRkLT5wYWdlczsK KwkJYXJncy5mcmFtZXMgPSBhZGQtPmZyYW1lczsKKworCQlpZiAoZ250dGFiX2RtYV9hbGxvY19w YWdlcygmYXJncykpCisJCQlnb3RvIGVycjsKKworCQlhZGQtPmRtYV92YWRkciA9IGFyZ3MudmFk ZHI7CisJCWFkZC0+ZG1hX2J1c19hZGRyID0gYXJncy5kZXZfYnVzX2FkZHI7CisJfSBlbHNlCisj ZW5kaWYKIAlpZiAoZ250dGFiX2FsbG9jX3BhZ2VzKGNvdW50LCBhZGQtPnBhZ2VzKSkKIAkJZ290 byBlcnI7CiAKQEAgLTMyNSw2ICs0MDEsMTQgQEAgc3RhdGljIGludCBtYXBfZ3JhbnRfcGFnZXMo c3RydWN0IGdyYW50X21hcCAqbWFwKQogCQltYXAtPnVubWFwX29wc1tpXS5oYW5kbGUgPSBtYXAt Pm1hcF9vcHNbaV0uaGFuZGxlOwogCQlpZiAodXNlX3B0ZW1vZCkKIAkJCW1hcC0+a3VubWFwX29w c1tpXS5oYW5kbGUgPSBtYXAtPmttYXBfb3BzW2ldLmhhbmRsZTsKKyNpZmRlZiBDT05GSUdfWEVO X0dSQU5UX0RNQV9BTExPQworCQllbHNlIGlmIChtYXAtPmRtYV92YWRkcikgeworCQkJdW5zaWdu ZWQgbG9uZyBtZm47CisKKwkJCW1mbiA9IHBmbl90b19iZm4ocGFnZV90b19wZm4obWFwLT5wYWdl c1tpXSkpOworCQkJbWFwLT51bm1hcF9vcHNbaV0uZGV2X2J1c19hZGRyID0gX19wZm5fdG9fcGh5 cyhtZm4pOworCQl9CisjZW5kaWYKIAl9CiAJcmV0dXJuIGVycjsKIH0KQEAgLTU0OCw2ICs2MzIs MTcgQEAgc3RhdGljIGludCBnbnRkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3Qg ZmlsZSAqZmxpcCkKIAl9CiAKIAlmbGlwLT5wcml2YXRlX2RhdGEgPSBwcml2OworI2lmZGVmIENP TkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCisJcHJpdi0+ZG1hX2RldiA9IGdudGRldl9taXNjZGV2 LnRoaXNfZGV2aWNlOworCisJLyoKKwkgKiBUaGUgZGV2aWNlIGlzIG5vdCBzcGF3biBmcm9tIGEg ZGV2aWNlIHRyZWUsIHNvIGFyY2hfc2V0dXBfZG1hX29wcworCSAqIGlzIG5vdCBjYWxsZWQsIHRo dXMgbGVhdmluZyB0aGUgZGV2aWNlIHdpdGggZHVtbXkgRE1BIG9wcy4KKwkgKiBGaXggdGhpcyBj YWxsIG9mX2RtYV9jb25maWd1cmUoKSB3aXRoIGEgTlVMTCBub2RlIHRvIHNldAorCSAqIGRlZmF1 bHQgRE1BIG9wcy4KKwkgKi8KKwlvZl9kbWFfY29uZmlndXJlKHByaXYtPmRtYV9kZXYsIE5VTEwp OworI2VuZGlmCiAJcHJfZGVidWcoInByaXYgJXBcbiIsIHByaXYpOwogCiAJcmV0dXJuIDA7CkBA IC01ODksNyArNjg0LDcgQEAgc3RhdGljIGxvbmcgZ250ZGV2X2lvY3RsX21hcF9ncmFudF9yZWYo c3RydWN0IGdudGRldl9wcml2ICpwcml2LAogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWVyciA9IC1F Tk9NRU07Ci0JbWFwID0gZ250ZGV2X2FsbG9jX21hcChwcml2LCBvcC5jb3VudCk7CisJbWFwID0g Z250ZGV2X2FsbG9jX21hcChwcml2LCBvcC5jb3VudCwgMCAvKiBUaGlzIGlzIG5vdCBhIGRtYS1i dWYuICovKTsKIAlpZiAoIW1hcCkKIAkJcmV0dXJuIGVycjsKIApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL3hlbi9nbnRkZXYuaCBiL2luY2x1ZGUvdWFwaS94ZW4vZ250ZGV2LmgKaW5kZXggNmQx MTYzNDU2YzAzLi40YjlkNDk4YTMxZDQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS94ZW4vZ250 ZGV2LmgKKysrIGIvaW5jbHVkZS91YXBpL3hlbi9nbnRkZXYuaApAQCAtMjAwLDQgKzIwMCwxOSBA QCBzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dyYW50X2NvcHkgewogLyogU2VuZCBhbiBpbnRlcnJ1cHQg b24gdGhlIGluZGljYXRlZCBldmVudCBjaGFubmVsICovCiAjZGVmaW5lIFVOTUFQX05PVElGWV9T RU5EX0VWRU5UIDB4MgogCisvKgorICogRmxhZ3MgdG8gYmUgdXNlZCB3aGlsZSByZXF1ZXN0aW5n IG1lbW9yeSBtYXBwaW5nJ3MgYmFja2luZyBzdG9yYWdlCisgKiB0byBiZSBhbGxvY2F0ZWQgd2l0 aCBETUEgQVBJLgorICovCisKKy8qCisgKiBUaGUgYnVmZmVyIGlzIGJhY2tlZCB3aXRoIG1lbW9y eSBhbGxvY2F0ZWQgd2l0aCBkbWFfYWxsb2Nfd2MuCisgKi8KKyNkZWZpbmUgR05UREVWX0RNQV9G TEFHX1dDCQkoMSA8PCAwKQorCisvKgorICogVGhlIGJ1ZmZlciBpcyBiYWNrZWQgd2l0aCBtZW1v cnkgYWxsb2NhdGVkIHdpdGggZG1hX2FsbG9jX2NvaGVyZW50LgorICovCisjZGVmaW5lIEdOVERF Vl9ETUFfRkxBR19DT0hFUkVOVAkoMSA8PCAxKQorCiAjZW5kaWYgLyogX19MSU5VWF9QVUJMSUNf R05UREVWX0hfXyAqLwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK