From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 8/8] amdgpu: use sync file for shared semaphores (v3) Date: Wed, 12 Apr 2017 14:57:26 +1000 Message-ID: <20170412045726.13689-9-airlied@gmail.com> References: <20170412045726.13689-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170412045726.13689-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 bnRlci4KdjM6IG1ha2UgbW9yZSByb2J1c3QgYWdhaW5zdCBDUyBmYWlsdXJlcywgd2Ugbm93IGFk ZCB0aGUKd2FpdCBzZW1zIGJ1dCBvbmx5IHJlbW92ZSB0aGVtIG9uY2UgdGhlIENTIGpvYiBoYXMg YmVlbgpzdWJtaXR0ZWQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRo YXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jICB8IDEy MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2Rydi5jIHwgICAyICstCiBpbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0u aCAgICAgICAgICAgfCAgIDYgKysKIDMgZmlsZXMgY2hhbmdlZCwgMTI2IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRl eCBkZjI1YjMyLi5lOWI1Nzk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3Mu YwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRl IDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9hbWRncHVfZHJtLmg+CisjaW5jbHVkZSA8ZHJt L2RybV9zeW5jb2JqLmg+CiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAjaW5jbHVkZSAiYW1kZ3B1X3Ry YWNlLmgiCiAKQEAgLTIxNyw2ICsyMTgsOCBAQCBpbnQgYW1kZ3B1X2NzX3BhcnNlcl9pbml0KHN0 cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB2b2lkICpkYXRhKQogCQkJYnJlYWs7CiAKIAkJY2Fz ZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9T RU1fV0FJVDoKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU0VNX1NJR05BTDoKIAkJCWJyZWFrOwog CiAJCWRlZmF1bHQ6CkBAIC0xMDA4LDYgKzEwMTEsNzMgQEAgc3RhdGljIGludCBhbWRncHVfcHJv Y2Vzc19mZW5jZV9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJcmV0dXJuIDA7CiB9 CiAKK3N0YXRpYyBpbnQgYW1kZ3B1X3NlbV9sb29rdXBfYW5kX2FkZF90b19zeW5jKHN0cnVjdCBh bWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkgICAgIHVpbnQzMl90IGhhbmRsZSkKK3sKKwlpbnQg cjsKKwlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKKwlyID0gZHJtX3N5bmNvYmpfZmVuY2VfZ2V0 KHAtPmZpbHAsIGhhbmRsZSwgJmZlbmNlKTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CisKKwlyID0g YW1kZ3B1X3N5bmNfZmVuY2UocC0+YWRldiwgJnAtPmpvYi0+c3luYywgZmVuY2UpOworCWRtYV9m ZW5jZV9wdXQoZmVuY2UpOworCisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X3Nl bV9sb29rdXBfYW5kX3JlbW92ZShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKKwkJCQkgICAg ICB1aW50MzJfdCBoYW5kbGUpCit7CisJaW50IHI7CisJc3RydWN0IGRtYV9mZW5jZSAqb2xkX2Zl bmNlOworCisJciA9IGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UocC0+ZmlscCwgaGFuZGxlLCBO VUxMKTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CisJZG1hX2ZlbmNlX3B1dChvbGRfZmVuY2UpOwor CisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X3Byb2Nlc3Nfc2VtX3dhaXRfZGVw KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJCSAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Nz X2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25lZCBudW1fZGVwczsKKwlpbnQgaSwgcjsKKwlzdHJ1 Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CisKKwlkZXBzID0gKHN0cnVjdCBkcm1f YW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKKwludW1fZGVwcyA9IGNodW5rLT5s ZW5ndGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSk7 CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgeworCQlyID0gYW1kZ3B1X3NlbV9s b29rdXBfYW5kX2FkZF90b19zeW5jKHAsIGRlcHNbaV0uaGFuZGxlKTsKKwkJaWYgKHIpCisJCQly ZXR1cm4gcjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X3Byb2Nlc3Nf c2VtX3dhaXRfcG9zdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKKwkJCQkJc3RydWN0IGFt ZGdwdV9jc19jaHVuayAqY2h1bmspCit7CisJdW5zaWduZWQgbnVtX2RlcHM7CisJaW50IGksIHI7 CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICpkZXBzOworCisJZGVwcyA9IChzdHJ1 Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKiljaHVuay0+a2RhdGE7CisJbnVtX2RlcHMgPSBj aHVuay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVu a19zZW0pOworCisJZm9yIChpID0gMDsgaSA8IG51bV9kZXBzOyArK2kpIHsKKwkJciA9IGFtZGdw dV9zZW1fbG9va3VwX2FuZF9yZW1vdmUocCwgZGVwc1tpXS5oYW5kbGUpOworCQlpZiAocikKKwkJ CXJldHVybiByOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBhbWRncHVfY3NfZGVw ZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCSAgc3RydWN0IGFtZGdw dV9jc19wYXJzZXIgKnApCiB7CkBAIC0xMDIyLDEyICsxMDkyLDYwIEBAIHN0YXRpYyBpbnQgYW1k Z3B1X2NzX2RlcGVuZGVuY2llcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCXIgPSBh bWRncHVfcHJvY2Vzc19mZW5jZV9kZXAocCwgY2h1bmspOwogCQkJaWYgKHIpCiAJCQkJcmV0dXJu IHI7CisJCX0gZWxzZSBpZiAoY2h1bmstPmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9TRU1f V0FJVCkgeworCQkJciA9IGFtZGdwdV9wcm9jZXNzX3NlbV93YWl0X2RlcChwLCBjaHVuayk7CisJ CQlpZiAocikKKwkJCQlyZXR1cm4gcjsKIAkJfQogCX0KIAogCXJldHVybiAwOwogfQogCitzdGF0 aWMgaW50IGFtZGdwdV9wcm9jZXNzX3NlbV9zaWduYWxfZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFy c2VyICpwLAorCQkJCQkgc3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bmspCit7CisJdW5zaWdu ZWQgbnVtX2RlcHM7CisJaW50IGksIHI7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2Vt ICpkZXBzOworCisJZGVwcyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKiljaHVu ay0+a2RhdGE7CisJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVvZihz dHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0pOworCisJZm9yIChpID0gMDsgaSA8IG51bV9k ZXBzOyArK2kpIHsKKwkJciA9IGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UocC0+ZmlscCwgZGVw c1tpXS5oYW5kbGUsCisJCQkJCSAgICAgIHAtPmZlbmNlKTsKKwkJaWYgKHIpCisJCQlyZXR1cm4g cjsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X2NzX3Bvc3RfZGVwZW5k ZW5jaWVzKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwKQoreworCWludCBpLCByOworCisJZm9y IChpID0gMDsgaSA8IHAtPm5jaHVua3M7ICsraSkgeworCQlzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5r ICpjaHVuazsKKworCQljaHVuayA9ICZwLT5jaHVua3NbaV07CisKKwkJaWYgKGNodW5rLT5jaHVu a19pZCA9PSBBTURHUFVfQ0hVTktfSURfU0VNX1dBSVQpIHsKKwkJCXIgPSBhbWRncHVfcHJvY2Vz c19zZW1fd2FpdF9wb3N0KHAsIGNodW5rKTsKKwkJCWlmIChyKQorCQkJCXJldHVybiByOworCQl9 CisKKwkJaWYgKGNodW5rLT5jaHVua19pZCA9PSBBTURHUFVfQ0hVTktfSURfU0VNX1NJR05BTCkg eworCQkJciA9IGFtZGdwdV9wcm9jZXNzX3NlbV9zaWduYWxfZGVwKHAsIGNodW5rKTsKKwkJCWlm IChyKQorCQkJCXJldHVybiByOworCQl9CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50 IGFtZGdwdV9jc19zdWJtaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJCQkgICAgdW5p b24gZHJtX2FtZGdwdV9jcyAqY3MpCiB7CkBAIC0xMDU1LDcgKzExNzMsNyBAQCBzdGF0aWMgaW50 IGFtZGdwdV9jc19zdWJtaXQoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJdHJhY2VfYW1k Z3B1X2NzX2lvY3RsKGpvYik7CiAJYW1kX3NjaGVkX2VudGl0eV9wdXNoX2pvYigmam9iLT5iYXNl KTsKIAotCXJldHVybiAwOworCXJldHVybiBhbWRncHVfY3NfcG9zdF9kZXBlbmRlbmNpZXMocCk7 CiB9CiAKIGludCBhbWRncHVfY3NfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2Rydi5jCmluZGV4IGI3NmNkNjkuLmU5NTk1MWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZHJ2LmMKQEAgLTY4Myw3ICs2ODMsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9k cml2ZXIga21zX2RyaXZlciA9IHsKIAkuZHJpdmVyX2ZlYXR1cmVzID0KIAkgICAgRFJJVkVSX1VT RV9BR1AgfAogCSAgICBEUklWRVJfSEFWRV9JUlEgfCBEUklWRVJfSVJRX1NIQVJFRCB8IERSSVZF Ul9HRU0gfAotCSAgICBEUklWRVJfUFJJTUUgfCBEUklWRVJfUkVOREVSIHwgRFJJVkVSX01PREVT RVQsCisJICAgIERSSVZFUl9QUklNRSB8IERSSVZFUl9SRU5ERVIgfCBEUklWRVJfTU9ERVNFVCB8 IERSSVZFUl9TWU5DT0JKLAogCS5sb2FkID0gYW1kZ3B1X2RyaXZlcl9sb2FkX2ttcywKIAkub3Bl biA9IGFtZGdwdV9kcml2ZXJfb3Blbl9rbXMsCiAJLnByZWNsb3NlID0gYW1kZ3B1X2RyaXZlcl9w cmVjbG9zZV9rbXMsCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0uaCBi L2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCmluZGV4IDU3OTcyODMuLjY0N2M1MjAgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFw aS9kcm0vYW1kZ3B1X2RybS5oCkBAIC0zOTAsNiArMzkwLDggQEAgc3RydWN0IGRybV9hbWRncHVf Z2VtX3ZhIHsKICNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0lCCQkweDAxCiAjZGVmaW5lIEFNREdQ VV9DSFVOS19JRF9GRU5DRQkJMHgwMgogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5D SUVTCTB4MDMKKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NFTV9XQUlUICAgICAgICAweDA0Cisj ZGVmaW5lIEFNREdQVV9DSFVOS19JRF9TRU1fU0lHTkFMICAgICAgMHgwNQogCiBzdHJ1Y3QgZHJt X2FtZGdwdV9jc19jaHVuayB7CiAJX191MzIJCWNodW5rX2lkOwpAQCAtNDU0LDYgKzQ1NiwxMCBA QCBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19mZW5jZSB7CiAJX191MzIgb2Zmc2V0OwogfTsK IAorc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtIHsKKwlfX3UzMiBoYW5kbGU7Cit9Owor CiBzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kYXRhIHsKIAl1bmlvbiB7CiAJCXN0cnVjdCBk cm1fYW1kZ3B1X2NzX2NodW5rX2liCQlpYl9kYXRhOwotLSAKMi45LjMKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=