From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 8/8] amdgpu: use sync file for shared semaphores (v2.1) Date: Tue, 11 Apr 2017 13:22:20 +1000 Message-ID: <20170411032220.21101-9-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-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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgY3JlYXRlcyBhIG5l dyBjb21tYW5kIHN1Ym1pc3Npb24gY2h1bmsgZm9yIGFtZGdwdQp0byBhZGQgd2FpdCBhbmQgc2ln bmFsIHN5bmMgb2JqZWN0cyBhcm91bmQgdGhlIHN1Ym1pc3Npb24uCgpTeW5jIG9iamVjdHMgYXJl IG1hbmFnZWQgdmlhIHRoZSBkcm0gc3luY29iaiBpb2N0bHMuCgpUaGUgY29tbWFuZCBzdWJtaXNz aW9uIGludGVyZmFjZSBpcyBlbmhhbmNlZCB3aXRoIHR3byBuZXcKY2h1bmtzLCBvbmUgZm9yIHNl bWFwaG9yZSB3YWl0aW5nLCBvbmUgZm9yIHNlbWFwaG9yZSBzaWduYWxsaW5nCmFuZCBqdXN0IHRh a2VzIGEgbGlzdCBvZiBoYW5kbGVzIGZvciBlYWNoLgoKVGhpcyBpcyBiYXNlZCBvbiB3b3JrIG9y aWdpbmFsbHkgZG9uZSBieSBEYXZpZCBaaG91IGF0IEFNRCwKd2l0aCBpbnB1dCBmcm9tIENocmlz dGlhbiBLb25pZyBvbiB3aGF0IHRoaW5ncyBzaG91bGQgbG9vayBsaWtlLgoKTk9URTogdGhpcyBp bnRlcmZhY2UgYWRkaXRpb24gbmVlZHMgYSB2ZXJzaW9uIGJ1bXAgdG8gZXhwb3NlCml0IHRvIHVz ZXJzcGFjZS4KCnYxLjE6IGtlZXAgZmlsZSByZWZlcmVuY2Ugb24gaW1wb3J0Lgp2MjogbW92ZSB0 byB1c2luZyBzeW5jb2Jqcwp2Mi4xOiBjaGFuZ2Ugc29tZSBBUElzIHRvIGp1c3QgdXNlIHAgcG9p bnRlci4KClNpZ25lZC1vZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgIHwgODIgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZHJ2LmMgfCAgMiArLQogaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggICAgICAgICAg IHwgIDYgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRleCBkZjI1YjMyLi43 N2JmZTgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3Mu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtMjcsNiAr MjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRlIDxkcm0vZHJtUC5o PgogI2luY2x1ZGUgPGRybS9hbWRncHVfZHJtLmg+CisjaW5jbHVkZSA8ZHJtL2RybV9zeW5jb2Jq Lmg+CiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAjaW5jbHVkZSAiYW1kZ3B1X3RyYWNlLmgiCiAKQEAg LTIxNyw2ICsyMTgsOCBAQCBpbnQgYW1kZ3B1X2NzX3BhcnNlcl9pbml0KHN0cnVjdCBhbWRncHVf Y3NfcGFyc2VyICpwLCB2b2lkICpkYXRhKQogCQkJYnJlYWs7CiAKIAkJY2FzZSBBTURHUFVfQ0hV TktfSURfREVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9TRU1fV0FJVDoKKwkJ Y2FzZSBBTURHUFVfQ0hVTktfSURfU0VNX1NJR05BTDoKIAkJCWJyZWFrOwogCiAJCWRlZmF1bHQ6 CkBAIC0xMDA4LDYgKzEwMTEsNDEgQEAgc3RhdGljIGludCBhbWRncHVfcHJvY2Vzc19mZW5jZV9k ZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBp bnQgYW1kZ3B1X3NlbV9sb29rdXBfYW5kX3N5bmMoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAs CisJCQkJICAgICAgdWludDMyX3QgaGFuZGxlKQoreworCWludCByOworCXN0cnVjdCBkbWFfZmVu Y2UgKm9sZF9mZW5jZTsKKworCXIgPSBkcm1fc3luY29ial9zd2FwX2ZlbmNlcyhwLT5maWxwLCBo YW5kbGUsIE5VTEwsICZvbGRfZmVuY2UpOworCWlmIChyKQorCQlyZXR1cm4gcjsKKworCXIgPSBh bWRncHVfc3luY19mZW5jZShwLT5hZGV2LCAmcC0+am9iLT5zeW5jLCBvbGRfZmVuY2UpOworCWRt YV9mZW5jZV9wdXQob2xkX2ZlbmNlKTsKKworCXJldHVybiByOworfQorCitzdGF0aWMgaW50IGFt ZGdwdV9wcm9jZXNzX3NlbV93YWl0X2RlcChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKKwkJ CQkgICAgICAgc3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bmspCit7CisJdW5zaWduZWQgbnVt X2RlcHM7CisJaW50IGksIHI7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICpkZXBz OworCisJZGVwcyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKiljaHVuay0+a2Rh dGE7CisJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVvZihzdHJ1Y3Qg ZHJtX2FtZGdwdV9jc19jaHVua19zZW0pOworCisJZm9yIChpID0gMDsgaSA8IG51bV9kZXBzOyAr K2kpIHsKKwkJciA9IGFtZGdwdV9zZW1fbG9va3VwX2FuZF9zeW5jKHAsIGRlcHNbaV0uaGFuZGxl KTsKKwkJaWYgKHIpCisJCQlyZXR1cm4gcjsKKwl9CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBp bnQgYW1kZ3B1X2NzX2RlcGVuZGVuY2llcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJ CQkgIHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwKQogewpAQCAtMTAyMiwxMiArMTA2MCw1NCBA QCBzdGF0aWMgaW50IGFtZGdwdV9jc19kZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsCiAJCQlyID0gYW1kZ3B1X3Byb2Nlc3NfZmVuY2VfZGVwKHAsIGNodW5rKTsKIAkJCWlm IChyKQogCQkJCXJldHVybiByOworCQl9IGVsc2UgaWYgKGNodW5rLT5jaHVua19pZCA9PSBBTURH UFVfQ0hVTktfSURfU0VNX1dBSVQpIHsKKwkJCXIgPSBhbWRncHVfcHJvY2Vzc19zZW1fd2FpdF9k ZXAocCwgY2h1bmspOworCQkJaWYgKHIpCisJCQkJcmV0dXJuIHI7CiAJCX0KIAl9CiAKIAlyZXR1 cm4gMDsKIH0KIAorc3RhdGljIGludCBhbWRncHVfcHJvY2Vzc19zZW1fc2lnbmFsX2RlcChzdHJ1 Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKKwkJCQkJIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsgKmNo dW5rKQoreworCXVuc2lnbmVkIG51bV9kZXBzOworCWludCBpLCByOworCXN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX3NlbSAqZGVwczsKKworCWRlcHMgPSAoc3RydWN0IGRybV9hbWRncHVfY3Nf Y2h1bmtfc2VtICopY2h1bmstPmtkYXRhOworCW51bV9kZXBzID0gY2h1bmstPmxlbmd0aF9kdyAq IDQgLworCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtKTsKKworCWZvciAo aSA9IDA7IGkgPCBudW1fZGVwczsgKytpKSB7CisJCXIgPSBkcm1fc3luY29ial9yZXBsYWNlX2Zl bmNlKHAtPmZpbHAsIGRlcHNbaV0uaGFuZGxlLAorCQkJCQkgICAgICBwLT5mZW5jZSk7CisJCWlm IChyKQorCQkJcmV0dXJuIHI7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFtZGdw dV9jc19wb3N0X2RlcGVuZGVuY2llcyhzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKK3sKKwlp bnQgaSwgcjsKKworCWZvciAoaSA9IDA7IGkgPCBwLT5uY2h1bmtzOyArK2kpIHsKKwkJc3RydWN0 IGFtZGdwdV9jc19jaHVuayAqY2h1bms7CisKKwkJY2h1bmsgPSAmcC0+Y2h1bmtzW2ldOworCisJ CWlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX1NFTV9TSUdOQUwpIHsKKwkJ CXIgPSBhbWRncHVfcHJvY2Vzc19zZW1fc2lnbmFsX2RlcChwLCBjaHVuayk7CisJCQlpZiAocikK KwkJCQlyZXR1cm4gcjsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBhbWRn cHVfY3Nfc3VibWl0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogCQkJICAgIHVuaW9uIGRy bV9hbWRncHVfY3MgKmNzKQogewpAQCAtMTA1NSw3ICsxMTM1LDcgQEAgc3RhdGljIGludCBhbWRn cHVfY3Nfc3VibWl0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAogCXRyYWNlX2FtZGdwdV9j c19pb2N0bChqb2IpOwogCWFtZF9zY2hlZF9lbnRpdHlfcHVzaF9qb2IoJmpvYi0+YmFzZSk7CiAK LQlyZXR1cm4gMDsKKwlyZXR1cm4gYW1kZ3B1X2NzX3Bvc3RfZGVwZW5kZW5jaWVzKHApOwogfQog CiBpbnQgYW1kZ3B1X2NzX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs IHN0cnVjdCBkcm1fZmlsZSAqZmlscCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k cnYuYwppbmRleCBiNzZjZDY5Li5lOTU5NTFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2Rydi5jCkBAIC02ODMsNyArNjgzLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVy IGttc19kcml2ZXIgPSB7CiAJLmRyaXZlcl9mZWF0dXJlcyA9CiAJICAgIERSSVZFUl9VU0VfQUdQ IHwKIAkgICAgRFJJVkVSX0hBVkVfSVJRIHwgRFJJVkVSX0lSUV9TSEFSRUQgfCBEUklWRVJfR0VN IHwKLQkgICAgRFJJVkVSX1BSSU1FIHwgRFJJVkVSX1JFTkRFUiB8IERSSVZFUl9NT0RFU0VULAor CSAgICBEUklWRVJfUFJJTUUgfCBEUklWRVJfUkVOREVSIHwgRFJJVkVSX01PREVTRVQgfCBEUklW RVJfU1lOQ09CSiwKIAkubG9hZCA9IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMsCiAJLm9wZW4gPSBh bWRncHVfZHJpdmVyX29wZW5fa21zLAogCS5wcmVjbG9zZSA9IGFtZGdwdV9kcml2ZXJfcHJlY2xv c2Vfa21zLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmggYi9pbmNs dWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAppbmRleCA1Nzk3MjgzLi42NDdjNTIwIDEwMDY0NAot LS0gYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJt L2FtZGdwdV9kcm0uaApAQCAtMzkwLDYgKzM5MCw4IEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2dlbV92 YSB7CiAjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9JQgkJMHgwMQogI2RlZmluZSBBTURHUFVfQ0hV TktfSURfRkVOQ0UJCTB4MDIKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0RFUEVOREVOQ0lFUwkw eDAzCisjZGVmaW5lIEFNREdQVV9DSFVOS19JRF9TRU1fV0FJVCAgICAgICAgMHgwNAorI2RlZmlu ZSBBTURHUFVfQ0hVTktfSURfU0VNX1NJR05BTCAgICAgIDB4MDUKIAogc3RydWN0IGRybV9hbWRn cHVfY3NfY2h1bmsgewogCV9fdTMyCQljaHVua19pZDsKQEAgLTQ1NCw2ICs0NTYsMTAgQEAgc3Ry dWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZmVuY2UgewogCV9fdTMyIG9mZnNldDsKIH07CiAKK3N0 cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSB7CisJX191MzIgaGFuZGxlOworfTsKKwogc3Ry dWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGF0YSB7CiAJdW5pb24gewogCQlzdHJ1Y3QgZHJtX2Ft ZGdwdV9jc19jaHVua19pYgkJaWJfZGF0YTsKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngK