From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH] drm/syncobj: add sync obj wait interface. (v7) Date: Tue, 18 Jul 2017 16:44:59 +1000 Message-ID: <20170718064459.13741-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 088A86E033 for ; Tue, 18 Jul 2017 06:45:02 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 4CF987CB84 for ; Tue, 18 Jul 2017 06:45:01 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-179.bne.redhat.com [10.64.40.179]) by smtp.corp.redhat.com (Postfix) with ESMTP id B050877BFE for ; Tue, 18 Jul 2017 06:45:00 +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 List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgaW50ZXJmYWNlIHdp bGwgYWxsb3cgc3luYyBvYmplY3QgdG8gYmUgdXNlZCB0byBiYWNrClZ1bGthbiBmZW5jZXMuIFRo aXMgQVBJIGlzIHByZXR0eSBtdWNoIHRoZSB2dWxrYW4gZmVuY2Ugd2FpdGluZwpBUEksIGFuZCBJ J3ZlIHBvcnRlZCB0aGUgY29kZSBmcm9tIGFtZGdwdS4KCnYyOiBhY2NlcHQgcmVsYXRpdmUgdGlt ZW91dCwgcGFzcyByZW1haW5pbmcgdGltZSBiYWNrCnRvIHVzZXJzcGFjZS4KdjM6IHJldHVybiB0 byBhYnNvbHV0ZSB0aW1lb3V0cy4KdjQ6IGFic29sdXRlIHplcm8gPSBwb2xsLAogICAgcmV3cml0 ZSBhbnkvYWxsIGNvZGUgdG8gaGF2ZSBzYW1lIG9wZXJhdGlvbiBmb3IgYXJyYXlzCiAgICByZXR1 cm4gLUVJTlZBTCBmb3IgMCBmZW5jZXMuCnY0LjE6IGZpeHVwIGZlbmNlcyBhbGxvY2F0aW9uIGNo ZWNrLCB1c2UgdTY0X3RvX3VzZXJfcHRyCnY1OiBtb3ZlIHRvIHNlYy9uc2VjLCBhbmQgdXNlIHRp bWVzcGVjNjQgZm9yIGNhbGNzLgp2NjogdXNlIC1FVElNRSBhbmQgZHJvcCB0aGUgb3V0IHN0YXR1 cyBmbGFnLiAoLUVUSU1FCmlzIHN1Z2dlc3RlZCBieSBpY2tsZSwgSSBjYW4gZmVlbCBhIHNoZWQg cGFpbnRpbmcpCnY3OiB0YWxrZWQgdG8gRGFuaWVsL0FybmQsIHVzZSBrdGltZSBhbmQgbnMgZXZl cnl3aGVyZS4KClNpZ25lZC1vZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIHwgICAyICsKIGRyaXZlcnMvZ3B1 L2RybS9kcm1faW9jdGwuYyAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmou YyAgfCAxMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1 ZGUvdWFwaS9kcm0vZHJtLmggICAgICAgICB8ICAxMiArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE1 MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5h bC5oIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oCmluZGV4IDVjZWNjOTcuLmQ3MWI1 MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKQEAgLTE1NywzICsxNTcsNSBAQCBpbnQgZHJtX3N5 bmNvYmpfaGFuZGxlX3RvX2ZkX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCiAJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogaW50IGRybV9zeW5j b2JqX2ZkX3RvX2hhbmRsZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAogCQkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKK2ludCBkcm1fc3luY29i al93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgICBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKaW5kZXggZjFlNTY4 MS4uMzg1Y2U3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwpAQCAtNjU3LDYgKzY1Nyw4IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewogCQkgICAgICBEUk1f VU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lO Q09CSl9GRF9UT19IQU5ETEUsIGRybV9zeW5jb2JqX2ZkX3RvX2hhbmRsZV9pb2N0bCwKIAkJICAg ICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lP Q1RMX1NZTkNPQkpfV0FJVCwgZHJtX3N5bmNvYmpfd2FpdF9pb2N0bCwKKwkJICAgICAgRFJNX1VO TE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAogfTsKIAogI2RlZmluZSBEUk1fQ09SRV9JT0NUTF9D T1VOVAlBUlJBWV9TSVpFKCBkcm1faW9jdGxzICkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fc3luY29iai5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKaW5kZXggODk0 NDFiYy4uZDIzZGNjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTEsNSArMSw3IEBACiAvKgog ICogQ29weXJpZ2h0IDIwMTcgUmVkIEhhdAorICogUGFydHMgcG9ydGVkIGZyb20gYW1kZ3B1IChm ZW5jZSB3YWl0IGNvZGUpLgorICogQ29weXJpZ2h0IDIwMTYgQWR2YW5jZWQgTWljcm8gRGV2aWNl cywgSW5jLgogICoKICAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hh cmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCiAgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUg YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLApAQCAt MzEsNiArMzMsOSBAQAogICogdGhhdCBjb250YWluIGFuIG9wdGlvbmFsIGZlbmNlLiBUaGUgZmVu Y2UgY2FuIGJlIHVwZGF0ZWQgd2l0aCBhIG5ldwogICogZmVuY2UsIG9yIGJlIE5VTEwuCiAgKgor ICogc3luY29iaidzIGNhbiBiZSB3YWl0ZWQgdXBvbiwgd2hlcmUgaXQgd2lsbCB3YWl0IGZvciB0 aGUgdW5kZXJseWluZworICogZmVuY2UuCisgKgogICogc3luY29iaidzIGNhbiBiZSBleHBvcnQg dG8gZmQncyBhbmQgYmFjaywgdGhlc2UgZmQncyBhcmUgb3BhcXVlIGFuZAogICogaGF2ZSBubyBv dGhlciB1c2UgY2FzZSwgZXhjZXB0IHBhc3NpbmcgdGhlIHN5bmNvYmogYmV0d2VlbiBwcm9jZXNz ZXMuCiAgKgpAQCAtNDUxLDMgKzQ1NiwxMzMgQEAgZHJtX3N5bmNvYmpfZmRfdG9faGFuZGxlX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJcmV0dXJuIGRybV9zeW5j b2JqX2ZkX3RvX2hhbmRsZShmaWxlX3ByaXZhdGUsIGFyZ3MtPmZkLAogCQkJCQkmYXJncy0+aGFu ZGxlKTsKIH0KKworLyoqCisgKiBkcm1fdGltZW91dF9hYnNfdG9famlmZmllcyAtIGNhbGN1bGF0 ZSBqaWZmaWVzIHRpbWVvdXQgZnJvbSBhYnNvbHV0ZSB2YWx1ZQorICoKKyAqIEB0aW1lb3V0X3Nl YzogdGltZW91dCBzZWMgY29tcG9uZW50LCAwIGZvciBwb2xsCisgKiBAdGltZW91dF9uc2VjOiB0 aW1lb3V0IG5zZWMgY29tcG9uZW50IGluIG5zLCAwIGZvciBwb2xsCisgKiBib3RoIG11c3QgYmUg MCBmb3IgcG9sbC4KKyAqCisgKiBDYWxjdWxhdGUgdGhlIHRpbWVvdXQgaW4gamlmZmllcyBmcm9t IGFuIGFic29sdXRlIHRpbWUgaW4gc2VjL25zZWMuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25n IGRybV90aW1lb3V0X2Fic190b19qaWZmaWVzKGludDY0X3QgdGltZW91dF9uc2VjKQoreworCWt0 aW1lX3QgYWJzX3RpbWVvdXQsIHRpbWVvdXQsIG1heF9qaWZmeV9rdGltZTsKKwl1bnNpZ25lZCBs b25nIHRpbWVvdXRfamlmZmllczsKKworCS8qIG1ha2UgMCB0aW1lb3V0IG1lYW5zIHBvbGwgLSBh YnNvbHV0ZSAwIGRvZXNuJ3Qgc2VlbSB2YWxpZCAqLworCWlmICh0aW1lb3V0X25zZWMgPT0gMCkK KwkJcmV0dXJuIDA7CisKKwlhYnNfdGltZW91dCA9IG5zX3RvX2t0aW1lKHRpbWVvdXRfbnNlYyk7 CisKKwl0aW1lb3V0ID0ga3RpbWVfc3ViKGFic190aW1lb3V0LCBrdGltZV9nZXQoKSk7CisKKwlt YXhfamlmZnlfa3RpbWUgPSBuc190b19rdGltZShqaWZmaWVzX3RvX25zZWNzKE1BWF9KSUZGWV9P RkZTRVQpKTsKKwlpZiAoa3RpbWVfY29tcGFyZSh0aW1lb3V0LCBtYXhfamlmZnlfa3RpbWUpKQor CQlyZXR1cm4gTUFYX1NDSEVEVUxFX1RJTUVPVVQgLSAxOworCisJdGltZW91dF9qaWZmaWVzID0g bnNlY3NfdG9famlmZmllcyhrdGltZV90b19ucyh0aW1lb3V0KSk7CisJLyogIGNsYW1wIHRpbWVv dXQgdG8gYXZvaWQgaW5maW5pdGUgdGltZW91dCAqLworCWlmICh0aW1lb3V0X2ppZmZpZXMgPj0g TUFYX1NDSEVEVUxFX1RJTUVPVVQpCisJCXJldHVybiBNQVhfU0NIRURVTEVfVElNRU9VVCAtIDE7 CisKKwlyZXR1cm4gdGltZW91dF9qaWZmaWVzICsgMTsKK30KKworc3RhdGljIGludCBkcm1fc3lu Y29ial93YWl0X2ZlbmNlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSAgIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2YXRlLAorCQkJCSAgIHN0cnVjdCBkcm1fc3luY29ial93YWl0ICp3 YWl0LAorCQkJCSAgIHN0cnVjdCBkbWFfZmVuY2UgKipmZW5jZXMpCit7CisJdW5zaWduZWQgbG9u ZyB0aW1lb3V0ID0gZHJtX3RpbWVvdXRfYWJzX3RvX2ppZmZpZXMod2FpdC0+dGltZW91dF9uc2Vj KTsKKwlpbnQgcmV0ID0gMDsKKwl1aW50MzJfdCBmaXJzdCA9IH4wOworCisJaWYgKHdhaXQtPmZs YWdzICYgRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0FMTCkgeworCQlpbnQgaTsKKwkJZm9y IChpID0gMDsgaSA8IHdhaXQtPmNvdW50X2hhbmRsZXM7IGkrKykgeworCQkJcmV0ID0gZG1hX2Zl bmNlX3dhaXRfdGltZW91dChmZW5jZXNbaV0sIHRydWUsIHRpbWVvdXQpOworCisJCQlpZiAocmV0 IDwgMCkKKwkJCQlyZXR1cm4gcmV0OworCQkJaWYgKHJldCA9PSAwKQorCQkJCWJyZWFrOworCQkJ dGltZW91dCA9IHJldDsKKwkJfQorCQlmaXJzdCA9IDA7CisJfSBlbHNlIHsKKwkJcmV0ID0gZG1h X2ZlbmNlX3dhaXRfYW55X3RpbWVvdXQoZmVuY2VzLAorCQkJCQkJIHdhaXQtPmNvdW50X2hhbmRs ZXMsCisJCQkJCQkgdHJ1ZSwgdGltZW91dCwKKwkJCQkJCSAmZmlyc3QpOworCX0KKworCWlmIChy ZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJd2FpdC0+Zmlyc3Rfc2lnbmFsZWQgPSBmaXJzdDsK KwlpZiAocmV0ID09IDApCisJCXJldHVybiAtRVRJTUU7CisJcmV0dXJuIDA7Cit9CisKK2ludAor ZHJtX3N5bmNvYmpfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRh LAorCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpCit7CisJc3RydWN0IGRy bV9zeW5jb2JqX3dhaXQgKmFyZ3MgPSBkYXRhOworCXVpbnQzMl90ICpoYW5kbGVzOworCXN0cnVj dCBkbWFfZmVuY2UgKipmZW5jZXM7CisJaW50IHJldCA9IDA7CisJaW50IGk7CisKKwlpZiAoIWRy bV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU1lOQ09CSikpCisJCXJldHVybiAtRU5P REVWOworCisJaWYgKGFyZ3MtPmZsYWdzICE9IDAgJiYgYXJncy0+ZmxhZ3MgIT0gRFJNX1NZTkNP QkpfV0FJVF9GTEFHU19XQUlUX0FMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoYXJncy0+ Y291bnRfaGFuZGxlcyA9PSAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIEdldCB0aGUgaGFu ZGxlcyBmcm9tIHVzZXJzcGFjZSAqLworCWhhbmRsZXMgPSBrbWFsbG9jX2FycmF5KGFyZ3MtPmNv dW50X2hhbmRsZXMsIHNpemVvZih1aW50MzJfdCksCisJCQkJR0ZQX0tFUk5FTCk7CisJaWYgKGhh bmRsZXMgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY29weV9mcm9tX3VzZXIo aGFuZGxlcywKKwkJCSAgIHU2NF90b191c2VyX3B0cihhcmdzLT5oYW5kbGVzKSwKKwkJCSAgIHNp emVvZih1aW50MzJfdCkgKiBhcmdzLT5jb3VudF9oYW5kbGVzKSkgeworCQlyZXQgPSAtRUZBVUxU OworCQlnb3RvIGVycl9mcmVlX2hhbmRsZXM7CisJfQorCisJZmVuY2VzID0ga2NhbGxvYyhhcmdz LT5jb3VudF9oYW5kbGVzLAorCQkJIHNpemVvZihzdHJ1Y3QgZG1hX2ZlbmNlICopLCBHRlBfS0VS TkVMKTsKKwlpZiAoIWZlbmNlcykgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9mcmVl X2hhbmRsZXM7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGFyZ3MtPmNvdW50X2hhbmRsZXM7IGkr KykgeworCQlyZXQgPSBkcm1fc3luY29ial9mZW5jZV9nZXQoZmlsZV9wcml2YXRlLCBoYW5kbGVz W2ldLAorCQkJCQkgICAgJmZlbmNlc1tpXSk7CisJCWlmIChyZXQpCisJCQlnb3RvIGVycl9mcmVl X2ZlbmNlX2FycmF5OworCX0KKworCXJldCA9IGRybV9zeW5jb2JqX3dhaXRfZmVuY2VzKGRldiwg ZmlsZV9wcml2YXRlLAorCQkJCSAgICAgIGFyZ3MsIGZlbmNlcyk7CisKK2Vycl9mcmVlX2ZlbmNl X2FycmF5OgorCWZvciAoaSA9IDA7IGkgPCBhcmdzLT5jb3VudF9oYW5kbGVzOyBpKyspCisJCWRt YV9mZW5jZV9wdXQoZmVuY2VzW2ldKTsKKwlrZnJlZShmZW5jZXMpOworZXJyX2ZyZWVfaGFuZGxl czoKKwlrZnJlZShoYW5kbGVzKTsKKworCXJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9pbmNs dWRlL3VhcGkvZHJtL2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaAppbmRleCAxMDE1OTNh Li4wNzU3YzFhIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCisrKyBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtLmgKQEAgLTcxOCw2ICs3MTgsMTcgQEAgc3RydWN0IGRybV9zeW5jb2Jq X2hhbmRsZSB7CiAJX191MzIgcGFkOwogfTsKIAorI2RlZmluZSBEUk1fU1lOQ09CSl9XQUlUX0ZM QUdTX1dBSVRfQUxMICgxIDw8IDApCitzdHJ1Y3QgZHJtX3N5bmNvYmpfd2FpdCB7CisJX191NjQg aGFuZGxlczsKKwkvKiBhYnNvbHV0ZSB0aW1lb3V0ICovCisJX19zNjQgdGltZW91dF9uc2VjOwor CV9fdTMyIGNvdW50X2hhbmRsZXM7CisJX191MzIgZmxhZ3M7CisJX191MzIgZmlyc3Rfc2lnbmFs ZWQ7IC8qIG9ubHkgdmFsaWQgd2hlbiBub3Qgd2FpdGluZyBhbGwgKi8KKwlfX3UzMiBwYWQ7Cit9 OworCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgpAQCAtODQwLDYgKzg1MSw3 IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fSU9DVExfU1lOQ09CSl9ERVNUUk9ZCURSTV9J T1dSKDB4QzAsIHN0cnVjdCBkcm1fc3luY29ial9kZXN0cm95KQogI2RlZmluZSBEUk1fSU9DVExf U1lOQ09CSl9IQU5ETEVfVE9fRkQJRFJNX0lPV1IoMHhDMSwgc3RydWN0IGRybV9zeW5jb2JqX2hh bmRsZSkKICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfRkRfVE9fSEFORExFCURSTV9JT1dSKDB4 QzIsIHN0cnVjdCBkcm1fc3luY29ial9oYW5kbGUpCisjZGVmaW5lIERSTV9JT0NUTF9TWU5DT0JK X1dBSVQJCURSTV9JT1dSKDB4QzMsIHN0cnVjdCBkcm1fc3luY29ial93YWl0KQogCiAvKioKICAq IERldmljZSBzcGVjaWZpYyBpb2N0bHMgc2hvdWxkIG9ubHkgYmUgaW4gdGhlaXIgcmVzcGVjdGl2 ZSBoZWFkZXJzCi0tIAoyLjkuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==