From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v5 08/19] drm/msm/dpu: iterate for assigned hw ctl in virtual encoder Date: Wed, 5 Sep 2018 19:08:17 -0700 Message-ID: <1536199708-23664-9-git-send-email-jsanka@codeaurora.org> References: <1536199708-23664-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: <1536199708-23664-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 SW4gdmlydHVhbCBlbmNvZGVyIG1vZGVzZXQsIERQVSBtYWtlcyBSTSByZXF1ZXN0IHRvIGFzc2ln biBodyBibG9ja3MKZm9yIHRoZSBkaXNwbGF5LiBJdCBpcyBhbHNvIGV4cGVjdGVkIGluIG1vZGVz ZXQgdG8gaXRlcmF0ZSBhbmQKYXNzb2NpYXRlIHRoZSBwaHlzaWNhbCBlbmNvZGVycyB3aXRoIHRo ZWlyIHJlbGV2YW50IGh3IGJsb2Nrcy4KUGluZyBwb25nIGJsb2NrcyBhcmUgYWxyZWFkeSBoYW5k bGVkIGhlcmUgYnV0IGh3IGN0bCBibG9ja3MgYXJlIG5vdC4KVGhpcyBjaGFuZ2UgbW92ZXMgdGhl IGh3X2N0bCBpdGVyYXRpb24gYW5kIG1hcHBpbmcgZnJvbSBwaHlzaWNhbAplbmNvZGVyIHRvIHZp cnR1YWwgZW5jb2Rlci4KCmNoYW5nZXMgaW4gdjQ6CgktIEZpeCBod19jdGwgaW5pdGlhbGl6YXRp b24gKFNlYW4pCmNoYW5nZXMgaW4gdjU6CgktIFVwZGF0ZSBjb21taXQgdGV4dCB3aXRoIGRldGFp bHMgb24gd2h5IHRoZSBjaGFuZ2UgaXMKCSAgbmVlZGVkIChTZWFuKQoKU2lnbmVkLW9mZi1ieTog SmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jICAgICAgICB8IDIzICsrKysrKysrKysr KysrKysrKystLS0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19j bWQuYyAgIHwgMTkgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vZ3B1L2RybS9tc20vZGlzcC9kcHUx L2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMgICB8IDE5IC0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxl cyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCBhOGJiZTgxLi4wNDU0ZTk0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKQEAgLTEw MTEsOSArMTAxMSwxMCBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVfc2V0KHN0 cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttczsKIAlz dHJ1Y3QgbGlzdF9oZWFkICpjb25uZWN0b3JfbGlzdDsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubiA9IE5VTEwsICpjb25uX2l0ZXI7Ci0Jc3RydWN0IGRwdV9ybV9od19pdGVyIHBwX2l0ZXI7 CisJc3RydWN0IGRwdV9ybV9od19pdGVyIHBwX2l0ZXIsIGN0bF9pdGVyOwogCXN0cnVjdCBtc21f ZGlzcGxheV90b3BvbG9neSB0b3BvbG9neTsKIAllbnVtIGRwdV9ybV90b3BvbG9neV9uYW1lIHRv cG9sb2d5X25hbWU7CisJc3RydWN0IGRwdV9od19jdGwgKmh3X2N0bFtNQVhfQ0hBTk5FTFNfUEVS X0VOQ10gPSB7IE5VTEwgfTsKIAlpbnQgaSA9IDAsIHJldDsKIAogCWlmICghZHJtX2VuYykgewpA QCAtMTA2MSwxNyArMTA2MiwzMyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVf c2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAkJZHB1X2VuYy0+aHdfcHBbaV0gPSAo c3RydWN0IGRwdV9od19waW5ncG9uZyAqKSBwcF9pdGVyLmh3OwogCX0KIAorCWRwdV9ybV9pbml0 X2h3X2l0ZXIoJmN0bF9pdGVyLCBkcm1fZW5jLT5iYXNlLmlkLCBEUFVfSFdfQkxLX0NUTCk7CisJ Zm9yIChpID0gMDsgaSA8IE1BWF9DSEFOTkVMU19QRVJfRU5DOyBpKyspIHsKKwkJaWYgKCFkcHVf cm1fZ2V0X2h3KCZkcHVfa21zLT5ybSwgJmN0bF9pdGVyKSkKKwkJCWJyZWFrOworCQlod19jdGxb aV0gPSAoc3RydWN0IGRwdV9od19jdGwgKiljdGxfaXRlci5odzsKKwl9CisKIAl0b3BvbG9neV9u YW1lID0gZHB1X3JtX2dldF90b3BvbG9neV9uYW1lKHRvcG9sb2d5KTsKIAlmb3IgKGkgPSAwOyBp IDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsgaSsrKSB7CiAJCXN0cnVjdCBkcHVfZW5jb2Rlcl9w aHlzICpwaHlzID0gZHB1X2VuYy0+cGh5c19lbmNzW2ldOwogCiAJCWlmIChwaHlzKSB7CiAJCQlp ZiAoIWRwdV9lbmMtPmh3X3BwW2ldKSB7Ci0JCQkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLAotCQkJ CSAgICAiaW52YWxpZCBwaW5ncG9uZyBibG9jayBmb3IgdGhlIGVuY29kZXJcbiIpOworCQkJCURQ VV9FUlJPUl9FTkMoZHB1X2VuYywgIm5vIHBwIGJsb2NrIGFzc2lnbmVkIgorCQkJCQkgICAgICJh dCBpZHg6ICVkXG4iLCBpKTsKIAkJCQlyZXR1cm47CiAJCQl9CisKKwkJCWlmICghaHdfY3RsW2ld KSB7CisJCQkJRFBVX0VSUk9SX0VOQyhkcHVfZW5jLCAibm8gY3RsIGJsb2NrIGFzc2lnbmVkIgor CQkJCQkgICAgICJhdCBpZHg6ICVkXG4iLCBpKTsKKwkJCQlyZXR1cm47CisJCQl9CisKIAkJCXBo eXMtPmh3X3BwID0gZHB1X2VuYy0+aHdfcHBbaV07CisJCQlwaHlzLT5od19jdGwgPSBod19jdGxb aV07CisKIAkJCXBoeXMtPmNvbm5lY3RvciA9IGNvbm4tPnN0YXRlLT5jb25uZWN0b3I7CiAJCQlw aHlzLT50b3BvbG9neV9uYW1lID0gdG9wb2xvZ3lfbmFtZTsKIAkJCWlmIChwaHlzLT5vcHMubW9k ZV9zZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5j b2Rlcl9waHlzX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXJfcGh5c19jbWQuYwppbmRleCBjOGM0NjEyLi41Yzg5ODY4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2NtZC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMKQEAgLTE5Niw5 ICsxOTYsNiBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9waHlzX2NtZF9tb2RlX3NldCgKIHsK IAlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5c19jbWQgKmNtZF9lbmMgPQogCQl0b19kcHVfZW5jb2Rl cl9waHlzX2NtZChwaHlzX2VuYyk7Ci0Jc3RydWN0IGRwdV9ybSAqcm0gPSAmcGh5c19lbmMtPmRw dV9rbXMtPnJtOwotCXN0cnVjdCBkcHVfcm1faHdfaXRlciBpdGVyOwotCWludCBpLCBpbnN0YW5j ZTsKIAogCWlmICghcGh5c19lbmMgfHwgIW1vZGUgfHwgIWFkal9tb2RlKSB7CiAJCURQVV9FUlJP UigiaW52YWxpZCBhcmdzXG4iKTsKQEAgLTIwOCwyMiArMjA1LDYgQEAgc3RhdGljIHZvaWQgZHB1 X2VuY29kZXJfcGh5c19jbWRfbW9kZV9zZXQoCiAJRFBVX0RFQlVHX0NNREVOQyhjbWRfZW5jLCAi Y2FjaGluZyBtb2RlOlxuIik7CiAJZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZShhZGpfbW9k ZSk7CiAKLQlpbnN0YW5jZSA9IHBoeXNfZW5jLT5zcGxpdF9yb2xlID09IEVOQ19ST0xFX1NMQVZF ID8gMSA6IDA7Ci0KLQkvKiBSZXRyaWV2ZSBwcmV2aW91c2x5IGFsbG9jYXRlZCBIVyBSZXNvdXJj ZXMuIFNob3VsZG4ndCBmYWlsICovCi0JZHB1X3JtX2luaXRfaHdfaXRlcigmaXRlciwgcGh5c19l bmMtPnBhcmVudC0+YmFzZS5pZCwgRFBVX0hXX0JMS19DVEwpOwotCWZvciAoaSA9IDA7IGkgPD0g aW5zdGFuY2U7IGkrKykgewotCQlpZiAoZHB1X3JtX2dldF9odyhybSwgJml0ZXIpKQotCQkJcGh5 c19lbmMtPmh3X2N0bCA9IChzdHJ1Y3QgZHB1X2h3X2N0bCAqKWl0ZXIuaHc7Ci0JfQotCi0JaWYg KElTX0VSUl9PUl9OVUxMKHBoeXNfZW5jLT5od19jdGwpKSB7Ci0JCURQVV9FUlJPUl9DTURFTkMo Y21kX2VuYywgImZhaWxlZCB0byBpbml0IGN0bDogJWxkXG4iLAotCQkJCVBUUl9FUlIocGh5c19l bmMtPmh3X2N0bCkpOwotCQlwaHlzX2VuYy0+aHdfY3RsID0gTlVMTDsKLQkJcmV0dXJuOwotCX0K LQogCV9kcHVfZW5jb2Rlcl9waHlzX2NtZF9zZXR1cF9pcnFfaHdfaWR4KHBoeXNfZW5jKTsKIH0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJf cGh5c192aWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3Bo eXNfdmlkLmMKaW5kZXggZWNiOGM2NS4uY2EwOTYzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jCkBAIC0zOTUsOSArMzk1 LDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c192aWRfbW9kZV9zZXQoCiAJCXN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAogCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq X21vZGUpCiB7Ci0Jc3RydWN0IGRwdV9ybSAqcm07Ci0Jc3RydWN0IGRwdV9ybV9od19pdGVyIGl0 ZXI7Ci0JaW50IGksIGluc3RhbmNlOwogCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzX3ZpZCAqdmlk X2VuYzsKIAogCWlmICghcGh5c19lbmMgfHwgIXBoeXNfZW5jLT5kcHVfa21zKSB7CkBAIC00MDUs NyArNDAyLDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c192aWRfbW9kZV9zZXQoCiAJ CXJldHVybjsKIAl9CiAKLQlybSA9ICZwaHlzX2VuYy0+ZHB1X2ttcy0+cm07CiAJdmlkX2VuYyA9 IHRvX2RwdV9lbmNvZGVyX3BoeXNfdmlkKHBoeXNfZW5jKTsKIAogCWlmIChhZGpfbW9kZSkgewpA QCAtNDE0LDIxICs0MTAsNiBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9waHlzX3ZpZF9tb2Rl X3NldCgKIAkJRFBVX0RFQlVHX1ZJREVOQyh2aWRfZW5jLCAiY2FjaGluZyBtb2RlOlxuIik7CiAJ fQogCi0JaW5zdGFuY2UgPSBwaHlzX2VuYy0+c3BsaXRfcm9sZSA9PSBFTkNfUk9MRV9TTEFWRSA/ IDEgOiAwOwotCi0JLyogUmV0cmlldmUgcHJldmlvdXNseSBhbGxvY2F0ZWQgSFcgUmVzb3VyY2Vz LiBTaG91bGRuJ3QgZmFpbCAqLwotCWRwdV9ybV9pbml0X2h3X2l0ZXIoJml0ZXIsIHBoeXNfZW5j LT5wYXJlbnQtPmJhc2UuaWQsIERQVV9IV19CTEtfQ1RMKTsKLQlmb3IgKGkgPSAwOyBpIDw9IGlu c3RhbmNlOyBpKyspIHsKLQkJaWYgKGRwdV9ybV9nZXRfaHcocm0sICZpdGVyKSkKLQkJCXBoeXNf ZW5jLT5od19jdGwgPSAoc3RydWN0IGRwdV9od19jdGwgKilpdGVyLmh3OwotCX0KLQlpZiAoSVNf RVJSX09SX05VTEwocGh5c19lbmMtPmh3X2N0bCkpIHsKLQkJRFBVX0VSUk9SX1ZJREVOQyh2aWRf ZW5jLCAiZmFpbGVkIHRvIGluaXQgY3RsLCAlbGRcbiIsCi0JCQkJUFRSX0VSUihwaHlzX2VuYy0+ aHdfY3RsKSk7Ci0JCXBoeXNfZW5jLT5od19jdGwgPSBOVUxMOwotCQlyZXR1cm47Ci0JfQotCiAJ X2RwdV9lbmNvZGVyX3BoeXNfdmlkX3NldHVwX2lycV9od19pZHgocGh5c19lbmMpOwogfQogCi0t IApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhl IENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9q ZWN0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVl ZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K