From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH 06/21] drm/etnaviv: copy pmrs from userspace Date: Mon, 26 Jun 2017 15:18:33 +0200 Message-ID: <1498483113.2431.10.camel@pengutronix.de> References: <20170609102123.2417-1-christian.gmeiner@gmail.com> <20170609102123.2417-7-christian.gmeiner@gmail.com> 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 5CF936E045 for ; Mon, 26 Jun 2017 13:18:35 +0000 (UTC) In-Reply-To: <20170609102123.2417-7-christian.gmeiner@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian Gmeiner , dri-devel@lists.freedesktop.org Cc: etnaviv@lists.freedesktop.org, cphealy@gmail.com, linux+etnaviv@armlinux.org.uk List-Id: dri-devel@lists.freedesktop.org QW0gRnJlaXRhZywgZGVuIDA5LjA2LjIwMTcsIDEyOjIxICswMjAwIHNjaHJpZWIgQ2hyaXN0aWFu IEdtZWluZXI6Cj4gQWxsIHBlcmZvcm1hbmNlIG1vbml0b3IgcmVxdWVzdHMgd2lsbCBiZSB2YWxp ZGF0ZWQgZHVyaW5nIHRoaXMgcGhhc2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEdt ZWluZXIgPGNocmlzdGlhbi5nbWVpbmVyQGdtYWlsLmNvbT4KPiAtLS0KPiDCoGRyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgNjgKPiArKysrKysrKysrKysrKysr KysrKysrKysrKystCj4gwqAxIGZpbGUgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZp dl9nZW1fc3VibWl0LmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1 Ym1pdC5jCj4gaW5kZXggZmRmZTMxZC4uZWQwNWI2NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gQEAgLTIxLDYgKzIxLDcgQEAKPiDCoCNp bmNsdWRlICJldG5hdml2X2Rydi5oIgo+IMKgI2luY2x1ZGUgImV0bmF2aXZfZ3B1LmgiCj4gwqAj aW5jbHVkZSAiZXRuYXZpdl9nZW0uaCIKPiArI2luY2x1ZGUgImV0bmF2aXZfcGVyZm1vbi5oIgo+ IMKgCj4gwqAvKgo+IMKgICogQ21kc3RyZWFtIHN1Ym1pc3Npb246Cj4gQEAgLTI4Myw2ICsyODQs NTMgQEAgc3RhdGljIGludCBzdWJtaXRfcmVsb2Moc3RydWN0Cj4gZXRuYXZpdl9nZW1fc3VibWl0 ICpzdWJtaXQsIHZvaWQgKnN0cmVhbSwKPiDCoAlyZXR1cm4gMDsKPiDCoH0KPiDCoAo+ICtzdGF0 aWMgaW50IHN1Ym1pdF9wZXJmbW9uX3JlcXVlc3Qoc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAq c3VibWl0LAoKUGxlYXNlIG5hbWUgdGhpcyBhZnRlciB3aGF0IGlzIGRvZXM6IHN1Ym1pdF9wZXJm bW9uX3ZhbGlkYXRlKCkKCj4gKwkJc3RydWN0IGV0bmF2aXZfY21kYnVmICpjbWRidWYsCj4gKwkJ Y29uc3Qgc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXRfcG1yICpwbXJzLAo+ICsJCXUzMiBu cl9wbXMpCj4gK3sKPiArCXUzMiBpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBucl9wbXM7IGkr Kykgewo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X3BtciAqciA9IHBt cnMgKwo+IGk7Cj4gKwkJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdF9ibyAqYm87Cj4gKwkJaW50 IHJldDsKPiArCj4gKwkJcmV0ID0gc3VibWl0X2JvKHN1Ym1pdCwgci0+cmVhZF9pZHgsICZibyk7 Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJldDsKPiArCj4gKwkJaWYgKHItPnJlYWRfb2Zm c2V0ID09IDApIHsKPiArCQkJRFJNX0VSUk9SKCJwZXJmbW9uIHJlcXVlc3Q6IG9mZnNldCBpcyAw Iik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KCldoeSBpcyBhIDAgb2Zmc2V0IGludmFs aWQ/IENhbid0IHRoZSByZWFkYmFjayBiZSBwbGFjZWQgYXQgdGhlCmJlZ2lubmluZyBvZiB0aGUg Qk8/Cgo+ICsKPiArCQlpZiAoci0+cmVhZF9vZmZzZXQgPj0gYm8tPm9iai0+YmFzZS5zaXplIC0K PiBzaXplb2YodTMyKSkgewo+ICsJCQlEUk1fRVJST1IoInBlcmZtb24gcmVxdWVzdDogb2Zmc2V0 ICV1Cj4gb3V0c2lkZSBvYmplY3QiLCBpKTsKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwkJfQo+ ICsKPiArCQlpZiAoIXItPmZsYWdzKSB7Cj4gKwkJCURSTV9FUlJPUigicGVyZm1vbiByZXF1ZXN0 OiBmbGFncyBhcmUgMCIpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9ClRoaXMgbmVlZHMg dG8gdmFsaWRhdGUgdGhhdCB0aGUgZmxhZ3MgYXJlIHZhbGlkLCBub3QganVzdCB0aGF0IHRoZXJl CmFyZSBmbGFncyAtPiByZWplY3QgYW55IG5vbi1hbGxvY2F0ZWQgZmxhZyBiaXRzLgoKPiArCj4g KwkJaWYgKGV0bmF2aXZfcG1fcmVxX3ZhbGlkYXRlKHIpKSB7Cj4gKwkJCURSTV9FUlJPUigicGVy Zm1vbiByZXF1ZXN0OiBkb21haW4gb3Igc2lnbmFsCj4gbm90IHZhbGlkIik7Cj4gKwkJCXJldHVy biAtRUlOVkFMOwo+ICsJCX0KPiArCj4gKwkJY21kYnVmLT5wbXJzW2ldLmZsYWdzID0gci0+Zmxh Z3M7Cj4gKwkJY21kYnVmLT5wbXJzW2ldLmRvbWFpbiA9IHItPmRvbWFpbjsKPiArCQljbWRidWYt PnBtcnNbaV0uc2lnbmFsID0gci0+c2lnbmFsOwo+ICsJCWNtZGJ1Zi0+cG1yc1tpXS5zZXF1ZW5j ZSA9IHItPnNlcXVlbmNlOwo+ICsJCWNtZGJ1Zi0+cG1yc1tpXS5vZmZzZXQgPSByLT5yZWFkX29m ZnNldDsKPiArCQljbWRidWYtPnBtcnNbaV0uYm9fdm1hID0gZXRuYXZpdl9nZW1fdm1hcCgmYm8t Pm9iai0KPiA+YmFzZSk7Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gwqBzdGF0 aWMgdm9pZCBzdWJtaXRfY2xlYW51cChzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQp Cj4gwqB7Cj4gwqAJdW5zaWduZWQgaTsKPiBAQCAtMzA2LDYgKzM1NCw3IEBAIGludCBldG5hdml2 X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UKPiAqZGV2LCB2b2lkICpkYXRhLAo+ IMKgCXN0cnVjdCBldG5hdml2X2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiDCoAlzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdCAqYXJncyA9IGRhdGE7Cj4gwqAJc3Ry dWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXRfcmVsb2MgKnJlbG9jczsKPiArCXN0cnVjdCBkcm1f ZXRuYXZpdl9nZW1fc3VibWl0X3BtciAqcG1yczsKPiDCoAlzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2Vt X3N1Ym1pdF9ibyAqYm9zOwo+IMKgCXN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdDsK PiDCoAlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNtZGJ1ZjsKPiBAQCAtMzQ3LDExICszOTYsMTIg QEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYs IHZvaWQgKmRhdGEsCj4gwqAJwqAqLwo+IMKgCWJvcyA9IGRybV9tYWxsb2NfYWIoYXJncy0+bnJf Ym9zLCBzaXplb2YoKmJvcykpOwo+IMKgCXJlbG9jcyA9IGRybV9tYWxsb2NfYWIoYXJncy0+bnJf cmVsb2NzLCBzaXplb2YoKnJlbG9jcykpOwo+ICsJcG1ycyA9IGRybV9tYWxsb2NfYWIoYXJncy0+ bnJfcG1ycywgc2l6ZW9mKCpwbXJzKSk7Cj4gwqAJc3RyZWFtID0gZHJtX21hbGxvY19hYigxLCBh cmdzLT5zdHJlYW1fc2l6ZSk7Cj4gwqAJY21kYnVmID0gZXRuYXZpdl9jbWRidWZfbmV3KGdwdS0+ Y21kYnVmX3N1YmFsbG9jLAo+IMKgCQkJCcKgwqDCoMKgQUxJR04oYXJncy0+c3RyZWFtX3NpemUs IDgpICsgOCwKPiAtCQkJCcKgwqDCoMKgYXJncy0+bnJfYm9zLCAwKTsKPiAtCWlmICghYm9zIHx8 ICFyZWxvY3MgfHwgIXN0cmVhbSB8fCAhY21kYnVmKSB7Cj4gKwkJCQnCoMKgwqDCoGFyZ3MtPm5y X2JvcywgYXJncy0+bnJfcG1ycyk7Cj4gKwlpZiAoIWJvcyB8fCAhcmVsb2NzIHx8ICFwbXJzIHx8 ICFzdHJlYW0gfHwgIWNtZGJ1Zikgewo+IMKgCQlyZXQgPSAtRU5PTUVNOwo+IMKgCQlnb3RvIGVy cl9zdWJtaXRfY21kczsKPiDCoAl9Cj4gQEAgLTM3Myw2ICs0MjMsMTMgQEAgaW50IGV0bmF2aXZf aW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZQo+ICpkZXYsIHZvaWQgKmRhdGEsCj4g wqAJCWdvdG8gZXJyX3N1Ym1pdF9jbWRzOwo+IMKgCX0KPiDCoAo+ICsJcmV0ID0gY29weV9mcm9t X3VzZXIocG1ycywgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnBtcnMpLAo+ICsJCQnCoMKgwqDCoMKg YXJncy0+bnJfcG1ycyAqIHNpemVvZigqcG1ycykpOwo+ICsJaWYgKHJldCkgewo+ICsJCXJldCA9 IC1FRkFVTFQ7Cj4gKwkJZ290byBlcnJfc3VibWl0X2NtZHM7Cj4gKwl9Cj4gKwo+IMKgCXJldCA9 IGNvcHlfZnJvbV91c2VyKHN0cmVhbSwgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnN0cmVhbSksCj4g wqAJCQnCoMKgwqDCoMKgYXJncy0+c3RyZWFtX3NpemUpOwo+IMKgCWlmIChyZXQpIHsKPiBAQCAt NDQxLDggKzQ5OCwxMyBAQCBpbnQgZXRuYXZpdl9pb2N0bF9nZW1fc3VibWl0KHN0cnVjdCBkcm1f ZGV2aWNlCj4gKmRldiwgdm9pZCAqZGF0YSwKPiDCoAlpZiAocmV0KQo+IMKgCQlnb3RvIG91dDsK PiDCoAo+ICsJcmV0ID0gc3VibWl0X3BlcmZtb25fcmVxdWVzdChzdWJtaXQsIGNtZGJ1ZiwgcG1y cywgYXJncy0KPiA+bnJfcG1ycyk7Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8gb3V0Owo+ICsKPiDC oAltZW1jcHkoY21kYnVmLT52YWRkciwgc3RyZWFtLCBhcmdzLT5zdHJlYW1fc2l6ZSk7Cj4gwqAJ Y21kYnVmLT51c2VyX3NpemUgPSBBTElHTihhcmdzLT5zdHJlYW1fc2l6ZSwgOCk7Cj4gKwljbWRi dWYtPm5yX3BtcnMgPSBhcmdzLT5ucl9wbXJzOwoKUGxlYXNlIG1vdmUgdGhpcyBiZWxvdyB0aGUg Y29weV9mcm9tX3VzZXIgb2YgdGhlIHBtcnMuCgo+IMKgCj4gwqAJcmV0ID0gZXRuYXZpdl9ncHVf c3VibWl0KGdwdSwgc3VibWl0LCBjbWRidWYpOwo+IMKgCWlmIChyZXQgPT0gMCkKPiBAQCAtNDk0 LDYgKzU1Niw4IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZp Y2UKPiAqZGV2LCB2b2lkICpkYXRhLAo+IMKgCQlkcm1fZnJlZV9sYXJnZShib3MpOwo+IMKgCWlm IChyZWxvY3MpCj4gwqAJCWRybV9mcmVlX2xhcmdlKHJlbG9jcyk7Cj4gKwlpZiAocG1ycykKPiAr CQlkcm1fZnJlZV9sYXJnZShwbXJzKTsKPiDCoAo+IMKgCXJldHVybiByZXQ7Cj4gwqB9Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=