From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: [PATCH v3 1/3] drm/etnaviv: submit support for in-fences Date: Wed, 29 Mar 2017 16:27:08 +0200 Message-ID: <20170329142710.26567-1-l.stach@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 795EC891AD for ; Wed, 29 Mar 2017 14:27:12 +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: Gustavo Padovan , etnaviv@lists.freedesktop.org, kernel@pengutronix.de, Russell King List-Id: dri-devel@lists.freedesktop.org RnJvbTogUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCkxvb3NlbHkgYmFz ZWQgb24gY29tbWl0IGYwYTQyYmI1NDIzYSAoImRybS9tc206IHN1Ym1pdCBzdXBwb3J0IGZvcgpp bi1mZW5jZXMiKS4gVW5mb3J0dW5hdGVseSwgc3RydWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXQg ZG9lc24ndCBoYXZlCmEgZmxhZ3MgZmllbGQgeWV0LCBzbyB3ZSBoYXZlIHRvIGV4dGVuZCB0aGUg c3RydWN0dXJlIGFuZCB0cnVzdCB0aGF0CmRybV9pb2N0bCB3aWxsIGNsZWFyIHRoZSBmbGFncyBm b3IgdXMgaWYgYW4gb2xkZXIgdXNlcnNwYWNlIG9ubHkgc3VibWl0cwpwYXJ0IG9mIHRoZSBzdHJ1 Y3QuCgpTaWduZWQtb2ZmLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRl PgpSZXZpZXdlZC1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3Jh LmNvbT4KUmV2aWV3ZWQtYnk6IFN1bWl0IFNlbXdhbCA8c3VtaXQuc2Vtd2FsQGxpbmFyby5vcmc+ ClJldmlld2VkLWJ5OiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4KU2lnbmVk LW9mZi1ieTogTHVjYXMgU3RhY2ggPGwuc3RhY2hAcGVuZ3V0cm9uaXguZGU+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvS2NvbmZpZyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2Ry bS9ldG5hdml2L2V0bmF2aXZfZ2VtX3N1Ym1pdC5jIHwgMzQgKysrKysrKysrKysrKysrKysrKysr KysrKysrLQogZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYyAgICAgICAgfCAg NSArKystCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5oICAgICAgICB8ICAy ICstCiBpbmNsdWRlL3VhcGkvZHJtL2V0bmF2aXZfZHJtLmggICAgICAgICAgICAgICB8ICA2ICsr KysrCiA2IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L0tjb25maWcKaW5kZXggY2MxNzMxYzUyODljLi43MWNlZTRlOWZlZmIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L0tjb25maWcKKysrIGIvZHJpdmVycy9n cHUvZHJtL2V0bmF2aXYvS2NvbmZpZwpAQCAtNSw2ICs1LDcgQEAgY29uZmlnIERSTV9FVE5BVklW CiAJZGVwZW5kcyBvbiBBUkNIX01YQyB8fCBBUkNIX0RPVkUgfHwgKEFSTSAmJiBDT01QSUxFX1RF U1QpCiAJZGVwZW5kcyBvbiBNTVUKIAlzZWxlY3QgU0hNRU0KKwlzZWxlY3QgU1lOQ19GSUxFCiAJ c2VsZWN0IFRNUEZTCiAJc2VsZWN0IElPTU1VX0FQSQogCXNlbGVjdCBJT01NVV9TVVBQT1JUCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oIGIvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0uaAppbmRleCBlNjNmZjExNmEzYjMuLjEyMDQx MGQ2N2ViNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW0u aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dlbS5oCkBAIC0xMDcsNiAr MTA3LDcgQEAgc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdCB7CiAJdTMyIGZlbmNlOwogCXVuc2ln bmVkIGludCBucl9ib3M7CiAJc3RydWN0IGV0bmF2aXZfZ2VtX3N1Ym1pdF9ibyBib3NbMF07CisJ dTMyIGZsYWdzOwogfTsKIAogaW50IGV0bmF2aXZfZ2VtX3dhaXRfYm8oc3RydWN0IGV0bmF2aXZf Z3B1ICpncHUsIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMgYi9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYwppbmRleCA3MjYwOTBkN2E2YWMuLmZiOGQ1YmVm YmY0ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3Vi bWl0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMK QEAgLTE0LDcgKzE0LDkgQEAKICAqIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCisjaW5jbHVkZSA8bGludXgvZG1hLWZlbmNl LWFycmF5Lmg+CiAjaW5jbHVkZSA8bGludXgvcmVzZXJ2YXRpb24uaD4KKyNpbmNsdWRlIDxsaW51 eC9zeW5jX2ZpbGUuaD4KICNpbmNsdWRlICJldG5hdml2X2NtZGJ1Zi5oIgogI2luY2x1ZGUgImV0 bmF2aXZfZHJ2LmgiCiAjaW5jbHVkZSAiZXRuYXZpdl9ncHUuaCIKQEAgLTE2OSw4ICsxNzEsMTAg QEAgc3RhdGljIGludCBzdWJtaXRfZmVuY2Vfc3luYyhjb25zdCBzdHJ1Y3QgZXRuYXZpdl9nZW1f c3VibWl0ICpzdWJtaXQpCiAJZm9yIChpID0gMDsgaSA8IHN1Ym1pdC0+bnJfYm9zOyBpKyspIHsK IAkJc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmogPSBzdWJtaXQtPmJvc1tp XS5vYmo7CiAJCWJvb2wgd3JpdGUgPSBzdWJtaXQtPmJvc1tpXS5mbGFncyAmIEVUTkFfU1VCTUlU X0JPX1dSSVRFOworCQlib29sIGV4cGxpY2l0ID0gIShzdWJtaXQtPmZsYWdzICYgRVROQV9TVUJN SVRfTk9fSU1QTElDSVQpOwogCi0JCXJldCA9IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5bmNfb2JqKGV0 bmF2aXZfb2JqLCBjb250ZXh0LCB3cml0ZSk7CisJCXJldCA9IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5 bmNfb2JqKGV0bmF2aXZfb2JqLCBjb250ZXh0LCB3cml0ZSwKKwkJCQkJCSBleHBsaWNpdCk7CiAJ CWlmIChyZXQpCiAJCQlicmVhazsKIAl9CkBAIC0zMDMsNiArMzA3LDcgQEAgaW50IGV0bmF2aXZf aW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXN0 cnVjdCBldG5hdml2X2dlbV9zdWJtaXQgKnN1Ym1pdDsKIAlzdHJ1Y3QgZXRuYXZpdl9jbWRidWYg KmNtZGJ1ZjsKIAlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKKwlzdHJ1Y3QgZG1hX2ZlbmNlICpp bl9mZW5jZSA9IE5VTEw7CiAJdm9pZCAqc3RyZWFtOwogCWludCByZXQ7CiAKQEAgLTMyNiw2ICsz MzEsMTEgQEAgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwlpZiAoYXJncy0+Zmxh Z3MgJiB+RVROQV9TVUJNSVRfRkxBR1MpIHsKKwkJRFJNX0VSUk9SKCJpbnZhbGlkIGZsYWdzOiAw eCV4XG4iLCBhcmdzLT5mbGFncyk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCS8qCiAJICog Q29weSB0aGUgY29tbWFuZCBzdWJtaXNzaW9uIGFuZCBibyBhcnJheSB0byBrZXJuZWwgc3BhY2Ug aW4KIAkgKiBvbmUgZ28sIGFuZCBkbyB0aGlzIG91dHNpZGUgb2YgYW55IGxvY2tzLgpAQCAtMzcx LDYgKzM4MSw4IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZ290byBlcnJfc3VibWl0X2NtZHM7CiAJfQogCisJc3Vi bWl0LT5mbGFncyA9IGFyZ3MtPmZsYWdzOworCiAJcmV0ID0gc3VibWl0X2xvb2t1cF9vYmplY3Rz KHN1Ym1pdCwgZmlsZSwgYm9zLCBhcmdzLT5ucl9ib3MpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJy X3N1Ym1pdF9vYmplY3RzOwpAQCAtMzg1LDYgKzM5NywyNCBAQCBpbnQgZXRuYXZpdl9pb2N0bF9n ZW1fc3VibWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCWdvdG8gZXJy X3N1Ym1pdF9vYmplY3RzOwogCX0KIAorCWlmIChhcmdzLT5mbGFncyAmIEVUTkFfU1VCTUlUX0ZF TkNFX0ZEX0lOKSB7CisJCWluX2ZlbmNlID0gc3luY19maWxlX2dldF9mZW5jZShhcmdzLT5mZW5j ZV9mZCk7CisJCWlmICghaW5fZmVuY2UpIHsKKwkJCXJldCA9IC1FSU5WQUw7CisJCQlnb3RvIGVy cl9zdWJtaXRfb2JqZWN0czsKKwkJfQorCisJCS8qCisJCSAqIFdhaXQgaWYgdGhlIGZlbmNlIGlz IGZyb20gYSBmb3JlaWduIGNvbnRleHQsIG9yIGlmIHRoZSBmZW5jZQorCQkgKiBhcnJheSBjb250 YWlucyBhbnkgZmVuY2UgZnJvbSBhIGZvcmVpZ24gY29udGV4dC4KKwkJICovCisJCWlmICghZG1h X2ZlbmNlX21hdGNoX2NvbnRleHQoaW5fZmVuY2UsIGdwdS0+ZmVuY2VfY29udGV4dCkpIHsKKwkJ CXJldCA9IGRtYV9mZW5jZV93YWl0KGluX2ZlbmNlLCB0cnVlKTsKKwkJCWlmIChyZXQpCisJCQkJ Z290byBlcnJfc3VibWl0X29iamVjdHM7CisJCX0KKwl9CisKIAlyZXQgPSBzdWJtaXRfZmVuY2Vf c3luYyhzdWJtaXQpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX3N1Ym1pdF9vYmplY3RzOwpAQCAt NDE5LDYgKzQ0OSw4IEBAIGludCBldG5hdml2X2lvY3RsX2dlbV9zdWJtaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZmx1c2hfd29ya3F1ZXVlKHByaXYtPndxKTsKIAog ZXJyX3N1Ym1pdF9vYmplY3RzOgorCWlmIChpbl9mZW5jZSkKKwkJZG1hX2ZlbmNlX3B1dChpbl9m ZW5jZSk7CiAJc3VibWl0X2NsZWFudXAoc3VibWl0KTsKIAogZXJyX3N1Ym1pdF9jbWRzOgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYyBiL2RyaXZlcnMv Z3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMKaW5kZXggNTQ1ZWYwODMyM2Y0Li5lZDNmZGVi OGI1ZTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYwpAQCAtMTA3Nyw3ICsx MDc3LDcgQEAgc3RhdGljIHN0cnVjdCBkbWFfZmVuY2UgKmV0bmF2aXZfZ3B1X2ZlbmNlX2FsbG9j KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQogfQogCiBpbnQgZXRuYXZpdl9ncHVfZmVuY2Vfc3lu Y19vYmooc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmosCi0JdW5zaWduZWQg aW50IGNvbnRleHQsIGJvb2wgZXhjbHVzaXZlKQorCXVuc2lnbmVkIGludCBjb250ZXh0LCBib29s IGV4Y2x1c2l2ZSwgYm9vbCBleHBsaWNpdCkKIHsKIAlzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0 ICpyb2JqID0gZXRuYXZpdl9vYmotPnJlc3Y7CiAJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9s aXN0ICpmb2JqOwpAQCAtMTA5MCw2ICsxMDkwLDkgQEAgaW50IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5 bmNfb2JqKHN0cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqLAogCQkJcmV0dXJu IHJldDsKIAl9CiAKKwlpZiAoZXhwbGljaXQpCisJCXJldHVybiAwOworCiAJLyoKIAkgKiBJZiB3 ZSBoYXZlIGFueSBzaGFyZWQgZmVuY2VzLCB0aGVuIHRoZSBleGNsdXNpdmUgZmVuY2UKIAkgKiBz aG91bGQgYmUgaWdub3JlZCBhcyBpdCB3aWxsIGFscmVhZHkgaGF2ZSBiZWVuIHNpZ25hbGxlZC4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmggYi9kcml2 ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5oCmluZGV4IDZhMWU2OGVlYzI0Yy4uOTIy N2E5NzQwNDQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dw dS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmgKQEAgLTE4Myw3 ICsxODMsNyBAQCBpbnQgZXRuYXZpdl9ncHVfZGVidWdmcyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdw dSwgc3RydWN0IHNlcV9maWxlICptKTsKICNlbmRpZgogCiBpbnQgZXRuYXZpdl9ncHVfZmVuY2Vf c3luY19vYmooc3RydWN0IGV0bmF2aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmosCi0JdW5zaWdu ZWQgaW50IGNvbnRleHQsIGJvb2wgZXhjbHVzaXZlKTsKKwl1bnNpZ25lZCBpbnQgY29udGV4dCwg Ym9vbCBleGNsdXNpdmUsIGJvb2wgaW1wbGljaXQpOwogCiB2b2lkIGV0bmF2aXZfZ3B1X3JldGly ZShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSk7CiBpbnQgZXRuYXZpdl9ncHVfd2FpdF9mZW5jZV9p bnRlcnJ1cHRpYmxlKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS91YXBpL2RybS9ldG5hdml2X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5o CmluZGV4IDI1ODRjMWNjYTQyZi4uZTljMzg4YTFkOGViIDEwMDY0NAotLS0gYS9pbmNsdWRlL3Vh cGkvZHJtL2V0bmF2aXZfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5o CkBAIC0xNTQsNiArMTU0LDEwIEBAIHN0cnVjdCBkcm1fZXRuYXZpdl9nZW1fc3VibWl0X2JvIHsK ICAqIG9uZSBvciBtb3JlIGNtZHN0cmVhbSBidWZmZXJzLiAgVGhpcyBhbGxvd3MgZm9yIGNvbmRp dGlvbmFsIGV4ZWN1dGlvbgogICogKGNvbnRleHQtcmVzdG9yZSksIGFuZCBJQiBidWZmZXJzIG5l ZWRlZCBmb3IgcGVyIHRpbGUvYmluIGRyYXcgY21kcy4KICAqLworI2RlZmluZSBFVE5BX1NVQk1J VF9OT19JTVBMSUNJVCAgICAgICAgIDB4MDAwMQorI2RlZmluZSBFVE5BX1NVQk1JVF9GRU5DRV9G RF9JTiAgICAgICAgIDB4MDAwMgorI2RlZmluZSBFVE5BX1NVQk1JVF9GTEFHUwkJKEVUTkFfU1VC TUlUX05PX0lNUExJQ0lUIHwgXAorCQkJCQkgRVROQV9TVUJNSVRfRkVOQ0VfRkRfSU4pCiAjZGVm aW5lIEVUTkFfUElQRV8zRCAgICAgIDB4MDAKICNkZWZpbmUgRVROQV9QSVBFXzJEICAgICAgMHgw MQogI2RlZmluZSBFVE5BX1BJUEVfVkcgICAgICAweDAyCkBAIC0xNjcsNiArMTcxLDggQEAgc3Ry dWN0IGRybV9ldG5hdml2X2dlbV9zdWJtaXQgewogCV9fdTY0IGJvczsgICAgICAgICAgICAvKiBp biwgcHRyIHRvIGFycmF5IG9mIHN1Ym1pdF9ibydzICovCiAJX191NjQgcmVsb2NzOyAgICAgICAg IC8qIGluLCBwdHIgdG8gYXJyYXkgb2Ygc3VibWl0X3JlbG9jJ3MgKi8KIAlfX3U2NCBzdHJlYW07 ICAgICAgICAgLyogaW4sIHB0ciB0byBjbWRzdHJlYW0gKi8KKwlfX3UzMiBmbGFnczsgICAgICAg ICAgLyogaW4sIG1hc2sgb2YgRVROQV9TVUJNSVRfeCAqLworCV9fczMyIGZlbmNlX2ZkOyAgICAg ICAvKiBpbiwgZmVuY2UgZmQgKHNlZSBFVE5BX1NVQk1JVF9GRU5DRV9GRF9JTikgKi8KIH07CiAK IC8qIFRoZSBub3JtYWwgd2F5IHRvIHN5bmNocm9uaXplIHdpdGggdGhlIEdQVSBpcyBqdXN0IHRv IENQVV9QUkVQIG9uCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=