From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 7/7] amdgpu: use sync file for shared semaphores (v3) Date: Thu, 13 Apr 2017 11:41:44 +1000 Message-ID: <20170413014144.637-8-airlied@gmail.com> References: <20170413014144.637-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170413014144.637-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: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: amd-gfx.lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgY3JlYXRlcyBhIG5l dyBjb21tYW5kIHN1Ym1pc3Npb24gY2h1bmsgZm9yIGFtZGdwdQp0byBhZGQgd2FpdCBhbmQgc2ln bmFsIHN5bmMgb2JqZWN0cyBhcm91bmQgdGhlIHN1Ym1pc3Npb24uCgpTeW5jIG9iamVjdHMgYXJl IG1hbmFnZWQgdmlhIHRoZSBkcm0gc3luY29iaiBpb2N0bHMuCgpUaGUgY29tbWFuZCBzdWJtaXNz aW9uIGludGVyZmFjZSBpcyBlbmhhbmNlZCB3aXRoIHR3byBuZXcKY2h1bmtzLCBvbmUgZm9yIHNl bWFwaG9yZSB3YWl0aW5nLCBvbmUgZm9yIHNlbWFwaG9yZSBzaWduYWxsaW5nCmFuZCBqdXN0IHRh a2VzIGEgbGlzdCBvZiBoYW5kbGVzIGZvciBlYWNoLgoKVGhpcyBpcyBiYXNlZCBvbiB3b3JrIG9y aWdpbmFsbHkgZG9uZSBieSBEYXZpZCBaaG91IGF0IEFNRCwKd2l0aCBpbnB1dCBmcm9tIENocmlz dGlhbiBLb25pZyBvbiB3aGF0IHRoaW5ncyBzaG91bGQgbG9vayBsaWtlLgoKTk9URTogdGhpcyBp bnRlcmZhY2UgYWRkaXRpb24gbmVlZHMgYSB2ZXJzaW9uIGJ1bXAgdG8gZXhwb3NlCml0IHRvIHVz ZXJzcGFjZS4KCnYxLjE6IGtlZXAgZmlsZSByZWZlcmVuY2Ugb24gaW1wb3J0Lgp2MjogbW92ZSB0 byB1c2luZyBzeW5jb2Jqcwp2Mi4xOiBjaGFuZ2Ugc29tZSBBUElzIHRvIGp1c3QgdXNlIHAgcG9p bnRlci4KdjM6IG1ha2UgbW9yZSByb2J1c3QgYWdhaW5zdCBDUyBmYWlsdXJlcywgd2Ugbm93IGFk ZCB0aGUKd2FpdCBzZW1zIGJ1dCBvbmx5IHJlbW92ZSB0aGVtIG9uY2UgdGhlIENTIGpvYiBoYXMg YmVlbgpzdWJtaXR0ZWQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRo YXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jICB8IDEx MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2Rydi5jIHwgICAyICstCiBpbmNsdWRlL3VhcGkvZHJtL2FtZGdwdV9kcm0u aCAgICAgICAgICAgfCAgIDYgKysKIDMgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRl eCBkZjI1YjMyLi5lZDExNGM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3Mu YwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4KICNpbmNsdWRl IDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9hbWRncHVfZHJtLmg+CisjaW5jbHVkZSA8ZHJt L2RybV9zeW5jb2JqLmg+CiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAjaW5jbHVkZSAiYW1kZ3B1X3Ry YWNlLmgiCiAKQEAgLTIxNyw2ICsyMTgsOCBAQCBpbnQgYW1kZ3B1X2NzX3BhcnNlcl9pbml0KHN0 cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLCB2b2lkICpkYXRhKQogCQkJYnJlYWs7CiAKIAkJY2Fz ZSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTOgorCQljYXNlIEFNREdQVV9DSFVOS19JRF9T RU1fV0FJVDoKKwkJY2FzZSBBTURHUFVfQ0hVTktfSURfU0VNX1NJR05BTDoKIAkJCWJyZWFrOwog CiAJCWRlZmF1bHQ6CkBAIC0xMDA4LDYgKzEwMTEsNjUgQEAgc3RhdGljIGludCBhbWRncHVfcHJv Y2Vzc19mZW5jZV9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCiAJcmV0dXJuIDA7CiB9 CiAKK3N0YXRpYyBpbnQgYW1kZ3B1X3NlbV9sb29rdXBfYW5kX2FkZF90b19zeW5jKHN0cnVjdCBh bWRncHVfY3NfcGFyc2VyICpwLAorCQkJCQkgICAgIHVpbnQzMl90IGhhbmRsZSkKK3sKKwlpbnQg cjsKKwlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKKwlyID0gZHJtX3N5bmNvYmpfZmVuY2VfZ2V0 KHAtPmZpbHAsIGhhbmRsZSwgJmZlbmNlKTsKKwlpZiAocikKKwkJcmV0dXJuIHI7CisKKwlyID0g YW1kZ3B1X3N5bmNfZmVuY2UocC0+YWRldiwgJnAtPmpvYi0+c3luYywgZmVuY2UpOworCWRtYV9m ZW5jZV9wdXQoZmVuY2UpOworCisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyBpbnQgYW1kZ3B1X3Nl bV9sb29rdXBfYW5kX3JlbW92ZShzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKKwkJCQkgICAg ICB1aW50MzJfdCBoYW5kbGUpCit7CisJcmV0dXJuIGRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2Uo cC0+ZmlscCwgaGFuZGxlLCBOVUxMKTsKK30KKworc3RhdGljIGludCBhbWRncHVfcHJvY2Vzc19z ZW1fd2FpdF9kZXAoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAsCisJCQkJICAgICAgIHN0cnVj dCBhbWRncHVfY3NfY2h1bmsgKmNodW5rKQoreworCXVuc2lnbmVkIG51bV9kZXBzOworCWludCBp LCByOworCXN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqZGVwczsKKworCWRlcHMgPSAo c3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfc2VtICopY2h1bmstPmtkYXRhOworCW51bV9kZXBz ID0gY2h1bmstPmxlbmd0aF9kdyAqIDQgLworCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3Nf Y2h1bmtfc2VtKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fZGVwczsgKytpKSB7CisJCXIgPSBh bWRncHVfc2VtX2xvb2t1cF9hbmRfYWRkX3RvX3N5bmMocCwgZGVwc1tpXS5oYW5kbGUpOworCQlp ZiAocikKKwkJCXJldHVybiByOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhbWRn cHVfcHJvY2Vzc19zZW1fd2FpdF9wb3N0KHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpwLAorCQkJ CQlzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKK3sKKwl1bnNpZ25lZCBudW1fZGVwczsK KwlpbnQgaSwgcjsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0gKmRlcHM7CisKKwlk ZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSAqKWNodW5rLT5rZGF0YTsKKwlu dW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX3NlbSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2RlcHM7ICsraSkgewor CQlyID0gYW1kZ3B1X3NlbV9sb29rdXBfYW5kX3JlbW92ZShwLCBkZXBzW2ldLmhhbmRsZSk7CisJ CWlmIChyKQorCQkJcmV0dXJuIHI7CisJfQorCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGFt ZGdwdV9jc19kZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCQkJICBz dHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKIHsKQEAgLTEwMjIsMTIgKzEwODQsNjAgQEAgc3Rh dGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LAogCQkJciA9IGFtZGdwdV9wcm9jZXNzX2ZlbmNlX2RlcChwLCBjaHVuayk7CiAJCQlpZiAocikK IAkJCQlyZXR1cm4gcjsKKwkJfSBlbHNlIGlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NI VU5LX0lEX1NFTV9XQUlUKSB7CisJCQlyID0gYW1kZ3B1X3Byb2Nlc3Nfc2VtX3dhaXRfZGVwKHAs IGNodW5rKTsKKwkJCWlmIChyKQorCQkJCXJldHVybiByOwogCQl9CiAJfQogCiAJcmV0dXJuIDA7 CiB9CiAKK3N0YXRpYyBpbnQgYW1kZ3B1X3Byb2Nlc3Nfc2VtX3NpZ25hbF9kZXAoc3RydWN0IGFt ZGdwdV9jc19wYXJzZXIgKnAsCisJCQkJCSBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykK K3sKKwl1bnNpZ25lZCBudW1fZGVwczsKKwlpbnQgaSwgcjsKKwlzdHJ1Y3QgZHJtX2FtZGdwdV9j c19jaHVua19zZW0gKmRlcHM7CisKKwlkZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5r X3NlbSAqKWNodW5rLT5rZGF0YTsKKwludW1fZGVwcyA9IGNodW5rLT5sZW5ndGhfZHcgKiA0IC8K KwkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX3NlbSk7CisKKwlmb3IgKGkgPSAw OyBpIDwgbnVtX2RlcHM7ICsraSkgeworCQlyID0gZHJtX3N5bmNvYmpfcmVwbGFjZV9mZW5jZShw LT5maWxwLCBkZXBzW2ldLmhhbmRsZSwKKwkJCQkJICAgICAgcC0+ZmVuY2UpOworCQlpZiAocikK KwkJCXJldHVybiByOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhbWRncHVfY3Nf cG9zdF9kZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnApCit7CisJaW50IGks IHI7CisKKwlmb3IgKGkgPSAwOyBpIDwgcC0+bmNodW5rczsgKytpKSB7CisJCXN0cnVjdCBhbWRn cHVfY3NfY2h1bmsgKmNodW5rOworCisJCWNodW5rID0gJnAtPmNodW5rc1tpXTsKKworCQlpZiAo Y2h1bmstPmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9TRU1fV0FJVCkgeworCQkJciA9IGFt ZGdwdV9wcm9jZXNzX3NlbV93YWl0X3Bvc3QocCwgY2h1bmspOworCQkJaWYgKHIpCisJCQkJcmV0 dXJuIHI7CisJCX0KKworCQlpZiAoY2h1bmstPmNodW5rX2lkID09IEFNREdQVV9DSFVOS19JRF9T RU1fU0lHTkFMKSB7CisJCQlyID0gYW1kZ3B1X3Byb2Nlc3Nfc2VtX3NpZ25hbF9kZXAocCwgY2h1 bmspOworCQkJaWYgKHIpCisJCQkJcmV0dXJuIHI7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisK IHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwK IAkJCSAgICB1bmlvbiBkcm1fYW1kZ3B1X2NzICpjcykKIHsKQEAgLTEwNTUsNyArMTE2NSw3IEBA IHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3N1Ym1pdChzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwK IAl0cmFjZV9hbWRncHVfY3NfaW9jdGwoam9iKTsKIAlhbWRfc2NoZWRfZW50aXR5X3B1c2hfam9i KCZqb2ItPmJhc2UpOwogCi0JcmV0dXJuIDA7CisJcmV0dXJuIGFtZGdwdV9jc19wb3N0X2RlcGVu ZGVuY2llcyhwKTsKIH0KIAogaW50IGFtZGdwdV9jc19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZHJ2LmMKaW5kZXggYjc2Y2Q2OS4uZTk1OTUxZSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwpAQCAtNjgzLDcgKzY4Myw3IEBAIHN0YXRpYyBz dHJ1Y3QgZHJtX2RyaXZlciBrbXNfZHJpdmVyID0gewogCS5kcml2ZXJfZmVhdHVyZXMgPQogCSAg ICBEUklWRVJfVVNFX0FHUCB8CiAJICAgIERSSVZFUl9IQVZFX0lSUSB8IERSSVZFUl9JUlFfU0hB UkVEIHwgRFJJVkVSX0dFTSB8Ci0JICAgIERSSVZFUl9QUklNRSB8IERSSVZFUl9SRU5ERVIgfCBE UklWRVJfTU9ERVNFVCwKKwkgICAgRFJJVkVSX1BSSU1FIHwgRFJJVkVSX1JFTkRFUiB8IERSSVZF Ul9NT0RFU0VUIHwgRFJJVkVSX1NZTkNPQkosCiAJLmxvYWQgPSBhbWRncHVfZHJpdmVyX2xvYWRf a21zLAogCS5vcGVuID0gYW1kZ3B1X2RyaXZlcl9vcGVuX2ttcywKIAkucHJlY2xvc2UgPSBhbWRn cHVfZHJpdmVyX3ByZWNsb3NlX2ttcywKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vYW1k Z3B1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKaW5kZXggNTc5NzI4My4u NjQ3YzUyMCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKKysrIGIv aW5jbHVkZS91YXBpL2RybS9hbWRncHVfZHJtLmgKQEAgLTM5MCw2ICszOTAsOCBAQCBzdHJ1Y3Qg ZHJtX2FtZGdwdV9nZW1fdmEgewogI2RlZmluZSBBTURHUFVfQ0hVTktfSURfSUIJCTB4MDEKICNk ZWZpbmUgQU1ER1BVX0NIVU5LX0lEX0ZFTkNFCQkweDAyCiAjZGVmaW5lIEFNREdQVV9DSFVOS19J RF9ERVBFTkRFTkNJRVMJMHgwMworI2RlZmluZSBBTURHUFVfQ0hVTktfSURfU0VNX1dBSVQgICAg ICAgIDB4MDQKKyNkZWZpbmUgQU1ER1BVX0NIVU5LX0lEX1NFTV9TSUdOQUwgICAgICAweDA1CiAK IHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rIHsKIAlfX3UzMgkJY2h1bmtfaWQ7CkBAIC00NTQs NiArNDU2LDEwIEBAIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2ZlbmNlIHsKIAlfX3UzMiBv ZmZzZXQ7CiB9OwogCitzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19zZW0geworCV9fdTMyIGhh bmRsZTsKK307CisKIHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2RhdGEgewogCXVuaW9uIHsK IAkJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfaWIJCWliX2RhdGE7Ci0tIAoyLjkuMwoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==