From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 6/8] drm/syncobj: add semaphore support helpers. (v2) Date: Wed, 12 Apr 2017 14:57:24 +1000 Message-ID: <20170412045726.13689-7-airlied@gmail.com> References: <20170412045726.13689-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170412045726.13689-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBhZGRzIHR3 byBoZWxwZXIgaW50ZXJmYWNlcyB0byBicmlkZ2UgdGhlIGdhcCBmcm9tCmRyaXZlcnMgdG8gc3lu Y19maWxlIGZvciB0aGUgc2VtYXBob3JlIG9iamVjdHMuCgpUaGVzZSB3aWxsIGJlIHVzZWQgYnkg dGhlIGFtZGdwdSBkcml2ZXIuCgp2MjogZHJvcCBvbmUgb2YgdGhlIEFQSXMgYW5kIHJlcGxhY2Ug d2l0aCBhIGZlbmNlCmxvb2t1cCB0byBtYWtlIHRoZSBhbWRncHUgYXBpIG1vcmUgcm9idXN0LgoK U2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYyB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmggICAgIHwgMzYgKysr KysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygr KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmgKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f c3luY29iai5jCmluZGV4IDQ4MjdmOTAuLmZiMTM1YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fc3luY29iai5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jCkBA IC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRlIDxsaW51eC9z eW5jX2ZpbGUuaD4KICNpbmNsdWRlICJkcm1faW50ZXJuYWwuaCIKKyNpbmNsdWRlIDxkcm0vZHJt X3N5bmNvYmouaD4KIAogc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKmRybV9zeW5jb2JqX2dldChz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIAkJCQkJIHUzMiBoYW5kbGUpCkBAIC01Nyw2 ICs1OCw2NSBAQCBzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAqZHJtX3N5bmNvYmpfZ2V0KHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAogCXJldHVybiBzeW5jX2ZpbGU7CiB9CiAKK3N0YXRp YyBpbnQgZHJtX3N5bmNvYmpfc3dhcF9mZW5jZXNfbm9jaGVjayhzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGVfcHJpdmF0ZSwKKwkJCQkJICAgdWludDMyX3QgaGFuZGxlLAorCQkJCQkgICBzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZSwKKwkJCQkJICAgc3RydWN0IGRtYV9mZW5jZSAqKm9sZF9mZW5jZSkKK3sK KwlzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUgPSBkcm1fc3luY29ial9nZXQoZmlsZV9wcml2 YXRlLCBoYW5kbGUpOworCWludCByZXQ7CisKKwlpZiAoIXN5bmNfZmlsZSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlyZXQgPSBzeW5jX2ZpbGVfcmVwbGFjZV9mZW5jZShzeW5jX2ZpbGUsIGZlbmNl LCBvbGRfZmVuY2UpOworCWZwdXQoc3luY19maWxlLT5maWxlKTsKKwlyZXR1cm4gcmV0OworfQor CisvKioKKyAqIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UgLSBsb29rdXAgYW5kIHJlcGxhY2Ug ZmVuY2UgaW4gYSBzeW5jIG9iamVjdC4KKyAqIEBmaWxlX3ByaXZhdGUgLSBkcm0gZmlsZSBwcml2 YXRlIHBvaW50ZXIuCisgKiBAaGFuZGxlIC0gc3luY29iaiBoYW5kbGUgdG8gbG9va3VwCisgKiBA ZmVuY2UgLSBmZW5jZSB0byBpbnN0YWxsIGluIHN5bmMgZmlsZS4KKyAqIFJldHVybnM6CisgKiAw IG9uIHN1Y2Nlc3MsIG9yIC1FSU5WQUwgd2hlbiB0aGUgaGFuZGxlIGRvZXNuJ3QgcG9pbnQgYXQg YSB2YWxpZAorICogc3luY19maWxlIHdpdGggJVNZTkNfRklMRV9UWVBFX1NFTUFQSE9SRS4KKyAq CisgKiBUaGlzIGxvb2tzIHVwIGEgc3luYyBvYmplY3QgYW5kIHJlcGxhY2VzIHRoZSBmZW5jZSBv biBpdCwgZnJlZWluZworICogdGhlIG9sZCBvbmUuCisgKi8KK2ludCBkcm1fc3luY29ial9yZXBs YWNlX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAorCQkJICAgICAgdTMyIGhh bmRsZSwKKwkJCSAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQoreworCXN0cnVjdCBkbWFf ZmVuY2UgKm9sZF9mZW5jZTsKKwlpbnQgcjsKKworCXIgPSBkcm1fc3luY29ial9zd2FwX2ZlbmNl c19ub2NoZWNrKGZpbGVfcHJpdmF0ZSwgaGFuZGxlLCBmZW5jZSwgJm9sZF9mZW5jZSk7CisJaWYg KHIpCisJCXJldHVybiByOworCWRtYV9mZW5jZV9wdXQob2xkX2ZlbmNlKTsKKwlyZXR1cm4gMDsK K30KK0VYUE9SVF9TWU1CT0woZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZSk7CisKK2ludCBkcm1f c3luY29ial9mZW5jZV9nZXQoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkgIHUz MiBoYW5kbGUsCisJCQkgIHN0cnVjdCBkbWFfZmVuY2UgKipmZW5jZSkKK3sKKwlzdHJ1Y3Qgc3lu Y19maWxlICpzeW5jX2ZpbGUgPSBkcm1fc3luY29ial9nZXQoZmlsZV9wcml2YXRlLCBoYW5kbGUp OworCisJaWYgKCFzeW5jX2ZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJKmZlbmNlID0gc3lu Y19maWxlX2dldF9mZW5jZV9mcm9tX3N5bmNfZmlsZShzeW5jX2ZpbGUpOworCWlmICghKmZlbmNl KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3N5 bmNvYmpfZmVuY2VfZ2V0KTsKKwogc3RhdGljIGludCBkcm1fc3luY29ial9jcmVhdGUoc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCiAJCQkgICAgICB1bnNpZ25lZCB0eXBlLAogCQkJICAg ICAgdW5zaWduZWQgZmxhZ3MsIHUzMiAqaGFuZGxlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v ZHJtX3N5bmNvYmouaCBiL2luY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmgKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0YjY1OAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUv ZHJtL2RybV9zeW5jb2JqLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAy MDE3IFJlZCBIYXQKKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3 YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwK KyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu ZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks IG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwg Y29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl CisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxv d2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0 aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkg c2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBv ZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMg SVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVE LCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5U QUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZS SU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hU IEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX SVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBT T0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUu CisgKgorICogQXV0aG9yczoKKyAqCisgKi8KKyNpZm5kZWYgX19EUk1fU1lOQ09CSl9IX18KKyNk ZWZpbmUgX19EUk1fU1lOQ09CSl9IX18KKworaW50IGRybV9zeW5jb2JqX2ZlbmNlX2dldChzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKKwkJCSAgdTMyIGhhbmRsZSwKKwkJCSAgc3RydWN0 IGRtYV9mZW5jZSAqKmZlbmNlKTsKK2ludCBkcm1fc3luY29ial9yZXBsYWNlX2ZlbmNlKHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAorCQkJICAgICAgdTMyIGhhbmRsZSwKKwkJCSAgICAg IHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKKworI2VuZGlmCi0tIAoyLjkuMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxp c3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==