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 (v4) Date: Wed, 26 Apr 2017 13:28:33 +1000 Message-ID: <20170426032833.1455-6-airlied@gmail.com> References: <20170426032833.1455-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170426032833.1455-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, amd-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgY3JlYXRlcyBhIG5l dyBjb21tYW5kIHN1Ym1pc3Npb24gY2h1bmsgZm9yIGFtZGdwdQp0byBhZGQgaW4gYW5kIG91dCBz eW5jIG9iamVjdHMgYXJvdW5kIHRoZSBzdWJtaXNzaW9uLgoKU3luYyBvYmplY3RzIGFyZSBtYW5h Z2VkIHZpYSB0aGUgZHJtIHN5bmNvYmogaW9jdGxzLgoKVGhlIGNvbW1hbmQgc3VibWlzc2lvbiBp bnRlcmZhY2UgaXMgZW5oYW5jZWQgd2l0aCB0d28gbmV3CmNodW5rcywgb25lIGZvciBzeW5jb2Jq IHByZSBzdWJtaXNzaW9uIGRlcGVuZGVuY2llcywKYW5kIG9uZSBmb3IgcG9zdCBzdWJtaXNzaW9u IHN5bmMgb2JqIHNpZ25hbGxpbmcsCmFuZCBqdXN0IHRha2VzIGEgbGlzdCBvZiBoYW5kbGVzIGZv ciBlYWNoLgoKVGhpcyBpcyBiYXNlZCBvbiB3b3JrIG9yaWdpbmFsbHkgZG9uZSBieSBEYXZpZCBa aG91IGF0IEFNRCwKd2l0aCBpbnB1dCBmcm9tIENocmlzdGlhbiBLb25pZyBvbiB3aGF0IHRoaW5n cyBzaG91bGQgbG9vayBsaWtlLgoKSW4gdGhlb3J5IFZrRmVuY2VzIGNvdWxkIGJlIGJhY2tlZCB3 aXRoIHN5bmMgb2JqZWN0cyBhbmQKanVzdCBnZXQgcGFzc2VkIGludG8gdGhlIGNzIGFzIHN5bmNv YmogaGFuZGxlcyBhcyB3ZWxsLgoKTk9URTogdGhpcyBpbnRlcmZhY2UgYWRkaXRpb24gbmVlZHMg YSB2ZXJzaW9uIGJ1bXAgdG8gZXhwb3NlCml0IHRvIHVzZXJzcGFjZS4KCnYxLjE6IGtlZXAgZmls ZSByZWZlcmVuY2Ugb24gaW1wb3J0Lgp2MjogbW92ZSB0byB1c2luZyBzeW5jb2Jqcwp2Mi4xOiBj aGFuZ2Ugc29tZSBBUElzIHRvIGp1c3QgdXNlIHAgcG9pbnRlci4KdjM6IG1ha2UgbW9yZSByb2J1 c3QgYWdhaW5zdCBDUyBmYWlsdXJlcywgd2Ugbm93IGFkZCB0aGUKd2FpdCBzZW1zIGJ1dCBvbmx5 IHJlbW92ZSB0aGVtIG9uY2UgdGhlIENTIGpvYiBoYXMgYmVlbgpzdWJtaXR0ZWQuCnY0OiByZXdy aXRlIG5hbWVzIG9mIEFQSSBhbmQgYmFzZSBvbiBuZXcgc3luY29iaiBjb2RlLgoKU2lnbmVkLW9m Zi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyAgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYyB8ICAyICst CiBpbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCAgICAgICAgICAgfCAgNiArKysKIDMgZmls ZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCmluZGV4IGRmMjViMzIuLmU4NmM4MzIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVk ZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJt L2FtZGdwdV9kcm0uaD4KKyNpbmNsdWRlIDxkcm0vZHJtX3N5bmNvYmouaD4KICNpbmNsdWRlICJh bWRncHUuaCIKICNpbmNsdWRlICJhbWRncHVfdHJhY2UuaCIKIApAQCAtMjE3LDYgKzIxOCw4IEBA IGludCBhbWRncHVfY3NfcGFyc2VyX2luaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsIHZv aWQgKmRhdGEpCiAJCQlicmVhazsKIAogCQljYXNlIEFNREdQVV9DSFVOS19JRF9ERVBFTkRFTkNJ RVM6CisJCWNhc2UgQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU46CisJCWNhc2UgQU1ER1BVX0NI VU5LX0lEX1NZTkNPQkpfT1VUOgogCQkJYnJlYWs7CiAKIAkJZGVmYXVsdDoKQEAgLTEwMDgsNiAr MTAxMSw0MCBAQCBzdGF0aWMgaW50IGFtZGdwdV9wcm9jZXNzX2ZlbmNlX2RlcChzdHJ1Y3QgYW1k Z3B1X2NzX3BhcnNlciAqcCwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBhbWRncHVfc3lu Y29ial9sb29rdXBfYW5kX2FkZF90b19zeW5jKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAor CQkJCQkJIHVpbnQzMl90IGhhbmRsZSkKK3sKKwlpbnQgcjsKKwlzdHJ1Y3QgZG1hX2ZlbmNlICpm ZW5jZTsKKwlyID0gZHJtX3N5bmNvYmpfZmVuY2VfZ2V0KHAtPmZpbHAsIGhhbmRsZSwgJmZlbmNl KTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CisKKwlyID0gYW1kZ3B1X3N5bmNfZmVuY2UocC0+YWRl diwgJnAtPmpvYi0+c3luYywgZmVuY2UpOworCWRtYV9mZW5jZV9wdXQoZmVuY2UpOworCisJcmV0 dXJuIHI7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X3Byb2Nlc3Nfc3luY29ial9pbl9kZXAoc3Ry dWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCisJCQkJCSBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpj aHVuaykKK3sKKwl1bnNpZ25lZCBudW1fZGVwczsKKwlpbnQgaSwgcjsKKwlzdHJ1Y3QgZHJtX2Ft ZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CisKKwlkZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2Nz X2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKKwludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcg KiA0IC8KKwkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSk7CisKKwlmb3Ig KGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgeworCQlyID0gYW1kZ3B1X3N5bmNvYmpfbG9va3Vw X2FuZF9hZGRfdG9fc3luYyhwLCBkZXBzW2ldLmhhbmRsZSk7CisJCWlmIChyKQorCQkJcmV0dXJu IHI7CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGFtZGdwdV9jc19kZXBlbmRlbmNp ZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJICBzdHJ1Y3QgYW1kZ3B1X2NzX3Bh cnNlciAqcCkKIHsKQEAgLTEwMjIsMTIgKzEwNTksNTQgQEAgc3RhdGljIGludCBhbWRncHVfY3Nf ZGVwZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJciA9IGFtZGdwdV9w cm9jZXNzX2ZlbmNlX2RlcChwLCBjaHVuayk7CiAJCQlpZiAocikKIAkJCQlyZXR1cm4gcjsKKwkJ fSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NZTkNPQkpfSU4p IHsKKwkJCXIgPSBhbWRncHVfcHJvY2Vzc19zeW5jb2JqX2luX2RlcChwLCBjaHVuayk7CisJCQlp ZiAocikKKwkJCQlyZXR1cm4gcjsKIAkJfQogCX0KIAogCXJldHVybiAwOwogfQogCitzdGF0aWMg aW50IGFtZGdwdV9wcm9jZXNzX3N5bmNvYmpfb3V0X2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNl ciAqcCwKKwkJCQkJICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25l ZCBudW1fZGVwczsKKwlpbnQgaSwgcjsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0g KmRlcHM7CisKKwlkZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5r LT5rZGF0YTsKKwludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0 cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2Rl cHM7ICsraSkgeworCQlyID0gZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZShwLT5maWxwLCBkZXBz W2ldLmhhbmRsZSwKKwkJCQkJICAgICAgcC0+ZmVuY2UpOworCQlpZiAocikKKwkJCXJldHVybiBy OworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhbWRncHVfY3NfcG9zdF9kZXBlbmRl bmNpZXMoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnApCit7CisJaW50IGksIHI7CisKKwlmb3Ig KGkgPSAwOyBpIDwgcC0+bmNodW5rczsgKytpKSB7CisJCXN0cnVjdCBhbWRncHVfY3NfY2h1bmsg KmNodW5rOworCisJCWNodW5rID0gJnAtPmNodW5rc1tpXTsKKworCQlpZiAoY2h1bmstPmNodW5r X2lkID09IEFNREdQVV9DSFVOS19JRF9TWU5DT0JKX09VVCkgeworCQkJciA9IGFtZGdwdV9wcm9j ZXNzX3N5bmNvYmpfb3V0X2RlcChwLCBjaHVuayk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gcjsK KwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBhbWRncHVfY3Nfc3VibWl0KHN0 cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogCQkJICAgIHVuaW9uIGRybV9hbWRncHVfY3MgKmNz KQogewpAQCAtMTA1NSw3ICsxMTM0LDcgQEAgc3RhdGljIGludCBhbWRncHVfY3Nfc3VibWl0KHN0 cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogCXRyYWNlX2FtZGdwdV9jc19pb2N0bChqb2IpOwog CWFtZF9zY2hlZF9lbnRpdHlfcHVzaF9qb2IoJmpvYi0+YmFzZSk7CiAKLQlyZXR1cm4gMDsKKwly ZXR1cm4gYW1kZ3B1X2NzX3Bvc3RfZGVwZW5kZW5jaWVzKHApOwogfQogCiBpbnQgYW1kZ3B1X2Nz X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmls ZSAqZmlscCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwppbmRleCBiNzZj ZDY5Li5lOTU5NTFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCkBA IC02ODMsNyArNjgzLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGttc19kcml2ZXIgPSB7 CiAJLmRyaXZlcl9mZWF0dXJlcyA9CiAJICAgIERSSVZFUl9VU0VfQUdQIHwKIAkgICAgRFJJVkVS X0hBVkVfSVJRIHwgRFJJVkVSX0lSUV9TSEFSRUQgfCBEUklWRVJfR0VNIHwKLQkgICAgRFJJVkVS X1BSSU1FIHwgRFJJVkVSX1JFTkRFUiB8IERSSVZFUl9NT0RFU0VULAorCSAgICBEUklWRVJfUFJJ TUUgfCBEUklWRVJfUkVOREVSIHwgRFJJVkVSX01PREVTRVQgfCBEUklWRVJfU1lOQ09CSiwKIAku bG9hZCA9IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMsCiAJLm9wZW4gPSBhbWRncHVfZHJpdmVyX29w ZW5fa21zLAogCS5wcmVjbG9zZSA9IGFtZGdwdV9kcml2ZXJfcHJlY2xvc2Vfa21zLApkaWZmIC0t Z2l0IGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJtL2Ft ZGdwdV9kcm0uaAppbmRleCA1Nzk3MjgzLi45ODgxZTI3IDEwMDY0NAotLS0gYS9pbmNsdWRlL3Vh cGkvZHJtL2FtZGdwdV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaApA QCAtMzkwLDYgKzM5MCw4IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV92YSB7CiAjZGVmaW5lIEFN REdQVV9DSFVOS19JRF9JQgkJMHgwMQogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfRkVOQ0UJCTB4 MDIKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0RFUEVOREVOQ0lFUwkweDAzCisjZGVmaW5lIEFN REdQVV9DSFVOS19JRF9TWU5DT0JKX0lOICAgICAgMHgwNAorI2RlZmluZSBBTURHUFVfQ0hVTktf SURfU1lOQ09CSl9PVVQgICAgIDB4MDUKIAogc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmsgewog CV9fdTMyCQljaHVua19pZDsKQEAgLTQ1NCw2ICs0NTYsMTAgQEAgc3RydWN0IGRybV9hbWRncHVf Y3NfY2h1bmtfZmVuY2UgewogCV9fdTMyIG9mZnNldDsKIH07CiAKK3N0cnVjdCBkcm1fYW1kZ3B1 X2NzX2NodW5rX3NlbSB7CisJX191MzIgaGFuZGxlOworfTsKKwogc3RydWN0IGRybV9hbWRncHVf Y3NfY2h1bmtfZGF0YSB7CiAJdW5pb24gewogCQlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19p YgkJaWJfZGF0YTsKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK