From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Tyshchenko Subject: [PATCH v2 11/13] iommu/arm: smmu: Squash map_pages/unmap_pages with map_page/unmap_page Date: Tue, 25 Jul 2017 20:26:53 +0300 Message-ID: <1501003615-15274-12-git-send-email-olekstysh@gmail.com> References: <1501003615-15274-1-git-send-email-olekstysh@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1da3cC-00009U-1W for xen-devel@lists.xenproject.org; Tue, 25 Jul 2017 17:27:24 +0000 Received: by mail-lf0-f66.google.com with SMTP id d80so3644971lfg.1 for ; Tue, 25 Jul 2017 10:27:22 -0700 (PDT) In-Reply-To: <1501003615-15274-1-git-send-email-olekstysh@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Oleksandr Tyshchenko , Julien Grall List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29t PgoKRWxpbWluYXRlIFRPRE8gYnkgc3F1YXNoaW5nIHNpbmdsZS1wYWdlIHN0dWZmIHdpdGggbXVs dGktcGFnZSBvbmUuCgpTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3Nh bmRyX3R5c2hjaGVua29AZXBhbS5jb20+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBh cm0uY29tPgoKLS0tCiAgIENoYW5nZXMgaW4gdjE6CiAgICAgIC0KCiAgIENoYW5nZXMgaW4gdjI6 CiAgICAgIC0KLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jIHwgNDggKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bh c3N0aHJvdWdoL2FybS9zbW11LmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5j CmluZGV4IDY1MmI1OGMuLjAyMTAzMWEgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL2FybS9zbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYwpA QCAtMjczNyw4ICsyNzM3LDggQEAgc3RhdGljIHZvaWQgYXJtX3NtbXVfaW9tbXVfZG9tYWluX3Rl YXJkb3duKHN0cnVjdCBkb21haW4gKmQpCiAJeGZyZWUoeGVuX2RvbWFpbik7CiB9CiAKLXN0YXRp YyBpbnQgX19tdXN0X2NoZWNrIGFybV9zbW11X21hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGxvbmcgZ2ZuLAotCQkJdW5zaWduZWQgbG9uZyBtZm4sIHVuc2lnbmVkIGludCBmbGFn cykKK3N0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFybV9zbW11X21hcF9wYWdlcyhzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIGdmbiwKKwkJCXVuc2lnbmVkIGxvbmcgbWZuLCB1bnNpZ25l ZCBpbnQgb3JkZXIsIHVuc2lnbmVkIGludCBmbGFncykKIHsKIAlwMm1fdHlwZV90IHQ7CiAKQEAg LTI3NjMsMTAgKzI3NjMsMTEgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgYXJtX3NtbXVfbWFw X3BhZ2Uoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCiAJICogVGhlIGZ1bmN0 aW9uIGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5IHJlcGxhY2VzIHRoZSBjdXJyZW50IG1hcHBpbmcK IAkgKiBpZiB0aGVyZSBpcyBhbHJlYWR5IG9uZS4uLgogCSAqLwotCXJldHVybiBndWVzdF9waHlz bWFwX2FkZF9lbnRyeShkLCBfZ2ZuKGdmbiksIF9tZm4obWZuKSwgMCwgdCk7CisJcmV0dXJuIGd1 ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KGQsIF9nZm4oZ2ZuKSwgX21mbihtZm4pLCBvcmRlciwgdCk7 CiB9CiAKLXN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGFybV9zbW11X3VubWFwX3BhZ2Uoc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4pCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBh cm1fc21tdV91bm1hcF9wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLAorCQkJdW5zaWduZWQgbG9uZyBn Zm4sIHVuc2lnbmVkIGludCBvcmRlcikKIHsKIAkvKgogCSAqIFRoaXMgZnVuY3Rpb24gc2hvdWxk IG9ubHkgYmUgdXNlZCBieSBnbnR0YWIgY29kZSB3aGVuIHRoZSBkb21haW4KQEAgLTI3NzUsNDQg KzI3NzYsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhcm1fc21tdV91bm1hcF9wYWdlKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKQogCWlmICggIWlzX2RvbWFpbl9kaXJl Y3RfbWFwcGVkKGQpICkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlyZXR1cm4gZ3Vlc3RfcGh5c21h cF9yZW1vdmVfcGFnZShkLCBfZ2ZuKGdmbiksIF9tZm4oZ2ZuKSwgMCk7Ci19Ci0KLS8qIFRPRE86 IE9wdGltaXplIGJ5IHNxdWFzaGluZyBtYXBfcGFnZXMvdW5tYXBfcGFnZXMgd2l0aCBtYXBfcGFn ZS91bm1hcF9wYWdlICovCi1zdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhcm1fc21tdV9tYXBfcGFn ZXMoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBnZm4sCi0JCXVuc2lnbmVkIGxvbmcg bWZuLCB1bnNpZ25lZCBpbnQgb3JkZXIsIHVuc2lnbmVkIGludCBmbGFncykKLXsKLQl1bnNpZ25l ZCBsb25nIGk7Ci0JaW50IHJjID0gMDsKLQotCWZvciAoaSA9IDA7IGkgPCAoMVVMIDw8IG9yZGVy KTsgaSsrKSB7Ci0JCXJjID0gYXJtX3NtbXVfbWFwX3BhZ2UoZCwgZ2ZuICsgaSwgbWZuICsgaSwg ZmxhZ3MpOwotCQlpZiAodW5saWtlbHkocmMpKSB7Ci0JCQl3aGlsZSAoaS0tKQotCQkJCS8qIElm IHN0YXRlbWVudCB0byBzYXRpc2Z5IF9fbXVzdF9jaGVjay4gKi8KLQkJCQlpZiAoYXJtX3NtbXVf dW5tYXBfcGFnZShkLCBnZm4gKyBpKSkKLQkJCQkJY29udGludWU7Ci0KLQkJCWJyZWFrOwotCQl9 Ci0JfQotCi0JcmV0dXJuIHJjOwotfQotCi1zdGF0aWMgaW50IF9fbXVzdF9jaGVjayBhcm1fc21t dV91bm1hcF9wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLAotCQl1bnNpZ25lZCBsb25nIGdmbiwgdW5z aWduZWQgaW50IG9yZGVyKQotewotCXVuc2lnbmVkIGxvbmcgaTsKLQlpbnQgcmMgPSAwOwotCi0J Zm9yIChpID0gMDsgaSA8ICgxVUwgPDwgb3JkZXIpOyBpKyspIHsKLQkJaW50IHJldCA9IGFybV9z bW11X3VubWFwX3BhZ2UoZCwgZ2ZuICsgaSk7Ci0JCWlmICghcmMpCi0JCQlyYyA9IHJldDsKLQl9 Ci0KLQlyZXR1cm4gcmM7CisJcmV0dXJuIGd1ZXN0X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoZCwgX2dm bihnZm4pLCBfbWZuKGdmbiksIG9yZGVyKTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBpb21t dV9vcHMgYXJtX3NtbXVfaW9tbXVfb3BzID0gewotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK