From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH 4/8] xen/gntdev: Allow mappings for DMA buffers Date: Fri, 25 May 2018 18:33:27 +0300 Message-ID: <20180525153331.31188-5-andr2000__27416.0323817798$1527262355$gmane$org@gmail.com> References: <20180525153331.31188-1-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fMEj2-0008LM-BC for xen-devel@lists.xenproject.org; Fri, 25 May 2018 15:33:52 +0000 Received: by mail-wm0-x242.google.com with SMTP id t11-v6so15544545wmt.0 for ; Fri, 25 May 2018 08:33:50 -0700 (PDT) In-Reply-To: <20180525153331.31188-1-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-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, matthew.d.roper@intel.com, dongwon.kim@intel.com, Oleksandr Andrushchenko List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKQWxsb3cgbWFwcGluZ3MgZm9yIERNQSBiYWNrZWQgIGJ1ZmZlcnMgaWYgZ3JhbnQg dGFibGUgbW9kdWxlCnN1cHBvcnRzIHN1Y2g6IHRoaXMgZXh0ZW5kcyBncmFudCBkZXZpY2UgdG8g bm90IG9ubHkgbWFwIGJ1ZmZlcnMKbWFkZSBvZiBiYWxsb29uIHBhZ2VzLCBidXQgYWxzbyBmcm9t IGJ1ZmZlcnMgYWxsb2NhdGVkIHdpdGgKZG1hX2FsbG9jX3h4eC4KClNpZ25lZC1vZmYtYnk6IE9s ZWtzYW5kciBBbmRydXNoY2hlbmtvIDxvbGVrc2FuZHJfYW5kcnVzaGNoZW5rb0BlcGFtLmNvbT4K LS0tCiBkcml2ZXJzL3hlbi9nbnRkZXYuYyAgICAgIHwgMTAwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystCiBpbmNsdWRlL3VhcGkveGVuL2dudGRldi5oIHwgIDE1ICsrKysr KwogMiBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9nbnRkZXYuYyBiL2RyaXZlcnMveGVuL2dudGRldi5jCmlu ZGV4IGJkNTY2NTNiOWJiYy4uNjQwYTU3OWY0MmVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9n bnRkZXYuYworKysgYi9kcml2ZXJzL3hlbi9nbnRkZXYuYwpAQCAtMzcsNiArMzcsOSBAQAogI2lu Y2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAjaW5jbHVk ZSA8bGludXgvcmVmY291bnQuaD4KKyNpZmRlZiBDT05GSUdfWEVOX0dSQU5UX0RNQV9BTExPQwor I2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgorI2VuZGlmCiAKICNpbmNsdWRlIDx4ZW4veGVu Lmg+CiAjaW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CkBAIC03Miw2ICs3NSwxMSBAQCBzdHJ1 Y3QgZ250ZGV2X3ByaXYgewogCXN0cnVjdCBtdXRleCBsb2NrOwogCXN0cnVjdCBtbV9zdHJ1Y3Qg Km1tOwogCXN0cnVjdCBtbXVfbm90aWZpZXIgbW47CisKKyNpZmRlZiBDT05GSUdfWEVOX0dSQU5U X0RNQV9BTExPQworCS8qIERldmljZSBmb3Igd2hpY2ggRE1BIG1lbW9yeSBpcyBhbGxvY2F0ZWQu ICovCisJc3RydWN0IGRldmljZSAqZG1hX2RldjsKKyNlbmRpZgogfTsKIAogc3RydWN0IHVubWFw X25vdGlmeSB7CkBAIC05NiwxMCArMTA0LDI4IEBAIHN0cnVjdCBncmFudF9tYXAgewogCXN0cnVj dCBnbnR0YWJfdW5tYXBfZ3JhbnRfcmVmICprdW5tYXBfb3BzOwogCXN0cnVjdCBwYWdlICoqcGFn ZXM7CiAJdW5zaWduZWQgbG9uZyBwYWdlc192bV9zdGFydDsKKworI2lmZGVmIENPTkZJR19YRU5f R1JBTlRfRE1BX0FMTE9DCisJLyoKKwkgKiBJZiBkbWFidWZfdmFkZHIgaXMgbm90IE5VTEwgdGhl biB0aGlzIG1hcHBpbmcgaXMgYmFja2VkIGJ5IERNQQorCSAqIGNhcGFibGUgbWVtb3J5LgorCSAq LworCisJLyogRGV2aWNlIGZvciB3aGljaCBETUEgbWVtb3J5IGlzIGFsbG9jYXRlZC4gKi8KKwlz dHJ1Y3QgZGV2aWNlICpkbWFfZGV2OworCS8qIEZsYWdzIHVzZWQgdG8gY3JlYXRlIHRoaXMgRE1B IGJ1ZmZlcjogR05UREVWX0RNQUJVRl9GTEFHX1hYWC4gKi8KKwlib29sIGRtYV9mbGFnczsKKwkv KiBWaXJ0dWFsL0NQVSBhZGRyZXNzIG9mIHRoZSBETUEgYnVmZmVyLiAqLworCXZvaWQgKmRtYV92 YWRkcjsKKwkvKiBCdXMgYWRkcmVzcyBvZiB0aGUgRE1BIGJ1ZmZlci4gKi8KKwlkbWFfYWRkcl90 IGRtYV9idXNfYWRkcjsKKyNlbmRpZgogfTsKIAogc3RhdGljIGludCB1bm1hcF9ncmFudF9wYWdl cyhzdHJ1Y3QgZ3JhbnRfbWFwICptYXAsIGludCBvZmZzZXQsIGludCBwYWdlcyk7CiAKK3N0YXRp YyBzdHJ1Y3QgbWlzY2RldmljZSBnbnRkZXZfbWlzY2RldjsKKwogLyogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCiAK IHN0YXRpYyB2b2lkIGdudGRldl9wcmludF9tYXBzKHN0cnVjdCBnbnRkZXZfcHJpdiAqcHJpdiwK QEAgLTEyMSw4ICsxNDcsMjYgQEAgc3RhdGljIHZvaWQgZ250ZGV2X2ZyZWVfbWFwKHN0cnVjdCBn cmFudF9tYXAgKm1hcCkKIAlpZiAobWFwID09IE5VTEwpCiAJCXJldHVybjsKIAorI2lmZGVmIENP TkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCisJaWYgKG1hcC0+ZG1hX3ZhZGRyKSB7CisJCXN0cnVj dCBnbnR0YWJfZG1hX2FsbG9jX2FyZ3MgYXJnczsKKworCQlhcmdzLmRldiA9IG1hcC0+ZG1hX2Rl djsKKwkJYXJncy5jb2hlcmVudCA9IG1hcC0+ZG1hX2ZsYWdzICYgR05UREVWX0RNQV9GTEFHX0NP SEVSRU5UOworCQlhcmdzLm5yX3BhZ2VzID0gbWFwLT5jb3VudDsKKwkJYXJncy5wYWdlcyA9IG1h cC0+cGFnZXM7CisJCWFyZ3MudmFkZHIgPSBtYXAtPmRtYV92YWRkcjsKKwkJYXJncy5kZXZfYnVz X2FkZHIgPSBtYXAtPmRtYV9idXNfYWRkcjsKKworCQlnbnR0YWJfZG1hX2ZyZWVfcGFnZXMoJmFy Z3MpOworCX0gZWxzZSBpZiAobWFwLT5wYWdlcykgeworCQlnbnR0YWJfZnJlZV9wYWdlcyhtYXAt PmNvdW50LCBtYXAtPnBhZ2VzKTsKKwl9CisjZWxzZQogCWlmIChtYXAtPnBhZ2VzKQogCQlnbnR0 YWJfZnJlZV9wYWdlcyhtYXAtPmNvdW50LCBtYXAtPnBhZ2VzKTsKKyNlbmRpZgorCiAJa2ZyZWUo bWFwLT5wYWdlcyk7CiAJa2ZyZWUobWFwLT5ncmFudHMpOwogCWtmcmVlKG1hcC0+bWFwX29wcyk7 CkBAIC0xMzIsNyArMTc2LDggQEAgc3RhdGljIHZvaWQgZ250ZGV2X2ZyZWVfbWFwKHN0cnVjdCBn cmFudF9tYXAgKm1hcCkKIAlrZnJlZShtYXApOwogfQogCi1zdGF0aWMgc3RydWN0IGdyYW50X21h cCAqZ250ZGV2X2FsbG9jX21hcChzdHJ1Y3QgZ250ZGV2X3ByaXYgKnByaXYsIGludCBjb3VudCkK K3N0YXRpYyBzdHJ1Y3QgZ3JhbnRfbWFwICpnbnRkZXZfYWxsb2NfbWFwKHN0cnVjdCBnbnRkZXZf cHJpdiAqcHJpdiwgaW50IGNvdW50LAorCQkJCQkgIGludCBkbWFfZmxhZ3MpCiB7CiAJc3RydWN0 IGdyYW50X21hcCAqYWRkOwogCWludCBpOwpAQCAtMTU1LDggKzIwMCwzNyBAQCBzdGF0aWMgc3Ry dWN0IGdyYW50X21hcCAqZ250ZGV2X2FsbG9jX21hcChzdHJ1Y3QgZ250ZGV2X3ByaXYgKnByaXYs IGludCBjb3VudCkKIAkgICAgTlVMTCA9PSBhZGQtPnBhZ2VzKQogCQlnb3RvIGVycjsKIAorI2lm ZGVmIENPTkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCisJYWRkLT5kbWFfZmxhZ3MgPSBkbWFfZmxh Z3M7CisKKwkvKgorCSAqIENoZWNrIGlmIHRoaXMgbWFwcGluZyBpcyByZXF1ZXN0ZWQgdG8gYmUg YmFja2VkCisJICogYnkgYSBETUEgYnVmZmVyLgorCSAqLworCWlmIChkbWFfZmxhZ3MgJiAoR05U REVWX0RNQV9GTEFHX1dDIHwgR05UREVWX0RNQV9GTEFHX0NPSEVSRU5UKSkgeworCQlzdHJ1Y3Qg Z250dGFiX2RtYV9hbGxvY19hcmdzIGFyZ3M7CisKKwkJLyogUmVtZW1iZXIgdGhlIGRldmljZSwg c28gd2UgY2FuIGZyZWUgRE1BIG1lbW9yeS4gKi8KKwkJYWRkLT5kbWFfZGV2ID0gcHJpdi0+ZG1h X2RldjsKKworCQlhcmdzLmRldiA9IHByaXYtPmRtYV9kZXY7CisJCWFyZ3MuY29oZXJlbnQgPSBk bWFfZmxhZ3MgJiBHTlRERVZfRE1BX0ZMQUdfQ09IRVJFTlQ7CisJCWFyZ3MubnJfcGFnZXMgPSBj b3VudDsKKwkJYXJncy5wYWdlcyA9IGFkZC0+cGFnZXM7CisKKwkJaWYgKGdudHRhYl9kbWFfYWxs b2NfcGFnZXMoJmFyZ3MpKQorCQkJZ290byBlcnI7CisKKwkJYWRkLT5kbWFfdmFkZHIgPSBhcmdz LnZhZGRyOworCQlhZGQtPmRtYV9idXNfYWRkciA9IGFyZ3MuZGV2X2J1c19hZGRyOworCX0gZWxz ZSB7CisJCWlmIChnbnR0YWJfYWxsb2NfcGFnZXMoY291bnQsIGFkZC0+cGFnZXMpKQorCQkJZ290 byBlcnI7CisJfQorI2Vsc2UKIAlpZiAoZ250dGFiX2FsbG9jX3BhZ2VzKGNvdW50LCBhZGQtPnBh Z2VzKSkKIAkJZ290byBlcnI7CisjZW5kaWYKIAogCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsr KSB7CiAJCWFkZC0+bWFwX29wc1tpXS5oYW5kbGUgPSAtMTsKQEAgLTMyMyw4ICszOTcsMTkgQEAg c3RhdGljIGludCBtYXBfZ3JhbnRfcGFnZXMoc3RydWN0IGdyYW50X21hcCAqbWFwKQogCQl9CiAK IAkJbWFwLT51bm1hcF9vcHNbaV0uaGFuZGxlID0gbWFwLT5tYXBfb3BzW2ldLmhhbmRsZTsKKyNp ZmRlZiBDT05GSUdfWEVOX0dSQU5UX0RNQV9BTExPQworCQlpZiAodXNlX3B0ZW1vZCkgeworCQkJ bWFwLT5rdW5tYXBfb3BzW2ldLmhhbmRsZSA9IG1hcC0+a21hcF9vcHNbaV0uaGFuZGxlOworCQl9 IGVsc2UgaWYgKG1hcC0+ZG1hX3ZhZGRyKSB7CisJCQl1bnNpZ25lZCBsb25nIG1mbjsKKworCQkJ bWZuID0gX19wZm5fdG9fbWZuKHBhZ2VfdG9fcGZuKG1hcC0+cGFnZXNbaV0pKTsKKwkJCW1hcC0+ dW5tYXBfb3BzW2ldLmRldl9idXNfYWRkciA9IF9fcGZuX3RvX3BoeXMobWZuKTsKKwkJfQorI2Vs c2UKIAkJaWYgKHVzZV9wdGVtb2QpCiAJCQltYXAtPmt1bm1hcF9vcHNbaV0uaGFuZGxlID0gbWFw LT5rbWFwX29wc1tpXS5oYW5kbGU7CisjZW5kaWYKIAl9CiAJcmV0dXJuIGVycjsKIH0KQEAgLTU0 OCw2ICs2MzMsMTcgQEAgc3RhdGljIGludCBnbnRkZXZfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBzdHJ1Y3QgZmlsZSAqZmxpcCkKIAl9CiAKIAlmbGlwLT5wcml2YXRlX2RhdGEgPSBwcml2Owor I2lmZGVmIENPTkZJR19YRU5fR1JBTlRfRE1BX0FMTE9DCisJcHJpdi0+ZG1hX2RldiA9IGdudGRl dl9taXNjZGV2LnRoaXNfZGV2aWNlOworCisJLyoKKwkgKiBUaGUgZGV2aWNlIGlzIG5vdCBzcGF3 biBmcm9tIGEgZGV2aWNlIHRyZWUsIHNvIGFyY2hfc2V0dXBfZG1hX29wcworCSAqIGlzIG5vdCBj YWxsZWQsIHRodXMgbGVhdmluZyB0aGUgZGV2aWNlIHdpdGggZHVtbXkgRE1BIG9wcy4KKwkgKiBG aXggdGhpcyBjYWxsIG9mX2RtYV9jb25maWd1cmUoKSB3aXRoIGEgTlVMTCBub2RlIHRvIHNldAor CSAqIGRlZmF1bHQgRE1BIG9wcy4KKwkgKi8KKwlvZl9kbWFfY29uZmlndXJlKHByaXYtPmRtYV9k ZXYsIE5VTEwpOworI2VuZGlmCiAJcHJfZGVidWcoInByaXYgJXBcbiIsIHByaXYpOwogCiAJcmV0 dXJuIDA7CkBAIC01ODksNyArNjg1LDcgQEAgc3RhdGljIGxvbmcgZ250ZGV2X2lvY3RsX21hcF9n cmFudF9yZWYoc3RydWN0IGdudGRldl9wcml2ICpwcml2LAogCQlyZXR1cm4gLUVJTlZBTDsKIAog CWVyciA9IC1FTk9NRU07Ci0JbWFwID0gZ250ZGV2X2FsbG9jX21hcChwcml2LCBvcC5jb3VudCk7 CisJbWFwID0gZ250ZGV2X2FsbG9jX21hcChwcml2LCBvcC5jb3VudCwgMCAvKiBUaGlzIGlzIG5v dCBhIGRtYS1idWYuICovKTsKIAlpZiAoIW1hcCkKIAkJcmV0dXJuIGVycjsKIApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91YXBpL3hlbi9nbnRkZXYuaCBiL2luY2x1ZGUvdWFwaS94ZW4vZ250ZGV2LmgK aW5kZXggNmQxMTYzNDU2YzAzLi4yZDVhNDY3MmYwN2MgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFw aS94ZW4vZ250ZGV2LmgKKysrIGIvaW5jbHVkZS91YXBpL3hlbi9nbnRkZXYuaApAQCAtMjAwLDQg KzIwMCwxOSBAQCBzdHJ1Y3QgaW9jdGxfZ250ZGV2X2dyYW50X2NvcHkgewogLyogU2VuZCBhbiBp bnRlcnJ1cHQgb24gdGhlIGluZGljYXRlZCBldmVudCBjaGFubmVsICovCiAjZGVmaW5lIFVOTUFQ X05PVElGWV9TRU5EX0VWRU5UIDB4MgogCisvKgorICogRmxhZ3MgdG8gYmUgdXNlZCB3aGlsZSBy ZXF1ZXN0aW5nIG1lbW9yeSBtYXBwaW5nJ3MgYmFja2luZyBzdG9yYWdlCisgKiB0byBiZSBhbGxv Y2F0ZWQgd2l0aCBETUEgQVBJLgorICovCisKKy8qCisgKiBUaGUgYnVmZmVyIGlzIGJhY2tlZCB3 aXRoIG1lbW9yeSBhbGxvY2F0ZWQgd2l0aCBkbWFfYWxsb2Nfd2MuCisgKi8KKyNkZWZpbmUgR05U REVWX0RNQV9GTEFHX1dDCQkoMSA8PCAxKQorCisvKgorICogVGhlIGJ1ZmZlciBpcyBiYWNrZWQg d2l0aCBtZW1vcnkgYWxsb2NhdGVkIHdpdGggZG1hX2FsbG9jX2NvaGVyZW50LgorICovCisjZGVm aW5lIEdOVERFVl9ETUFfRkxBR19DT0hFUkVOVAkoMSA8PCAyKQorCiAjZW5kaWYgLyogX19MSU5V WF9QVUJMSUNfR05UREVWX0hfXyAqLwotLSAKMi4xNy4wCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==