From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Gmeiner Subject: [PATCH 05/10] drm/etnaviv: copy readbacks from userspace Date: Fri, 9 Dec 2016 12:21:26 +0100 Message-ID: <20161209112131.3924-6-christian.gmeiner@gmail.com> References: <20161209112131.3924-1-christian.gmeiner@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wj0-x243.google.com (mail-wj0-x243.google.com [IPv6:2a00:1450:400c:c01::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id BE3986E97C for ; Fri, 9 Dec 2016 11:21:52 +0000 (UTC) Received: by mail-wj0-x243.google.com with SMTP id j10so1978748wjb.3 for ; Fri, 09 Dec 2016 03:21:52 -0800 (PST) In-Reply-To: <20161209112131.3924-1-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: dri-devel@lists.freedesktop.org Cc: linux+etnaviv@armlinux.org.uk, cphealy@gmail.com List-Id: dri-devel@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEdtZWluZXIgPGNocmlzdGlhbi5nbWVpbmVyQGdtYWls LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYyB8 IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MSBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9l dG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRu YXZpdl9nZW1fc3VibWl0LmMKaW5kZXggZWRlNWQ3MS4uYTY5ZWZmNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKQEAgLTI3Nyw2ICsyNzcsNDAgQEAg c3RhdGljIGludCBzdWJtaXRfcmVsb2Moc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0 LCB2b2lkICpzdHJlYW0sCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgc3VibWl0X3JlYWRi YWNrKHN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCwKKwkJc3RydWN0IGV0bmF2aXZf Y21kYnVmICpjbWRidWYsCisJCWNvbnN0IHN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X3Jl YWRiYWNrICpyZWFkYmFja3MsCisJCXUzMiBucl9yZWFkYmFja3MpCit7CisJdTMyIGk7CisKKwlm b3IgKGkgPSAwOyBpIDwgbnJfcmVhZGJhY2tzOyBpKyspIHsKKwkJY29uc3Qgc3RydWN0IGRybV9l dG5hdml2X2dlbV9zdWJtaXRfcmVhZGJhY2sgKnIgPSByZWFkYmFja3MgKyBpOworCQlzdHJ1Y3Qg ZXRuYXZpdl9nZW1fc3VibWl0X2JvICpibzsKKwkJaW50IHJldDsKKworCQlyZXQgPSBzdWJtaXRf Ym8oc3VibWl0LCByLT5yZWFkYmFja19pZHgsICZibyk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4g cmV0OworCisJCWlmIChyLT5yZWFkYmFja19vZmZzZXQgPj0gYm8tPm9iai0+YmFzZS5zaXplIC0g c2l6ZW9mKHUzMikpIHsKKwkJCURSTV9FUlJPUigicmVhZGJhY2sgb2Zmc2V0ICV1IG91dHNpZGUg b2JqZWN0IiwgaSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCWlmIChyLT5mbGFncykg eworCQkJRFJNX0VSUk9SKCJyZWFkYmFjayBmbGFncyBub3QgMCIpOworCQkJcmV0dXJuIC1FSU5W QUw7CisJCX0KKworCQljbWRidWYtPnJlYWRiYWNrc1tpXS5ib192bWEgPSBldG5hdml2X2dlbV92 bWFwKCZiby0+b2JqLT5iYXNlKTsKKwkJY21kYnVmLT5yZWFkYmFja3NbaV0ub2Zmc2V0ID0gci0+ cmVhZGJhY2tfb2Zmc2V0OworCQljbWRidWYtPnJlYWRiYWNrc1tpXS5yZWcgPSByLT5yZWc7CisJ fQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyB2b2lkIHN1Ym1pdF9jbGVhbnVwKHN0cnVjdCBl dG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdCkKIHsKIAl1bnNpZ25lZCBpOwpAQCAtMjk4LDYgKzMz Miw3IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAlzdHJ1Y3QgZXRuYXZpdl9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXQgKmFyZ3MgPSBkYXRh OwogCXN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X3JlbG9jICpyZWxvY3M7CisJc3RydWN0 IGRybV9ldG5hdml2X2dlbV9zdWJtaXRfcmVhZGJhY2sgKnJlYWRiYWNrczsKIAlzdHJ1Y3QgZHJt X2V0bmF2aXZfZ2VtX3N1Ym1pdF9ibyAqYm9zOwogCXN0cnVjdCBldG5hdml2X2dlbV9zdWJtaXQg KnN1Ym1pdDsKIAlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNtZGJ1ZjsKQEAgLTMzMSwxMCArMzY2 LDExIEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkgKi8KIAlib3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX2Jvcywg c2l6ZW9mKCpib3MpKTsKIAlyZWxvY3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX3JlbG9jcywg c2l6ZW9mKCpyZWxvY3MpKTsKKwlyZWFkYmFja3MgPSBkcm1fbWFsbG9jX2FiKGFyZ3MtPm5yX3Jl YWRiYWNrcywgc2l6ZW9mKCpyZWFkYmFja3MpKTsKIAlzdHJlYW0gPSBkcm1fbWFsbG9jX2FiKDEs IGFyZ3MtPnN0cmVhbV9zaXplKTsKIAljbWRidWYgPSBldG5hdml2X2dwdV9jbWRidWZfbmV3KGdw dSwgQUxJR04oYXJncy0+c3RyZWFtX3NpemUsIDgpICsgOCwKLQkJCQkJYXJncy0+bnJfYm9zLCAw KTsKLQlpZiAoIWJvcyB8fCAhcmVsb2NzIHx8ICFzdHJlYW0gfHwgIWNtZGJ1ZikgeworCQkJCQlh cmdzLT5ucl9ib3MsIGFyZ3MtPm5yX3JlYWRiYWNrcyk7CisJaWYgKCFib3MgfHwgIXJlbG9jcyB8 fCAhcmVhZGJhY2tzIHx8ICFzdHJlYW0gfHwgIWNtZGJ1ZikgewogCQlyZXQgPSAtRU5PTUVNOwog CQlnb3RvIGVycl9zdWJtaXRfY21kczsKIAl9CkBAIC0zNTYsNiArMzkyLDEzIEBAIGludCBldG5h dml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAkJZ290byBlcnJfc3VibWl0X2NtZHM7CiAJfQogCisJcmV0ID0gY29weV9mcm9tX3VzZXIocmVh ZGJhY2tzLCB1NjRfdG9fdXNlcl9wdHIoYXJncy0+cmVhZGJhY2tzKSwKKwkJCSAgICAgYXJncy0+ bnJfcmVhZGJhY2tzICogc2l6ZW9mKCpyZWFkYmFja3MpKTsKKwlpZiAocmV0KSB7CisJCXJldCA9 IC1FRkFVTFQ7CisJCWdvdG8gZXJyX3N1Ym1pdF9jbWRzOworCX0KKwogCXJldCA9IGNvcHlfZnJv bV91c2VyKHN0cmVhbSwgdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPnN0cmVhbSksCiAJCQkgICAgIGFy Z3MtPnN0cmVhbV9zaXplKTsKIAlpZiAocmV0KSB7CkBAIC0zOTYsNiArNDM5LDEwIEBAIGludCBl dG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKIAlpZiAocmV0KQogCQlnb3RvIG91dDsKIAorCXJldCA9IHN1Ym1pdF9yZWFkYmFjayhzdWJt aXQsIGNtZGJ1ZiwgcmVhZGJhY2tzLCBhcmdzLT5ucl9yZWFkYmFja3MpOworCWlmIChyZXQpCisJ CWdvdG8gb3V0OworCiAJbWVtY3B5KGNtZGJ1Zi0+dmFkZHIsIHN0cmVhbSwgYXJncy0+c3RyZWFt X3NpemUpOwogCWNtZGJ1Zi0+dXNlcl9zaXplID0gQUxJR04oYXJncy0+c3RyZWFtX3NpemUsIDgp OwogCkBAIC00MjksNiArNDc2LDggQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlkcm1fZnJlZV9sYXJnZShib3MpOwog CWlmIChyZWxvY3MpCiAJCWRybV9mcmVlX2xhcmdlKHJlbG9jcyk7CisJaWYgKHJlYWRiYWNrcykK KwkJZHJtX2ZyZWVfbGFyZ2UocmVhZGJhY2tzKTsKIAogCXJldHVybiByZXQ7CiB9Ci0tIAoyLjku MwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==