From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Ekstrand Subject: [PATCH 08/10] drm/syncobj: Add a syncobj_array_find helper Date: Fri, 25 Aug 2017 10:52:26 -0700 Message-ID: <1503683548-23548-8-git-send-email-jason.ekstrand@intel.com> References: <1503683548-23548-1-git-send-email-jason.ekstrand@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8B91A6E8E9 for ; Fri, 25 Aug 2017 17:52:49 +0000 (UTC) Received: by mail-pg0-x244.google.com with SMTP id t3so643456pgt.5 for ; Fri, 25 Aug 2017 10:52:49 -0700 (PDT) In-Reply-To: <1503683548-23548-1-git-send-email-jason.ekstrand@intel.com> 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: Jason Ekstrand , Jason Ekstrand List-Id: dri-devel@lists.freedesktop.org VGhlIHdhaXQgaW9jdGwgaGFzIGEgYnVuY2ggb2YgY29kZSB0byByZWFkIGFuIHN5bmNvYmogaGFu ZGxlIGFycmF5IGZyb20KdXNlcnNwYWNlIGFuZCB0dXJuIGl0IGludG8gYW4gYXJyYXkgb2Ygc3lu Y29iaiBwb2ludGVycy4gIFdlJ3JlIGFib3V0IHRvCmFkZCB0d28gbmV3IElPQ1RMcyB3aGljaCB3 aWxsIG5lZWQgdG8gd29yayB3aXRoIGFycmF5cyBvZiBzeW5jb2JqCmhhbmRsZXMgc28gbGV0J3Mg bWFrZSBzb21lIGhlbHBlcnMuCgpTaWduZWQtb2ZmLWJ5OiBKYXNvbiBFa3N0cmFuZCA8amFzb25A amxla3N0cmFuZC5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgfCA4OSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNTggaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwpp bmRleCBjY2NkM2JkLi4xNWU3NGNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5 bmNvYmouYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwpAQCAtNzk4LDU4ICs3 OTgsNDMgQEAgc3RhdGljIGludCBkcm1fc3luY29ial9hcnJheV93YWl0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJcmV0dXJuIDA7CiB9CiAKLWludAotZHJtX3N5bmNvYmpfd2FpdF9pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAotCQkgICAgICAgc3RydWN0IGRybV9m aWxlICpmaWxlX3ByaXZhdGUpCitzdGF0aWMgaW50IGRybV9zeW5jb2JqX2FycmF5X2ZpbmQoc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkJICB2b2lkICp1c2VyX2hhbmRsZXMsIHVp bnQzMl90IGNvdW50X2hhbmRsZXMsCisJCQkJICBzdHJ1Y3QgZHJtX3N5bmNvYmogKioqc3luY29i anNfb3V0KQogewotCXN0cnVjdCBkcm1fc3luY29ial93YWl0ICphcmdzID0gZGF0YTsKLQl1aW50 MzJfdCAqaGFuZGxlczsKKwl1aW50MzJfdCBpLCAqaGFuZGxlczsKIAlzdHJ1Y3QgZHJtX3N5bmNv YmogKipzeW5jb2JqczsKLQlpbnQgcmV0ID0gMDsKLQl1aW50MzJfdCBpOwotCi0JaWYgKCFkcm1f Y29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX1NZTkNPQkopKQotCQlyZXR1cm4gLUVOT0RF VjsKLQotCWlmIChhcmdzLT5mbGFncyAmIH4oRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0FM TCB8Ci0JCQkgICAgRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0ZPUl9TVUJNSVQpKQotCQly ZXR1cm4gLUVJTlZBTDsKLQotCWlmIChhcmdzLT5jb3VudF9oYW5kbGVzID09IDApCi0JCXJldHVy biAtRUlOVkFMOworCWludCByZXQ7CiAKLQkvKiBHZXQgdGhlIGhhbmRsZXMgZnJvbSB1c2Vyc3Bh Y2UgKi8KLQloYW5kbGVzID0ga21hbGxvY19hcnJheShhcmdzLT5jb3VudF9oYW5kbGVzLCBzaXpl b2YodWludDMyX3QpLAotCQkJCUdGUF9LRVJORUwpOworCWhhbmRsZXMgPSBrbWFsbG9jX2FycmF5 KGNvdW50X2hhbmRsZXMsIHNpemVvZigqaGFuZGxlcyksIEdGUF9LRVJORUwpOwogCWlmIChoYW5k bGVzID09IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JaWYgKGNvcHlfZnJvbV91c2VyKGhh bmRsZXMsCi0JCQkgICB1NjRfdG9fdXNlcl9wdHIoYXJncy0+aGFuZGxlcyksCi0JCQkgICBzaXpl b2YodWludDMyX3QpICogYXJncy0+Y291bnRfaGFuZGxlcykpIHsKKwlpZiAoY29weV9mcm9tX3Vz ZXIoaGFuZGxlcywgdXNlcl9oYW5kbGVzLAorCQkJICAgc2l6ZW9mKHVpbnQzMl90KSAqIGNvdW50 X2hhbmRsZXMpKSB7CiAJCXJldCA9IC1FRkFVTFQ7CiAJCWdvdG8gZXJyX2ZyZWVfaGFuZGxlczsK IAl9CiAKLQlzeW5jb2JqcyA9IGtjYWxsb2MoYXJncy0+Y291bnRfaGFuZGxlcywKLQkJCSAgIHNp emVvZihzdHJ1Y3QgZHJtX3N5bmNvYmogKiksIEdGUF9LRVJORUwpOwotCWlmICghc3luY29ianMp IHsKKwlzeW5jb2JqcyA9IGttYWxsb2NfYXJyYXkoY291bnRfaGFuZGxlcywgc2l6ZW9mKCpzeW5j b2JqcyksIEdGUF9LRVJORUwpOworCWlmIChzeW5jb2JqcyA9PSBOVUxMKSB7CiAJCXJldCA9IC1F Tk9NRU07CiAJCWdvdG8gZXJyX2ZyZWVfaGFuZGxlczsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwg YXJncy0+Y291bnRfaGFuZGxlczsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGNvdW50X2hhbmRs ZXM7IGkrKykgewogCQlzeW5jb2Jqc1tpXSA9IGRybV9zeW5jb2JqX2ZpbmQoZmlsZV9wcml2YXRl LCBoYW5kbGVzW2ldKTsKIAkJaWYgKCFzeW5jb2Jqc1tpXSkgewogCQkJcmV0ID0gLUVOT0VOVDsK LQkJCWdvdG8gZXJyX2ZyZWVfZmVuY2VfYXJyYXk7CisJCQlnb3RvIGVycl9wdXRfc3luY29ianM7 CiAJCX0KIAl9CiAKLQlyZXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0KGRldiwgZmlsZV9wcml2 YXRlLAotCQkJCSAgICAgYXJncywgc3luY29ianMpOworCWtmcmVlKGhhbmRsZXMpOworCSpzeW5j b2Jqc19vdXQgPSBzeW5jb2JqczsKKwlyZXR1cm4gMDsKIAotZXJyX2ZyZWVfZmVuY2VfYXJyYXk6 CitlcnJfcHV0X3N5bmNvYmpzOgogCXdoaWxlIChpLS0gPiAwKQogCQlkcm1fc3luY29ial9wdXQo c3luY29ianNbaV0pOwogCWtmcmVlKHN5bmNvYmpzKTsKQEAgLTg1OCwzICs4NDMsNDUgQEAgZHJt X3N5bmNvYmpfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAog CiAJcmV0dXJuIHJldDsKIH0KKworc3RhdGljIHZvaWQgZHJtX3N5bmNvYmpfYXJyYXlfZnJlZShz dHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcywKKwkJCQkgICB1aW50MzJfdCBjb3VudCkKK3sK Kwl1aW50MzJfdCBpOworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorCQlkcm1fc3luY29i al9wdXQoc3luY29ianNbaV0pOworCWtmcmVlKHN5bmNvYmpzKTsKK30KKworaW50Citkcm1fc3lu Y29ial93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCSAg ICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX3N5bmNv Ympfd2FpdCAqYXJncyA9IGRhdGE7CisJc3RydWN0IGRybV9zeW5jb2JqICoqc3luY29ianM7CisJ aW50IHJldCA9IDA7CisKKwlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJf U1lOQ09CSikpCisJCXJldHVybiAtRU5PREVWOworCisJaWYgKGFyZ3MtPmZsYWdzICYgfihEUk1f U1lOQ09CSl9XQUlUX0ZMQUdTX1dBSVRfQUxMIHwKKwkJCSAgICBEUk1fU1lOQ09CSl9XQUlUX0ZM QUdTX1dBSVRfRk9SX1NVQk1JVCkpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGFyZ3MtPmNv dW50X2hhbmRsZXMgPT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSBkcm1fc3luY29i al9hcnJheV9maW5kKGZpbGVfcHJpdmF0ZSwKKwkJCQkgICAgIHU2NF90b191c2VyX3B0cihhcmdz LT5oYW5kbGVzKSwKKwkJCQkgICAgIGFyZ3MtPmNvdW50X2hhbmRsZXMsCisJCQkJICAgICAmc3lu Y29ianMpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gZHJtX3N5bmNv YmpfYXJyYXlfd2FpdChkZXYsIGZpbGVfcHJpdmF0ZSwKKwkJCQkgICAgIGFyZ3MsIHN5bmNvYmpz KTsKKworCWRybV9zeW5jb2JqX2FycmF5X2ZyZWUoc3luY29ianMsIGFyZ3MtPmNvdW50X2hhbmRs ZXMpOworCisJcmV0dXJuIHJldDsKK30KLS0gCjIuNS4wLjQwMC5nZmY4NmZhZgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==