From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Rodriguez Subject: [PATCH 13/22] drm/amdgpu: allocate queues horizontally across pipes Date: Thu, 2 Mar 2017 03:02:24 -0500 Message-ID: <20170302080233.4749-14-andresx7@gmail.com> References: <20170302080233.4749-1-andresx7@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170302080233.4749-1-andresx7-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 Cc: andresx7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org UGlwZXMgcHJvdmlkZSBiZXR0ZXIgY29uY3VycmVuY3kgdGhhbiBxdWV1ZXMsIHRoZXJlZm9yZSB3 ZSB3YW50IHRvIG1ha2UKc3VyZSB0aGF0IGFwcHMgdXNlIHF1ZXVlcyBmcm9tIGRpZmZlcmVudCBw aXBlcyB3aGVuZXZlciBwb3NzaWJsZS4KCk9wdGltaXplIGZvciB0aGUgdHJpdmlhbCBjYXNlIHdo ZXJlIGFuIGFwcCB3aWxsIGNvbnN1bWUgcmluZ3MgaW4gb3JkZXIsCnRoZXJlZm9yZSB3ZSBkb24n dCB3YW50IGFkamFjZW50IHJpbmdzIHRvIGJlbG9uZyB0byB0aGUgc2FtZSBwaXBlLgoKU2lnbmVk LW9mZi1ieTogQW5kcmVzIFJvZHJpZ3VleiA8YW5kcmVzeDdAZ21haWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgfCAxMyArKysrKysKIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dmeF92N18wLmMgfCA3OCArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyB8IDgzICsrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEwOSBpbnNl cnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5o CmluZGV4IGY5ZGYyMTcuLjM3N2Y1OGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5o CkBAIC0xNjQ2LDYgKzE2NDYsMTkgQEAgYW1kZ3B1X2dldF9zZG1hX2luc3RhbmNlKHN0cnVjdCBh bWRncHVfcmluZyAqcmluZykKIAkJcmV0dXJuIE5VTEw7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9v bCBhbWRncHVfaXNfbWVjX3F1ZXVlX2VuYWJsZWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs CisJCQkJCQlpbnQgbWVjLCBpbnQgcGlwZSwgaW50IHF1ZXVlKQoreworCWludCBiaXQgPSAwOwor CisJYml0ICs9IG1lYyAqIGFkZXYtPmdmeC5tZWMubnVtX3BpcGVfcGVyX21lYworCQkqIGFkZXYt PmdmeC5tZWMubnVtX3F1ZXVlX3Blcl9waXBlOworCWJpdCArPSBwaXBlICogYWRldi0+Z2Z4Lm1l Yy5udW1fcXVldWVfcGVyX3BpcGU7CisJYml0ICs9IHF1ZXVlOworCisJcmV0dXJuIHRlc3RfYml0 KGJpdCwgYWRldi0+Z2Z4Lm1lYy5xdWV1ZV9iaXRtYXApOworfQorCiAvKgogICogQVNJQ3MgbWFj cm8uCiAgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18w LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdfMC5jCmluZGV4IDY4MjY1Yjcu LjNjYTU1MTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18w LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYwpAQCAtNDcyNywx MSArNDcyNyw0MiBAQCBzdGF0aWMgdm9pZCBnZnhfdjdfMF9ncHVfZWFybHlfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKIAlhZGV2LT5nZnguY29uZmlnLmdiX2FkZHJfY29uZmlnID0g Z2JfYWRkcl9jb25maWc7CiB9CiAKK3N0YXRpYyBpbnQgZ2Z4X3Y3XzBfY29tcHV0ZV9yaW5nX2lu aXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGludCByaW5nX2lkLAorCQkJCQlpbnQgbWVj LCBpbnQgcGlwZSwgaW50IHF1ZXVlKQoreworCWludCByOworCXVuc2lnbmVkIGlycV90eXBlOwor CXN0cnVjdCBhbWRncHVfcmluZyAqcmluZyA9ICZhZGV2LT5nZnguY29tcHV0ZV9yaW5nW3Jpbmdf aWRdOworCisJLyogbWVjMCBpcyBtZTEgKi8KKwlyaW5nLT5tZSA9IG1lYyArIDE7CisJcmluZy0+ cGlwZSA9IHBpcGU7CisJcmluZy0+cXVldWUgPSBxdWV1ZTsKKworCXJpbmctPnJpbmdfb2JqID0g TlVMTDsKKwlyaW5nLT51c2VfZG9vcmJlbGwgPSB0cnVlOworCXJpbmctPmRvb3JiZWxsX2luZGV4 ID0gQU1ER1BVX0RPT1JCRUxMX01FQ19SSU5HMCArIHJpbmdfaWQ7CisJc3ByaW50ZihyaW5nLT5u YW1lLCAiY29tcF8lZC4lZC4lZCIsIHJpbmctPm1lLCByaW5nLT5waXBlLCByaW5nLT5xdWV1ZSk7 CisKKwlpcnFfdHlwZSA9IEFNREdQVV9DUF9JUlFfQ09NUFVURV9NRUMxX1BJUEUwX0VPUAorCQkr ICgocmluZy0+bWUgLSAxKSAqIGFkZXYtPmdmeC5tZWMubnVtX3BpcGVfcGVyX21lYykKKwkJKyBy aW5nLT5waXBlOworCisJLyogdHlwZS0yIHBhY2tldHMgYXJlIGRlcHJlY2F0ZWQgb24gTUVDLCB1 c2UgdHlwZS0zIGluc3RlYWQgKi8KKwlyID0gYW1kZ3B1X3JpbmdfaW5pdChhZGV2LCByaW5nLCAx MDI0LAorCQkJJmFkZXYtPmdmeC5lb3BfaXJxLCBpcnFfdHlwZSk7CisJaWYgKHIpCisJCXJldHVy biByOworCisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBnZnhfdjdfMF9zd19pbml0KHZv aWQgKmhhbmRsZSkKIHsKIAlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7CiAJc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKiloYW5kbGU7Ci0JaW50IGks IHIsIHJpbmdfaWQ7CisJaW50IGksIGosIGssIHIsIHJpbmdfaWQ7CiAKIAkvKiBFT1AgRXZlbnQg Ki8KIAlyID0gYW1kZ3B1X2lycV9hZGRfaWQoYWRldiwgMTgxLCAmYWRldi0+Z2Z4LmVvcF9pcnEp OwpAQCAtNDc3OSwzOSArNDgxMCwyNCBAQCBzdGF0aWMgaW50IGdmeF92N18wX3N3X2luaXQodm9p ZCAqaGFuZGxlKQogCQkJcmV0dXJuIHI7CiAJfQogCi0JLyogc2V0IHVwIHRoZSBjb21wdXRlIHF1 ZXVlcyAqLwotCWZvciAoaSA9IDAsIHJpbmdfaWQgPSAwOyBpIDwgQU1ER1BVX01BWF9RVUVVRVM7 IGkrKykgewotCQl1bnNpZ25lZCBpcnFfdHlwZTsKLQotCQlpZiAoIXRlc3RfYml0KGksIGFkZXYt PmdmeC5tZWMucXVldWVfYml0bWFwKSkKLQkJCWNvbnRpbnVlOwotCi0JCXJpbmcgPSAmYWRldi0+ Z2Z4LmNvbXB1dGVfcmluZ1tyaW5nX2lkXTsKLQotCQkvKiBtZWMwIGlzIG1lMSAqLwotCQlyaW5n LT5tZSA9ICgoaSAvIGFkZXYtPmdmeC5tZWMubnVtX3F1ZXVlX3Blcl9waXBlKQotCQkJCS8gYWRl di0+Z2Z4Lm1lYy5udW1fcGlwZV9wZXJfbWVjKQotCQkJCSsgMTsKLQkJcmluZy0+cGlwZSA9IChp IC8gYWRldi0+Z2Z4Lm1lYy5udW1fcXVldWVfcGVyX3BpcGUpCi0JCQkJJSBhZGV2LT5nZngubWVj Lm51bV9waXBlX3Blcl9tZWM7Ci0JCXJpbmctPnF1ZXVlID0gaSAlIGFkZXYtPmdmeC5tZWMubnVt X3F1ZXVlX3Blcl9waXBlOwotCi0JCXJpbmctPnJpbmdfb2JqID0gTlVMTDsKLQkJcmluZy0+dXNl X2Rvb3JiZWxsID0gdHJ1ZTsKLQkJcmluZy0+ZG9vcmJlbGxfaW5kZXggPSBBTURHUFVfRE9PUkJF TExfTUVDX1JJTkcwICsgcmluZ19pZDsKLQkJc3ByaW50ZihyaW5nLT5uYW1lLCAiY29tcF8lZC4l ZC4lZCIsIHJpbmctPm1lLCByaW5nLT5waXBlLCByaW5nLT5xdWV1ZSk7CisJLyogc2V0IHVwIHRo ZSBjb21wdXRlIHF1ZXVlcyAtIGFsbG9jYXRlIGhvcml6b250YWxseSBhY3Jvc3MgcGlwZXMgKi8K KwlyaW5nX2lkID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgYWRldi0+Z2Z4Lm1lYy5udW1fcGlwZV9w ZXJfbWVjOyArK2kpIHsKKwkJZm9yIChqID0gMDsgaiA8IGFkZXYtPmdmeC5tZWMubnVtX3F1ZXVl X3Blcl9waXBlOyBqKyspIHsKKwkJCWZvciAoayA9IDA7IGsgPCBhZGV2LT5nZngubWVjLm51bV9w aXBlX3Blcl9tZWM7IGsrKykgewogCi0JCWlycV90eXBlID0gQU1ER1BVX0NQX0lSUV9DT01QVVRF X01FQzFfUElQRTBfRU9QCi0JCQkrICgocmluZy0+bWUgLSAxKSAqIGFkZXYtPmdmeC5tZWMubnVt X3BpcGVfcGVyX21lYykKLQkJCSsgcmluZy0+cGlwZTsKKwkJCQlpZiAoIWFtZGdwdV9pc19tZWNf cXVldWVfZW5hYmxlZChhZGV2LCBpLCBrLCBqKSkKKwkJCQkJY29udGludWU7CiAKLQkJLyogdHlw ZS0yIHBhY2tldHMgYXJlIGRlcHJlY2F0ZWQgb24gTUVDLCB1c2UgdHlwZS0zIGluc3RlYWQgKi8K LQkJciA9IGFtZGdwdV9yaW5nX2luaXQoYWRldiwgcmluZywgMTAyNCwKLQkJCQkgICAgICZhZGV2 LT5nZnguZW9wX2lycSwgaXJxX3R5cGUpOwotCQlpZiAocikKLQkJCXJldHVybiByOworCQkJCXIg PSBnZnhfdjdfMF9jb21wdXRlX3JpbmdfaW5pdChhZGV2LAorCQkJCQkJCQlyaW5nX2lkLAorCQkJ CQkJCQlpLCBrLCBqKTsKKwkJCQlpZiAocikKKwkJCQkJcmV0dXJuIHI7CiAKLQkJcmluZ19pZCsr OworCQkJCXJpbmdfaWQrKzsKKwkJCX0KKwkJfQogCX0KIAogCS8qIHJlc2VydmUgR0RTLCBHV1Mg YW5kIE9BIHJlc291cmNlIGZvciBnZnggKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhf MC5jCmluZGV4IDg2MTMzNGIuLmVkZGRkODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92OF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4 X3Y4XzAuYwpAQCAtMjEyMiw5ICsyMTIyLDQyIEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfZ3B1X2Vh cmx5X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJcmV0dXJuIDA7CiB9CiAKK3N0 YXRpYyBpbnQgZ2Z4X3Y4XzBfY29tcHV0ZV9yaW5nX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIGludCByaW5nX2lkLAorCQkJCQlpbnQgbWVjLCBpbnQgcGlwZSwgaW50IHF1ZXVlKQor eworCWludCByOworCXVuc2lnbmVkIGlycV90eXBlOworCXN0cnVjdCBhbWRncHVfcmluZyAqcmlu ZyA9ICZhZGV2LT5nZnguY29tcHV0ZV9yaW5nW3JpbmdfaWRdOworCisJcmluZyA9ICZhZGV2LT5n ZnguY29tcHV0ZV9yaW5nW3JpbmdfaWRdOworCisJLyogbWVjMCBpcyBtZTEgKi8KKwlyaW5nLT5t ZSA9IG1lYyArIDE7CisJcmluZy0+cGlwZSA9IHBpcGU7CisJcmluZy0+cXVldWUgPSBxdWV1ZTsK KworCXJpbmctPnJpbmdfb2JqID0gTlVMTDsKKwlyaW5nLT51c2VfZG9vcmJlbGwgPSB0cnVlOwor CXJpbmctPmRvb3JiZWxsX2luZGV4ID0gQU1ER1BVX0RPT1JCRUxMX01FQ19SSU5HMCArIHJpbmdf aWQ7CisJc3ByaW50ZihyaW5nLT5uYW1lLCAiY29tcF8lZC4lZC4lZCIsIHJpbmctPm1lLCByaW5n LT5waXBlLCByaW5nLT5xdWV1ZSk7CisKKwlpcnFfdHlwZSA9IEFNREdQVV9DUF9JUlFfQ09NUFVU RV9NRUMxX1BJUEUwX0VPUAorCQkrICgocmluZy0+bWUgLSAxKSAqIGFkZXYtPmdmeC5tZWMubnVt X3BpcGVfcGVyX21lYykKKwkJKyByaW5nLT5waXBlOworCisJLyogdHlwZS0yIHBhY2tldHMgYXJl IGRlcHJlY2F0ZWQgb24gTUVDLCB1c2UgdHlwZS0zIGluc3RlYWQgKi8KKwlyID0gYW1kZ3B1X3Jp bmdfaW5pdChhZGV2LCByaW5nLCAxMDI0LAorCQkJJmFkZXYtPmdmeC5lb3BfaXJxLCBpcnFfdHlw ZSk7CisJaWYgKHIpCisJCXJldHVybiByOworCisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGlu dCBnZnhfdjhfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKIHsKLQlpbnQgaSwgciwgcmluZ19pZDsK KwlpbnQgaSwgaiwgaywgciwgcmluZ19pZDsKIAlzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmc7CiAJ c3RydWN0IGFtZGdwdV9raXEgKmtpcTsKIAlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKQEAgLTIxOTksNDIgKzIyMzIsMjQgQEAgc3Rh dGljIGludCBnZnhfdjhfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKIAkJCXJldHVybiByOwogCX0K IAotCS8qIHNldCB1cCB0aGUgY29tcHV0ZSBxdWV1ZXMgKi8KLQlmb3IgKGkgPSAwLCByaW5nX2lk ID0gMDsgaSA8IEFNREdQVV9NQVhfUVVFVUVTOyBpKyspIHsKLQkJdW5zaWduZWQgaXJxX3R5cGU7 Ci0KLQkJaWYgKCF0ZXN0X2JpdChpLCBhZGV2LT5nZngubWVjLnF1ZXVlX2JpdG1hcCkpCi0JCQlj b250aW51ZTsKLQotCQlpZiAoV0FSTl9PTihyaW5nX2lkID49IEFNREdQVV9NQVhfQ09NUFVURV9S SU5HUykpCi0JCQlicmVhazsKLQotCQlyaW5nID0gJmFkZXYtPmdmeC5jb21wdXRlX3Jpbmdbcmlu Z19pZF07Ci0KLQkJLyogbWVjMCBpcyBtZTEgKi8KLQkJcmluZy0+bWUgPSAoKGkgLyBhZGV2LT5n ZngubWVjLm51bV9xdWV1ZV9wZXJfcGlwZSkKLQkJCQkvIGFkZXYtPmdmeC5tZWMubnVtX3BpcGVf cGVyX21lYykKLQkJCQkrIDE7Ci0JCXJpbmctPnBpcGUgPSAoaSAvIGFkZXYtPmdmeC5tZWMubnVt X3F1ZXVlX3Blcl9waXBlKQotCQkJCSUgYWRldi0+Z2Z4Lm1lYy5udW1fcGlwZV9wZXJfbWVjOwot CQlyaW5nLT5xdWV1ZSA9IGkgJSBhZGV2LT5nZngubWVjLm51bV9xdWV1ZV9wZXJfcGlwZTsKLQot CQlyaW5nLT5yaW5nX29iaiA9IE5VTEw7Ci0JCXJpbmctPnVzZV9kb29yYmVsbCA9IHRydWU7Ci0J CXJpbmctPmRvb3JiZWxsX2luZGV4ID0gQU1ER1BVX0RPT1JCRUxMX01FQ19SSU5HMCArIHJpbmdf aWQ7Ci0JCXNwcmludGYocmluZy0+bmFtZSwgImNvbXBfJWQuJWQuJWQiLCByaW5nLT5tZSwgcmlu Zy0+cGlwZSwgcmluZy0+cXVldWUpOworCS8qIHNldCB1cCB0aGUgY29tcHV0ZSBxdWV1ZXMgLSBh bGxvY2F0ZSBob3Jpem9udGFsbHkgYWNyb3NzIHBpcGVzICovCisJcmluZ19pZCA9IDA7CisJZm9y IChpID0gMDsgaSA8IGFkZXYtPmdmeC5tZWMubnVtX3BpcGVfcGVyX21lYzsgKytpKSB7CisJCWZv ciAoaiA9IDA7IGogPCBhZGV2LT5nZngubWVjLm51bV9xdWV1ZV9wZXJfcGlwZTsgaisrKSB7CisJ CQlmb3IgKGsgPSAwOyBrIDwgYWRldi0+Z2Z4Lm1lYy5udW1fcGlwZV9wZXJfbWVjOyBrKyspIHsK IAotCQlpcnFfdHlwZSA9IEFNREdQVV9DUF9JUlFfQ09NUFVURV9NRUMxX1BJUEUwX0VPUAotCQkJ KyAoKHJpbmctPm1lIC0gMSkgKiBhZGV2LT5nZngubWVjLm51bV9waXBlX3Blcl9tZWMpCi0JCQkr IHJpbmctPnBpcGU7CisJCQkJaWYgKCFhbWRncHVfaXNfbWVjX3F1ZXVlX2VuYWJsZWQoYWRldiwg aSwgaywgaikpCisJCQkJCWNvbnRpbnVlOwogCi0JCS8qIHR5cGUtMiBwYWNrZXRzIGFyZSBkZXBy ZWNhdGVkIG9uIE1FQywgdXNlIHR5cGUtMyBpbnN0ZWFkICovCi0JCXIgPSBhbWRncHVfcmluZ19p bml0KGFkZXYsIHJpbmcsIDEwMjQsICZhZGV2LT5nZnguZW9wX2lycSwKLQkJCQkgICAgIGlycV90 eXBlKTsKLQkJaWYgKHIpCi0JCQlyZXR1cm4gcjsKKwkJCQlyID0gZ2Z4X3Y4XzBfY29tcHV0ZV9y aW5nX2luaXQoYWRldiwKKwkJCQkJCQkJcmluZ19pZCwKKwkJCQkJCQkJaSwgaywgaik7CisJCQkJ aWYgKHIpCisJCQkJCXJldHVybiByOwogCi0JCXJpbmdfaWQrKzsKKwkJCQlyaW5nX2lkKys7CisJ CQl9CisJCX0KIAl9CiAKIAkvKiByZXNlcnZlIEdEUywgR1dTIGFuZCBPQSByZXNvdXJjZSBmb3Ig Z2Z4ICovCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4 Cg==