From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 5/5] amdgpu: use drm sync objects for shared semaphores (v5) Date: Thu, 1 Jun 2017 11:06:43 +1000 Message-ID: <20170601010643.28616-6-airlied@gmail.com> References: <20170601010643.28616-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170601010643.28616-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 Z3B1LmgKaW5kZXggODMzYzNjMS4uZjUyMGJhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmgKQEAgLTExMDksNiArMTEwOSw5IEBAIHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyIHsKIAog CS8qIHVzZXIgZmVuY2UgKi8KIAlzdHJ1Y3QgYW1kZ3B1X2JvX2xpc3RfZW50cnkJdWZfZW50cnk7 CisKKwl1bnNpZ25lZCBudW1fcG9zdF9kZXBfc3luY29ianM7CisJc3RydWN0IGRybV9zeW5jb2Jq ICoqcG9zdF9kZXBfc3luY29ianM7CiB9OwogCiAjZGVmaW5lIEFNREdQVV9QUkVBTUJMRV9JQl9Q UkVTRU5UICAgICAgICAgICgxIDw8IDApIC8qIGJpdCBzZXQgbWVhbnMgY29tbWFuZCBzdWJtaXQg aW52b2x2ZXMgYSBwcmVhbWJsZSBJQiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Y3MuYwppbmRleCAzMDIyNWQ3Li4zMGY2ZjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3MuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4K ICNpbmNsdWRlIDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9hbWRncHVfZHJtLmg+CisjaW5j bHVkZSA8ZHJtL2RybV9zeW5jb2JqLmg+CiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAjaW5jbHVkZSAi YW1kZ3B1X3RyYWNlLmgiCiAKQEAgLTIyNiw2ICsyMjcsOCBAQCBpbnQgYW1kZ3B1X2NzX3BhcnNl cl9pbml0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB2b2lkICpkYXRhKQogCQkJYnJlYWs7 CiAKIAkJY2FzZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9D SFVOS19JRF9TWU5DT0JKX0lOOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX09VVDoK IAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6CkBAIC03NTMsNiArNzU2LDExIEBAIHN0YXRpYyB2b2lk IGFtZGdwdV9jc19wYXJzZXJfZmluaShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcGFyc2VyLCBp bnQgZXJyb3IsIGJvCiAJCXR0bV9ldV9iYWNrb2ZmX3Jlc2VydmF0aW9uKCZwYXJzZXItPnRpY2tl dCwKIAkJCQkJICAgJnBhcnNlci0+dmFsaWRhdGVkKTsKIAl9CisKKwlmb3IgKGkgPSAwOyBpIDwg cGFyc2VyLT5udW1fcG9zdF9kZXBfc3luY29ianM7IGkrKykKKwkJZHJtX3N5bmNvYmpfcHV0KHBh cnNlci0+cG9zdF9kZXBfc3luY29ianNbaV0pOworCWtmcmVlKHBhcnNlci0+cG9zdF9kZXBfc3lu Y29ianMpOworCiAJZG1hX2ZlbmNlX3B1dChwYXJzZXItPmZlbmNlKTsKIAogCWlmIChwYXJzZXIt PmN0eCkKQEAgLTEwNDAsNiArMTA0OCw2NCBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19wcm9jZXNz X2ZlbmNlX2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAlyZXR1cm4gMDsKIH0KIAor c3RhdGljIGludCBhbWRncHVfc3luY29ial9sb29rdXBfYW5kX2FkZF90b19zeW5jKHN0cnVjdCBh bWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkJIHVpbnQzMl90IGhhbmRsZSkKK3sKKwlpbnQgcjsK KwlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKKwlyID0gZHJtX3N5bmNvYmpfZmVuY2VfZ2V0KHAt PmZpbHAsIGhhbmRsZSwgJmZlbmNlKTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CisKKwlyID0gYW1k Z3B1X3N5bmNfZmVuY2UocC0+YWRldiwgJnAtPmpvYi0+c3luYywgZmVuY2UpOworCWRtYV9mZW5j ZV9wdXQoZmVuY2UpOworCisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X2NzX3By b2Nlc3Nfc3luY29ial9pbl9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCisJCQkJCSAg ICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25lZCBudW1fZGVwczsK KwlpbnQgaSwgcjsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CisKKwlk ZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKKwlu dW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX3NlbSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgewor CQlyID0gYW1kZ3B1X3N5bmNvYmpfbG9va3VwX2FuZF9hZGRfdG9fc3luYyhwLCBkZXBzW2ldLmhh bmRsZSk7CisJCWlmIChyKQorCQkJcmV0dXJuIHI7CisJfQorCXJldHVybiAwOworfQorCitzdGF0 aWMgaW50IGFtZGdwdV9jc19wcm9jZXNzX3N5bmNvYmpfb3V0X2RlcChzdHJ1Y3QgYW1kZ3B1X2Nz X3BhcnNlciAqcCwKKwkJCQkJICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKK3sK Kwl1bnNpZ25lZCBudW1fZGVwczsKKwlpbnQgaTsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVu a19zZW0gKmRlcHM7CisJZGVwcyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKilj aHVuay0+a2RhdGE7CisJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVv ZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0pOworCisJcC0+cG9zdF9kZXBfc3luY29i anMgPSBrbWFsbG9jX2FycmF5KG51bV9kZXBzLAorCQkJCQkgICAgIHNpemVvZihzdHJ1Y3QgZHJt X3N5bmNvYmogKiksCisJCQkJCSAgICAgR0ZQX0tFUk5FTCk7CisJcC0+bnVtX3Bvc3RfZGVwX3N5 bmNvYmpzID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fZGVwczsgKytpKSB7CisJCXAtPnBv c3RfZGVwX3N5bmNvYmpzW2ldID0gZHJtX3N5bmNvYmpfZmluZChwLT5maWxwLCBkZXBzW2ldLmhh bmRsZSk7CisJCWlmICghcC0+cG9zdF9kZXBfc3luY29ianNbaV0pCisJCQlyZXR1cm4gLUVJTlZB TDsKKwkJcC0+bnVtX3Bvc3RfZGVwX3N5bmNvYmpzKys7CisJfQorCXJldHVybiAwOworfQorCiBz dGF0aWMgaW50IGFtZGdwdV9jc19kZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCiAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIHsKQEAgLTEwNTQsMTIgKzEx MjAsMzAgQEAgc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAogCQkJciA9IGFtZGdwdV9jc19wcm9jZXNzX2ZlbmNlX2RlcChwLCBjaHVu ayk7CiAJCQlpZiAocikKIAkJCQlyZXR1cm4gcjsKKwkJfSBlbHNlIGlmIChjaHVuay0+Y2h1bmtf aWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4pIHsKKwkJCXIgPSBhbWRncHVfY3NfcHJv Y2Vzc19zeW5jb2JqX2luX2RlcChwLCBjaHVuayk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gcjsK KwkJfSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpf T1VUKSB7CisJCQlyID0gYW1kZ3B1X2NzX3Byb2Nlc3Nfc3luY29ial9vdXRfZGVwKHAsIGNodW5r KTsKKwkJCWlmIChyKQorCQkJCXJldHVybiByOwogCQl9CiAJfQogCiAJcmV0dXJuIDA7CiB9CiAK K3N0YXRpYyB2b2lkIGFtZGdwdV9jc19wb3N0X2RlcGVuZGVuY2llcyhzdHJ1Y3QgYW1kZ3B1X2Nz X3BhcnNlciAqcCkKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBwLT5udW1fcG9zdF9k ZXBfc3luY29ianM7ICsraSkgeworCQlkcm1fc3luY29ial9yZXBsYWNlX2ZlbmNlKHAtPmZpbHAs IHAtPnBvc3RfZGVwX3N5bmNvYmpzW2ldLAorCQkJCQkgIHAtPmZlbmNlKTsKKwl9Cit9CisKIHN0 YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAkJ CSAgICB1bmlvbiBkcm1fYW1kZ3B1X2NzICpjcykKIHsKQEAgLTEwODAsNiArMTE2NCw5IEBAIHN0 YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKIAlq b2ItPm93bmVyID0gcC0+ZmlscDsKIAlqb2ItPmZlbmNlX2N0eCA9IGVudGl0eS0+ZmVuY2VfY29u dGV4dDsKIAlwLT5mZW5jZSA9IGRtYV9mZW5jZV9nZXQoJmpvYi0+YmFzZS5zX2ZlbmNlLT5maW5p c2hlZCk7CisKKwlhbWRncHVfY3NfcG9zdF9kZXBlbmRlbmNpZXMocCk7CisKIAljcy0+b3V0Lmhh bmRsZSA9IGFtZGdwdV9jdHhfYWRkX2ZlbmNlKHAtPmN0eCwgcmluZywgcC0+ZmVuY2UpOwogCWpv Yi0+dWZfc2VxdWVuY2UgPSBjcy0+b3V0LmhhbmRsZTsKIAlhbWRncHVfam9iX2ZyZWVfcmVzb3Vy Y2VzKGpvYik7CkBAIC0xMDg3LDcgKzExNzQsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9jc19zdWJt aXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAKIAl0cmFjZV9hbWRncHVfY3NfaW9jdGwo am9iKTsKIAlhbWRfc2NoZWRfZW50aXR5X3B1c2hfam9iKCZqb2ItPmJhc2UpOwotCiAJcmV0dXJu IDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwppbmRleCBmMmQ3 MDVlLi41MzI5ZTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCkBA IC03MTksNyArNzE5LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGttc19kcml2ZXIgPSB7 CiAJLmRyaXZlcl9mZWF0dXJlcyA9CiAJICAgIERSSVZFUl9VU0VfQUdQIHwKIAkgICAgRFJJVkVS X0hBVkVfSVJRIHwgRFJJVkVSX0lSUV9TSEFSRUQgfCBEUklWRVJfR0VNIHwKLQkgICAgRFJJVkVS X1BSSU1FIHwgRFJJVkVSX1JFTkRFUiB8IERSSVZFUl9NT0RFU0VULAorCSAgICBEUklWRVJfUFJJ TUUgfCBEUklWRVJfUkVOREVSIHwgRFJJVkVSX01PREVTRVQgfCBEUklWRVJfU1lOQ09CSiwKIAku bG9hZCA9IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMsCiAJLm9wZW4gPSBhbWRncHVfZHJpdmVyX29w ZW5fa21zLAogCS5wb3N0Y2xvc2UgPSBhbWRncHVfZHJpdmVyX3Bvc3RjbG9zZV9rbXMsCmRpZmYg LS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0v YW1kZ3B1X2RybS5oCmluZGV4IDZjMjQ5ZTUuLmNjNzAyY2EgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv dWFwaS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5o CkBAIC00MTYsNiArNDE2LDggQEAgc3RydWN0IGRybV9hbWRncHVfZ2VtX3ZhIHsKICNkZWZpbmUg QU1ER1BVX0NIVU5LX0lEX0lCCQkweDAxCiAjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9GRU5DRQkJ MHgwMgogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTCTB4MDMKKyNkZWZpbmUg QU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4gICAgICAweDA0CisjZGVmaW5lIEFNREdQVV9DSFVO S19JRF9TWU5DT0JKX09VVCAgICAgMHgwNQogCiBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVuayB7 CiAJX191MzIJCWNodW5rX2lkOwpAQCAtNDgzLDYgKzQ4NSwxMCBAQCBzdHJ1Y3QgZHJtX2FtZGdw dV9jc19jaHVua19mZW5jZSB7CiAJX191MzIgb2Zmc2V0OwogfTsKIAorc3RydWN0IGRybV9hbWRn cHVfY3NfY2h1bmtfc2VtIHsKKwlfX3UzMiBoYW5kbGU7Cit9OworCiBzdHJ1Y3QgZHJtX2FtZGdw dV9jc19jaHVua19kYXRhIHsKIAl1bmlvbiB7CiAJCXN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5r X2liCQlpYl9kYXRhOwotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeAo=