From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 6/8] drm/syncobj: add semaphore support helpers. Date: Tue, 4 Apr 2017 14:27:31 +1000 Message-ID: <20170404042733.17203-7-airlied@gmail.com> References: <20170404042733.17203-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 87D976E527 for ; Tue, 4 Apr 2017 04:27:42 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0EE45C04B92D for ; Tue, 4 Apr 2017 04:27:42 +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 79CB57DE10 for ; Tue, 4 Apr 2017 04:27:41 +0000 (UTC) In-Reply-To: <20170404042733.17203-1-airlied@gmail.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 List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBhZGRzIHR3 byBoZWxwZXIgaW50ZXJmYWNlcyB0byBicmlkZ2UgdGhlIGdhcCBmcm9tCmRyaXZlcnMgdG8gc3lu Y19maWxlIGZvciB0aGUgc2VtYXBob3JlIG9iamVjdHMuCgpUaGVzZSB3aWxsIGJlIHVzZWQgYnkg dGhlIGFtZGdwdSBkcml2ZXIuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEBy ZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jIHwgNzIgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX3N5 bmNvYmouaCAgICAgfCAzNyArKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDEwOSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kcm0vZHJtX3N5 bmNvYmouaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKaW5kZXggYTNhMWFjZS4uNmYxYjYxZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9zeW5jb2JqLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgog I2luY2x1ZGUgPGxpbnV4L3N5bmNfZmlsZS5oPgogI2luY2x1ZGUgImRybV9pbnRlcm5hbC5oIgor I2luY2x1ZGUgPGRybS9kcm1fc3luY29iai5oPgogCiBzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAq ZHJtX3N5bmNvYmpfZmlsZV9sb29rdXAoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCiAJ CQkJCQkgdTMyIGhhbmRsZSkKQEAgLTU1LDYgKzU2LDc3IEBAIHN0YXRpYyBzdHJ1Y3Qgc3luY19m aWxlICpkcm1fc3luY29ial9maWxlX2xvb2t1cChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0 ZSwKIAlyZXR1cm4gc3luY19maWxlOwogfQogCitzdGF0aWMgaW50IGRybV9zeW5jb2JqX3N3YXBf ZmVuY2VzX25vY2hlY2soc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkJCSAgIHVp bnQzMl90IGhhbmRsZSwKKwkJCQkJICAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsCisJCQkJCSAg IHN0cnVjdCBkbWFfZmVuY2UgKipvbGRfZmVuY2UpCit7CisJc3RydWN0IHN5bmNfZmlsZSAqc3lu Y19maWxlID0gZHJtX3N5bmNvYmpfZmlsZV9sb29rdXAoZmlsZV9wcml2YXRlLCBoYW5kbGUpOwor CisJaWYgKCFzeW5jX2ZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJKm9sZF9mZW5jZSA9IHN5 bmNfZmlsZV9yZXBsYWNlX2ZlbmNlKHN5bmNfZmlsZSwgZmVuY2UpOworCXJldHVybiAwOworfQor CisvKioKKyAqIGRybV9zeW5jb2JqX3N3YXBfZmVuY2VzIC0gbG9va3VwIGFuZCByZXBsYWNlIGZl bmNlIGluIGEgc3luYyBvYmplY3QuCisgKiBAZmlsZV9wcml2YXRlIC0gZHJtIGZpbGUgcHJpdmF0 ZSBwb2ludGVyLgorICogQGhhbmRsZSAtIHN5bmMgb2JqZWN0IGhhbmRsZQorICogQGZlbmNlIC0g bmV3IGZlbmNlIChvciBOVUxMKSB0byBiYWNrIHN5bmMgb2JqZWN0LgorICogQG9sZF9mZW5jZSAt IG9sZCBmZW5jZSBiYWNraW5nIHN5bmMgb2JqZWN0LgorICogUmV0dXJuczogT2xkIGZlbmNlCisg KgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHN3YXAgdGhlIGZlbmNlIGJhY2tpbmcgdGhl IHN5bmMgb2JqZWN0CisgKiB3aXRoIGEgbmV3IG9uZSwgaXQgcmV0dXJucyB0aGUgb2xkIGZlbmNl IGluIG9sZF9mZW5jZTsKKyAqLworaW50IGRybV9zeW5jb2JqX3N3YXBfZmVuY2VzKHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2YXRlLAorCQkJICAgIHVpbnQzMl90IGhhbmRsZSwKKwkJCSAgICBz dHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwKKwkJCSAgICBzdHJ1Y3QgZG1hX2ZlbmNlICoqb2xkX2Zl bmNlKQoreworCWludCByOworCisJciA9IGRybV9zeW5jb2JqX3N3YXBfZmVuY2VzX25vY2hlY2so ZmlsZV9wcml2YXRlLAorCQkJCQkgICAgaGFuZGxlLAorCQkJCQkgICAgZmVuY2UsCisJCQkJCSAg ICBvbGRfZmVuY2UpOworCWlmIChyKQorCQlyZXR1cm4gcjsKKworCisJaWYgKCEqb2xkX2ZlbmNl KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3N5 bmNvYmpfc3dhcF9mZW5jZXMpOworCisvKioKKyAqIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Ug LSBsb29rdXAgYW5kIHJlcGxhY2UgZmVuY2UgaW4gYSBzeW5jIG9iamVjdC4KKyAqIEBmaWxlX3By aXZhdGUgLSBkcm0gZmlsZSBwcml2YXRlIHBvaW50ZXIuCisgKiBAaGFuZGxlIC0gc3luY29iaiBo YW5kbGUgdG8gbG9va3VwCisgKiBAZmVuY2UgLSBmZW5jZSB0byBpbnN0YWxsIGluIHN5bmMgZmls ZS4KKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciAtRUlOVkFMIG9uIGVycm9yCisgKgorICog VGhpcyBsb29rcyB1cCBhIHN5bmMgb2JqZWN0IGFuZCByZXBsYWNlcyB0aGUgZmVuY2Ugb24gaXQs IGZyZWVpbmcKKyAqIHRoZSBvbGQgb25lLgorICovCitpbnQgZHJtX3N5bmNvYmpfcmVwbGFjZV9m ZW5jZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKKwkJCSAgICAgIHUzMiBoYW5kbGUs CisJCQkgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKK3sKKwlzdHJ1Y3QgZG1hX2ZlbmNl ICpvbGRfZmVuY2U7CisJaW50IHI7CisKKwlyID0gZHJtX3N5bmNvYmpfc3dhcF9mZW5jZXNfbm9j aGVjayhmaWxlX3ByaXZhdGUsIGhhbmRsZSwgZmVuY2UsICZvbGRfZmVuY2UpOworCWlmIChyKQor CQlyZXR1cm4gcjsKKwlkbWFfZmVuY2VfcHV0KG9sZF9mZW5jZSk7CisJcmV0dXJuIDA7Cit9CitF WFBPUlRfU1lNQk9MKGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UpOworCiBzdGF0aWMgaW50IGRy bV9zeW5jb2JqX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIAkJCQkgIHVu c2lnbmVkIHR5cGUsCiAJCQkJICB1bnNpZ25lZCBmbGFncywgdTMyICpoYW5kbGUpCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oIGIvaW5jbHVkZS9kcm0vZHJtX3N5bmNvYmou aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjE0ZTA2Ci0tLSAvZGV2L251 bGwKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3N5bmNvYmouaApAQCAtMCwwICsxLDM3IEBACisvKgor ICogQ29weXJpZ2h0IMKpIDIwMTcgUmVkIEhhdAorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5 IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisgKiBj b3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAo dGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0 cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1 c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2Us CisgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBl cnNvbnMgdG8gd2hvbSB0aGUKKyAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKgorICogVGhlIGFib3ZlIGNvcHly aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4 dAorICogcGFyYWdyYXBoKSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0 YW50aWFsIHBvcnRpb25zIG9mIHRoZQorICogU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF U1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQVVU SE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF UyBPUiBPVEhFUgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD VCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05O RUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKKyAq IElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKiBBdXRob3JzOgorICoKKyAqLworI2lmbmRlZiBfX0RS TV9TWU5DT0JKX0hfXworI2RlZmluZSBfX0RSTV9TWU5DT0JKX0hfXworCitpbnQgZHJtX3N5bmNv Ympfc3dhcF9mZW5jZXMoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkgICAgdWlu dDMyX3QgaGFuZGxlLAorCQkJICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAorCQkJICAgIHN0 cnVjdCBkbWFfZmVuY2UgKipvbGRfZmVuY2UpOworaW50IGRybV9zeW5jb2JqX3JlcGxhY2VfZmVu Y2Uoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkgICAgICB1MzIgaGFuZGxlLAor CQkJICAgICAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpOworCisjZW5kaWYKLS0gCjIuOS4zCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK