From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH 07/14] drm/msm/dpu: iterate for assigned hw ctl in virtual encoder Date: Tue, 28 Aug 2018 17:39:56 -0700 Message-ID: <1535503203-22054-8-git-send-email-jsanka@codeaurora.org> References: <1535503203-22054-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1535503203-22054-1-git-send-email-jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, Jeykumar Sankaran , seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org SW5zdGVhZCBvZiBpdGVyYXRpbmcgZm9yIGh3IGN0cmwgcGVyIHBoeXNpY2FsIGVuY29kZXIsIHRo aXMKcGF0Y2ggbW92ZXMgdGhlIGl0ZXJhdGlvbnMgYW5kIGFzc2lnbm1lbnQgdG8gdGhlIHZpcnR1 YWwgZW5jb2Rlci4KClNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29k ZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXIuYyAgICAgICAgfCAyMiArKysrKysrKysrKysrKysrKysrLS0tCiAuLi4vZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMgICB8IDE5IC0tLS0tLS0tLS0tLS0tLS0t LS0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYyAgIHwg MTkgLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCsp LCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXIuYwppbmRleCBiMjIzYmQyLi5kYmY2NjllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKQEAgLTEwMTEsOSArMTAxMSwxMCBAQCBzdGF0aWMgdm9p ZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywK IAlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKIAlzdHJ1Y3QgbGlzdF9oZWFkICpjb25uZWN0b3Jf bGlzdDsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubiA9IE5VTEwsICpjb25uX2l0ZXI7Ci0J c3RydWN0IGRwdV9ybV9od19pdGVyIHBwX2l0ZXI7CisJc3RydWN0IGRwdV9ybV9od19pdGVyIHBw X2l0ZXIsIGN0bF9pdGVyOwogCXN0cnVjdCBtc21fZGlzcGxheV90b3BvbG9neSB0b3BvbG9neTsK IAllbnVtIGRwdV9ybV90b3BvbG9neV9uYW1lIHRvcG9sb2d5X25hbWU7CisJc3RydWN0IGRwdV9o d19jdGwgKmh3X2N0bFtNQVhfQ0hBTk5FTFNfUEVSX0VOQ10gPSB7IE5VTEwgfTsKIAlpbnQgaSA9 IDAsIHJldDsKIAogCWlmICghZHJtX2VuYykgewpAQCAtMTA2MSwxNyArMTA2MiwzMiBAQCBzdGF0 aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJt X2VuYywKIAkJZHB1X2VuYy0+aHdfcHBbaV0gPSAoc3RydWN0IGRwdV9od19waW5ncG9uZyAqKSBw cF9pdGVyLmh3OwogCX0KIAorCWRwdV9ybV9pbml0X2h3X2l0ZXIoJmN0bF9pdGVyLCBkcm1fZW5j LT5iYXNlLmlkLCBEUFVfSFdfQkxLX0NUTCk7CisJZm9yIChpID0gMDsgaSA8IE1BWF9DSEFOTkVM U19QRVJfRU5DOyBpKyspIHsKKwkJaWYgKCFkcHVfcm1fZ2V0X2h3KCZkcHVfa21zLT5ybSwgJmN0 bF9pdGVyKSkKKwkJCWJyZWFrOworCQlod19jdGxbaV0gPSAoc3RydWN0IGRwdV9od19jdGwgKilj dGxfaXRlci5odzsKKwl9CisKIAl0b3BvbG9neV9uYW1lID0gZHB1X3JtX2dldF90b3BvbG9neV9u YW1lKHRvcG9sb2d5KTsKIAlmb3IgKGkgPSAwOyBpIDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsg aSsrKSB7CiAJCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzID0gZHB1X2VuYy0+cGh5c19l bmNzW2ldOwogCiAJCWlmIChwaHlzKSB7CiAJCQlpZiAoIWRwdV9lbmMtPmh3X3BwW2ldKSB7Ci0J CQkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLAotCQkJCSAgICAiaW52YWxpZCBwaW5ncG9uZyBibG9j ayBmb3IgdGhlIGVuY29kZXJcbiIpOworCQkJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywgIm5vIHBw IGJsb2NrIGFzc2lnbmVkIgorCQkJCQkgICAgICJhdCBpZHg6ICVkXG4iLCBpKTsKIAkJCQlyZXR1 cm47CiAJCQl9CiAJCQlwaHlzLT5od19wcCA9IGRwdV9lbmMtPmh3X3BwW2ldOworCisJCQlpZiAo IWh3X2N0bFtpXSkgeworCQkJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywgIm5vIGN0bCBibG9jayBh c3NpZ25lZCIKKwkJCQkJICAgICAiYXQgaWR4OiAlZFxuIiwgaSk7CisJCQkJcmV0dXJuOworCQkJ fQorCQkJcGh5cy0+aHdfY3RsID0gaHdfY3RsW2ldOworCiAJCQlwaHlzLT5jb25uZWN0b3IgPSBj b25uLT5zdGF0ZS0+Y29ubmVjdG9yOwogCQkJcGh5cy0+dG9wb2xvZ3lfbmFtZSA9IHRvcG9sb2d5 X25hbWU7CiAJCQlpZiAocGh5cy0+b3BzLm1vZGVfc2V0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMKaW5kZXggYzhjNDYxMi4u NWM4OTg2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXJfcGh5c19jbWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlcl9waHlzX2NtZC5jCkBAIC0xOTYsOSArMTk2LDYgQEAgc3RhdGljIHZvaWQgZHB1X2Vu Y29kZXJfcGh5c19jbWRfbW9kZV9zZXQoCiB7CiAJc3RydWN0IGRwdV9lbmNvZGVyX3BoeXNfY21k ICpjbWRfZW5jID0KIAkJdG9fZHB1X2VuY29kZXJfcGh5c19jbWQocGh5c19lbmMpOwotCXN0cnVj dCBkcHVfcm0gKnJtID0gJnBoeXNfZW5jLT5kcHVfa21zLT5ybTsKLQlzdHJ1Y3QgZHB1X3JtX2h3 X2l0ZXIgaXRlcjsKLQlpbnQgaSwgaW5zdGFuY2U7CiAKIAlpZiAoIXBoeXNfZW5jIHx8ICFtb2Rl IHx8ICFhZGpfbW9kZSkgewogCQlEUFVfRVJST1IoImludmFsaWQgYXJnc1xuIik7CkBAIC0yMDgs MjIgKzIwNSw2IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3BoeXNfY21kX21vZGVfc2V0KAog CURQVV9ERUJVR19DTURFTkMoY21kX2VuYywgImNhY2hpbmcgbW9kZTpcbiIpOwogCWRybV9tb2Rl X2RlYnVnX3ByaW50bW9kZWxpbmUoYWRqX21vZGUpOwogCi0JaW5zdGFuY2UgPSBwaHlzX2VuYy0+ c3BsaXRfcm9sZSA9PSBFTkNfUk9MRV9TTEFWRSA/IDEgOiAwOwotCi0JLyogUmV0cmlldmUgcHJl dmlvdXNseSBhbGxvY2F0ZWQgSFcgUmVzb3VyY2VzLiBTaG91bGRuJ3QgZmFpbCAqLwotCWRwdV9y bV9pbml0X2h3X2l0ZXIoJml0ZXIsIHBoeXNfZW5jLT5wYXJlbnQtPmJhc2UuaWQsIERQVV9IV19C TEtfQ1RMKTsKLQlmb3IgKGkgPSAwOyBpIDw9IGluc3RhbmNlOyBpKyspIHsKLQkJaWYgKGRwdV9y bV9nZXRfaHcocm0sICZpdGVyKSkKLQkJCXBoeXNfZW5jLT5od19jdGwgPSAoc3RydWN0IGRwdV9o d19jdGwgKilpdGVyLmh3OwotCX0KLQotCWlmIChJU19FUlJfT1JfTlVMTChwaHlzX2VuYy0+aHdf Y3RsKSkgewotCQlEUFVfRVJST1JfQ01ERU5DKGNtZF9lbmMsICJmYWlsZWQgdG8gaW5pdCBjdGw6 ICVsZFxuIiwKLQkJCQlQVFJfRVJSKHBoeXNfZW5jLT5od19jdGwpKTsKLQkJcGh5c19lbmMtPmh3 X2N0bCA9IE5VTEw7Ci0JCXJldHVybjsKLQl9Ci0KIAlfZHB1X2VuY29kZXJfcGh5c19jbWRfc2V0 dXBfaXJxX2h3X2lkeChwaHlzX2VuYyk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jCmluZGV4IGVjYjhjNjUuLmNhMDk2 M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVy X3BoeXNfdmlkLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXJfcGh5c192aWQuYwpAQCAtMzk1LDkgKzM5NSw2IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVy X3BoeXNfdmlkX21vZGVfc2V0KAogCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJ c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkal9tb2RlKQogewotCXN0cnVjdCBkcHVfcm0gKnJt OwotCXN0cnVjdCBkcHVfcm1faHdfaXRlciBpdGVyOwotCWludCBpLCBpbnN0YW5jZTsKIAlzdHJ1 Y3QgZHB1X2VuY29kZXJfcGh5c192aWQgKnZpZF9lbmM7CiAKIAlpZiAoIXBoeXNfZW5jIHx8ICFw aHlzX2VuYy0+ZHB1X2ttcykgewpAQCAtNDA1LDcgKzQwMiw2IEBAIHN0YXRpYyB2b2lkIGRwdV9l bmNvZGVyX3BoeXNfdmlkX21vZGVfc2V0KAogCQlyZXR1cm47CiAJfQogCi0Jcm0gPSAmcGh5c19l bmMtPmRwdV9rbXMtPnJtOwogCXZpZF9lbmMgPSB0b19kcHVfZW5jb2Rlcl9waHlzX3ZpZChwaHlz X2VuYyk7CiAKIAlpZiAoYWRqX21vZGUpIHsKQEAgLTQxNCwyMSArNDEwLDYgQEAgc3RhdGljIHZv aWQgZHB1X2VuY29kZXJfcGh5c192aWRfbW9kZV9zZXQoCiAJCURQVV9ERUJVR19WSURFTkModmlk X2VuYywgImNhY2hpbmcgbW9kZTpcbiIpOwogCX0KIAotCWluc3RhbmNlID0gcGh5c19lbmMtPnNw bGl0X3JvbGUgPT0gRU5DX1JPTEVfU0xBVkUgPyAxIDogMDsKLQotCS8qIFJldHJpZXZlIHByZXZp b3VzbHkgYWxsb2NhdGVkIEhXIFJlc291cmNlcy4gU2hvdWxkbid0IGZhaWwgKi8KLQlkcHVfcm1f aW5pdF9od19pdGVyKCZpdGVyLCBwaHlzX2VuYy0+cGFyZW50LT5iYXNlLmlkLCBEUFVfSFdfQkxL X0NUTCk7Ci0JZm9yIChpID0gMDsgaSA8PSBpbnN0YW5jZTsgaSsrKSB7Ci0JCWlmIChkcHVfcm1f Z2V0X2h3KHJtLCAmaXRlcikpCi0JCQlwaHlzX2VuYy0+aHdfY3RsID0gKHN0cnVjdCBkcHVfaHdf Y3RsICopaXRlci5odzsKLQl9Ci0JaWYgKElTX0VSUl9PUl9OVUxMKHBoeXNfZW5jLT5od19jdGwp KSB7Ci0JCURQVV9FUlJPUl9WSURFTkModmlkX2VuYywgImZhaWxlZCB0byBpbml0IGN0bCwgJWxk XG4iLAotCQkJCVBUUl9FUlIocGh5c19lbmMtPmh3X2N0bCkpOwotCQlwaHlzX2VuYy0+aHdfY3Rs ID0gTlVMTDsKLQkJcmV0dXJuOwotCX0KLQogCV9kcHVfZW5jb2Rlcl9waHlzX3ZpZF9zZXR1cF9p cnFfaHdfaWR4KHBoeXNfZW5jKTsKIH0KIAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBG b3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9A bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZnJlZWRyZW5vCg==