From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v3 12/16] drm/tegra: Setup shared IOMMU domain after initialization Date: Fri, 1 Feb 2019 14:28:33 +0100 Message-ID: <20190201132837.12327-13-thierry.reding@gmail.com> References: <20190201132837.12327-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190201132837.12327-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, Dmitry Osipenko , dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCk1vdmUgaW5pdGlhbGl6 YXRpb24gb2YgdGhlIHNoYXJlZCBJT01NVSBkb21haW4gYWZ0ZXIgdGhlIGhvc3QxeCBkZXZpY2UK aGFzIGJlZW4gaW5pdGlhbGl6ZWQuIEF0IHRoaXMgcG9pbnQgYWxsIHRoZSBUZWdyYSBEUk0gY2xp ZW50cyBoYXZlIGJlZW4KYXR0YWNoZWQgdG8gdGhlIHNoYXJlZCBJT01NVSBkb21haW4uCgpUaGlz IGlzIGltcG9ydGFudCBiZWNhdXNlIFRlZ3JhMTg2IGFuZCBsYXRlciB1c2UgYW4gQVJNIFNNTVUs IGZvciB3aGljaAp0aGUgZHJpdmVyIGRlZmVycyBzZXR0aW5nIHVwIHRoZSBnZW9tZXRyeSBmb3Ig YSBkb21haW4gdW50aWwgYSBkZXZpY2UgaXMKYXR0YWNoZWQgdG8gaXQuIFRoaXMgaXMgdG8gZW5z dXJlIHRoYXQgdGhlIGRvbWFpbiBpcyBwcm9wZXJseSBzZXQgdXAgZm9yCmEgc3BlY2lmaWMgQVJN IFNNTVUgaW5zdGFuY2UsIHdoaWNoIGlzIHVua25vd24gYXQgYWxsb2NhdGlvbiB0aW1lLgoKUmV2 aWV3ZWQtYnk6IERtaXRyeSBPc2lwZW5rbyA8ZGlnZXR4QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vdGVncmEvZHJtLmMgfCA1NCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL3Rl Z3JhL2RybS5jCmluZGV4IDYxZGNiZDIxOGZmYy4uMjcxYzdhNWZjOTU0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2Ry bS5jCkBAIC05MiwxMCArOTIsNiBAQCBzdGF0aWMgaW50IHRlZ3JhX2RybV9sb2FkKHN0cnVjdCBk cm1fZGV2aWNlICpkcm0sIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJCXJldHVybiAtRU5PTUVNOwog CiAJaWYgKGlvbW11X3ByZXNlbnQoJnBsYXRmb3JtX2J1c190eXBlKSkgewotCQl1NjQgY2FydmVv dXRfc3RhcnQsIGNhcnZlb3V0X2VuZCwgZ2VtX3N0YXJ0LCBnZW1fZW5kOwotCQlzdHJ1Y3QgaW9t bXVfZG9tYWluX2dlb21ldHJ5ICpnZW9tZXRyeTsKLQkJdW5zaWduZWQgbG9uZyBvcmRlcjsKLQog CQl0ZWdyYS0+ZG9tYWluID0gaW9tbXVfZG9tYWluX2FsbG9jKCZwbGF0Zm9ybV9idXNfdHlwZSk7 CiAJCWlmICghdGVncmEtPmRvbWFpbikgewogCQkJZXJyID0gLUVOT01FTTsKQEAgLTEwNSwyNyAr MTAxLDYgQEAgc3RhdGljIGludCB0ZWdyYV9kcm1fbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZHJt LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCQllcnIgPSBpb3ZhX2NhY2hlX2dldCgpOwogCQlpZiAo ZXJyIDwgMCkKIAkJCWdvdG8gZG9tYWluOwotCi0JCWdlb21ldHJ5ID0gJnRlZ3JhLT5kb21haW4t Pmdlb21ldHJ5OwotCQlnZW1fc3RhcnQgPSBnZW9tZXRyeS0+YXBlcnR1cmVfc3RhcnQ7Ci0JCWdl bV9lbmQgPSBnZW9tZXRyeS0+YXBlcnR1cmVfZW5kIC0gQ0FSVkVPVVRfU1o7Ci0JCWNhcnZlb3V0 X3N0YXJ0ID0gZ2VtX2VuZCArIDE7Ci0JCWNhcnZlb3V0X2VuZCA9IGdlb21ldHJ5LT5hcGVydHVy ZV9lbmQ7Ci0KLQkJb3JkZXIgPSBfX2Zmcyh0ZWdyYS0+ZG9tYWluLT5wZ3NpemVfYml0bWFwKTsK LQkJaW5pdF9pb3ZhX2RvbWFpbigmdGVncmEtPmNhcnZlb3V0LmRvbWFpbiwgMVVMIDw8IG9yZGVy LAotCQkJCSBjYXJ2ZW91dF9zdGFydCA+PiBvcmRlcik7Ci0KLQkJdGVncmEtPmNhcnZlb3V0LnNo aWZ0ID0gaW92YV9zaGlmdCgmdGVncmEtPmNhcnZlb3V0LmRvbWFpbik7Ci0JCXRlZ3JhLT5jYXJ2 ZW91dC5saW1pdCA9IGNhcnZlb3V0X2VuZCA+PiB0ZWdyYS0+Y2FydmVvdXQuc2hpZnQ7Ci0KLQkJ ZHJtX21tX2luaXQoJnRlZ3JhLT5tbSwgZ2VtX3N0YXJ0LCBnZW1fZW5kIC0gZ2VtX3N0YXJ0ICsg MSk7Ci0JCW11dGV4X2luaXQoJnRlZ3JhLT5tbV9sb2NrKTsKLQotCQlEUk1fREVCVUcoIklPTU1V IGFwZXJ0dXJlczpcbiIpOwotCQlEUk1fREVCVUcoIiAgR0VNOiAlI2xseC0lI2xseFxuIiwgZ2Vt X3N0YXJ0LCBnZW1fZW5kKTsKLQkJRFJNX0RFQlVHKCIgIENhcnZlb3V0OiAlI2xseC0lI2xseFxu IiwgY2FydmVvdXRfc3RhcnQsCi0JCQkgIGNhcnZlb3V0X2VuZCk7CiAJfQogCiAJbXV0ZXhfaW5p dCgmdGVncmEtPmNsaWVudHNfbG9jayk7CkBAIC0xNTksNiArMTM0LDM1IEBAIHN0YXRpYyBpbnQg dGVncmFfZHJtX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgbG9uZyBmbGFn cykKIAlpZiAoZXJyIDwgMCkKIAkJZ290byBmYmRldjsKIAorCWlmICh0ZWdyYS0+ZG9tYWluKSB7 CisJCXU2NCBjYXJ2ZW91dF9zdGFydCwgY2FydmVvdXRfZW5kLCBnZW1fc3RhcnQsIGdlbV9lbmQ7 CisJCWRtYV9hZGRyX3Qgc3RhcnQsIGVuZDsKKwkJdW5zaWduZWQgbG9uZyBvcmRlcjsKKworCQlz dGFydCA9IHRlZ3JhLT5kb21haW4tPmdlb21ldHJ5LmFwZXJ0dXJlX3N0YXJ0OworCQllbmQgPSB0 ZWdyYS0+ZG9tYWluLT5nZW9tZXRyeS5hcGVydHVyZV9lbmQ7CisKKwkJZ2VtX3N0YXJ0ID0gc3Rh cnQ7CisJCWdlbV9lbmQgPSBlbmQgLSBDQVJWRU9VVF9TWjsKKwkJY2FydmVvdXRfc3RhcnQgPSBn ZW1fZW5kICsgMTsKKwkJY2FydmVvdXRfZW5kID0gZW5kOworCisJCW9yZGVyID0gX19mZnModGVn cmEtPmRvbWFpbi0+cGdzaXplX2JpdG1hcCk7CisJCWluaXRfaW92YV9kb21haW4oJnRlZ3JhLT5j YXJ2ZW91dC5kb21haW4sIDFVTCA8PCBvcmRlciwKKwkJCQkgY2FydmVvdXRfc3RhcnQgPj4gb3Jk ZXIpOworCisJCXRlZ3JhLT5jYXJ2ZW91dC5zaGlmdCA9IGlvdmFfc2hpZnQoJnRlZ3JhLT5jYXJ2 ZW91dC5kb21haW4pOworCQl0ZWdyYS0+Y2FydmVvdXQubGltaXQgPSBjYXJ2ZW91dF9lbmQgPj4g dGVncmEtPmNhcnZlb3V0LnNoaWZ0OworCisJCWRybV9tbV9pbml0KCZ0ZWdyYS0+bW0sIGdlbV9z dGFydCwgZ2VtX2VuZCAtIGdlbV9zdGFydCArIDEpOworCQltdXRleF9pbml0KCZ0ZWdyYS0+bW1f bG9jayk7CisKKwkJRFJNX0RFQlVHKCJJT01NVSBhcGVydHVyZXM6XG4iKTsKKwkJRFJNX0RFQlVH KCIgIEdFTTogJSNsbHgtJSNsbHhcbiIsIGdlbV9zdGFydCwgZ2VtX2VuZCk7CisJCURSTV9ERUJV RygiICBDYXJ2ZW91dDogJSNsbHgtJSNsbHhcbiIsIGNhcnZlb3V0X3N0YXJ0LAorCQkJICBjYXJ2 ZW91dF9lbmQpOworCX0KKwogCWlmICh0ZWdyYS0+aHViKSB7CiAJCWVyciA9IHRlZ3JhX2Rpc3Bs YXlfaHViX3ByZXBhcmUodGVncmEtPmh1Yik7CiAJCWlmIChlcnIgPCAwKQotLSAKMi4xOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK