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, 11 Apr 2017 13:22:18 +1000 Message-ID: <20170411032220.21101-7-airlied@gmail.com> References: <20170411032220.21101-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170411032220.21101-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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBhZGRzIHR3 byBoZWxwZXIgaW50ZXJmYWNlcyB0byBicmlkZ2UgdGhlIGdhcCBmcm9tCmRyaXZlcnMgdG8gc3lu Y19maWxlIGZvciB0aGUgc2VtYXBob3JlIG9iamVjdHMuCgpUaGVzZSB3aWxsIGJlIHVzZWQgYnkg dGhlIGFtZGdwdSBkcml2ZXIuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEBy ZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jIHwgNzcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX3N5 bmNvYmouaCAgICAgfCAzNyArKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg MTE0IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2RybS9kcm1fc3lu Y29iai5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwppbmRleCA5OTg1ODkzLi42YjhmNTQ0IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX3N5bmNvYmouYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAj aW5jbHVkZSA8bGludXgvc3luY19maWxlLmg+CiAjaW5jbHVkZSAiZHJtX2ludGVybmFsLmgiCisj aW5jbHVkZSA8ZHJtL2RybV9zeW5jb2JqLmg+CiAKIHN0YXRpYyBzdHJ1Y3Qgc3luY19maWxlICpk cm1fc3luY29ial9nZXQoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCiAJCQkJCSB1MzIg aGFuZGxlKQpAQCAtNTcsNiArNTgsODIgQEAgc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKmRybV9z eW5jb2JqX2dldChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKIAlyZXR1cm4gc3luY19m aWxlOwogfQogCitzdGF0aWMgaW50IGRybV9zeW5jb2JqX3N3YXBfZmVuY2VzX25vY2hlY2soc3Ry dWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCisJCQkJCSAgIHVpbnQzMl90IGhhbmRsZSwKKwkJ CQkJICAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsCisJCQkJCSAgIHN0cnVjdCBkbWFfZmVuY2Ug KipvbGRfZmVuY2UpCit7CisJc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlID0gZHJtX3N5bmNv YmpfZ2V0KGZpbGVfcHJpdmF0ZSwgaGFuZGxlKTsKKworCWlmICghc3luY19maWxlKQorCQlyZXR1 cm4gLUVJTlZBTDsKKworCSpvbGRfZmVuY2UgPSBzeW5jX2ZpbGVfcmVwbGFjZV9mZW5jZShzeW5j X2ZpbGUsIGZlbmNlKTsKKwlmcHV0KHN5bmNfZmlsZS0+ZmlsZSk7CisJcmV0dXJuIDA7Cit9CisK Ky8qKgorICogZHJtX3N5bmNvYmpfc3dhcF9mZW5jZXMgLSBsb29rdXAgYW5kIHJlcGxhY2UgZmVu Y2UgaW4gYSBzeW5jIG9iamVjdC4KKyAqIEBmaWxlX3ByaXZhdGUgLSBkcm0gZmlsZSBwcml2YXRl IHBvaW50ZXIuCisgKiBAaGFuZGxlIC0gc3luYyBvYmplY3QgaGFuZGxlCisgKiBAZmVuY2UgLSBu ZXcgZmVuY2UgKG9yIE5VTEwpIHRvIGJhY2sgc3luYyBvYmplY3QuCisgKiBAb2xkX2ZlbmNlIC0g b2xkIGZlbmNlIGJhY2tpbmcgc3luYyBvYmplY3QuCisgKiBSZXR1cm5zOgorICogMCBvbiBzdWNj ZXNzLCBvciAtRUlOVkFMIHdoZW4gdGhlIGhhbmRsZSBkb2Vzbid0IHBvaW50IGF0IGEgdmFsaWQK KyAqIHN5bmNfZmlsZSB3aXRoICVTWU5DX0ZJTEVfVFlQRV9TRU1BUEhPUkUuCisgKgorICogVGhp cyBmdW5jdGlvbiBpcyB1c2VkIHRvIHN3YXAgdGhlIGZlbmNlIGJhY2tpbmcgdGhlIHN5bmMgb2Jq ZWN0CisgKiB3aXRoIGEgbmV3IG9uZSwgaXQgcmV0dXJucyB0aGUgb2xkIGZlbmNlIGluIG9sZF9m ZW5jZTsKKyAqLworaW50IGRybV9zeW5jb2JqX3N3YXBfZmVuY2VzKHN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2YXRlLAorCQkJICAgIHVpbnQzMl90IGhhbmRsZSwKKwkJCSAgICBzdHJ1Y3QgZG1h X2ZlbmNlICpmZW5jZSwKKwkJCSAgICBzdHJ1Y3QgZG1hX2ZlbmNlICoqb2xkX2ZlbmNlKQorewor CWludCByOworCisJciA9IGRybV9zeW5jb2JqX3N3YXBfZmVuY2VzX25vY2hlY2soZmlsZV9wcml2 YXRlLAorCQkJCQkgICAgaGFuZGxlLAorCQkJCQkgICAgZmVuY2UsCisJCQkJCSAgICBvbGRfZmVu Y2UpOworCWlmIChyKQorCQlyZXR1cm4gcjsKKworCisJaWYgKCEqb2xkX2ZlbmNlKQorCQlyZXR1 cm4gLUVJTlZBTDsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3N5bmNvYmpfc3dh cF9mZW5jZXMpOworCisvKioKKyAqIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UgLSBsb29rdXAg YW5kIHJlcGxhY2UgZmVuY2UgaW4gYSBzeW5jIG9iamVjdC4KKyAqIEBmaWxlX3ByaXZhdGUgLSBk cm0gZmlsZSBwcml2YXRlIHBvaW50ZXIuCisgKiBAaGFuZGxlIC0gc3luY29iaiBoYW5kbGUgdG8g bG9va3VwCisgKiBAZmVuY2UgLSBmZW5jZSB0byBpbnN0YWxsIGluIHN5bmMgZmlsZS4KKyAqIFJl dHVybnM6CisgKiAwIG9uIHN1Y2Nlc3MsIG9yIC1FSU5WQUwgd2hlbiB0aGUgaGFuZGxlIGRvZXNu J3QgcG9pbnQgYXQgYSB2YWxpZAorICogc3luY19maWxlIHdpdGggJVNZTkNfRklMRV9UWVBFX1NF TUFQSE9SRS4KKyAqCisgKiBUaGlzIGxvb2tzIHVwIGEgc3luYyBvYmplY3QgYW5kIHJlcGxhY2Vz IHRoZSBmZW5jZSBvbiBpdCwgZnJlZWluZworICogdGhlIG9sZCBvbmUuCisgKi8KK2ludCBkcm1f c3luY29ial9yZXBsYWNlX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlLAorCQkJ ICAgICAgdTMyIGhhbmRsZSwKKwkJCSAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQorewor CXN0cnVjdCBkbWFfZmVuY2UgKm9sZF9mZW5jZTsKKwlpbnQgcjsKKworCXIgPSBkcm1fc3luY29i al9zd2FwX2ZlbmNlc19ub2NoZWNrKGZpbGVfcHJpdmF0ZSwgaGFuZGxlLCBmZW5jZSwgJm9sZF9m ZW5jZSk7CisJaWYgKHIpCisJCXJldHVybiByOworCWRtYV9mZW5jZV9wdXQob2xkX2ZlbmNlKTsK KwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZSk7 CisKIHN0YXRpYyBpbnQgZHJtX3N5bmNvYmpfY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9w cml2YXRlLAogCQkJCSAgdW5zaWduZWQgdHlwZSwKIAkJCQkgIHVuc2lnbmVkIGZsYWdzLCB1MzIg KmhhbmRsZSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9zeW5jb2JqLmggYi9pbmNsdWRl L2RybS9kcm1fc3luY29iai5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2 MTRlMDYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2RybS9kcm1fc3luY29iai5oCkBAIC0w LDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNyBSZWQgSGF0CisgKgorICogUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisg KiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisg KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAo aW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAq CisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBP RiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElN SVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQg U0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig QU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBP VEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIEF1dGhvcnM6CisgKgor ICovCisjaWZuZGVmIF9fRFJNX1NZTkNPQkpfSF9fCisjZGVmaW5lIF9fRFJNX1NZTkNPQkpfSF9f CisKK2ludCBkcm1fc3luY29ial9zd2FwX2ZlbmNlcyhzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dmF0ZSwKKwkJCSAgICB1aW50MzJfdCBoYW5kbGUsCisJCQkgICAgc3RydWN0IGRtYV9mZW5jZSAq ZmVuY2UsCisJCQkgICAgc3RydWN0IGRtYV9mZW5jZSAqKm9sZF9mZW5jZSk7CitpbnQgZHJtX3N5 bmNvYmpfcmVwbGFjZV9mZW5jZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKKwkJCSAg ICAgIHUzMiBoYW5kbGUsCisJCQkgICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSk7CisKKyNl bmRpZgotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=