From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 3/4] amdgpu/cs: split out fence dependency checking Date: Mon, 20 Mar 2017 17:03:06 +1000 Message-ID: <20170320070307.18344-4-airlied@gmail.com> References: <20170320070307.18344-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170320070307.18344-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBzcGxpdHMg b3V0IHRoZSBmZW5jZSBkZXBlbmVuY3kgY2hlY2tpbmcgaW50byBpdCdzCm93biBmdW5jdGlvbiB0 byBtYWtlIGl0IGVhc2llciB0byBhZGQgc2VtYXBob3JlIGRlcGVuZGVuY2llcy4KClNpZ25lZC1v ZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgfCA4NiArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRleCA5OTQyNGNiLi40 NjcxNDMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3Mu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtOTYzLDU2 ICs5NjMsNjYgQEAgc3RhdGljIGludCBhbWRncHVfY3NfaWJfZmlsbChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5k ZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAotCQkJCSAgc3RydWN0IGFtZGdwdV9j c19wYXJzZXIgKnApCitzdGF0aWMgaW50IGFtZGdwdV9wcm9jZXNzX2ZlbmNlX2RlcChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQkgICAgc3RydWN0IGFtZGdwdV9jc19wYXJzZXIgKnAs CisJCQkJICAgIHN0cnVjdCBhbWRncHVfY3NfY2h1bmsgKmNodW5rKQogewogCXN0cnVjdCBhbWRn cHVfZnByaXYgKmZwcml2ID0gcC0+ZmlscC0+ZHJpdmVyX3ByaXY7Ci0JaW50IGksIGosIHI7Ci0K LQlmb3IgKGkgPSAwOyBpIDwgcC0+bmNodW5rczsgKytpKSB7Ci0JCXN0cnVjdCBkcm1fYW1kZ3B1 X2NzX2NodW5rX2RlcCAqZGVwczsKLQkJc3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bms7Ci0J CXVuc2lnbmVkIG51bV9kZXBzOworCXVuc2lnbmVkIG51bV9kZXBzOworCWludCBpLCByOworCXN0 cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2RlcCAqZGVwczsKIAotCQljaHVuayA9ICZwLT5jaHVu a3NbaV07CisJZGVwcyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kZXAgKiljaHVuay0+ a2RhdGE7CisJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAvCisJCXNpemVvZihzdHJ1 Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kZXApOwogCi0JCWlmIChjaHVuay0+Y2h1bmtfaWQgIT0g QU1ER1BVX0NIVU5LX0lEX0RFUEVOREVOQ0lFUykKLQkJCWNvbnRpbnVlOworCWZvciAoaSA9IDA7 IGkgPCBudW1fZGVwczsgKytpKSB7CisJCXN0cnVjdCBhbWRncHVfcmluZyAqcmluZzsKKwkJc3Ry dWN0IGFtZGdwdV9jdHggKmN0eDsKKwkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CiAKLQkJZGVw cyA9IChzdHJ1Y3QgZHJtX2FtZGdwdV9jc19jaHVua19kZXAgKiljaHVuay0+a2RhdGE7Ci0JCW51 bV9kZXBzID0gY2h1bmstPmxlbmd0aF9kdyAqIDQgLwotCQkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX2RlcCk7CisJCXIgPSBhbWRncHVfY3NfZ2V0X3JpbmcoYWRldiwgZGVwc1tp XS5pcF90eXBlLAorCQkJCSAgICAgICBkZXBzW2ldLmlwX2luc3RhbmNlLAorCQkJCSAgICAgICBk ZXBzW2ldLnJpbmcsICZyaW5nKTsKKwkJaWYgKHIpCisJCQlyZXR1cm4gcjsKIAotCQlmb3IgKGog PSAwOyBqIDwgbnVtX2RlcHM7ICsraikgewotCQkJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nOwot CQkJc3RydWN0IGFtZGdwdV9jdHggKmN0eDsKLQkJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwor CQljdHggPSBhbWRncHVfY3R4X2dldChmcHJpdiwgZGVwc1tpXS5jdHhfaWQpOworCQlpZiAoY3R4 ID09IE5VTEwpCisJCQlyZXR1cm4gLUVJTlZBTDsKIAotCQkJciA9IGFtZGdwdV9jc19nZXRfcmlu ZyhhZGV2LCBkZXBzW2pdLmlwX3R5cGUsCi0JCQkJCSAgICAgICBkZXBzW2pdLmlwX2luc3RhbmNl LAotCQkJCQkgICAgICAgZGVwc1tqXS5yaW5nLCAmcmluZyk7CisJCWZlbmNlID0gYW1kZ3B1X2N0 eF9nZXRfZmVuY2UoY3R4LCByaW5nLAorCQkJCQkgICAgIGRlcHNbaV0uaGFuZGxlKTsKKwkJaWYg KElTX0VSUihmZW5jZSkpIHsKKwkJCXIgPSBQVFJfRVJSKGZlbmNlKTsKKwkJCWFtZGdwdV9jdHhf cHV0KGN0eCk7CisJCQlyZXR1cm4gcjsKKwkJfSBlbHNlIGlmIChmZW5jZSkgeworCQkJciA9IGFt ZGdwdV9zeW5jX2ZlbmNlKGFkZXYsICZwLT5qb2ItPnN5bmMsCisJCQkJCSAgICAgIGZlbmNlKTsK KwkJCWRtYV9mZW5jZV9wdXQoZmVuY2UpOworCQkJYW1kZ3B1X2N0eF9wdXQoY3R4KTsKIAkJCWlm IChyKQogCQkJCXJldHVybiByOworCQl9CisJfQorCXJldHVybiAwOworfQogCi0JCQljdHggPSBh bWRncHVfY3R4X2dldChmcHJpdiwgZGVwc1tqXS5jdHhfaWQpOwotCQkJaWYgKGN0eCA9PSBOVUxM KQotCQkJCXJldHVybiAtRUlOVkFMOworc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5kZW5jaWVz KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAorCQkJCSAgc3RydWN0IGFtZGdwdV9jc19wYXJz ZXIgKnApCit7CisJaW50IGksIHI7CiAKLQkJCWZlbmNlID0gYW1kZ3B1X2N0eF9nZXRfZmVuY2Uo Y3R4LCByaW5nLAotCQkJCQkJICAgICBkZXBzW2pdLmhhbmRsZSk7Ci0JCQlpZiAoSVNfRVJSKGZl bmNlKSkgewotCQkJCXIgPSBQVFJfRVJSKGZlbmNlKTsKLQkJCQlhbWRncHVfY3R4X3B1dChjdHgp OwotCQkJCXJldHVybiByOworCWZvciAoaSA9IDA7IGkgPCBwLT5uY2h1bmtzOyArK2kpIHsKKwkJ c3RydWN0IGFtZGdwdV9jc19jaHVuayAqY2h1bms7CiAKLQkJCX0gZWxzZSBpZiAoZmVuY2UpIHsK LQkJCQlyID0gYW1kZ3B1X3N5bmNfZmVuY2UoYWRldiwgJnAtPmpvYi0+c3luYywKLQkJCQkJCSAg ICAgIGZlbmNlKTsKLQkJCQlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKLQkJCQlhbWRncHVfY3R4X3B1 dChjdHgpOwotCQkJCWlmIChyKQotCQkJCQlyZXR1cm4gcjsKLQkJCX0KKwkJY2h1bmsgPSAmcC0+ Y2h1bmtzW2ldOworCisJCWlmIChjaHVuay0+Y2h1bmtfaWQgPT0gQU1ER1BVX0NIVU5LX0lEX0RF UEVOREVOQ0lFUykgeworCQkJciA9IGFtZGdwdV9wcm9jZXNzX2ZlbmNlX2RlcChhZGV2LCBwLCBj aHVuayk7CisJCQlpZiAocikKKwkJCQlyZXR1cm4gcjsKIAkJfQogCX0KIAotLSAKMi43LjQKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFp bGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=