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==