From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 2/5] drm/syncobj: add sync obj wait interface. (v2) Date: Fri, 12 May 2017 10:34:54 +1000 Message-ID: <20170512003457.24936-3-airlied@gmail.com> References: <20170512003457.24936-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170512003457.24936-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgaW50ZXJmYWNlIHdp bGwgYWxsb3cgc3luYyBvYmplY3QgdG8gYmUgdXNlZCB0byBiYWNrClZ1bGthbiBmZW5jZXMuIFRo aXMgQVBJIGlzIHByZXR0eSBtdWNoIHRoZSB2dWxrYW4gZmVuY2Ugd2FpdGluZwpBUEksIGFuZCBJ J3ZlIHBvcnRlZCB0aGUgY29kZSBmcm9tIGFtZGdwdS4KCnYyOiBhY2NlcHQgcmVsYXRpdmUgdGlt ZW91dCwgcGFzcyByZW1haW5pbmcgdGltZSBiYWNrCnRvIHVzZXJzcGFjZS4KClNpZ25lZC1vZmYt Ynk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2RybV9pbnRlcm5hbC5oIHwgICAyICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyAgICB8 ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYyAgfCAxMzkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGluY2x1ZGUvdWFwaS9kcm0vZHJtLmggICAg ICAgICB8ICAxMiArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oCmluZGV4IDQ0ZWY5MDMuLmE1MDhhZDkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2ludGVybmFsLmgKQEAgLTE1NiwzICsxNTYsNSBAQCBpbnQgZHJtX3N5bmNvYmpf aGFuZGxlX3RvX2ZkX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJ CQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogaW50IGRybV9zeW5jb2JqX2Zk X3RvX2hhbmRsZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJ CSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKK2ludCBkcm1fc3luY29ial93YWl0 X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgICBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKaW5kZXggNmRhN2FkYy4uYjE0 MjQ2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1faW9jdGwuYwpAQCAtNjUzLDYgKzY1Myw4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewogCQkgICAgICBEUk1fVU5MT0NL RUR8RFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9G RF9UT19IQU5ETEUsIGRybV9zeW5jb2JqX2ZkX3RvX2hhbmRsZV9pb2N0bCwKIAkJICAgICAgRFJN X1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZ TkNPQkpfV0FJVCwgZHJtX3N5bmNvYmpfd2FpdF9pb2N0bCwKKwkJICAgICAgRFJNX1VOTE9DS0VE fERSTV9SRU5ERVJfQUxMT1cpLAogfTsKIAogI2RlZmluZSBEUk1fQ09SRV9JT0NUTF9DT1VOVAlB UlJBWV9TSVpFKCBkcm1faW9jdGxzICkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f c3luY29iai5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKaW5kZXggODM1ZTk4Ny4u OWE4YzY5MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTEsNSArMSw3IEBACiAvKgogICogQ29w eXJpZ2h0IDIwMTcgUmVkIEhhdAorICogUGFydHMgcG9ydGVkIGZyb20gYW1kZ3B1IChmZW5jZSB3 YWl0IGNvZGUpLgorICogQ29weXJpZ2h0IDIwMTYgQWR2YW5jZWQgTWljcm8gRGV2aWNlcywgSW5j LgogICoKICAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCiAgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLApAQCAtMzEsMTAg KzMzLDEzIEBACiAgKiB0aGF0IGNvbnRhaW4gYW4gb3B0aW9uYWwgZmVuY2UuIFRoZSBmZW5jZSBj YW4gYmUgdXBkYXRlZCB3aXRoIGEgbmV3CiAgKiBmZW5jZSwgb3IgYmUgTlVMTC4KICAqCisgKiBz eW5jb2JqJ3MgY2FuIGJlIHdhaXRlZCB1cG9uLCB3aGVyZSBpdCB3aWxsIHdhaXQgZm9yIHRoZSB1 bmRlcmx5aW5nCisgKiBmZW5jZS4KKyAqCiAgKiBzeW5jb2JqJ3MgY2FuIGJlIGV4cG9ydCB0byBm ZCdzIGFuZCBiYWNrLCB0aGVzZSBmZCdzIGFyZSBvcGFxdWUgYW5kCiAgKiBoYXZlIG5vIG90aGVy IHVzZSBjYXNlLCBleGNlcHQgcGFzc2luZyB0aGUgc3luY29iaiBiZXR3ZWVuIHByb2Nlc3Nlcy4K ICAqCi0gKiBUT0RPOiBzeW5jX2ZpbGUgaW50ZXJhY3Rpb25zLCB3YWl0aW5nCisgKiBUT0RPOiBz eW5jX2ZpbGUgaW50ZXJhY3Rpb25zLgogICoKICAqIFRoZWlyIHByaW1hcnkgdXNlLWNhc2UgaXMg dG8gaW1wbGVtZW50IFZ1bGthbiBmZW5jZXMgYW5kIHNlbWFwaG9yZXMuCiAgKgpAQCAtMzgzLDMg KzM4OCwxMzUgQEAgZHJtX3N5bmNvYmpfZmRfdG9faGFuZGxlX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJcmV0dXJuIGRybV9zeW5jb2JqX2ZkX3RvX2hhbmRsZShm aWxlX3ByaXZhdGUsIGFyZ3MtPmZkLAogCQkJCQkmYXJncy0+aGFuZGxlKTsKIH0KKworc3RhdGlj IGludCBkcm1fc3luY29ial93YWl0X2FsbF9mZW5jZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK KwkJCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkJICAgICAgIHN0 cnVjdCBkcm1fc3luY29ial93YWl0ICp3YWl0LAorCQkJCSAgICAgICB1aW50MzJfdCAqaGFuZGxl cykKK3sKKwl1aW50MzJfdCBpOworCWludCByZXQgPSAwOworCXVuc2lnbmVkIGxvbmcgdGltZW91 dCA9IG5zZWNzX3RvX2ppZmZpZXMod2FpdC0+dGltZW91dF9ucyk7CisKKwlmb3IgKGkgPSAwOyBp IDwgd2FpdC0+Y291bnRfaGFuZGxlczsgaSsrKSB7CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl OworCisJCXJldCA9IGRybV9zeW5jb2JqX2ZlbmNlX2dldChmaWxlX3ByaXZhdGUsIGhhbmRsZXNb aV0sCisJCQkJCSAgICAmZmVuY2UpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKworCQlp ZiAoIWZlbmNlKQorCQkJY29udGludWU7CisKKwkJcmV0ID0gZG1hX2ZlbmNlX3dhaXRfdGltZW91 dChmZW5jZSwgdHJ1ZSwgdGltZW91dCk7CisKKwkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7CisJCWlm IChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKwkJaWYgKHJldCA9PSAwKQorCQkJYnJlYWs7CisJ CXRpbWVvdXQgPSByZXQ7CisJfQorCisJaWYgKHJldCA+IDApCisJCXdhaXQtPnRpbWVvdXRfbnMg PSBqaWZmaWVzX3RvX25zZWNzKHJldCk7CisJd2FpdC0+b3V0X3N0YXR1cyA9IChyZXQgPiAwKTsK Kwl3YWl0LT5maXJzdF9zaWduYWxlZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg ZHJtX3N5bmNvYmpfd2FpdF9hbnlfZmVuY2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkg ICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKKwkJCQkgICAgICBzdHJ1Y3QgZHJt X3N5bmNvYmpfd2FpdCAqd2FpdCwKKwkJCQkgICAgICB1aW50MzJfdCAqaGFuZGxlcykKK3sKKwl1 bnNpZ25lZCBsb25nIHRpbWVvdXQgPSBuc2Vjc190b19qaWZmaWVzKHdhaXQtPnRpbWVvdXRfbnMp OworCXN0cnVjdCBkbWFfZmVuY2UgKiphcnJheTsKKwl1aW50MzJfdCBpOworCWludCByZXQ7CisJ dWludDMyX3QgZmlyc3QgPSB+MDsKKworCS8qIFByZXBhcmUgdGhlIGZlbmNlIGFycmF5ICovCisJ YXJyYXkgPSBrY2FsbG9jKHdhaXQtPmNvdW50X2hhbmRsZXMsCisJCQlzaXplb2Yoc3RydWN0IGRt YV9mZW5jZSAqKSwgR0ZQX0tFUk5FTCk7CisKKwlpZiAoYXJyYXkgPT0gTlVMTCkKKwkJcmV0dXJu IC1FTk9NRU07CisKKwlmb3IgKGkgPSAwOyBpIDwgd2FpdC0+Y291bnRfaGFuZGxlczsgaSsrKSB7 CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOworCisJCXJldCA9IGRybV9zeW5jb2JqX2ZlbmNl X2dldChmaWxlX3ByaXZhdGUsIGhhbmRsZXNbaV0sCisJCQkJCSAgICAmZmVuY2UpOworCQlpZiAo cmV0KQorCQkJZ290byBlcnJfZnJlZV9mZW5jZV9hcnJheTsKKwkJZWxzZSBpZiAoZmVuY2UpCisJ CQlhcnJheVtpXSA9IGZlbmNlOworCQllbHNlIHsgLyogTlVMTCwgdGhlIGZlbmNlIGhhcyBiZWVu IGFscmVhZHkgc2lnbmFsZWQgKi8KKwkJCXJldCA9IDE7CisJCQlnb3RvIG91dDsKKwkJfQorCX0K KworCXJldCA9IGRtYV9mZW5jZV93YWl0X2FueV90aW1lb3V0KGFycmF5LCB3YWl0LT5jb3VudF9o YW5kbGVzLCB0cnVlLCB0aW1lb3V0LAorCQkJCQkgJmZpcnN0KTsKKwlpZiAocmV0IDwgMCkKKwkJ Z290byBlcnJfZnJlZV9mZW5jZV9hcnJheTsKK291dDoKKwlpZiAocmV0ID4gMCkKKwkJd2FpdC0+ dGltZW91dF9ucyA9IGppZmZpZXNfdG9fbnNlY3MocmV0KTsKKwl3YWl0LT5vdXRfc3RhdHVzID0g KHJldCA+IDApOworCXdhaXQtPmZpcnN0X3NpZ25hbGVkID0gZmlyc3Q7CisJLyogc2V0IHJldHVy biB2YWx1ZSAwIHRvIGluZGljYXRlIHN1Y2Nlc3MgKi8KKwlyZXQgPSAwOworCitlcnJfZnJlZV9m ZW5jZV9hcnJheToKKwlmb3IgKGkgPSAwOyBpIDwgd2FpdC0+Y291bnRfaGFuZGxlczsgaSsrKQor CQlkbWFfZmVuY2VfcHV0KGFycmF5W2ldKTsKKwlrZnJlZShhcnJheSk7CisKKwlyZXR1cm4gcmV0 OworfQorCitpbnQKK2RybV9zeW5jb2JqX3dhaXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKKwkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQor eworCXN0cnVjdCBkcm1fc3luY29ial93YWl0ICphcmdzID0gZGF0YTsKKwl1aW50MzJfdCAqaGFu ZGxlczsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYs IERSSVZFUl9TWU5DT0JKKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpZiAoYXJncy0+ZmxhZ3Mg IT0gMCAmJiBhcmdzLT5mbGFncyAhPSBEUk1fU1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQUxMKQor CQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChhcmdzLT5jb3VudF9oYW5kbGVzID09IDApCisJCXJl dHVybiAwOworCisJLyogR2V0IHRoZSBoYW5kbGVzIGZyb20gdXNlcnNwYWNlICovCisJaGFuZGxl cyA9IGttYWxsb2NfYXJyYXkoYXJncy0+Y291bnRfaGFuZGxlcywgc2l6ZW9mKHVpbnQzMl90KSwK KwkJCQlHRlBfS0VSTkVMKTsKKwlpZiAoaGFuZGxlcyA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01F TTsKKworCWlmIChjb3B5X2Zyb21fdXNlcihoYW5kbGVzLAorCQkJICAgKHZvaWQgX191c2VyICop KHVuc2lnbmVkIGxvbmcpKGFyZ3MtPmhhbmRsZXMpLAorCQkJICAgc2l6ZW9mKHVpbnQzMl90KSAq IGFyZ3MtPmNvdW50X2hhbmRsZXMpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gZXJyX2Zy ZWVfaGFuZGxlczsKKwl9CisKKwlpZiAoYXJncy0+ZmxhZ3MgJiBEUk1fU1lOQ09CSl9XQUlUX0ZM QUdTX1dBSVRfQUxMKQorCQlyZXQgPSBkcm1fc3luY29ial93YWl0X2FsbF9mZW5jZXMoZGV2LCBm aWxlX3ByaXZhdGUsCisJCQkJCQkgIGFyZ3MsIGhhbmRsZXMpOworCWVsc2UKKwkJcmV0ID0gZHJt X3N5bmNvYmpfd2FpdF9hbnlfZmVuY2UoZGV2LCBmaWxlX3ByaXZhdGUsCisJCQkJCQkgYXJncywg aGFuZGxlcyk7CitlcnJfZnJlZV9oYW5kbGVzOgorCWtmcmVlKGhhbmRsZXMpOworCisJcmV0dXJu IHJldDsKK30KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmggYi9pbmNsdWRlL3Vh cGkvZHJtL2RybS5oCmluZGV4IGRkMGI5OWMuLmRiOWUzNWUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv dWFwaS9kcm0vZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9kcm0uaApAQCAtNzE2LDYgKzcx NiwxNyBAQCBzdHJ1Y3QgZHJtX3N5bmNvYmpfaGFuZGxlIHsKIAlfX3UzMiBwYWQ7CiB9OwogCisv KiB0aW1lb3V0X25zIGlzIHJlbGF0aXZlIHRpbWVvdXQgaW4gbmFub3NlY29uZHMgKi8KKyNkZWZp bmUgRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0FMTCAoMSA8PCAwKQorc3RydWN0IGRybV9z eW5jb2JqX3dhaXQgeworCV9fdTY0IGhhbmRsZXM7CisJX191NjQgdGltZW91dF9uczsKKwlfX3Uz MiBjb3VudF9oYW5kbGVzOworCV9fdTMyIGZsYWdzOworCV9fdTMyIG91dF9zdGF0dXM7CisJX191 MzIgZmlyc3Rfc2lnbmFsZWQ7IC8qIG9uIHZhbGlkIHdoZW4gbm90IHdhaXRpbmcgYWxsICovCit9 OworCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgpAQCAtODM4LDYgKzg0OSw3 IEBAIGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fSU9DVExfU1lOQ09CSl9ERVNUUk9ZCURSTV9J T1dSKDB4QzAsIHN0cnVjdCBkcm1fc3luY29ial9kZXN0cm95KQogI2RlZmluZSBEUk1fSU9DVExf U1lOQ09CSl9IQU5ETEVfVE9fRkQJRFJNX0lPV1IoMHhDMSwgc3RydWN0IGRybV9zeW5jb2JqX2hh bmRsZSkKICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfRkRfVE9fSEFORExFCURSTV9JT1dSKDB4 QzIsIHN0cnVjdCBkcm1fc3luY29ial9oYW5kbGUpCisjZGVmaW5lIERSTV9JT0NUTF9TWU5DT0JK X1dBSVQJCURSTV9JT1dSKDB4QzMsIHN0cnVjdCBkcm1fc3luY29ial93YWl0KQogCiAvKioKICAq IERldmljZSBzcGVjaWZpYyBpb2N0bHMgc2hvdWxkIG9ubHkgYmUgaW4gdGhlaXIgcmVzcGVjdGl2 ZSBoZWFkZXJzCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==