From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v2 5/7] drm/msm/dpu: map mixer/ctl hw blocks in encoder modeset Date: Wed, 13 Feb 2019 17:19:14 -0800 Message-ID: <1550107156-17625-6-git-send-email-jsanka@codeaurora.org> References: <1550107156-17625-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: <1550107156-17625-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 QWZ0ZXIgcmVzb3VyY2UgYWxsb2NhdGlvbiwgaXRlcmF0ZSBhbmQgcG9wdWxhdGUgbWl4ZXIvY3Rs Cmh3IGJsb2NrcyBpbiBlbmNvZGVyIG1vZGVzZXQgdGhlcmVieSBjZW50cmFsaXppbmcgYWxsCnRo ZSByZXNvdXJjZSBtYXBwaW5nIHRvIHRoZSBDUlRDLiBUaGlzIGNoYW5nZSBpcyBtYWRlCmZvciBl YXN5IHN3aXRjaGluZyB0byBzdGF0ZSBiYXNlZCBhbGxvY2F0aW9uIHVzaW5nCnByaXZhdGUgb2Jq ZWN0cyBsYXRlciBpbiB0aGlzIHNlcmllcy4KClNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmth cmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuYyAgICB8IDY0ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIHwgMzcgKysrKysrKysr KysrKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgNzAgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5kZXggNGU0YjY0 OC4uNmQzMGJhOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBA IC00MjUsNjUgKzQyNSw2IEBAIHZvaWQgZHB1X2NydGNfY29tcGxldGVfY29tbWl0KHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAl0cmFjZV9kcHVfY3J0Y19jb21wbGV0ZV9jb21taXQoRFJNSUQoY3J0 YykpOwogfQogCi1zdGF0aWMgdm9pZCBfZHB1X2NydGNfc2V0dXBfbWl4ZXJfZm9yX2VuY29kZXIo Ci0JCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJc3RydWN0IGRybV9lbmNvZGVyICplbmMpCi17 Ci0Jc3RydWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShjcnRj LT5zdGF0ZSk7Ci0Jc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhj cnRjKTsKLQlzdHJ1Y3QgZHB1X3JtICpybSA9ICZkcHVfa21zLT5ybTsKLQlzdHJ1Y3QgZHB1X2Ny dGNfbWl4ZXIgKm1peGVyOwotCXN0cnVjdCBkcHVfaHdfY3RsICpsYXN0X3ZhbGlkX2N0bCA9IE5V TEw7Ci0JaW50IGk7Ci0Jc3RydWN0IGRwdV9ybV9od19pdGVyIGxtX2l0ZXIsIGN0bF9pdGVyOwot Ci0JZHB1X3JtX2luaXRfaHdfaXRlcigmbG1faXRlciwgZW5jLT5iYXNlLmlkLCBEUFVfSFdfQkxL X0xNKTsKLQlkcHVfcm1faW5pdF9od19pdGVyKCZjdGxfaXRlciwgZW5jLT5iYXNlLmlkLCBEUFVf SFdfQkxLX0NUTCk7Ci0KLQkvKiBTZXQgdXAgYWxsIHRoZSBtaXhlcnMgYW5kIGN0bHMgcmVzZXJ2 ZWQgYnkgdGhpcyBlbmNvZGVyICovCi0JZm9yIChpID0gY3N0YXRlLT5udW1fbWl4ZXJzOyBpIDwg QVJSQVlfU0laRShjc3RhdGUtPm1peGVycyk7IGkrKykgewotCQltaXhlciA9ICZjc3RhdGUtPm1p eGVyc1tpXTsKLQotCQlpZiAoIWRwdV9ybV9nZXRfaHcocm0sICZsbV9pdGVyKSkKLQkJCWJyZWFr OwotCQltaXhlci0+aHdfbG0gPSAoc3RydWN0IGRwdV9od19taXhlciAqKWxtX2l0ZXIuaHc7Ci0K LQkJLyogQ1RMIG1heSBiZSA8PSBMTXMsIGlmIDwsIG11bHRpcGxlIExNcyBjb250cm9sbGVkIGJ5 IDEgQ1RMICovCi0JCWlmICghZHB1X3JtX2dldF9odyhybSwgJmN0bF9pdGVyKSkgewotCQkJRFBV X0RFQlVHKCJubyBjdGwgYXNzaWduZWQgdG8gbG0gJWQsIHVzaW5nIHByZXZpb3VzXG4iLAotCQkJ CQltaXhlci0+aHdfbG0tPmlkeCAtIExNXzApOwotCQkJbWl4ZXItPmxtX2N0bCA9IGxhc3RfdmFs aWRfY3RsOwotCQl9IGVsc2UgewotCQkJbWl4ZXItPmxtX2N0bCA9IChzdHJ1Y3QgZHB1X2h3X2N0 bCAqKWN0bF9pdGVyLmh3OwotCQkJbGFzdF92YWxpZF9jdGwgPSBtaXhlci0+bG1fY3RsOwotCQl9 Ci0KLQkJLyogU2hvdWxkbid0IGhhcHBlbiwgbWl4ZXJzIGFyZSBhbHdheXMgPj0gY3RscyAqLwot CQlpZiAoIW1peGVyLT5sbV9jdGwpIHsKLQkJCURQVV9FUlJPUigibm8gdmFsaWQgY3RscyBmb3Vu ZCBmb3IgbG0gJWRcbiIsCi0JCQkJCW1peGVyLT5od19sbS0+aWR4IC0gTE1fMCk7Ci0JCQlyZXR1 cm47Ci0JCX0KLQotCQljc3RhdGUtPm51bV9taXhlcnMrKzsKLQkJRFBVX0RFQlVHKCJzZXR1cCBt aXhlciAlZDogbG0gJWRcbiIsCi0JCQkJaSwgbWl4ZXItPmh3X2xtLT5pZHggLSBMTV8wKTsKLQkJ RFBVX0RFQlVHKCJzZXR1cCBtaXhlciAlZDogY3RsICVkXG4iLAotCQkJCWksIG1peGVyLT5sbV9j dGwtPmlkeCAtIENUTF8wKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1cF9t aXhlcnMoc3RydWN0IGRybV9jcnRjICpjcnRjKQotewotCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5j OwotCi0JV0FSTl9PTighZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZjcnRjLT5tdXRleCkpOwotCi0J LyogQ2hlY2sgZm9yIG1peGVycyBvbiBhbGwgZW5jb2RlcnMgYXR0YWNoZWQgdG8gdGhpcyBjcnRj ICovCi0JZHJtX2Zvcl9lYWNoX2VuY29kZXJfbWFzayhlbmMsIGNydGMtPmRldiwgY3J0Yy0+c3Rh dGUtPmVuY29kZXJfbWFzaykKLQkJX2RwdV9jcnRjX3NldHVwX21peGVyX2Zvcl9lbmNvZGVyKGNy dGMsIGVuYyk7Ci19Ci0KIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1cF9sbV9ib3VuZHMoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQogewpA QCAtNTMzLDEwICs0NzQsNyBAQCBzdGF0aWMgdm9pZCBkcHVfY3J0Y19hdG9taWNfYmVnaW4oc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCWRldiA9IGNydGMtPmRldjsKIAlzbW11X3N0YXRlID0gJmRw dV9jcnRjLT5zbW11X3N0YXRlOwogCi0JaWYgKCFjc3RhdGUtPm51bV9taXhlcnMpIHsKLQkJX2Rw dV9jcnRjX3NldHVwX21peGVycyhjcnRjKTsKLQkJX2RwdV9jcnRjX3NldHVwX2xtX2JvdW5kcyhj cnRjLCBjcnRjLT5zdGF0ZSk7Ci0JfQorCV9kcHVfY3J0Y19zZXR1cF9sbV9ib3VuZHMoY3J0Yywg Y3J0Yy0+c3RhdGUpOwogCiAJaWYgKGRwdV9jcnRjLT5ldmVudCkgewogCQlXQVJOX09OKGRwdV9j cnRjLT5ldmVudCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu YwppbmRleCAwYTE5MTI0Li5mNjQ4ZTdmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9lbmNvZGVyLmMKQEAgLTk2Miw5ICs5NjIsMTIgQEAgc3RhdGljIHZvaWQgZHB1X2Vu Y29kZXJfdmlydF9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCiAJc3RydWN0 IGxpc3RfaGVhZCAqY29ubmVjdG9yX2xpc3Q7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4g PSBOVUxMLCAqY29ubl9pdGVyOwogCXN0cnVjdCBkcm1fY3J0YyAqZHJtX2NydGM7Ci0Jc3RydWN0 IGRwdV9ybV9od19pdGVyIHBwX2l0ZXIsIGN0bF9pdGVyOworCXN0cnVjdCBkcHVfY3J0Y19zdGF0 ZSAqY3N0YXRlOworCXN0cnVjdCBkcHVfcm1faHdfaXRlciBod19pdGVyOwogCXN0cnVjdCBtc21f ZGlzcGxheV90b3BvbG9neSB0b3BvbG9neTsKIAlzdHJ1Y3QgZHB1X2h3X2N0bCAqaHdfY3RsW01B WF9DSEFOTkVMU19QRVJfRU5DXSA9IHsgTlVMTCB9OworCXN0cnVjdCBkcHVfaHdfbWl4ZXIgKmh3 X2xtW01BWF9DSEFOTkVMU19QRVJfRU5DXSA9IHsgTlVMTCB9OworCWludCBudW1fbG0gPSAwLCBu dW1fY3RsID0gMDsKIAlpbnQgaSA9IDAsIHJldDsKIAogCWlmICghZHJtX2VuYykgewpAQCAtMTAw OCwyMSArMTAxMSw0MSBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92aXJ0X21vZGVfc2V0KHN0 cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAkJcmV0dXJuOwogCX0KIAotCWRwdV9ybV9pbml0 X2h3X2l0ZXIoJnBwX2l0ZXIsIGRybV9lbmMtPmJhc2UuaWQsIERQVV9IV19CTEtfUElOR1BPTkcp OworCWRwdV9ybV9pbml0X2h3X2l0ZXIoJmh3X2l0ZXIsIGRybV9lbmMtPmJhc2UuaWQsIERQVV9I V19CTEtfUElOR1BPTkcpOwogCWZvciAoaSA9IDA7IGkgPCBNQVhfQ0hBTk5FTFNfUEVSX0VOQzsg aSsrKSB7CiAJCWRwdV9lbmMtPmh3X3BwW2ldID0gTlVMTDsKLQkJaWYgKCFkcHVfcm1fZ2V0X2h3 KCZkcHVfa21zLT5ybSwgJnBwX2l0ZXIpKQorCQlpZiAoIWRwdV9ybV9nZXRfaHcoJmRwdV9rbXMt PnJtLCAmaHdfaXRlcikpCiAJCQlicmVhazsKLQkJZHB1X2VuYy0+aHdfcHBbaV0gPSAoc3RydWN0 IGRwdV9od19waW5ncG9uZyAqKSBwcF9pdGVyLmh3OworCQlkcHVfZW5jLT5od19wcFtpXSA9IChz dHJ1Y3QgZHB1X2h3X3Bpbmdwb25nICopIGh3X2l0ZXIuaHc7CiAJfQogCi0JZHB1X3JtX2luaXRf aHdfaXRlcigmY3RsX2l0ZXIsIGRybV9lbmMtPmJhc2UuaWQsIERQVV9IV19CTEtfQ1RMKTsKKwlk cHVfcm1faW5pdF9od19pdGVyKCZod19pdGVyLCBkcm1fZW5jLT5iYXNlLmlkLCBEUFVfSFdfQkxL X0NUTCk7CiAJZm9yIChpID0gMDsgaSA8IE1BWF9DSEFOTkVMU19QRVJfRU5DOyBpKyspIHsKLQkJ aWYgKCFkcHVfcm1fZ2V0X2h3KCZkcHVfa21zLT5ybSwgJmN0bF9pdGVyKSkKKwkJaWYgKCFkcHVf cm1fZ2V0X2h3KCZkcHVfa21zLT5ybSwgJmh3X2l0ZXIpKQogCQkJYnJlYWs7Ci0JCWh3X2N0bFtp XSA9IChzdHJ1Y3QgZHB1X2h3X2N0bCAqKWN0bF9pdGVyLmh3OworCQlod19jdGxbaV0gPSAoc3Ry dWN0IGRwdV9od19jdGwgKilod19pdGVyLmh3OworCQludW1fY3RsKys7CiAJfQogCisJZHB1X3Jt X2luaXRfaHdfaXRlcigmaHdfaXRlciwgZHJtX2VuYy0+YmFzZS5pZCwgRFBVX0hXX0JMS19MTSk7 CisJZm9yIChpID0gMDsgaSA8IE1BWF9DSEFOTkVMU19QRVJfRU5DOyBpKyspIHsKKwkJaWYgKCFk cHVfcm1fZ2V0X2h3KCZkcHVfa21zLT5ybSwgJmh3X2l0ZXIpKQorCQkJYnJlYWs7CisJCWh3X2xt W2ldID0gKHN0cnVjdCBkcHVfaHdfbWl4ZXIgKilod19pdGVyLmh3OworCQludW1fbG0rKzsKKwl9 CisKKwljc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShkcm1fY3J0Yy0+c3RhdGUpOworCisJZm9y IChpID0gMDsgaSA8IG51bV9sbTsgaSsrKSB7CisJCWludCBjdGxfaWR4ID0gKGkgPCBudW1fY3Rs KSA/IGkgOiAobnVtX2N0bC0xKTsKKworCQljc3RhdGUtPm1peGVyc1tpXS5od19sbSA9IGh3X2xt W2ldOworCQljc3RhdGUtPm1peGVyc1tpXS5sbV9jdGwgPSBod19jdGxbY3RsX2lkeF07CisJfQor CisJY3N0YXRlLT5udW1fbWl4ZXJzID0gbnVtX2xtOworCiAJZm9yIChpID0gMDsgaSA8IGRwdV9l bmMtPm51bV9waHlzX2VuY3M7IGkrKykgewogCQlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5 cyA9IGRwdV9lbmMtPnBoeXNfZW5jc1tpXTsKIAotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24g Q2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51 eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJl bm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZnJlZWRyZW5v