From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dmitry Osipenko Subject: Re: [PATCH 3/5] drm/tegra: Setup shared IOMMU domain after initialization Date: Wed, 23 Jan 2019 17:55:00 +0300 Message-ID: <19ab7641-56de-7f11-8f82-3ec8bcdfdb11@gmail.com> References: <20190123093951.24908-1-thierry.reding@gmail.com> <20190123093951.24908-4-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190123093951.24908-4-thierry.reding@gmail.com> Content-Language: en-US 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, dri-devel@lists.freedesktop.org, Mikko Perttunen List-Id: linux-tegra@vger.kernel.org MjMuMDEuMjAxOSAxMjozOSwgVGhpZXJyeSBSZWRpbmcg0L/QuNGI0LXRgjoKPiBGcm9tOiBUaGll cnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+IAo+IE1vdmUgaW5pdGlhbGl6YXRpb24g b2YgdGhlIHNoYXJlZCBJT01NVSBkb21haW4gYWZ0ZXIgdGhlIGhvc3QxeCBkZXZpY2UKPiBoYXMg YmVlbiBpbml0aWFsaXplZC4gQXQgdGhpcyBwb2ludCBhbGwgdGhlIFRlZ3JhIERSTSBjbGllbnRz IGhhdmUgYmVlbgo+IGF0dGFjaGVkIHRvIHRoZSBzaGFyZWQgSU9NTVUgZG9tYWluLgo+IAo+IFRo aXMgaXMgaW1wb3J0YW50IGJlY2F1c2UgVGVncmExODYgYW5kIGxhdGVyIHVzZSBhbiBBUk0gU01N VSwgZm9yIHdoaWNoCj4gdGhlIGRyaXZlciBkZWZlcnMgc2V0dGluZyB1cCB0aGUgZ2VvbWV0cnkg Zm9yIGEgZG9tYWluIHVudGlsIGEgZGV2aWNlIGlzCj4gYXR0YWNoZWQgdG8gaXQuIFRoaXMgaXMg dG8gZW5zdXJlIHRoYXQgdGhlIGRvbWFpbiBpcyBwcm9wZXJseSBzZXQgdXAgZm9yCj4gYSBzcGVj aWZpYyBBUk0gU01NVSBpbnN0YW5jZSwgd2hpY2ggaXMgdW5rbm93biBhdCBhbGxvY2F0aW9uIHRp bWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNv bT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jIHwgNTQgKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9u cygrKSwgMjUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwo+IGluZGV4IDYxZGNiZDIx OGZmYy4uMjcxYzdhNWZjOTU0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9k cm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwo+IEBAIC05MiwxMCArOTIs NiBAQCBzdGF0aWMgaW50IHRlZ3JhX2RybV9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHVu c2lnbmVkIGxvbmcgZmxhZ3MpCj4gIAkJcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICAJaWYgKGlvbW11 X3ByZXNlbnQoJnBsYXRmb3JtX2J1c190eXBlKSkgewo+IC0JCXU2NCBjYXJ2ZW91dF9zdGFydCwg Y2FydmVvdXRfZW5kLCBnZW1fc3RhcnQsIGdlbV9lbmQ7Cj4gLQkJc3RydWN0IGlvbW11X2RvbWFp bl9nZW9tZXRyeSAqZ2VvbWV0cnk7Cj4gLQkJdW5zaWduZWQgbG9uZyBvcmRlcjsKPiAtCj4gIAkJ dGVncmEtPmRvbWFpbiA9IGlvbW11X2RvbWFpbl9hbGxvYygmcGxhdGZvcm1fYnVzX3R5cGUpOwo+ ICAJCWlmICghdGVncmEtPmRvbWFpbikgewo+ICAJCQllcnIgPSAtRU5PTUVNOwo+IEBAIC0xMDUs MjcgKzEwMSw2IEBAIHN0YXRpYyBpbnQgdGVncmFfZHJtX2xvYWQoc3RydWN0IGRybV9kZXZpY2Ug KmRybSwgdW5zaWduZWQgbG9uZyBmbGFncykKPiAgCQllcnIgPSBpb3ZhX2NhY2hlX2dldCgpOwo+ ICAJCWlmIChlcnIgPCAwKQo+ICAJCQlnb3RvIGRvbWFpbjsKPiAtCj4gLQkJZ2VvbWV0cnkgPSAm dGVncmEtPmRvbWFpbi0+Z2VvbWV0cnk7Cj4gLQkJZ2VtX3N0YXJ0ID0gZ2VvbWV0cnktPmFwZXJ0 dXJlX3N0YXJ0Owo+IC0JCWdlbV9lbmQgPSBnZW9tZXRyeS0+YXBlcnR1cmVfZW5kIC0gQ0FSVkVP VVRfU1o7Cj4gLQkJY2FydmVvdXRfc3RhcnQgPSBnZW1fZW5kICsgMTsKPiAtCQljYXJ2ZW91dF9l bmQgPSBnZW9tZXRyeS0+YXBlcnR1cmVfZW5kOwo+IC0KPiAtCQlvcmRlciA9IF9fZmZzKHRlZ3Jh LT5kb21haW4tPnBnc2l6ZV9iaXRtYXApOwo+IC0JCWluaXRfaW92YV9kb21haW4oJnRlZ3JhLT5j YXJ2ZW91dC5kb21haW4sIDFVTCA8PCBvcmRlciwKPiAtCQkJCSBjYXJ2ZW91dF9zdGFydCA+PiBv cmRlcik7Cj4gLQo+IC0JCXRlZ3JhLT5jYXJ2ZW91dC5zaGlmdCA9IGlvdmFfc2hpZnQoJnRlZ3Jh LT5jYXJ2ZW91dC5kb21haW4pOwo+IC0JCXRlZ3JhLT5jYXJ2ZW91dC5saW1pdCA9IGNhcnZlb3V0 X2VuZCA+PiB0ZWdyYS0+Y2FydmVvdXQuc2hpZnQ7Cj4gLQo+IC0JCWRybV9tbV9pbml0KCZ0ZWdy YS0+bW0sIGdlbV9zdGFydCwgZ2VtX2VuZCAtIGdlbV9zdGFydCArIDEpOwo+IC0JCW11dGV4X2lu aXQoJnRlZ3JhLT5tbV9sb2NrKTsKPiAtCj4gLQkJRFJNX0RFQlVHKCJJT01NVSBhcGVydHVyZXM6 XG4iKTsKPiAtCQlEUk1fREVCVUcoIiAgR0VNOiAlI2xseC0lI2xseFxuIiwgZ2VtX3N0YXJ0LCBn ZW1fZW5kKTsKPiAtCQlEUk1fREVCVUcoIiAgQ2FydmVvdXQ6ICUjbGx4LSUjbGx4XG4iLCBjYXJ2 ZW91dF9zdGFydCwKPiAtCQkJICBjYXJ2ZW91dF9lbmQpOwo+ICAJfQo+ICAKPiAgCW11dGV4X2lu aXQoJnRlZ3JhLT5jbGllbnRzX2xvY2spOwo+IEBAIC0xNTksNiArMTM0LDM1IEBAIHN0YXRpYyBp bnQgdGVncmFfZHJtX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgbG9uZyBm bGFncykKPiAgCWlmIChlcnIgPCAwKQo+ICAJCWdvdG8gZmJkZXY7Cj4gIAo+ICsJaWYgKHRlZ3Jh LT5kb21haW4pIHsKPiArCQl1NjQgY2FydmVvdXRfc3RhcnQsIGNhcnZlb3V0X2VuZCwgZ2VtX3N0 YXJ0LCBnZW1fZW5kOwo+ICsJCWRtYV9hZGRyX3Qgc3RhcnQsIGVuZDsKPiArCQl1bnNpZ25lZCBs b25nIG9yZGVyOwo+ICsKPiArCQlzdGFydCA9IHRlZ3JhLT5kb21haW4tPmdlb21ldHJ5LmFwZXJ0 dXJlX3N0YXJ0Owo+ICsJCWVuZCA9IHRlZ3JhLT5kb21haW4tPmdlb21ldHJ5LmFwZXJ0dXJlX2Vu ZDsKPiArCj4gKwkJZ2VtX3N0YXJ0ID0gc3RhcnQ7Cj4gKwkJZ2VtX2VuZCA9IGVuZCAtIENBUlZF T1VUX1NaOwo+ICsJCWNhcnZlb3V0X3N0YXJ0ID0gZ2VtX2VuZCArIDE7Cj4gKwkJY2FydmVvdXRf ZW5kID0gZW5kOwo+ICsKPiArCQlvcmRlciA9IF9fZmZzKHRlZ3JhLT5kb21haW4tPnBnc2l6ZV9i aXRtYXApOwo+ICsJCWluaXRfaW92YV9kb21haW4oJnRlZ3JhLT5jYXJ2ZW91dC5kb21haW4sIDFV TCA8PCBvcmRlciwKPiArCQkJCSBjYXJ2ZW91dF9zdGFydCA+PiBvcmRlcik7Cj4gKwo+ICsJCXRl Z3JhLT5jYXJ2ZW91dC5zaGlmdCA9IGlvdmFfc2hpZnQoJnRlZ3JhLT5jYXJ2ZW91dC5kb21haW4p Owo+ICsJCXRlZ3JhLT5jYXJ2ZW91dC5saW1pdCA9IGNhcnZlb3V0X2VuZCA+PiB0ZWdyYS0+Y2Fy dmVvdXQuc2hpZnQ7Cj4gKwo+ICsJCWRybV9tbV9pbml0KCZ0ZWdyYS0+bW0sIGdlbV9zdGFydCwg Z2VtX2VuZCAtIGdlbV9zdGFydCArIDEpOwo+ICsJCW11dGV4X2luaXQoJnRlZ3JhLT5tbV9sb2Nr KTsKPiArCj4gKwkJRFJNX0RFQlVHKCJJT01NVSBhcGVydHVyZXM6XG4iKTsKPiArCQlEUk1fREVC VUcoIiAgR0VNOiAlI2xseC0lI2xseFxuIiwgZ2VtX3N0YXJ0LCBnZW1fZW5kKTsKPiArCQlEUk1f REVCVUcoIiAgQ2FydmVvdXQ6ICUjbGx4LSUjbGx4XG4iLCBjYXJ2ZW91dF9zdGFydCwKPiArCQkJ ICBjYXJ2ZW91dF9lbmQpOwo+ICsJfQo+ICsKPiAgCWlmICh0ZWdyYS0+aHViKSB7Cj4gIAkJZXJy ID0gdGVncmFfZGlzcGxheV9odWJfcHJlcGFyZSh0ZWdyYS0+aHViKTsKPiAgCQlpZiAoZXJyIDwg MCkKPiAKCkxvb2tzIGdvb2QsCgpSZXZpZXdlZC1ieTogRG1pdHJ5IE9zaXBlbmtvIDxkaWdldHhA Z21haWwuY29tPgoKCkJUVywgdGhlICJjYXJ2ZW91dCIgZG9tYWluIGlzIG9ubHkgcmVsZXZhbnQg Zm9yIFQxMjQrLCB3aWxsIGJlIGJldHRlciB0byBhdm9pZCBpdHMgYWxsb2NhdGlvbiBvbiBvbGRl ciBUZWdyYSdzIGFuZCB0aGVuIHRvIGZhY3RvciBvdXQgSU9WQSBzZXR1cC1jb2RlIGludG8gYSBz dGFuZGFsb25lIGZ1bmN0aW9uLiBPZiBjb3Vyc2UgdGhhdCBjb3VsZCBiZSBkb25lIGxhdGVyIG9u IGluIGEgZGlmZmVyZW50IHNlcmllcyBpZiBkZXNpcmVkLi4ganVzdCBhIG1pbm9yIGNvbW1lbnQu Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=