From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 4/5] amdgpu/cs: split out fence dependency checking Date: Mon, 29 May 2017 17:30:32 +1000 Message-ID: <20170529073033.10903-5-airlied@gmail.com> References: <20170529073033.10903-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170529073033.10903-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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBzcGxpdHMg b3V0IHRoZSBmZW5jZSBkZXBlbmVuY3kgY2hlY2tpbmcgaW50byBpdCdzCm93biBmdW5jdGlvbiB0 byBtYWtlIGl0IGVhc2llciB0byBhZGQgc2VtYXBob3JlIGRlcGVuZGVuY2llcy4KClJldmlld2Vk LWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ClNpZ25lZC1v ZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgfCA4NSArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwppbmRleCA0ZTZiOTUwLi4z MDIyNWQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3Mu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwpAQCAtOTk1LDU2 ICs5OTUsNjUgQEAgc3RhdGljIGludCBhbWRncHVfY3NfaWJfZmlsbChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCBhbWRncHVfY3NfZGVwZW5k ZW5jaWVzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAotCQkJCSAgc3RydWN0IGFtZGdwdV9j c19wYXJzZXIgKnApCitzdGF0aWMgaW50IGFtZGdwdV9jc19wcm9jZXNzX2ZlbmNlX2RlcChzdHJ1 Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCwKKwkJCQkgICAgICAgc3RydWN0IGFtZGdwdV9jc19jaHVu ayAqY2h1bmspCiB7CiAJc3RydWN0IGFtZGdwdV9mcHJpdiAqZnByaXYgPSBwLT5maWxwLT5kcml2 ZXJfcHJpdjsKLQlpbnQgaSwgaiwgcjsKLQotCWZvciAoaSA9IDA7IGkgPCBwLT5uY2h1bmtzOyAr K2kpIHsKLQkJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGVwICpkZXBzOwotCQlzdHJ1Y3Qg YW1kZ3B1X2NzX2NodW5rICpjaHVuazsKLQkJdW5zaWduZWQgbnVtX2RlcHM7CisJdW5zaWduZWQg bnVtX2RlcHM7CisJaW50IGksIHI7CisJc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGVwICpk ZXBzOwogCi0JCWNodW5rID0gJnAtPmNodW5rc1tpXTsKKwlkZXBzID0gKHN0cnVjdCBkcm1fYW1k Z3B1X2NzX2NodW5rX2RlcCAqKWNodW5rLT5rZGF0YTsKKwludW1fZGVwcyA9IGNodW5rLT5sZW5n dGhfZHcgKiA0IC8KKwkJc2l6ZW9mKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5rX2RlcCk7CiAK LQkJaWYgKGNodW5rLT5jaHVua19pZCAhPSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTKQot CQkJY29udGludWU7CisJZm9yIChpID0gMDsgaSA8IG51bV9kZXBzOyArK2kpIHsKKwkJc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nOworCQlzdHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4OworCQlzdHJ1Y3Qg ZG1hX2ZlbmNlICpmZW5jZTsKIAotCQlkZXBzID0gKHN0cnVjdCBkcm1fYW1kZ3B1X2NzX2NodW5r X2RlcCAqKWNodW5rLT5rZGF0YTsKLQkJbnVtX2RlcHMgPSBjaHVuay0+bGVuZ3RoX2R3ICogNCAv Ci0JCQlzaXplb2Yoc3RydWN0IGRybV9hbWRncHVfY3NfY2h1bmtfZGVwKTsKKwkJciA9IGFtZGdw dV9jc19nZXRfcmluZyhwLT5hZGV2LCBkZXBzW2ldLmlwX3R5cGUsCisJCQkJICAgICAgIGRlcHNb aV0uaXBfaW5zdGFuY2UsCisJCQkJICAgICAgIGRlcHNbaV0ucmluZywgJnJpbmcpOworCQlpZiAo cikKKwkJCXJldHVybiByOwogCi0JCWZvciAoaiA9IDA7IGogPCBudW1fZGVwczsgKytqKSB7Ci0J CQlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7Ci0JCQlzdHJ1Y3QgYW1kZ3B1X2N0eCAqY3R4Owot CQkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJCWN0eCA9IGFtZGdwdV9jdHhfZ2V0KGZwcml2 LCBkZXBzW2ldLmN0eF9pZCk7CisJCWlmIChjdHggPT0gTlVMTCkKKwkJCXJldHVybiAtRUlOVkFM OwogCi0JCQlyID0gYW1kZ3B1X2NzX2dldF9yaW5nKGFkZXYsIGRlcHNbal0uaXBfdHlwZSwKLQkJ CQkJICAgICAgIGRlcHNbal0uaXBfaW5zdGFuY2UsCi0JCQkJCSAgICAgICBkZXBzW2pdLnJpbmcs ICZyaW5nKTsKKwkJZmVuY2UgPSBhbWRncHVfY3R4X2dldF9mZW5jZShjdHgsIHJpbmcsCisJCQkJ CSAgICAgZGVwc1tpXS5oYW5kbGUpOworCQlpZiAoSVNfRVJSKGZlbmNlKSkgeworCQkJciA9IFBU Ul9FUlIoZmVuY2UpOworCQkJYW1kZ3B1X2N0eF9wdXQoY3R4KTsKKwkJCXJldHVybiByOworCQl9 IGVsc2UgaWYgKGZlbmNlKSB7CisJCQlyID0gYW1kZ3B1X3N5bmNfZmVuY2UocC0+YWRldiwgJnAt PmpvYi0+c3luYywKKwkJCQkJICAgICAgZmVuY2UpOworCQkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7 CisJCQlhbWRncHVfY3R4X3B1dChjdHgpOwogCQkJaWYgKHIpCiAJCQkJcmV0dXJuIHI7CisJCX0K Kwl9CisJcmV0dXJuIDA7Cit9CiAKLQkJCWN0eCA9IGFtZGdwdV9jdHhfZ2V0KGZwcml2LCBkZXBz W2pdLmN0eF9pZCk7Ci0JCQlpZiAoY3R4ID09IE5VTEwpCi0JCQkJcmV0dXJuIC1FSU5WQUw7Citz dGF0aWMgaW50IGFtZGdwdV9jc19kZXBlbmRlbmNpZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCisJCQkJICBzdHJ1Y3QgYW1kZ3B1X2NzX3BhcnNlciAqcCkKK3sKKwlpbnQgaSwgcjsKIAot CQkJZmVuY2UgPSBhbWRncHVfY3R4X2dldF9mZW5jZShjdHgsIHJpbmcsCi0JCQkJCQkgICAgIGRl cHNbal0uaGFuZGxlKTsKLQkJCWlmIChJU19FUlIoZmVuY2UpKSB7Ci0JCQkJciA9IFBUUl9FUlIo ZmVuY2UpOwotCQkJCWFtZGdwdV9jdHhfcHV0KGN0eCk7Ci0JCQkJcmV0dXJuIHI7CisJZm9yIChp ID0gMDsgaSA8IHAtPm5jaHVua3M7ICsraSkgeworCQlzdHJ1Y3QgYW1kZ3B1X2NzX2NodW5rICpj aHVuazsKIAotCQkJfSBlbHNlIGlmIChmZW5jZSkgewotCQkJCXIgPSBhbWRncHVfc3luY19mZW5j ZShhZGV2LCAmcC0+am9iLT5zeW5jLAotCQkJCQkJICAgICAgZmVuY2UpOwotCQkJCWRtYV9mZW5j ZV9wdXQoZmVuY2UpOwotCQkJCWFtZGdwdV9jdHhfcHV0KGN0eCk7Ci0JCQkJaWYgKHIpCi0JCQkJ CXJldHVybiByOwotCQkJfQorCQljaHVuayA9ICZwLT5jaHVua3NbaV07CisKKwkJaWYgKGNodW5r LT5jaHVua19pZCA9PSBBTURHUFVfQ0hVTktfSURfREVQRU5ERU5DSUVTKSB7CisJCQlyID0gYW1k Z3B1X2NzX3Byb2Nlc3NfZmVuY2VfZGVwKHAsIGNodW5rKTsKKwkJCWlmIChyKQorCQkJCXJldHVy biByOwogCQl9CiAJfQogCi0tIAoyLjkuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4Cg==