From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v3 06/13] drm/msm/dpu: iterate for assigned hw ctl in virtual encoder Date: Tue, 7 Aug 2018 20:12:33 -0700 Message-ID: <1533697956-29686-7-git-send-email-jsanka@codeaurora.org> References: <1533697956-29686-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: <1533697956-29686-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 YWwgZW5jb2Rlci4KCmNoYW5nZXMgaW4gdjI6CgktIG5vbmUKY2hhbmdlcyBpbiB2MzoKCS0gbm9u ZQoKQ2hhbmdlLUlkOiBJODk2YThjMzZkNjM1Mzk4NjU4MmU5ZDBmZTNkYTliMjI5MzU3OWQ0YgpT aWduZWQtb2ZmLWJ5OiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMgICAgICAgIHwg MjIgKysrKysrKysrKysrKysrKysrKystLQogLi4uL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlcl9waHlzX2NtZC5jICAgfCAxOSAtLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMgICB8IDE5IC0tLS0tLS0tLS0t LS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKaW5kZXgg YTBjZWQ3OS4uN2I4MmUyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf ZW5jb2Rlci5jCkBAIC0xMDE3LDkgKzEwMTcsMTEgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf dmlydF9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCiAJc3RydWN0IGRwdV9r bXMgKmRwdV9rbXM7CiAJc3RydWN0IGxpc3RfaGVhZCAqY29ubmVjdG9yX2xpc3Q7CiAJc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm4gPSBOVUxMLCAqY29ubl9pdGVyOwotCXN0cnVjdCBkcHVfcm1f aHdfaXRlciBwcF9pdGVyOworCXN0cnVjdCBkcHVfcm1faHdfaXRlciBwcF9pdGVyLCBjdGxfaXRl cjsKIAlzdHJ1Y3QgbXNtX2Rpc3BsYXlfdG9wb2xvZ3kgdG9wb2xvZ3k7CiAJZW51bSBkcHVfcm1f dG9wb2xvZ3lfbmFtZSB0b3BvbG9neV9uYW1lOworCXN0cnVjdCBkcHVfaHdfY3RsICpod19jdGxb TUFYX0NIQU5ORUxTX1BFUl9FTkNdOworCiAJaW50IGkgPSAwLCByZXQ7CiAKIAlpZiAoIWRybV9l bmMpIHsKQEAgLTEwNjcsNiArMTA2OSwxNCBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0 X21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAkJZHB1X2VuYy0+aHdfcHBb aV0gPSAoc3RydWN0IGRwdV9od19waW5ncG9uZyAqKSBwcF9pdGVyLmh3OwogCX0KIAorCWRwdV9y bV9pbml0X2h3X2l0ZXIoJmN0bF9pdGVyLCBkcm1fZW5jLT5iYXNlLmlkLCBEUFVfSFdfQkxLX0NU TCk7CisJZm9yIChpID0gMDsgaSA8IE1BWF9DSEFOTkVMU19QRVJfRU5DOyBpKyspIHsKKwkJaHdf Y3RsW2ldID0gTlVMTDsKKwkJaWYgKCFkcHVfcm1fZ2V0X2h3KCZkcHVfa21zLT5ybSwgJmN0bF9p dGVyKSkKKwkJCWJyZWFrOworCQlod19jdGxbaV0gPSAoc3RydWN0IGRwdV9od19jdGwgKiljdGxf aXRlci5odzsKKwl9CisKIAl0b3BvbG9neV9uYW1lID0gZHB1X3JtX2dldF90b3BvbG9neV9uYW1l KHRvcG9sb2d5KTsKIAlmb3IgKGkgPSAwOyBpIDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsgaSsr KSB7CiAJCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzID0gZHB1X2VuYy0+cGh5c19lbmNz W2ldOwpAQCAtMTA3NCwxMCArMTA4NCwxOCBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0 X21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAkJaWYgKHBoeXMpIHsKIAkJ CWlmICghZHB1X2VuYy0+aHdfcHBbaV0pIHsKIAkJCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsCi0J CQkJICAgICJpbnZhbGlkIHBpbmdwb25nIGJsb2NrIGZvciB0aGUgZW5jb2RlclxuIik7CisJCQkJ ICAgICJubyBwcCBibG9jayBhc3NpZ25lZCBhdCBpZHg6ICVkXG4iLCBpKTsKIAkJCQlyZXR1cm47 CiAJCQl9CiAJCQlwaHlzLT5od19wcCA9IGRwdV9lbmMtPmh3X3BwW2ldOworCisJCQlpZiAoIWh3 X2N0bFtpXSkgeworCQkJCURQVV9FUlJPUl9FTkMoZHB1X2VuYywKKwkJCQkgICAgIm5vIGN0bCBi bG9jayBhc3NpZ25lZCBhdCBpZHg6ICVkXG4iLCBpKTsKKwkJCQlyZXR1cm47CisJCQl9CisJCQlw aHlzLT5od19jdGwgPSBod19jdGxbaV07CisKIAkJCXBoeXMtPmNvbm5lY3RvciA9IGNvbm4tPnN0 YXRlLT5jb25uZWN0b3I7CiAJCQlwaHlzLT50b3BvbG9neV9uYW1lID0gdG9wb2xvZ3lfbmFtZTsK IAkJCWlmIChwaHlzLT5vcHMubW9kZV9zZXQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2NtZC5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c19jbWQuYwppbmRleCBjOGM0NjEyLi41Yzg5ODY4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzX2NtZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVy X3BoeXNfY21kLmMKQEAgLTE5Niw5ICsxOTYsNiBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9w aHlzX2NtZF9tb2RlX3NldCgKIHsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5c19jbWQgKmNtZF9l bmMgPQogCQl0b19kcHVfZW5jb2Rlcl9waHlzX2NtZChwaHlzX2VuYyk7Ci0Jc3RydWN0IGRwdV9y bSAqcm0gPSAmcGh5c19lbmMtPmRwdV9rbXMtPnJtOwotCXN0cnVjdCBkcHVfcm1faHdfaXRlciBp dGVyOwotCWludCBpLCBpbnN0YW5jZTsKIAogCWlmICghcGh5c19lbmMgfHwgIW1vZGUgfHwgIWFk al9tb2RlKSB7CiAJCURQVV9FUlJPUigiaW52YWxpZCBhcmdzXG4iKTsKQEAgLTIwOCwyMiArMjA1 LDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c19jbWRfbW9kZV9zZXQoCiAJRFBVX0RF QlVHX0NNREVOQyhjbWRfZW5jLCAiY2FjaGluZyBtb2RlOlxuIik7CiAJZHJtX21vZGVfZGVidWdf cHJpbnRtb2RlbGluZShhZGpfbW9kZSk7CiAKLQlpbnN0YW5jZSA9IHBoeXNfZW5jLT5zcGxpdF9y b2xlID09IEVOQ19ST0xFX1NMQVZFID8gMSA6IDA7Ci0KLQkvKiBSZXRyaWV2ZSBwcmV2aW91c2x5 IGFsbG9jYXRlZCBIVyBSZXNvdXJjZXMuIFNob3VsZG4ndCBmYWlsICovCi0JZHB1X3JtX2luaXRf aHdfaXRlcigmaXRlciwgcGh5c19lbmMtPnBhcmVudC0+YmFzZS5pZCwgRFBVX0hXX0JMS19DVEwp OwotCWZvciAoaSA9IDA7IGkgPD0gaW5zdGFuY2U7IGkrKykgewotCQlpZiAoZHB1X3JtX2dldF9o dyhybSwgJml0ZXIpKQotCQkJcGh5c19lbmMtPmh3X2N0bCA9IChzdHJ1Y3QgZHB1X2h3X2N0bCAq KWl0ZXIuaHc7Ci0JfQotCi0JaWYgKElTX0VSUl9PUl9OVUxMKHBoeXNfZW5jLT5od19jdGwpKSB7 Ci0JCURQVV9FUlJPUl9DTURFTkMoY21kX2VuYywgImZhaWxlZCB0byBpbml0IGN0bDogJWxkXG4i LAotCQkJCVBUUl9FUlIocGh5c19lbmMtPmh3X2N0bCkpOwotCQlwaHlzX2VuYy0+aHdfY3RsID0g TlVMTDsKLQkJcmV0dXJuOwotCX0KLQogCV9kcHVfZW5jb2Rlcl9waHlzX2NtZF9zZXR1cF9pcnFf aHdfaWR4KHBoeXNfZW5jKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMKaW5kZXggNTdlY2UwMy4uYzAyMjFjYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192 aWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlz X3ZpZC5jCkBAIC0zOTUsOSArMzk1LDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJfcGh5c192 aWRfbW9kZV9zZXQoCiAJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAogCQlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqX21vZGUpCiB7Ci0Jc3RydWN0IGRwdV9ybSAqcm07Ci0Jc3Ry dWN0IGRwdV9ybV9od19pdGVyIGl0ZXI7Ci0JaW50IGksIGluc3RhbmNlOwogCXN0cnVjdCBkcHVf ZW5jb2Rlcl9waHlzX3ZpZCAqdmlkX2VuYzsKIAogCWlmICghcGh5c19lbmMgfHwgIXBoeXNfZW5j LT5kcHVfa21zKSB7CkBAIC00MDUsNyArNDAyLDYgQEAgc3RhdGljIHZvaWQgZHB1X2VuY29kZXJf cGh5c192aWRfbW9kZV9zZXQoCiAJCXJldHVybjsKIAl9CiAKLQlybSA9ICZwaHlzX2VuYy0+ZHB1 X2ttcy0+cm07CiAJdmlkX2VuYyA9IHRvX2RwdV9lbmNvZGVyX3BoeXNfdmlkKHBoeXNfZW5jKTsK IAogCWlmIChhZGpfbW9kZSkgewpAQCAtNDE0LDIxICs0MTAsNiBAQCBzdGF0aWMgdm9pZCBkcHVf ZW5jb2Rlcl9waHlzX3ZpZF9tb2RlX3NldCgKIAkJRFBVX0RFQlVHX1ZJREVOQyh2aWRfZW5jLCAi Y2FjaGluZyBtb2RlOlxuIik7CiAJfQogCi0JaW5zdGFuY2UgPSBwaHlzX2VuYy0+c3BsaXRfcm9s ZSA9PSBFTkNfUk9MRV9TTEFWRSA/IDEgOiAwOwotCi0JLyogUmV0cmlldmUgcHJldmlvdXNseSBh bGxvY2F0ZWQgSFcgUmVzb3VyY2VzLiBTaG91bGRuJ3QgZmFpbCAqLwotCWRwdV9ybV9pbml0X2h3 X2l0ZXIoJml0ZXIsIHBoeXNfZW5jLT5wYXJlbnQtPmJhc2UuaWQsIERQVV9IV19CTEtfQ1RMKTsK LQlmb3IgKGkgPSAwOyBpIDw9IGluc3RhbmNlOyBpKyspIHsKLQkJaWYgKGRwdV9ybV9nZXRfaHco cm0sICZpdGVyKSkKLQkJCXBoeXNfZW5jLT5od19jdGwgPSAoc3RydWN0IGRwdV9od19jdGwgKilp dGVyLmh3OwotCX0KLQlpZiAoSVNfRVJSX09SX05VTEwocGh5c19lbmMtPmh3X2N0bCkpIHsKLQkJ RFBVX0VSUk9SX1ZJREVOQyh2aWRfZW5jLCAiZmFpbGVkIHRvIGluaXQgY3RsLCAlbGRcbiIsCi0J CQkJUFRSX0VSUihwaHlzX2VuYy0+aHdfY3RsKSk7Ci0JCXBoeXNfZW5jLT5od19jdGwgPSBOVUxM OwotCQlyZXR1cm47Ci0JfQotCiAJX2RwdV9lbmNvZGVyX3BoeXNfdmlkX3NldHVwX2lycV9od19p ZHgocGh5c19lbmMpOwogfQogCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIElu Yy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRp b24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9mcmVlZHJlbm8K