From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 2/2] amdgpu: use drm sync objects for shared semaphores (v5) Date: Fri, 16 Jun 2017 13:52:50 +1000 Message-ID: <20170616035250.4300-2-airlied@gmail.com> References: <20170616035250.4300-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170616035250.4300-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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgY3JlYXRlcyBhIG5l dyBjb21tYW5kIHN1Ym1pc3Npb24gY2h1bmsgZm9yIGFtZGdwdQp0byBhZGQgaW4gYW5kIG91dCBz eW5jIG9iamVjdHMgYXJvdW5kIHRoZSBzdWJtaXNzaW9uLgoKU3luYyBvYmplY3RzIGFyZSBtYW5h Z2VkIHZpYSB0aGUgZHJtIHN5bmNvYmogaW9jdGxzLgoKVGhlIGNvbW1hbmQgc3VibWlzc2lvbiBp bnRlcmZhY2UgaXMgZW5oYW5jZWQgd2l0aCB0d28gbmV3CmNodW5rcywgb25lIGZvciBzeW5jb2Jq IHByZSBzdWJtaXNzaW9uIGRlcGVuZGVuY2llcywKYW5kIG9uZSBmb3IgcG9zdCBzdWJtaXNzaW9u IHN5bmMgb2JqIHNpZ25hbGxpbmcsCmFuZCBqdXN0IHRha2VzIGEgbGlzdCBvZiBoYW5kbGVzIGZv ciBlYWNoLgoKVGhpcyBpcyBiYXNlZCBvbiB3b3JrIG9yaWdpbmFsbHkgZG9uZSBieSBEYXZpZCBa aG91IGF0IEFNRCwKd2l0aCBpbnB1dCBmcm9tIENocmlzdGlhbiBLb25pZyBvbiB3aGF0IHRoaW5n cyBzaG91bGQgbG9vayBsaWtlLgoKSW4gdGhlb3J5IFZrRmVuY2VzIGNvdWxkIGJlIGJhY2tlZCB3 aXRoIHN5bmMgb2JqZWN0cyBhbmQKanVzdCBnZXQgcGFzc2VkIGludG8gdGhlIGNzIGFzIHN5bmNv YmogaGFuZGxlcyBhcyB3ZWxsLgoKTk9URTogdGhpcyBpbnRlcmZhY2UgYWRkaXRpb24gbmVlZHMg YSB2ZXJzaW9uIGJ1bXAgdG8gZXhwb3NlCml0IHRvIHVzZXJzcGFjZS4KClRPRE86IHVwZGF0ZSB0 byBkZXBfc3luYyB3aGVuIHJlYmFzaW5nIG9udG8gYW1kZ3B1IG1hc3Rlci4KKHdpdGggdGhpcyAt IHItYiBmcm9tIENocmlzdGlhbikKCnYxLjE6IGtlZXAgZmlsZSByZWZlcmVuY2Ugb24gaW1wb3J0 Lgp2MjogbW92ZSB0byB1c2luZyBzeW5jb2Jqcwp2Mi4xOiBjaGFuZ2Ugc29tZSBBUElzIHRvIGp1 c3QgdXNlIHAgcG9pbnRlci4KdjM6IG1ha2UgbW9yZSByb2J1c3QgYWdhaW5zdCBDUyBmYWlsdXJl cywgd2Ugbm93IGFkZCB0aGUKd2FpdCBzZW1zIGJ1dCBvbmx5IHJlbW92ZSB0aGVtIG9uY2UgdGhl IENTIGpvYiBoYXMgYmVlbgpzdWJtaXR0ZWQuCnY0OiByZXdyaXRlIG5hbWVzIG9mIEFQSSBhbmQg YmFzZSBvbiBuZXcgc3luY29iaiBjb2RlLgp2NTogbW92ZSBwb3N0IGRlcHMgZWFybGllciwgcmVu YW1lIHNvbWUgYXBpcwp2NjogbG9va3VwIHBvc3QgZGVwcyBlYXJsaWVyLCBhbmQganVzdCByZXBs YWNlIGZlbmNlcwppbiBwb3N0IGRlcHMgc3RhZ2UgKENocmlzdGlhbikKClNpZ25lZC1vZmYtYnk6 IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1LmggICAgIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9jcy5jICB8IDg4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jIHwgIDIgKy0KIGluY2x1ZGUvdWFw aS9kcm0vYW1kZ3B1X2RybS5oICAgICAgICAgICB8ICA2ICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA5 NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmgKaW5kZXggZTBhZGFkNS4uOWY4MjdhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmgKQEAgLTExNTksNiArMTE1OSw5IEBAIHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyIHsKIAog CS8qIHVzZXIgZmVuY2UgKi8KIAlzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkJdWZfZW50cnk7 CisKKwl1bnNpZ25lZCBudW1fcG9zdF9kZXBfc3luY29ianM7CisJc3RydWN0IGRybV9zeW5jb2Jq ICoqcG9zdF9kZXBfc3luY29ianM7CiB9OwogCiAjZGVmaW5lIEFNREdQVV9QUkVBTUJMRV9JQl9Q UkVTRU5UICAgICAgICAgICgxIDw8IDApIC8qIGJpdCBzZXQgbWVhbnMgY29tbWFuZCBzdWJtaXQg aW52b2x2ZXMgYSBwcmVhbWJsZSBJQiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Y3MuYwppbmRleCAyOTQ2OWU2Li5hZWVlNjg0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3MuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4K ICNpbmNsdWRlIDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9hbWRncHVfZHJtLmg+CisjaW5j bHVkZSA8ZHJtL2RybV9zeW5jb2JqLmg+CiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAjaW5jbHVkZSAi YW1kZ3B1X3RyYWNlLmgiCiAKQEAgLTE1NCw2ICsxNTUsOCBAQCBpbnQgYW1kZ3B1X2NzX3BhcnNl cl9pbml0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB2b2lkICpkYXRhKQogCQkJYnJlYWs7 CiAKIAkJY2FzZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9D SFVOS19JRF9TWU5DT0JKX0lOOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX09VVDoK IAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6CkBAIC02ODIsNiArNjg1LDExIEBAIHN0YXRpYyB2b2lk IGFtZGdwdV9jc19wYXJzZXJfZmluaShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcGFyc2VyLCBp bnQgZXJyb3IsIGJvCiAJCXR0bV9ldV9iYWNrb2ZmX3Jlc2VydmF0aW9uKCZwYXJzZXItPnRpY2tl dCwKIAkJCQkJICAgJnBhcnNlci0+dmFsaWRhdGVkKTsKIAl9CisKKwlmb3IgKGkgPSAwOyBpIDwg cGFyc2VyLT5udW1fcG9zdF9kZXBfc3luY29ianM7IGkrKykKKwkJZHJtX3N5bmNvYmpfcHV0KHBh cnNlci0+cG9zdF9kZXBfc3luY29ianNbaV0pOworCWtmcmVlKHBhcnNlci0+cG9zdF9kZXBfc3lu Y29ianMpOworCiAJZG1hX2ZlbmNlX3B1dChwYXJzZXItPmZlbmNlKTsKIAogCWlmIChwYXJzZXIt PmN0eCkKQEAgLTk3MSw2ICs5NzksNjQgQEAgc3RhdGljIGludCBhbWRncHVfY3NfcHJvY2Vzc19m ZW5jZV9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJcmV0dXJuIDA7CiB9CiAKK3N0 YXRpYyBpbnQgYW1kZ3B1X3N5bmNvYmpfbG9va3VwX2FuZF9hZGRfdG9fc3luYyhzdHJ1Y3QgYW1k Z3B1X2NzX3BhcnNlciAqcCwKKwkJCQkJCSB1aW50MzJfdCBoYW5kbGUpCit7CisJaW50IHI7CisJ c3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJciA9IGRybV9zeW5jb2JqX2ZlbmNlX2dldChwLT5m aWxwLCBoYW5kbGUsICZmZW5jZSk7CisJaWYgKHIpCisJCXJldHVybiByOworCisJciA9IGFtZGdw dV9zeW5jX2ZlbmNlKHAtPmFkZXYsICZwLT5qb2ItPnN5bmMsIGZlbmNlKTsKKwlkbWFfZmVuY2Vf cHV0KGZlbmNlKTsKKworCXJldHVybiByOworfQorCitzdGF0aWMgaW50IGFtZGdwdV9jc19wcm9j ZXNzX3N5bmNvYmpfaW5fZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkgICAg c3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bmspCit7CisJdW5zaWduZWQgbnVtX2RlcHM7CisJ aW50IGksIHI7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICpkZXBzOworCisJZGVw cyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKiljaHVuay0+a2RhdGE7CisJbnVt X2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdw dV9jc19jaHVua19zZW0pOworCisJZm9yIChpID0gMDsgaSA8IG51bV9kZXBzOyArK2kpIHsKKwkJ ciA9IGFtZGdwdV9zeW5jb2JqX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMocCwgZGVwc1tpXS5oYW5k bGUpOworCQlpZiAocikKKwkJCXJldHVybiByOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IGludCBhbWRncHVfY3NfcHJvY2Vzc19zeW5jb2JqX291dF9kZXAoc3RydWN0IGFtZGdwdV9jc19w YXJzZXIgKnAsCisJCQkJCSAgICAgc3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bmspCit7CisJ dW5zaWduZWQgbnVtX2RlcHM7CisJaW50IGk7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtf c2VtICpkZXBzOworCWRlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICopY2h1 bmstPmtkYXRhOworCW51bV9kZXBzID0gY2h1bmstPmxlbmd0aF9kdyAqIDQgLworCQlzaXplb2Yo c3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtKTsKKworCXAtPnBvc3RfZGVwX3N5bmNvYmpz ID0ga21hbGxvY19hcnJheShudW1fZGVwcywKKwkJCQkJICAgICBzaXplb2Yoc3RydWN0IGRybV9z eW5jb2JqICopLAorCQkJCQkgICAgIEdGUF9LRVJORUwpOworCXAtPm51bV9wb3N0X2RlcF9zeW5j b2JqcyA9IDA7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgeworCQlwLT5wb3N0 X2RlcF9zeW5jb2Jqc1tpXSA9IGRybV9zeW5jb2JqX2ZpbmQocC0+ZmlscCwgZGVwc1tpXS5oYW5k bGUpOworCQlpZiAoIXAtPnBvc3RfZGVwX3N5bmNvYmpzW2ldKQorCQkJcmV0dXJuIC1FSU5WQUw7 CisJCXAtPm51bV9wb3N0X2RlcF9zeW5jb2JqcysrOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3Rh dGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAogCQkJCSAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnApCiB7CkBAIC05ODUsMTIgKzEwNTEs MzAgQEAgc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAogCQkJciA9IGFtZGdwdV9jc19wcm9jZXNzX2ZlbmNlX2RlcChwLCBjaHVuayk7 CiAJCQlpZiAocikKIAkJCQlyZXR1cm4gcjsKKwkJfSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQg PT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4pIHsKKwkJCXIgPSBhbWRncHVfY3NfcHJvY2Vz c19zeW5jb2JqX2luX2RlcChwLCBjaHVuayk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gcjsKKwkJ fSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfT1VU KSB7CisJCQlyID0gYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29ial9vdXRfZGVwKHAsIGNodW5rKTsK KwkJCWlmIChyKQorCQkJCXJldHVybiByOwogCQl9CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAKK3N0 YXRpYyB2b2lkIGFtZGdwdV9jc19wb3N0X2RlcGVuZGVuY2llcyhzdHJ1Y3QgYW1kZ3B1X2NzX3Bh cnNlciAqcCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fcG9zdF9kZXBf c3luY29ianM7ICsraSkgeworCQlkcm1fc3luY29ial9yZXBsYWNlX2ZlbmNlKHAtPmZpbHAsIHAt PnBvc3RfZGVwX3N5bmNvYmpzW2ldLAorCQkJCQkgIHAtPmZlbmNlKTsKKwl9Cit9CisKIHN0YXRp YyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAkJCSAg ICB1bmlvbiBkcm1fYW1kZ3B1X2NzICpjcykKIHsKQEAgLTEwMTEsNiArMTA5NSw5IEBAIHN0YXRp YyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAlqb2It Pm93bmVyID0gcC0+ZmlscDsKIAlqb2ItPmZlbmNlX2N0eCA9IGVudGl0eS0+ZmVuY2VfY29udGV4 dDsKIAlwLT5mZW5jZSA9IGRtYV9mZW5jZV9nZXQoJmpvYi0+YmFzZS5zX2ZlbmNlLT5maW5pc2hl ZCk7CisKKwlhbWRncHVfY3NfcG9zdF9kZXBlbmRlbmNpZXMocCk7CisKIAljcy0+b3V0LmhhbmRs ZSA9IGFtZGdwdV9jdHhfYWRkX2ZlbmNlKHAtPmN0eCwgcmluZywgcC0+ZmVuY2UpOwogCWpvYi0+ dWZfc2VxdWVuY2UgPSBjcy0+b3V0LmhhbmRsZTsKIAlhbWRncHVfam9iX2ZyZWVfcmVzb3VyY2Vz KGpvYik7CkBAIC0xMDE4LDcgKzExMDUsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19zdWJtaXQo c3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAKIAl0cmFjZV9hbWRncHVfY3NfaW9jdGwoam9i KTsKIAlhbWRfc2NoZWRfZW50aXR5X3B1c2hfam9iKCZqb2ItPmJhc2UpOwotCiAJcmV0dXJuIDA7 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwppbmRleCA4MTY4Zjhl Li40YzdjMjYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCkBAIC03 ODIsNyArNzgyLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGttc19kcml2ZXIgPSB7CiAJ LmRyaXZlcl9mZWF0dXJlcyA9CiAJICAgIERSSVZFUl9VU0VfQUdQIHwKIAkgICAgRFJJVkVSX0hB VkVfSVJRIHwgRFJJVkVSX0lSUV9TSEFSRUQgfCBEUklWRVJfR0VNIHwKLQkgICAgRFJJVkVSX1BS SU1FIHwgRFJJVkVSX1JFTkRFUiB8IERSSVZFUl9NT0RFU0VULAorCSAgICBEUklWRVJfUFJJTUUg fCBEUklWRVJfUkVOREVSIHwgRFJJVkVSX01PREVTRVQgfCBEUklWRVJfU1lOQ09CSiwKIAkubG9h ZCA9IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMsCiAJLm9wZW4gPSBhbWRncHVfZHJpdmVyX29wZW5f a21zLAogCS5wb3N0Y2xvc2UgPSBhbWRncHVfZHJpdmVyX3Bvc3RjbG9zZV9rbXMsCmRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vYW1k Z3B1X2RybS5oCmluZGV4IDM0MTI4ZjYuLmQ5YWE0YTMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFw aS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCkBA IC00NDAsNiArNDQwLDggQEAgc3RydWN0IGRybV9hbWRncHVfZ2VtX3ZhIHsKICNkZWZpbmUgQU1E R1BVX0NIVU5LX0lEX0lCCQkweDAxCiAjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9GRU5DRQkJMHgw MgogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTCTB4MDMKKyNkZWZpbmUgQU1E R1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4gICAgICAweDA0CisjZGVmaW5lIEFNREdQVV9DSFVOS19J RF9TWU5DT0JKX09VVCAgICAgMHgwNQogCiBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVuayB7CiAJ X191MzIJCWNodW5rX2lkOwpAQCAtNTA3LDYgKzUwOSwxMCBAQCBzdHJ1Y3QgZHJtX2FtZGdwdV9j c19jaHVua19mZW5jZSB7CiAJX191MzIgb2Zmc2V0OwogfTsKIAorc3RydWN0IGRybV9hbWRncHVf Y3NfY2h1bmtfc2VtIHsKKwlfX3UzMiBoYW5kbGU7Cit9OworCiBzdHJ1Y3QgZHJtX2FtZGdwdV9j c19jaHVua19kYXRhIHsKIAl1bmlvbiB7CiAJCXN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2li CQlpYl9kYXRhOwotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1k LWdmeAo=