From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH V2 08/23] drm/etnaviv: copy pmrs from userspace Date: Tue, 08 Aug 2017 12:13:26 +0200 Message-ID: <1502187206.2934.60.camel@pengutronix.de> References: <20170722095323.9964-1-christian.gmeiner@gmail.com> <20170722095323.9964-9-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 A340C6E0CA for ; Tue, 8 Aug 2017 10:13:28 +0000 (UTC) In-Reply-To: <20170722095323.9964-9-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 Cc: cphealy@gmail.com, etnaviv@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux+etnaviv@armlinux.org.uk List-Id: dri-devel@lists.freedesktop.org QW0gU2Ftc3RhZywgZGVuIDIyLjA3LjIwMTcsIDExOjUzICswMjAwIHNjaHJpZWIgQ2hyaXN0aWFu IEdtZWluZXI6Cj4gQ2hhbmdlcyBmcm9tIHYxIC0+IHYyOgo+IC0gcmVuYW1lZCBzdWJtaXRfcGVy Zm1vbl9yZXF1ZXN0KCkgdG8gc3VibWl0X3BlcmZtb25fdmFsaWRhdGUoKQo+IC0gZXh0ZW5kZWQg ZmxhZ3MgdmFsaWRhdGlvbgo+IC0gYWRkZWQgY29tbWVudCBhYm91dCBvZmZzZXQgMAo+IC0gbW92 ZWQgYXNzaWdtZW50IG9mIGNtZGJ1Zi0+bnJfcG1ycyBiZWxvdyB0aGUgY29weV9mcm9tX3VzZXIg b2YgdGhlIHBtcnMuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEdtZWluZXIgPGNocmlz dGlhbi5nbWVpbmVyQGdtYWlsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYv ZXRuYXZpdl9nZW1fc3VibWl0LmMgfCA2OSArKysrKysrKysrKysrKysrKysrKysrKysrKystCj4g IDEgZmlsZSBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYyBi L2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jCj4gaW5kZXggOWM1 N2IxNGRmY2JmLi45MWUzNTExNGQyNWMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2dlbV9zdWJtaXQuYwo+IEBAIC0yMSw2ICsyMSw3IEBACj4gICNpbmNsdWRlICJl dG5hdml2X2Rydi5oIgo+ICAjaW5jbHVkZSAiZXRuYXZpdl9ncHUuaCIKPiAgI2luY2x1ZGUgImV0 bmF2aXZfZ2VtLmgiCj4gKyNpbmNsdWRlICJldG5hdml2X3BlcmZtb24uaCIKPiAgCj4gIC8qCj4g ICAqIENtZHN0cmVhbSBzdWJtaXNzaW9uOgo+IEBAIC0yODMsNiArMjg0LDU0IEBAIHN0YXRpYyBp bnQgc3VibWl0X3JlbG9jKHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwgdm9pZCAq c3RyZWFtLAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQgc3VibWl0X3BlcmZt b25fdmFsaWRhdGUoc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0LAo+ICsJCXN0cnVj dCBldG5hdml2X2NtZGJ1ZiAqY21kYnVmLAo+ICsJCWNvbnN0IHN0cnVjdCBkcm1fZXRuYXZpdl9n ZW1fc3VibWl0X3BtciAqcG1ycywKPiArCQl1MzIgbnJfcG1zKQo+ICt7Cj4gKwl1MzIgaTsKPiAr Cj4gKwlmb3IgKGkgPSAwOyBpIDwgbnJfcG1zOyBpKyspIHsKPiArCQljb25zdCBzdHJ1Y3QgZHJt X2V0bmF2aXZfZ2VtX3N1Ym1pdF9wbXIgKnIgPSBwbXJzICsgaTsKPiArCQlzdHJ1Y3QgZXRuYXZp dl9nZW1fc3VibWl0X2JvICpibzsKPiArCQlpbnQgcmV0Owo+ICsKPiArCQlyZXQgPSBzdWJtaXRf Ym8oc3VibWl0LCByLT5yZWFkX2lkeCwgJmJvKTsKPiArCQlpZiAocmV0KQo+ICsJCQlyZXR1cm4g cmV0Owo+ICsKPiArCQkvKiBhdCBvZmZzZXQgMCBhIHNlcXVlbmNlIG51bWJlciBnZXRzIHN0b3Jl ZCB1c2VkIGZvciB1c2Vyc3BhY2Ugc3luYyAqLwo+ICsJCWlmIChyLT5yZWFkX29mZnNldCA9PSAw KSB7Cj4gKwkJCURSTV9FUlJPUigicGVyZm1vbiByZXF1ZXN0OiBvZmZzZXQgaXMgMCIpOwo+ICsJ CQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9Cj4gKwo+ICsJCWlmIChyLT5yZWFkX29mZnNldCA+PSBi by0+b2JqLT5iYXNlLnNpemUgLSBzaXplb2YodTMyKSkgewo+ICsJCQlEUk1fRVJST1IoInBlcmZt b24gcmVxdWVzdDogb2Zmc2V0ICV1IG91dHNpZGUgb2JqZWN0IiwgaSk7Cj4gKwkJCXJldHVybiAt RUlOVkFMOwo+ICsJCX0KPiArCj4gKwkJaWYgKCEoci0+ZmxhZ3MgJiAoRVROQV9QTV9QUk9DRVNT X1BSRSB8IEVUTkFfUE1fUFJPQ0VTU19QT1NUKSkpIHsKClRoaXMgaXNuJ3QgYSBwcm9wZXIgdmFs aWRhdGlvbiwgYXMgaXQgYWxsb3dzIG90aGVyIGJpdHMgdG8gYmUgc2V0LiBUaGlzCnNob3VsZCBi ZToKCmlmIChyLT5mbGFncyAmIH4oRVROQV9QTV9QUk9DRVNTX1BSRSB8IEVUTkFfUE1fUFJPQ0VT U19QT1NUKSkKCj4gKwkJCURSTV9FUlJPUigicGVyZm1vbiByZXF1ZXN0OiBmbGFncyBhcmUgbm90 IHZhbGlkIik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCj4gKwkJaWYgKGV0bmF2 aXZfcG1fcmVxX3ZhbGlkYXRlKHIpKSB7Cj4gKwkJCURSTV9FUlJPUigicGVyZm1vbiByZXF1ZXN0 OiBkb21haW4gb3Igc2lnbmFsIG5vdCB2YWxpZCIpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiAr CQl9Cj4gKwo+ICsJCWNtZGJ1Zi0+cG1yc1tpXS5mbGFncyA9IHItPmZsYWdzOwo+ICsJCWNtZGJ1 Zi0+cG1yc1tpXS5kb21haW4gPSByLT5kb21haW47Cj4gKwkJY21kYnVmLT5wbXJzW2ldLnNpZ25h bCA9IHItPnNpZ25hbDsKPiArCQljbWRidWYtPnBtcnNbaV0uc2VxdWVuY2UgPSByLT5zZXF1ZW5j ZTsKPiArCQljbWRidWYtPnBtcnNbaV0ub2Zmc2V0ID0gci0+cmVhZF9vZmZzZXQ7Cj4gKwkJY21k YnVmLT5wbXJzW2ldLmJvX3ZtYSA9IGV0bmF2aXZfZ2VtX3ZtYXAoJmJvLT5vYmotPmJhc2UpOwo+ ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBzdWJtaXRfY2xl YW51cChzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJtaXQpCj4gIHsKPiAgCXVuc2lnbmVk IGk7Cj4gQEAgLTMwNiw2ICszNTUsNyBAQCBpbnQgZXRuYXZpdl9pb2N0bF9nZW1fc3VibWl0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAlzdHJ1Y3QgZXRuYXZpdl9kcm1f cHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgZHJtX2V0bmF2aXZf Z2VtX3N1Ym1pdCAqYXJncyA9IGRhdGE7Cj4gIAlzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1p dF9yZWxvYyAqcmVsb2NzOwo+ICsJc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXRfcG1yICpw bXJzOwo+ICAJc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXRfYm8gKmJvczsKPiAgCXN0cnVj dCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdDsKPiAgCXN0cnVjdCBldG5hdml2X2NtZGJ1ZiAq Y21kYnVmOwo+IEBAIC0zNDcsMTEgKzM5NywxMiBAQCBpbnQgZXRuYXZpdl9pb2N0bF9nZW1fc3Vi bWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkgKi8KPiAgCWJvcyA9 IGt2bWFsbG9jX2FycmF5KGFyZ3MtPm5yX2Jvcywgc2l6ZW9mKCpib3MpLCBHRlBfS0VSTkVMKTsK PiAgCXJlbG9jcyA9IGt2bWFsbG9jX2FycmF5KGFyZ3MtPm5yX3JlbG9jcywgc2l6ZW9mKCpyZWxv Y3MpLCBHRlBfS0VSTkVMKTsKPiArCXBtcnMgPSBrdm1hbGxvY19hcnJheShhcmdzLT5ucl9wbXJz LCBzaXplb2YoKnBtcnMpLCBHRlBfS0VSTkVMKTsKPiAgCXN0cmVhbSA9IGt2bWFsbG9jX2FycmF5 KDEsIGFyZ3MtPnN0cmVhbV9zaXplLCBHRlBfS0VSTkVMKTsKPiAgCWNtZGJ1ZiA9IGV0bmF2aXZf Y21kYnVmX25ldyhncHUtPmNtZGJ1Zl9zdWJhbGxvYywKPiAgCQkJCSAgICBBTElHTihhcmdzLT5z dHJlYW1fc2l6ZSwgOCkgKyA4LAo+IC0JCQkJICAgIGFyZ3MtPm5yX2JvcywgMCk7Cj4gLQlpZiAo IWJvcyB8fCAhcmVsb2NzIHx8ICFzdHJlYW0gfHwgIWNtZGJ1Zikgewo+ICsJCQkJICAgIGFyZ3Mt Pm5yX2JvcywgYXJncy0+bnJfcG1ycyk7Cj4gKwlpZiAoIWJvcyB8fCAhcmVsb2NzIHx8ICFwbXJz IHx8ICFzdHJlYW0gfHwgIWNtZGJ1Zikgewo+ICAJCXJldCA9IC1FTk9NRU07Cj4gIAkJZ290byBl cnJfc3VibWl0X2NtZHM7Cj4gIAl9Cj4gQEAgLTM3Myw2ICs0MjQsMTQgQEAgaW50IGV0bmF2aXZf aW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJ CWdvdG8gZXJyX3N1Ym1pdF9jbWRzOwo+ICAJfQo+ICAKPiArCXJldCA9IGNvcHlfZnJvbV91c2Vy KHBtcnMsIHU2NF90b191c2VyX3B0cihhcmdzLT5wbXJzKSwKPiArCQkJICAgICBhcmdzLT5ucl9w bXJzICogc2l6ZW9mKCpwbXJzKSk7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJcmV0ID0gLUVGQVVMVDsK PiArCQlnb3RvIGVycl9zdWJtaXRfY21kczsKPiArCX0KPiArCWNtZGJ1Zi0+bnJfcG1ycyA9IGFy Z3MtPm5yX3BtcnM7Cj4gKwo+ICAJcmV0ID0gY29weV9mcm9tX3VzZXIoc3RyZWFtLCB1NjRfdG9f dXNlcl9wdHIoYXJncy0+c3RyZWFtKSwKPiAgCQkJICAgICBhcmdzLT5zdHJlYW1fc2l6ZSk7Cj4g IAlpZiAocmV0KSB7Cj4gQEAgLTQ0MSw2ICs1MDAsMTAgQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2Vt X3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJaWYgKHJldCkK PiAgCQlnb3RvIG91dDsKPiAgCj4gKwlyZXQgPSBzdWJtaXRfcGVyZm1vbl92YWxpZGF0ZShzdWJt aXQsIGNtZGJ1ZiwgcG1ycywgYXJncy0+bnJfcG1ycyk7Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8g b3V0Owo+ICsKPiAgCW1lbWNweShjbWRidWYtPnZhZGRyLCBzdHJlYW0sIGFyZ3MtPnN0cmVhbV9z aXplKTsKPiAgCWNtZGJ1Zi0+dXNlcl9zaXplID0gQUxJR04oYXJncy0+c3RyZWFtX3NpemUsIDgp Owo+ICAKPiBAQCAtNDk0LDYgKzU1Nyw4IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCQlrdmZyZWUoYm9zKTsKPiAg CWlmIChyZWxvY3MpCj4gIAkJa3ZmcmVlKHJlbG9jcyk7Cj4gKwlpZiAocG1ycykKPiArCQlrdmZy ZWUocG1ycyk7Cj4gIAo+ICAJcmV0dXJuIHJldDsKPiAgfQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=