From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Zabel Subject: Re: [PATCH v2 8/8] drm/etnaviv: implement per-process address spaces on MMUv2 Date: Tue, 30 Jul 2019 11:44:12 +0200 Message-ID: <1564479852.3014.3.camel@pengutronix.de> References: <20190705171727.27501-1-l.stach@pengutronix.de> <20190705171727.27501-8-l.stach@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id A32006E47F for ; Tue, 30 Jul 2019 09:44:14 +0000 (UTC) In-Reply-To: <20190705171727.27501-8-l.stach@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Lucas Stach , etnaviv@lists.freedesktop.org Cc: Russell King , dri-devel@lists.freedesktop.org, kernel@pengutronix.de, patchwork-lst@pengutronix.de List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCAyMDE5LTA3LTA1IGF0IDE5OjE3ICswMjAwLCBMdWNhcyBTdGFjaCB3cm90ZToKPiBU aGlzIGJ1aWxkcyBvbiB0b3Agb2YgdGhlIE1NVSBjb250ZXh0cyBpbnRyb2R1Y2VkIGVhcmxpZXIu IEluc3RlYWQgb2YgaGF2aW5nCj4gb25lIGNvbnRleHQgcGVyIEdQVSBjb3JlLCBlYWNoIEdQVSBj bGllbnQgcmVjZWl2ZXMgaXRzIG93biBjb250ZXh0Lgo+IAo+IE9uIE1NVXYxIHRoaXMgc3RpbGwg bWVhbnMgYSBzaW5nbGUgc2hhcmVkIHBhZ2V0YWJsZSBzZXQgaXMgdXNlZCBieSBhbGwKPiBjbGll bnRzLCBidXQgb24gTU1VdjIgdGhlcmUgaXMgbm93IGEgZGlzdGluY3Qgc2V0IG9mIHBhZ2V0YWJs ZXMgZm9yIGVhY2gKPiBjbGllbnQuIEFzIHRoZSBjb21tYW5kIGZldGNoIGlzIGFsc28gdHJhbnNs YXRlZCB2aWEgdGhlIE1NVSBvbiBNTVV2MiB0aGUKPiBrZXJuZWwgY29tbWFuZCByaW5nYnVmZmVy IGlzIG1hcHBlZCBpbnRvIGVhY2ggb2YgdGhlIGNsaWVudCBwYWdldGFibGVzLgo+IAo+IEFzIHRo ZSBNTVUgY29udGV4dCBzd2l0Y2ggaXMgYSBiaXQgb2YgYSBoZWF2eSBvcGVyYXRpb24sIGR1ZSB0 byB0aGUgbmVlZGVkCj4gY2FjaGUgYW5kIFRMQiBmbHVzaGluZywgdGhpcyBwYXRjaCBpbXBsZW1l bnRzIGEgbGF6eSB3YXkgb2Ygc3dpdGNoaW5nIHRoZQo+IE1NVSBjb250ZXh0LiBUaGUga2VybmVs IGRvZXMgbm90IGhhdmUgaXRzIG93biBNTVUgY29udGV4dCwgYnV0IHJldXNlcyB0aGUKPiBsYXN0 IGNsaWVudCBjb250ZXh0IGZvciBhbGwgb2YgaXRzIG9wZXJhdGlvbnMuIFRoaXMgaGFzIHNvbWUg dmlzaWJsZSBpbXBhY3QsCj4gYXMgdGhlIEdQVSBjYW4gbm93IG9ubHkgYmUgc3RhcnRlZCBvbmNl IGEgY2xpZW50IGhhcyBzdWJtaXR0ZWQgc29tZSB3b3JrIGFuZAo+IHdlIGdvdCB0aGUgY2xpZW50 IE1NVSBjb250ZXh0IGFzc2lnbmVkLiBBbHNvIHRoZSBNTVUgY29udGV4dCBoYXMgYSBkaWZmZXJl bnQKPiBsaWZldGltZSB0aGFuIHRoZSBnZW5lcmFsIGNsaWVudCBjb250ZXh0LCBhcyB0aGUgR1BV IG1pZ2h0IHN0aWxsIGV4ZWN1dGUgdGhlCj4ga2VybmVsIGNvbW1hbmQgYnVmZmVyIGluIHRoZSBj b250ZXh0IG9mIGEgY2xpZW50IGV2ZW4gYWZ0ZXIgdGhlIGNsaWVudCBoYXMKPiBjb21wbGV0ZWQg YWxsIEdQVSB3b3JrIGFuZCBoYXMgYmVlbiB0ZXJtaW5hdGVkLiBPbmx5IHdoZW4gdGhlIEdQVSBp cyBydW50aW1lCj4gc3VzcGVuZGVkIG9yIHN3aXRjaGVzIHRvIGFub3RoZXIgY2xpZW50cyBNTVUg Y29udGV4dCBpcyB0aGUgb2xkIGNvbnRleHQKPiBmcmVlZCB1cC4KPiAKPiBTaWduZWQtb2ZmLWJ5 OiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4KClJldmlld2VkLWJ5OiBQaGls aXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKSSBqdXN0IGhhdmUgdHdvIG5pdHBp Y2tzIGJlbG93OgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9idWZm ZXIuYyAgICAgfCAgNTkgKysrKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRu YXZpdl9kcnYuYyAgICAgICAgfCAgMzggKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2Rydi5oICAgICAgICB8ICAgNiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2R1bXAuYyAgICAgICB8ICAgNCArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2dlbS5jICAgICAgICB8ICAgNSArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2dlbS5oICAgICAgICB8ICAgNCArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2dlbV9zdWJtaXQuYyB8ICAxMCArLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2dwdS5jICAgICAgICB8IDEwMCArKysrKysrKy0tLS0tLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmggICAgICAgIHwgICA0IC0KPiAgZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9pb21tdS5jICAgICAgfCAgMTAgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9pb21tdV92Mi5jICAgfCAgMTcgKysrLQo+ICBkcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X21tdS5jICAgICAgICB8ICA0MiArKysrKystLQo+ ICBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X21tdS5oICAgICAgICB8ICAxMSArLQo+ ICAxMyBmaWxlcyBjaGFuZ2VkLCAxOTkgaW5zZXJ0aW9ucygrKSwgMTExIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2J1ZmZlci5j IGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9idWZmZXIuYwo+IGluZGV4IDAyMjEz NDIzODE4NC4uOWJkZWJlMDQ1YTMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5h dml2L2V0bmF2aXZfYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5h dml2X2J1ZmZlci5jClsuLi5dCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2 L2V0bmF2aXZfbW11LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X21tdS5jCj4g aW5kZXggY2Y0OWYwZTJlMWNiLi45OWMyMDA5NDI5NWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9tbXUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5h dml2L2V0bmF2aXZfbW11LmMKPiBAQCAtMjkwLDYgKzI5MCw4IEBAIHN0YXRpYyB2b2lkIGV0bmF2 aXZfaW9tbXVfY29udGV4dF9mcmVlKHN0cnVjdCBrcmVmICprcmVmKQo+ICAJc3RydWN0IGV0bmF2 aXZfaW9tbXVfY29udGV4dCAqY29udGV4dCA9Cj4gIAkJY29udGFpbmVyX29mKGtyZWYsIHN0cnVj dCBldG5hdml2X2lvbW11X2NvbnRleHQsIHJlZmNvdW50KTsKPiAgCj4gKwlldG5hdml2X2NtZGJ1 Zl9zdWJhbGxvY191bm1hcChjb250ZXh0LCAmY29udGV4dC0+Y21kYnVmX21hcHBpbmcpOwo+ICsK PiAgCWNvbnRleHQtPmdsb2JhbC0+b3BzLT5mcmVlKGNvbnRleHQpOwo+ICB9Cj4gIHZvaWQgZXRu YXZpdl9pb21tdV9jb250ZXh0X3B1dChzdHJ1Y3QgZXRuYXZpdl9pb21tdV9jb250ZXh0ICpjb250 ZXh0KQo+IEBAIC0yOTgsMTIgKzMwMCwyOCBAQCB2b2lkIGV0bmF2aXZfaW9tbXVfY29udGV4dF9w dXQoc3RydWN0IGV0bmF2aXZfaW9tbXVfY29udGV4dCAqY29udGV4dCkKPiAgfQo+ICAKPiAgc3Ry dWN0IGV0bmF2aXZfaW9tbXVfY29udGV4dCAqCj4gLWV0bmF2aXZfaW9tbXVfY29udGV4dF9pbml0 KHN0cnVjdCBldG5hdml2X2lvbW11X2dsb2JhbCAqZ2xvYmFsKQo+ICtldG5hdml2X2lvbW11X2Nv bnRleHRfaW5pdChzdHJ1Y3QgZXRuYXZpdl9pb21tdV9nbG9iYWwgKmdsb2JhbCwKPiArCQkJICAg c3RydWN0IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jICpzdWJhbGxvYykKPiAgewo+ICsJc3RydWN0 IGV0bmF2aXZfaW9tbXVfY29udGV4dCAqY3R4Owo+ICsJaW50IHJldDsKPiArCj4gIAlpZiAoZ2xv YmFsLT52ZXJzaW9uID09IEVUTkFWSVZfSU9NTVVfVjEpCj4gLQkJcmV0dXJuIGV0bmF2aXZfaW9t bXV2MV9jb250ZXh0X2FsbG9jKGdsb2JhbCk7Cj4gKwkJY3R4ID0gZXRuYXZpdl9pb21tdXYxX2Nv bnRleHRfYWxsb2MoZ2xvYmFsKTsKPiAgCWVsc2UKPiAtCQlyZXR1cm4gZXRuYXZpdl9pb21tdXYy X2NvbnRleHRfYWxsb2MoZ2xvYmFsKTsKPiArCQljdHggPSBldG5hdml2X2lvbW11djJfY29udGV4 dF9hbGxvYyhnbG9iYWwpOwo+ICsKPiArCWlmICghY3R4KQo+ICsJCXJldHVybiBOVUxMOwo+ICsK PiArCXJldCA9IGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jX21hcChzdWJhbGxvYywgY3R4LCAmY3R4 LT5jbWRidWZfbWFwcGluZywKPiArCQkJCQkgIGdsb2JhbC0+bWVtb3J5X2Jhc2UpOwo+ICsJaWYg KHJldCkgewo+ICsJCWV0bmF2aXZfaW9tbXVfY29udGV4dF9wdXQoY3R4KTsKClRoaXMgd2lsbCBj YWxsIGV0bmF2aXZfY21kYnVmX3N1YmFsbG9jX3VubWFwCmluwqBldG5hdml2X2lvbW11X2NvbnRl eHRfZnJlZSBhYm92ZSwgZXZlbiB0aG91Z2gKZXRuYXZpdl9jbWRidWZfc3ViYWxsb2NfbWFwIGRp ZG4ndCBzdWNjZWVkLiBTZWUgYmVsb3cuCgo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsKPiAr CXJldHVybiBjdHg7Cj4gIH0KPiAgCj4gIHZvaWQgZXRuYXZpdl9pb21tdV9yZXN0b3JlKHN0cnVj dCBldG5hdml2X2dwdSAqZ3B1LAo+IEBAIC0zMTksNiArMzM3LDEyIEBAIGludCBldG5hdml2X2lv bW11X2dldF9zdWJhbGxvY192YShzdHJ1Y3QgZXRuYXZpdl9pb21tdV9jb250ZXh0ICpjb250ZXh0 LAo+ICB7Cj4gIAltdXRleF9sb2NrKCZjb250ZXh0LT5sb2NrKTsKPiAgCj4gKwlpZiAobWFwcGlu Zy0+dXNlID4gMCkgewo+ICsJCW1hcHBpbmctPnVzZSsrOwo+ICsJCW11dGV4X3VubG9jaygmY29u dGV4dC0+bG9jayk7Cj4gKwkJcmV0dXJuIDA7Cj4gKwl9Cj4gKwo+ICAJLyoKPiAgCSAqIEZvciBN TVV2MSB3ZSBkb24ndCBhZGQgdGhlIHN1YmFsbG9jIHJlZ2lvbiB0byB0aGUgcGFnZXRhYmxlcywg YXMKPiAgCSAqIHRob3NlIEdQVXMgY2FuIG9ubHkgd29yayB3aXRoIGNtZGJ1ZnMgYWNjZXNzZWQg dGhyb3VnaCB0aGUgbGluZWFyCj4gQEAgLTM0MSw3ICszNjUsNiBAQCBpbnQgZXRuYXZpdl9pb21t dV9nZXRfc3ViYWxsb2NfdmEoc3RydWN0IGV0bmF2aXZfaW9tbXVfY29udGV4dCAqY29udGV4dCwK PiAgCQltYXBwaW5nLT5pb3ZhID0gbm9kZS0+c3RhcnQ7Cj4gIAkJcmV0ID0gZXRuYXZpdl9jb250 ZXh0X21hcChjb250ZXh0LCBub2RlLT5zdGFydCwgcGFkZHIsIHNpemUsCj4gIAkJCQkJICBFVE5B VklWX1BST1RfUkVBRCk7Cj4gLQoKTWF5YmUgc3F1YXNoIHRoaXMgaW50byAiZHJtL2V0bmF2aXY6 IHNwbGl0IG91dCBjbWRidWYgbWFwcGluZyBpbnRvCmFkZHJlc3Mgc3BhY2UiIGluc3RlYWQuCgo+ ICAJCWlmIChyZXQgPCAwKSB7Cj4gIAkJCWRybV9tbV9yZW1vdmVfbm9kZShub2RlKTsKPiAgCQkJ bXV0ZXhfdW5sb2NrKCZjb250ZXh0LT5sb2NrKTsKPiBAQCAtMzY0LDE1ICszODcsMTQgQEAgdm9p ZCBldG5hdml2X2lvbW11X3B1dF9zdWJhbGxvY192YShzdHJ1Y3QgZXRuYXZpdl9pb21tdV9jb250 ZXh0ICpjb250ZXh0LAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX21tX25vZGUgKm5vZGUgPSAmbWFwcGlu Zy0+dnJhbV9ub2RlOwo+ICAKPiAtCWlmICghbWFwcGluZy0+dXNlKQo+IC0JCXJldHVybjsKPiAt Cj4gLQltYXBwaW5nLT51c2UgPSAwOwo+ICsJbXV0ZXhfbG9jaygmY29udGV4dC0+bG9jayk7Cj4g KwltYXBwaW5nLT51c2UtLTsKClNlZSBhYm92ZSwgd2hlbiBjYWxsZWQgZnJvbSB0aGUgZXRuYXZp dl9pb21tdV9jb250ZXh0X2luaXQgZXJyb3IgcGF0aCwKbWFwcGluZy0+dXNlIHdyYXBzIGZyb20g MCB0byBVSU5UX01BWCAuLi4KCj4gLQlpZiAoY29udGV4dC0+Z2xvYmFsLT52ZXJzaW9uID09IEVU TkFWSVZfSU9NTVVfVjEpCj4gKwlpZiAobWFwcGluZy0+dXNlID4gMCB8fCBjb250ZXh0LT5nbG9i YWwtPnZlcnNpb24gPT0gRVROQVZJVl9JT01NVV9WMSkgewo+ICsJCW11dGV4X3VubG9jaygmY29u dGV4dC0+bG9jayk7CgouLi4gd2hpY2ggaXMgPiAwLCBzbyB3ZSByZXR1cm4gaGVyZS4KClRoaXMg d29ya3Mgb3V0LCBidXQgaXQgZG9lcyBsb29rIGEgYml0IHdlaXJkLgoKcmVnYXJkcwpQaGlsaXBw Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==