From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: [PATCH 1/3] drm/etnaviv: submit support for in-fences
Date: Wed, 8 Mar 2017 13:53:26 +0100
Message-ID: <20170308125328.28306-1-p.zabel@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 28E536E84E
for ; Wed, 8 Mar 2017 12:53:32 +0000 (UTC)
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: etnaviv@lists.freedesktop.org, Russell King
List-Id: dri-devel@lists.freedesktop.org
TG9vc2VseSBiYXNlZCBvbiBjb21taXQgZjBhNDJiYjU0MjNhICgiZHJtL21zbTogc3VibWl0IHN1
cHBvcnQgZm9yCmluLWZlbmNlcyIpLiBVbmZvcnR1bmF0ZWx5LCBzdHJ1Y3QgZHJtX2V0bmF2aXZf
Z2VtX3N1Ym1pdCBkb2Vzbid0IGhhdmUKYSBmbGFncyBmaWVsZCB5ZXQsIHNvIHdlIGhhdmUgdG8g
ZXh0ZW5kIHRoZSBzdHJ1Y3R1cmUgYW5kIHRydXN0IHRoYXQKZHJtX2lvY3RsIHdpbGwgY2xlYXIg
dGhlIGZsYWdzIGZvciB1cyBpZiBhbiBvbGRlciB1c2Vyc3BhY2Ugb25seSBzdWJtaXRzCnBhcnQg
b2YgdGhlIHN0cnVjdC4KClNpZ25lZC1vZmYtYnk6IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVu
Z3V0cm9uaXguZGU+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvS2NvbmZpZyAgICAgICAg
ICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oICAgICAg
ICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwg
MzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYv
ZXRuYXZpdl9ncHUuYyAgICAgICAgfCAgNSArKystCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l
dG5hdml2X2dwdS5oICAgICAgICB8ICAyICstCiBpbmNsdWRlL3VhcGkvZHJtL2V0bmF2aXZfZHJt
LmggICAgICAgICAgICAgICB8ICA2ICsrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlv
bnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2
aXYvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L0tjb25maWcKaW5kZXggY2MxNzMx
YzUyODljMi4uNzFjZWU0ZTlmZWZiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2
aXYvS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9LY29uZmlnCkBAIC01LDYg
KzUsNyBAQCBjb25maWcgRFJNX0VUTkFWSVYKIAlkZXBlbmRzIG9uIEFSQ0hfTVhDIHx8IEFSQ0hf
RE9WRSB8fCAoQVJNICYmIENPTVBJTEVfVEVTVCkKIAlkZXBlbmRzIG9uIE1NVQogCXNlbGVjdCBT
SE1FTQorCXNlbGVjdCBTWU5DX0ZJTEUKIAlzZWxlY3QgVE1QRlMKIAlzZWxlY3QgSU9NTVVfQVBJ
CiAJc2VsZWN0IElPTU1VX1NVUFBPUlQKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5h
dml2L2V0bmF2aXZfZ2VtLmggYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5o
CmluZGV4IGU2M2ZmMTE2YTNiM2QuLjEyMDQxMGQ2N2ViNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv
Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2VtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2
aXYvZXRuYXZpdl9nZW0uaApAQCAtMTA3LDYgKzEwNyw3IEBAIHN0cnVjdCBldG5hdml2X2dlbV9z
dWJtaXQgewogCXUzMiBmZW5jZTsKIAl1bnNpZ25lZCBpbnQgbnJfYm9zOwogCXN0cnVjdCBldG5h
dml2X2dlbV9zdWJtaXRfYm8gYm9zWzBdOworCXUzMiBmbGFnczsKIH07CiAKIGludCBldG5hdml2
X2dlbV93YWl0X2JvKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LCBzdHJ1Y3QgZHJtX2dlbV9vYmpl
Y3QgKm9iaiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2Vt
X3N1Ym1pdC5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMK
aW5kZXggNzI2MDkwZDdhNmFjZS4uZTY3ZDgzZWFjMjJkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n
cHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt
L2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMKQEAgLTE1LDYgKzE1LDcgQEAKICAqLwogCiAj
aW5jbHVkZSA8bGludXgvcmVzZXJ2YXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9zeW5jX2ZpbGUu
aD4KICNpbmNsdWRlICJldG5hdml2X2NtZGJ1Zi5oIgogI2luY2x1ZGUgImV0bmF2aXZfZHJ2Lmgi
CiAjaW5jbHVkZSAiZXRuYXZpdl9ncHUuaCIKQEAgLTE2OSw4ICsxNzAsMTAgQEAgc3RhdGljIGlu
dCBzdWJtaXRfZmVuY2Vfc3luYyhjb25zdCBzdHJ1Y3QgZXRuYXZpdl9nZW1fc3VibWl0ICpzdWJt
aXQpCiAJZm9yIChpID0gMDsgaSA8IHN1Ym1pdC0+bnJfYm9zOyBpKyspIHsKIAkJc3RydWN0IGV0
bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmogPSBzdWJtaXQtPmJvc1tpXS5vYmo7CiAJCWJv
b2wgd3JpdGUgPSBzdWJtaXQtPmJvc1tpXS5mbGFncyAmIEVUTkFfU1VCTUlUX0JPX1dSSVRFOwor
CQlib29sIGV4cGxpY2l0ID0gIShzdWJtaXQtPmZsYWdzICYgRVROQV9TVUJNSVRfTk9fSU1QTElD
SVQpOwogCi0JCXJldCA9IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5bmNfb2JqKGV0bmF2aXZfb2JqLCBj
b250ZXh0LCB3cml0ZSk7CisJCXJldCA9IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5bmNfb2JqKGV0bmF2
aXZfb2JqLCBjb250ZXh0LCB3cml0ZSwKKwkJCQkJCSBleHBsaWNpdCk7CiAJCWlmIChyZXQpCiAJ
CQlicmVhazsKIAl9CkBAIC0zMDMsNiArMzA2LDcgQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1
Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXN0cnVjdCBldG5hdml2
X2dlbV9zdWJtaXQgKnN1Ym1pdDsKIAlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYgKmNtZGJ1ZjsKIAlz
dHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKKwlzdHJ1Y3QgZG1hX2ZlbmNlICppbl9mZW5jZSA9IE5V
TEw7CiAJdm9pZCAqc3RyZWFtOwogCWludCByZXQ7CiAKQEAgLTMyNiw2ICszMzAsMTEgQEAgaW50
IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk
YXRhLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAoYXJncy0+ZmxhZ3MgJiB+RVROQV9T
VUJNSVRfRkxBR1MpIHsKKwkJRFJNX0VSUk9SKCJpbnZhbGlkIGZsYWdzOiAweCV4XG4iLCBhcmdz
LT5mbGFncyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCS8qCiAJICogQ29weSB0aGUgY29t
bWFuZCBzdWJtaXNzaW9uIGFuZCBibyBhcnJheSB0byBrZXJuZWwgc3BhY2UgaW4KIAkgKiBvbmUg
Z28sIGFuZCBkbyB0aGlzIG91dHNpZGUgb2YgYW55IGxvY2tzLgpAQCAtMzcxLDYgKzM4MCw4IEBA
IGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9p
ZCAqZGF0YSwKIAkJZ290byBlcnJfc3VibWl0X2NtZHM7CiAJfQogCisJc3VibWl0LT5mbGFncyA9
IGFyZ3MtPmZsYWdzOworCiAJcmV0ID0gc3VibWl0X2xvb2t1cF9vYmplY3RzKHN1Ym1pdCwgZmls
ZSwgYm9zLCBhcmdzLT5ucl9ib3MpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX3N1Ym1pdF9vYmpl
Y3RzOwpAQCAtMzg1LDYgKzM5NiwyNSBAQCBpbnQgZXRuYXZpdl9pb2N0bF9nZW1fc3VibWl0KHN0
cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCWdvdG8gZXJyX3N1Ym1pdF9vYmpl
Y3RzOwogCX0KIAorCWlmIChhcmdzLT5mbGFncyAmIEVUTkFfU1VCTUlUX0ZFTkNFX0ZEX0lOKSB7
CisJCWluX2ZlbmNlID0gc3luY19maWxlX2dldF9mZW5jZShhcmdzLT5mZW5jZV9mZCk7CisJCWlm
ICghaW5fZmVuY2UpIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQlnb3RvIGVycl9zdWJtaXRfb2Jq
ZWN0czsKKwkJfQorCisJCS8qIFRPRE8gaWYgd2UgZ2V0IGFuIGFycmF5LWZlbmNlIGR1ZSB0byB1
c2Vyc3BhY2UgbWVyZ2luZworCQkgKiBtdWx0aXBsZSBmZW5jZXMsIHdlIG5lZWQgYSB3YXkgdG8g
ZGV0ZXJtaW5lIGlmIGFsbCB0aGUKKwkJICogYmFja2luZyBmZW5jZXMgYXJlIGZyb20gb3VyIG93
biBjb250ZXh0Li4KKwkJICovCisKKwkJaWYgKGluX2ZlbmNlLT5jb250ZXh0ICE9IGdwdS0+ZmVu
Y2VfY29udGV4dCkgeworCQkJcmV0ID0gZG1hX2ZlbmNlX3dhaXQoaW5fZmVuY2UsIHRydWUpOwor
CQkJaWYgKHJldCkKKwkJCQlnb3RvIGVycl9zdWJtaXRfb2JqZWN0czsKKwkJfQorCX0KKwogCXJl
dCA9IHN1Ym1pdF9mZW5jZV9zeW5jKHN1Ym1pdCk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfc3Vi
bWl0X29iamVjdHM7CkBAIC00MTksNiArNDQ5LDggQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1
Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlmbHVzaF93b3JrcXVl
dWUocHJpdi0+d3EpOwogCiBlcnJfc3VibWl0X29iamVjdHM6CisJaWYgKGluX2ZlbmNlKQorCQlk
bWFfZmVuY2VfcHV0KGluX2ZlbmNlKTsKIAlzdWJtaXRfY2xlYW51cChzdWJtaXQpOwogCiBlcnJf
c3VibWl0X2NtZHM6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2
X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYwppbmRleCAxMzBk
N2Q1MTdhMTlhLi41MWQ1MmM3MmFlZjE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRu
YXZpdi9ldG5hdml2X2dwdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZf
Z3B1LmMKQEAgLTEwNjQsNyArMTA2NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2ZlbmNlICpldG5h
dml2X2dwdV9mZW5jZV9hbGxvYyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSkKIH0KIAogaW50IGV0
bmF2aXZfZ3B1X2ZlbmNlX3N5bmNfb2JqKHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2
aXZfb2JqLAotCXVuc2lnbmVkIGludCBjb250ZXh0LCBib29sIGV4Y2x1c2l2ZSkKKwl1bnNpZ25l
ZCBpbnQgY29udGV4dCwgYm9vbCBleGNsdXNpdmUsIGJvb2wgZXhwbGljaXQpCiB7CiAJc3RydWN0
IHJlc2VydmF0aW9uX29iamVjdCAqcm9iaiA9IGV0bmF2aXZfb2JqLT5yZXN2OwogCXN0cnVjdCBy
ZXNlcnZhdGlvbl9vYmplY3RfbGlzdCAqZm9iajsKQEAgLTEwNzcsNiArMTA3Nyw5IEBAIGludCBl
dG5hdml2X2dwdV9mZW5jZV9zeW5jX29iaihzdHJ1Y3QgZXRuYXZpdl9nZW1fb2JqZWN0ICpldG5h
dml2X29iaiwKIAkJCXJldHVybiByZXQ7CiAJfQogCisJaWYgKGV4cGxpY2l0KQorCQlyZXR1cm4g
MDsKKwogCS8qCiAJICogSWYgd2UgaGF2ZSBhbnkgc2hhcmVkIGZlbmNlcywgdGhlbiB0aGUgZXhj
bHVzaXZlIGZlbmNlCiAJICogc2hvdWxkIGJlIGlnbm9yZWQgYXMgaXQgd2lsbCBhbHJlYWR5IGhh
dmUgYmVlbiBzaWduYWxsZWQuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l
dG5hdml2X2dwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuaAppbmRl
eCAxYzA2MDZlYTdkNWU4Li5kYzI3YzdhMDM5MDYwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k
cm0vZXRuYXZpdi9ldG5hdml2X2dwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0
bmF2aXZfZ3B1LmgKQEAgLTE4MSw3ICsxODEsNyBAQCBpbnQgZXRuYXZpdl9ncHVfZGVidWdmcyhz
dHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgc3RydWN0IHNlcV9maWxlICptKTsKICNlbmRpZgogCiBp
bnQgZXRuYXZpdl9ncHVfZmVuY2Vfc3luY19vYmooc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAq
ZXRuYXZpdl9vYmosCi0JdW5zaWduZWQgaW50IGNvbnRleHQsIGJvb2wgZXhjbHVzaXZlKTsKKwl1
bnNpZ25lZCBpbnQgY29udGV4dCwgYm9vbCBleGNsdXNpdmUsIGJvb2wgaW1wbGljaXQpOwogCiB2
b2lkIGV0bmF2aXZfZ3B1X3JldGlyZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSk7CiBpbnQgZXRu
YXZpdl9ncHVfd2FpdF9mZW5jZV9pbnRlcnJ1cHRpYmxlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1
LApkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5oIGIvaW5jbHVkZS91
YXBpL2RybS9ldG5hdml2X2RybS5oCmluZGV4IDI1ODRjMWNjYTQyZjYuLmU5YzM4OGExZDhlYmUg
MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaAorKysgYi9pbmNsdWRl
L3VhcGkvZHJtL2V0bmF2aXZfZHJtLmgKQEAgLTE1NCw2ICsxNTQsMTAgQEAgc3RydWN0IGRybV9l
dG5hdml2X2dlbV9zdWJtaXRfYm8gewogICogb25lIG9yIG1vcmUgY21kc3RyZWFtIGJ1ZmZlcnMu
ICBUaGlzIGFsbG93cyBmb3IgY29uZGl0aW9uYWwgZXhlY3V0aW9uCiAgKiAoY29udGV4dC1yZXN0
b3JlKSwgYW5kIElCIGJ1ZmZlcnMgbmVlZGVkIGZvciBwZXIgdGlsZS9iaW4gZHJhdyBjbWRzLgog
ICovCisjZGVmaW5lIEVUTkFfU1VCTUlUX05PX0lNUExJQ0lUICAgICAgICAgMHgwMDAxCisjZGVm
aW5lIEVUTkFfU1VCTUlUX0ZFTkNFX0ZEX0lOICAgICAgICAgMHgwMDAyCisjZGVmaW5lIEVUTkFf
U1VCTUlUX0ZMQUdTCQkoRVROQV9TVUJNSVRfTk9fSU1QTElDSVQgfCBcCisJCQkJCSBFVE5BX1NV
Qk1JVF9GRU5DRV9GRF9JTikKICNkZWZpbmUgRVROQV9QSVBFXzNEICAgICAgMHgwMAogI2RlZmlu
ZSBFVE5BX1BJUEVfMkQgICAgICAweDAxCiAjZGVmaW5lIEVUTkFfUElQRV9WRyAgICAgIDB4MDIK
QEAgLTE2Nyw2ICsxNzEsOCBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3N1Ym1pdCB7CiAJX191
NjQgYm9zOyAgICAgICAgICAgIC8qIGluLCBwdHIgdG8gYXJyYXkgb2Ygc3VibWl0X2JvJ3MgKi8K
IAlfX3U2NCByZWxvY3M7ICAgICAgICAgLyogaW4sIHB0ciB0byBhcnJheSBvZiBzdWJtaXRfcmVs
b2MncyAqLwogCV9fdTY0IHN0cmVhbTsgICAgICAgICAvKiBpbiwgcHRyIHRvIGNtZHN0cmVhbSAq
LworCV9fdTMyIGZsYWdzOyAgICAgICAgICAvKiBpbiwgbWFzayBvZiBFVE5BX1NVQk1JVF94ICov
CisJX19zMzIgZmVuY2VfZmQ7ICAgICAgIC8qIGluLCBmZW5jZSBmZCAoc2VlIEVUTkFfU1VCTUlU
X0ZFTkNFX0ZEX0lOKSAqLwogfTsKIAogLyogVGhlIG5vcm1hbCB3YXkgdG8gc3luY2hyb25pemUg
d2l0aCB0aGUgR1BVIGlzIGp1c3QgdG8gQ1BVX1BSRVAgb24KLS0gCjIuMTEuMAoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg
bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl
c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==