From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v6 08/19] drm/msm/dpu: iterate for assigned hw ctl in virtual encoder Date: Fri, 7 Sep 2018 17:24:16 -0700 Message-ID: <1536366267-22336-9-git-send-email-jsanka@codeaurora.org> References: <1536366267-22336-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: <1536366267-22336-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 , jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org SW4gdmlydHVhbCBlbmNvZGVyIG1vZGVzZXQsIERQVSBtYWtlcyBSTSByZXF1ZXN0IHRvIGFzc2ln biBodyBibG9ja3MKZm9yIHRoZSBkaXNwbGF5LiBJdCBpcyBhbHNvIGV4cGVjdGVkIGluIG1vZGVz ZXQgdG8gaXRlcmF0ZSBhbmQKYXNzb2NpYXRlIHRoZSBwaHlzaWNhbCBlbmNvZGVycyB3aXRoIHRo ZWlyIHJlbGV2YW50IGh3IGJsb2Nrcy4KUGluZyBwb25nIGJsb2NrcyBhcmUgYWxyZWFkeSBoYW5k bGVkIGhlcmUgYnV0IGh3IGN0bCBibG9ja3MgYXJlIG5vdC4KVGhpcyBjaGFuZ2UgbW92ZXMgdGhl IGh3X2N0bCBpdGVyYXRpb24gYW5kIG1hcHBpbmcgZnJvbSBwaHlzaWNhbAplbmNvZGVyIHRvIHZp cnR1YWwgZW5jb2Rlci4KCmNoYW5nZXMgaW4gdjQ6CgktIEZpeCBod19jdGwgaW5pdGlhbGl6YXRp b24gKFNlYW4pCmNoYW5nZXMgaW4gdjU6CgktIFVwZGF0ZSBjb21taXQgdGV4dCB3aXRoIGRldGFp bHMgb24gd2h5IHRoZSBjaGFuZ2UgaXMKCSAgbmVlZGVkIChTZWFuKQpjaGFuZ2VzIGluIHY2OgoJ LSBub25lCgpTaWduZWQtb2ZmLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJv cmEub3JnPgpSZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Ci0t LQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyAgICAgICAgfCAy MyArKysrKysrKysrKysrKysrKysrLS0tCiAuLi4vZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9l bmNvZGVyX3BoeXNfY21kLmMgICB8IDE5IC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jICAgfCAxOSAtLS0tLS0tLS0tLS0t LS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKaW5kZXggYThi YmU4MS4uMDQ1NGU5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5j b2Rlci5jCkBAIC0xMDExLDkgKzEwMTEsMTAgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfdmly dF9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCiAJc3RydWN0IGRwdV9rbXMg KmRwdV9rbXM7CiAJc3RydWN0IGxpc3RfaGVhZCAqY29ubmVjdG9yX2xpc3Q7CiAJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm4gPSBOVUxMLCAqY29ubl9pdGVyOwotCXN0cnVjdCBkcHVfcm1faHdf aXRlciBwcF9pdGVyOworCXN0cnVjdCBkcHVfcm1faHdfaXRlciBwcF9pdGVyLCBjdGxfaXRlcjsK IAlzdHJ1Y3QgbXNtX2Rpc3BsYXlfdG9wb2xvZ3kgdG9wb2xvZ3k7CiAJZW51bSBkcHVfcm1fdG9w b2xvZ3lfbmFtZSB0b3BvbG9neV9uYW1lOworCXN0cnVjdCBkcHVfaHdfY3RsICpod19jdGxbTUFY X0NIQU5ORUxTX1BFUl9FTkNdID0geyBOVUxMIH07CiAJaW50IGkgPSAwLCByZXQ7CiAKIAlpZiAo IWRybV9lbmMpIHsKQEAgLTEwNjEsMTcgKzEwNjIsMzMgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29k ZXJfdmlydF9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCiAJCWRwdV9lbmMt Pmh3X3BwW2ldID0gKHN0cnVjdCBkcHVfaHdfcGluZ3BvbmcgKikgcHBfaXRlci5odzsKIAl9CiAK KwlkcHVfcm1faW5pdF9od19pdGVyKCZjdGxfaXRlciwgZHJtX2VuYy0+YmFzZS5pZCwgRFBVX0hX X0JMS19DVEwpOworCWZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBTk5FTFNfUEVSX0VOQzsgaSsrKSB7 CisJCWlmICghZHB1X3JtX2dldF9odygmZHB1X2ttcy0+cm0sICZjdGxfaXRlcikpCisJCQlicmVh azsKKwkJaHdfY3RsW2ldID0gKHN0cnVjdCBkcHVfaHdfY3RsICopY3RsX2l0ZXIuaHc7CisJfQor CiAJdG9wb2xvZ3lfbmFtZSA9IGRwdV9ybV9nZXRfdG9wb2xvZ3lfbmFtZSh0b3BvbG9neSk7CiAJ Zm9yIChpID0gMDsgaSA8IGRwdV9lbmMtPm51bV9waHlzX2VuY3M7IGkrKykgewogCQlzdHJ1Y3Qg ZHB1X2VuY29kZXJfcGh5cyAqcGh5cyA9IGRwdV9lbmMtPnBoeXNfZW5jc1tpXTsKIAogCQlpZiAo cGh5cykgewogCQkJaWYgKCFkcHVfZW5jLT5od19wcFtpXSkgewotCQkJCURQVV9FUlJPUl9FTkMo ZHB1X2VuYywKLQkJCQkgICAgImludmFsaWQgcGluZ3BvbmcgYmxvY2sgZm9yIHRoZSBlbmNvZGVy XG4iKTsKKwkJCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsICJubyBwcCBibG9jayBhc3NpZ25lZCIK KwkJCQkJICAgICAiYXQgaWR4OiAlZFxuIiwgaSk7CiAJCQkJcmV0dXJuOwogCQkJfQorCisJCQlp ZiAoIWh3X2N0bFtpXSkgeworCQkJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywgIm5vIGN0bCBibG9j ayBhc3NpZ25lZCIKKwkJCQkJICAgICAiYXQgaWR4OiAlZFxuIiwgaSk7CisJCQkJcmV0dXJuOwor CQkJfQorCiAJCQlwaHlzLT5od19wcCA9IGRwdV9lbmMtPmh3X3BwW2ldOworCQkJcGh5cy0+aHdf Y3RsID0gaHdfY3RsW2ldOworCiAJCQlwaHlzLT5jb25uZWN0b3IgPSBjb25uLT5zdGF0ZS0+Y29u bmVjdG9yOwogCQkJcGh5cy0+dG9wb2xvZ3lfbmFtZSA9IHRvcG9sb2d5X25hbWU7CiAJCQlpZiAo cGh5cy0+b3BzLm1vZGVfc2V0KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMKaW5kZXggYzhjNDYxMi4uNWM4OTg2OCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2Nt ZC5jCkBAIC0xOTYsOSArMTk2LDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c19jbWRf bW9kZV9zZXQoCiB7CiAJc3RydWN0IGRwdV9lbmNvZGVyX3BoeXNfY21kICpjbWRfZW5jID0KIAkJ dG9fZHB1X2VuY29kZXJfcGh5c19jbWQocGh5c19lbmMpOwotCXN0cnVjdCBkcHVfcm0gKnJtID0g JnBoeXNfZW5jLT5kcHVfa21zLT5ybTsKLQlzdHJ1Y3QgZHB1X3JtX2h3X2l0ZXIgaXRlcjsKLQlp bnQgaSwgaW5zdGFuY2U7CiAKIAlpZiAoIXBoeXNfZW5jIHx8ICFtb2RlIHx8ICFhZGpfbW9kZSkg ewogCQlEUFVfRVJST1IoImludmFsaWQgYXJnc1xuIik7CkBAIC0yMDgsMjIgKzIwNSw2IEBAIHN0 YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3BoeXNfY21kX21vZGVfc2V0KAogCURQVV9ERUJVR19DTURF TkMoY21kX2VuYywgImNhY2hpbmcgbW9kZTpcbiIpOwogCWRybV9tb2RlX2RlYnVnX3ByaW50bW9k ZWxpbmUoYWRqX21vZGUpOwogCi0JaW5zdGFuY2UgPSBwaHlzX2VuYy0+c3BsaXRfcm9sZSA9PSBF TkNfUk9MRV9TTEFWRSA/IDEgOiAwOwotCi0JLyogUmV0cmlldmUgcHJldmlvdXNseSBhbGxvY2F0 ZWQgSFcgUmVzb3VyY2VzLiBTaG91bGRuJ3QgZmFpbCAqLwotCWRwdV9ybV9pbml0X2h3X2l0ZXIo Jml0ZXIsIHBoeXNfZW5jLT5wYXJlbnQtPmJhc2UuaWQsIERQVV9IV19CTEtfQ1RMKTsKLQlmb3Ig KGkgPSAwOyBpIDw9IGluc3RhbmNlOyBpKyspIHsKLQkJaWYgKGRwdV9ybV9nZXRfaHcocm0sICZp dGVyKSkKLQkJCXBoeXNfZW5jLT5od19jdGwgPSAoc3RydWN0IGRwdV9od19jdGwgKilpdGVyLmh3 OwotCX0KLQotCWlmIChJU19FUlJfT1JfTlVMTChwaHlzX2VuYy0+aHdfY3RsKSkgewotCQlEUFVf RVJST1JfQ01ERU5DKGNtZF9lbmMsICJmYWlsZWQgdG8gaW5pdCBjdGw6ICVsZFxuIiwKLQkJCQlQ VFJfRVJSKHBoeXNfZW5jLT5od19jdGwpKTsKLQkJcGh5c19lbmMtPmh3X2N0bCA9IE5VTEw7Ci0J CXJldHVybjsKLQl9Ci0KIAlfZHB1X2VuY29kZXJfcGh5c19jbWRfc2V0dXBfaXJxX2h3X2lkeChw aHlzX2VuYyk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlcl9waHlzX3ZpZC5jCmluZGV4IGVjYjhjNjUuLmNhMDk2M2MgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYwpA QCAtMzk1LDkgKzM5NSw2IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3BoeXNfdmlkX21vZGVf c2V0KAogCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKmFkal9tb2RlKQogewotCXN0cnVjdCBkcHVfcm0gKnJtOwotCXN0cnVjdCBkcHVf cm1faHdfaXRlciBpdGVyOwotCWludCBpLCBpbnN0YW5jZTsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJf cGh5c192aWQgKnZpZF9lbmM7CiAKIAlpZiAoIXBoeXNfZW5jIHx8ICFwaHlzX2VuYy0+ZHB1X2tt cykgewpAQCAtNDA1LDcgKzQwMiw2IEBAIHN0YXRpYyB2b2lkIGRwdV9lbmNvZGVyX3BoeXNfdmlk X21vZGVfc2V0KAogCQlyZXR1cm47CiAJfQogCi0Jcm0gPSAmcGh5c19lbmMtPmRwdV9rbXMtPnJt OwogCXZpZF9lbmMgPSB0b19kcHVfZW5jb2Rlcl9waHlzX3ZpZChwaHlzX2VuYyk7CiAKIAlpZiAo YWRqX21vZGUpIHsKQEAgLTQxNCwyMSArNDEwLDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf cGh5c192aWRfbW9kZV9zZXQoCiAJCURQVV9ERUJVR19WSURFTkModmlkX2VuYywgImNhY2hpbmcg bW9kZTpcbiIpOwogCX0KIAotCWluc3RhbmNlID0gcGh5c19lbmMtPnNwbGl0X3JvbGUgPT0gRU5D X1JPTEVfU0xBVkUgPyAxIDogMDsKLQotCS8qIFJldHJpZXZlIHByZXZpb3VzbHkgYWxsb2NhdGVk IEhXIFJlc291cmNlcy4gU2hvdWxkbid0IGZhaWwgKi8KLQlkcHVfcm1faW5pdF9od19pdGVyKCZp dGVyLCBwaHlzX2VuYy0+cGFyZW50LT5iYXNlLmlkLCBEUFVfSFdfQkxLX0NUTCk7Ci0JZm9yIChp ID0gMDsgaSA8PSBpbnN0YW5jZTsgaSsrKSB7Ci0JCWlmIChkcHVfcm1fZ2V0X2h3KHJtLCAmaXRl cikpCi0JCQlwaHlzX2VuYy0+aHdfY3RsID0gKHN0cnVjdCBkcHVfaHdfY3RsICopaXRlci5odzsK LQl9Ci0JaWYgKElTX0VSUl9PUl9OVUxMKHBoeXNfZW5jLT5od19jdGwpKSB7Ci0JCURQVV9FUlJP Ul9WSURFTkModmlkX2VuYywgImZhaWxlZCB0byBpbml0IGN0bCwgJWxkXG4iLAotCQkJCVBUUl9F UlIocGh5c19lbmMtPmh3X2N0bCkpOwotCQlwaHlzX2VuYy0+aHdfY3RsID0gTlVMTDsKLQkJcmV0 dXJuOwotCX0KLQogCV9kcHVfZW5jb2Rlcl9waHlzX3ZpZF9zZXR1cF9pcnFfaHdfaWR4KHBoeXNf ZW5jKTsKIH0KIAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEg bWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxh Ym9yYXRpdmUgUHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJl ZWRyZW5vCg==