From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 1/2] amdgpu/cs: split out fence dependency checking (v2) Date: Fri, 16 Jun 2017 13:52:49 +1000 Message-ID: <20170616035250.4300-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBzcGxpdHMg b3V0IHRoZSBmZW5jZSBkZXBlbmVuY3kgY2hlY2tpbmcgaW50byBpdCdzCm93biBmdW5jdGlvbiB0 byBtYWtlIGl0IGVhc2llciB0byBhZGQgc2VtYXBob3JlIGRlcGVuZGVuY2llcy4KCnYyOiByZWJh c2Ugb250byBvdGhlciBjaGFuZ2VzLgoKdjEtUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBLw7ZuaWcg PGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFp cmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf Y3MuYyB8IDkzICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA1MSBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9jcy5jCmluZGV4IGEzN2JkZjQuLjI5NDY5ZTYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC05MjMsNTkgKzkyMyw2OCBAQCBzdGF0aWMgaW50 IGFtZGdwdV9jc19pYl9maWxsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCXJldHVybiAw OwogfQogCi1zdGF0aWMgaW50IGFtZGdwdV9jc19kZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCi0JCQkJICBzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKK3N0YXRpYyBp bnQgYW1kZ3B1X2NzX3Byb2Nlc3NfZmVuY2VfZGVwKHN0cnVjdCBhbWRncHVfY3NfcGFyc2VyICpw LAorCQkJCSAgICAgICBzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuaykKIHsKIAlzdHJ1Y3Qg YW1kZ3B1X2Zwcml2ICpmcHJpdiA9IHAtPmZpbHAtPmRyaXZlcl9wcml2OwotCWludCBpLCBqLCBy OworCXVuc2lnbmVkIG51bV9kZXBzOworCWludCBpLCByOworCXN0cnVjdCBkcm1fYW1kZ3B1X2Nz X2NodW5rX2RlcCAqZGVwczsKIAotCWZvciAoaSA9IDA7IGkgPCBwLT5uY2h1bmtzOyArK2kpIHsK LQkJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGVwICpkZXBzOwotCQlzdHJ1Y3QgYW1kZ3B1 X2NzX2NodW5rICpjaHVuazsKLQkJdW5zaWduZWQgbnVtX2RlcHM7CisJZGVwcyA9IChzdHJ1Y3Qg ZHJtX2FtZGdwdV9jc19jaHVua19kZXAgKiljaHVuay0+a2RhdGE7CisJbnVtX2RlcHMgPSBjaHVu ay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19k ZXApOwogCi0JCWNodW5rID0gJnAtPmNodW5rc1tpXTsKKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2Rl cHM7ICsraSkgeworCQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7CisJCXN0cnVjdCBhbWRncHVf Y3R4ICpjdHg7CisJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwogCi0JCWlmIChjaHVuay0+Y2h1 bmtfaWQgIT0gQU1ER1BVX0NIVU5LX0lEX0RFUEVOREVOQ0lFUykKLQkJCWNvbnRpbnVlOworCQlj dHggPSBhbWRncHVfY3R4X2dldChmcHJpdiwgZGVwc1tpXS5jdHhfaWQpOworCQlpZiAoY3R4ID09 IE5VTEwpCisJCQlyZXR1cm4gLUVJTlZBTDsKIAotCQlkZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1 X2NzX2NodW5rX2RlcCAqKWNodW5rLT5rZGF0YTsKLQkJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3Ro X2R3ICogNCAvCi0JCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGVwKTsKKwkJ ciA9IGFtZGdwdV9xdWV1ZV9tZ3JfbWFwKHAtPmFkZXYsICZjdHgtPnF1ZXVlX21nciwKKwkJCQkJ IGRlcHNbaV0uaXBfdHlwZSwKKwkJCQkJIGRlcHNbaV0uaXBfaW5zdGFuY2UsCisJCQkJCSBkZXBz W2ldLnJpbmcsICZyaW5nKTsKKwkJaWYgKHIpIHsKKwkJCWFtZGdwdV9jdHhfcHV0KGN0eCk7CisJ CQlyZXR1cm4gcjsKKwkJfQogCi0JCWZvciAoaiA9IDA7IGogPCBudW1fZGVwczsgKytqKSB7Ci0J CQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7Ci0JCQlzdHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4Owot CQkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJCWZlbmNlID0gYW1kZ3B1X2N0eF9nZXRfZmVu Y2UoY3R4LCByaW5nLAorCQkJCQkgICAgIGRlcHNbaV0uaGFuZGxlKTsKKwkJaWYgKElTX0VSUihm ZW5jZSkpIHsKKwkJCXIgPSBQVFJfRVJSKGZlbmNlKTsKKwkJCWFtZGdwdV9jdHhfcHV0KGN0eCk7 CisJCQlyZXR1cm4gcjsKKwkJfSBlbHNlIGlmIChmZW5jZSkgeworCQkJciA9IGFtZGdwdV9zeW5j X2ZlbmNlKHAtPmFkZXYsICZwLT5qb2ItPnN5bmMsCisJCQkJCSAgICAgIGZlbmNlKTsKKwkJCWRt YV9mZW5jZV9wdXQoZmVuY2UpOworCQkJYW1kZ3B1X2N0eF9wdXQoY3R4KTsKKwkJCWlmIChyKQor CQkJCXJldHVybiByOworCQl9CisJfQorCXJldHVybiAwOworfQogCi0JCQljdHggPSBhbWRncHVf Y3R4X2dldChmcHJpdiwgZGVwc1tqXS5jdHhfaWQpOwotCQkJaWYgKGN0eCA9PSBOVUxMKQotCQkJ CXJldHVybiAtRUlOVkFMOworc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVzKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCSAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAp Cit7CisJaW50IGksIHI7CiAKLQkJCXIgPSBhbWRncHVfcXVldWVfbWdyX21hcChhZGV2LCAmY3R4 LT5xdWV1ZV9tZ3IsCi0JCQkJCQkgZGVwc1tqXS5pcF90eXBlLAotCQkJCQkJIGRlcHNbal0uaXBf aW5zdGFuY2UsCi0JCQkJCQkgZGVwc1tqXS5yaW5nLCAmcmluZyk7Ci0JCQlpZiAocikgewotCQkJ CWFtZGdwdV9jdHhfcHV0KGN0eCk7Ci0JCQkJcmV0dXJuIHI7Ci0JCQl9CisJZm9yIChpID0gMDsg aSA8IHAtPm5jaHVua3M7ICsraSkgeworCQlzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpjaHVuazsK IAotCQkJZmVuY2UgPSBhbWRncHVfY3R4X2dldF9mZW5jZShjdHgsIHJpbmcsCi0JCQkJCQkgICAg IGRlcHNbal0uaGFuZGxlKTsKLQkJCWlmIChJU19FUlIoZmVuY2UpKSB7Ci0JCQkJciA9IFBUUl9F UlIoZmVuY2UpOwotCQkJCWFtZGdwdV9jdHhfcHV0KGN0eCk7Ci0JCQkJcmV0dXJuIHI7CisJCWNo dW5rID0gJnAtPmNodW5rc1tpXTsKIAotCQkJfSBlbHNlIGlmIChmZW5jZSkgewotCQkJCXIgPSBh bWRncHVfc3luY19mZW5jZShhZGV2LCAmcC0+am9iLT5zeW5jLAotCQkJCQkJICAgICAgZmVuY2Up OwotCQkJCWRtYV9mZW5jZV9wdXQoZmVuY2UpOwotCQkJCWFtZGdwdV9jdHhfcHV0KGN0eCk7Ci0J CQkJaWYgKHIpCi0JCQkJCXJldHVybiByOwotCQkJfQorCQlpZiAoY2h1bmstPmNodW5rX2lkID09 IEFNREdQVV9DSFVOS19JRF9ERVBFTkRFTkNJRVMpIHsKKwkJCXIgPSBhbWRncHVfY3NfcHJvY2Vz c19mZW5jZV9kZXAocCwgY2h1bmspOworCQkJaWYgKHIpCisJCQkJcmV0dXJuIHI7CiAJCX0KIAl9 CiAKLS0gCjIuOS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK