From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v2 6/8] drm/msm/mdp5: Add cursor planes Date: Tue, 17 Jan 2017 10:15:10 +0530 Message-ID: <20170117044512.22934-7-architt@codeaurora.org> References: <1482149338-586-1-git-send-email-architt@codeaurora.org> <20170117044512.22934-1-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170117044512.22934-1-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org UmVnaXN0ZXIgY3Vyc29yIGRybV9wbGFuZXMuIFRoZSBsb29wIGluIG1vZGVzZXRfaW5pdCB0aGF0 IGluaXRzIHRoZQpwbGFuZXMgYW5kIGNydGNzIGhhcyB0byBiZSByZWZhY3RvcmVkIGEgYml0LiBX ZSBmaXJzdCBpdGVyYXRlIGFsbCB0aGUKaHdwaXBlcyB0byBmaW5kIHRoZSBjdXJzb3IgcGxhbmVz LiBUaGVuLCB3ZSBsb29wIGFnYWluIHRvIGNyZWF0ZQpjcnRjcy4KCkluIG1zbV9hdG9taWNfd2Fp dF9mb3JfY29tbWl0X2RvbmUsIHJlbW92ZSB0aGUgY2hlY2sgd2hpY2ggYnlwYXNzZXMKd2FpdGlu ZyBmb3IgdnN5bmNzIGlmIHN0YXRlLT5sZWdhY3lfY3Vyc29yX3VwZGF0ZXMgaXMgdHJ1ZS4KCldl IHdpbGwgbGF0ZXIgY3JlYXRlIGEgZmFzdCBwYXRoIGZvciBjdXJzb3IgcG9zaXRpb24gY2hhbmdl cyBpbiB0aGUKY3Vyc29yIHBsYW5lJ3MgdXBkYXRlX3BsYW5lIGZ1bmMgdGhhdCBkb2Vzbid0IGdv IHZpYSB0aGUgcmVndWxhcgphdG9taWMgY29tbWl0IHBhdGguIEZvciByZXN0IG9mIGN1cnNvciBy ZWxhdGVkIHVwZGF0ZXMsIHdlIHdpbGwgaGF2ZQp0byB3YWl0IGZvciB2c3luY3MsIHNvIGlnbm9y ZSB0aGUgbGVnYWN5X2N1cnNvcl91cGRhdGVzIGZsYWcuCgpTaWduZWQtb2ZmLWJ5OiBBcmNoaXQg VGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20v bWRwL21kcDUvbWRwNV9rbXMuYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMgICAgICAgIHwgIDUgLS0tLS0KIDIg ZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCmluZGV4IDcwYTE5NTBkZThhZS4uM2ViMDc0 OTIyM2Q5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21z LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCkBAIC00MTEs NyArNDExLDkgQEAgc3RhdGljIGludCBtb2Rlc2V0X2luaXQoc3RydWN0IG1kcDVfa21zICptZHA1 X2ttcykKIAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK IAljb25zdCBzdHJ1Y3QgbWRwNV9jZmdfaHcgKmh3X2NmZzsKIAl1bnNpZ25lZCBpbnQgbnVtX2Ny dGNzOwotCWludCBpLCByZXQ7CisJaW50IGksIHJldCwgcGkgPSAwLCBjaSA9IDA7CisJc3RydWN0 IGRybV9wbGFuZSAqcHJpbWFyeVtNQVhfQkFTRVNdID0geyBOVUxMIH07CisJc3RydWN0IGRybV9w bGFuZSAqY3Vyc29yW01BWF9CQVNFU10gPSB7IE5VTEwgfTsKIAogCWh3X2NmZyA9IG1kcDVfY2Zn X2dldF9od19jb25maWcobWRwNV9rbXMtPmNmZyk7CiAKQEAgLTQzOCwxMyArNDQwLDE0IEBAIHN0 YXRpYyBpbnQgbW9kZXNldF9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMpCiAJICogcGxh bmVzIGZvciB0aGUgQ1JUQ3MsIHdpdGggdGhlIHJlbWFpbmRlciBhcyBvdmVybGF5IHBsYW5lczoK IAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgbWRwNV9rbXMtPm51bV9od3BpcGVzOyBpKyspIHsKLQkJ Ym9vbCBwcmltYXJ5ID0gaSA8IG51bV9jcnRjczsKKwkJc3RydWN0IG1kcDVfaHdfcGlwZSAqaHdw aXBlID0gbWRwNV9rbXMtPmh3cGlwZXNbaV07CiAJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwot CQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJCWVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZTsKIAot CQlpZiAocHJpbWFyeSkKKwkJaWYgKGkgPCBudW1fY3J0Y3MpCiAJCQl0eXBlID0gRFJNX1BMQU5F X1RZUEVfUFJJTUFSWTsKKwkJZWxzZSBpZiAoaHdwaXBlLT5jYXBzICYgTURQX1BJUEVfQ0FQX0NV UlNPUikKKwkJCXR5cGUgPSBEUk1fUExBTkVfVFlQRV9DVVJTT1I7CiAJCWVsc2UKIAkJCXR5cGUg PSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwogCkBAIC00NTYsMTAgKzQ1OSwxNiBAQCBzdGF0aWMg aW50IG1vZGVzZXRfaW5pdChzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zKQogCQl9CiAJCXByaXYt PnBsYW5lc1twcml2LT5udW1fcGxhbmVzKytdID0gcGxhbmU7CiAKLQkJaWYgKCFwcmltYXJ5KQot CQkJY29udGludWU7CisJCWlmICh0eXBlID09IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpCisJCQlw cmltYXJ5W3BpKytdID0gcGxhbmU7CisJCWlmICh0eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNP UikKKwkJCWN1cnNvcltjaSsrXSA9IHBsYW5lOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBudW1f Y3J0Y3M7IGkrKykgeworCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAKLQkJY3J0YyAgPSBtZHA1 X2NydGNfaW5pdChkZXYsIHBsYW5lLCBOVUxMLCBpKTsKKwkJY3J0YyAgPSBtZHA1X2NydGNfaW5p dChkZXYsIHByaW1hcnlbaV0sIGN1cnNvcltpXSwgaSk7CiAJCWlmIChJU19FUlIoY3J0YykpIHsK IAkJCXJldCA9IFBUUl9FUlIoY3J0Yyk7CiAJCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRv IGNvbnN0cnVjdCBjcnRjICVkICglZClcbiIsIGksIHJldCk7CkBAIC03OTEsNiArODAwLDkgQEAg c3RhdGljIGludCBod3BpcGVfaW5pdChzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zKQogCXN0YXRp YyBjb25zdCBlbnVtIG1kcDVfcGlwZSBkbWFfcGxhbmVzW10gPSB7CiAJCQlTU1BQX0RNQTAsIFNT UFBfRE1BMSwKIAl9OworCXN0YXRpYyBjb25zdCBlbnVtIG1kcDVfcGlwZSBjdXJzb3JfcGxhbmVz W10gPSB7CisJCQlTU1BQX0NVUlNPUjAsIFNTUFBfQ1VSU09SMSwKKwl9OwogCWNvbnN0IHN0cnVj dCBtZHA1X2NmZ19odyAqaHdfY2ZnOwogCWludCByZXQ7CiAKQEAgLTgxNCw2ICs4MjYsMTMgQEAg c3RhdGljIGludCBod3BpcGVfaW5pdChzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zKQogCWlmIChy ZXQpCiAJCXJldHVybiByZXQ7CiAKKwkvKiBDb25zdHJ1Y3QgY3Vyc29yIHBpcGVzOiAqLworCXJl dCA9IGNvbnN0cnVjdF9waXBlcyhtZHA1X2ttcywgaHdfY2ZnLT5waXBlX2N1cnNvci5jb3VudCwK KwkJCWN1cnNvcl9wbGFuZXMsIGh3X2NmZy0+cGlwZV9jdXJzb3IuYmFzZSwKKwkJCWh3X2NmZy0+ cGlwZV9jdXJzb3IuY2Fwcyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCXJldHVybiAw OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCmluZGV4IDY5MjRmYTI4ZjA0Zi4uOTYzM2E2 OGIxNGQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAtOTMsMTEgKzkzLDYgQEAgc3Rh dGljIHZvaWQgbXNtX2F0b21pY193YWl0X2Zvcl9jb21taXRfZG9uZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQlpZiAoIWNydGMtPnN0YXRlLT5lbmFibGUpCiAJCQljb250aW51ZTsKIAotCQkv KiBMZWdhY3kgY3Vyc29yIGlvY3RscyBhcmUgY29tcGxldGVseSB1bnN5bmNlZCwgYW5kIHVzZXJz cGFjZQotCQkgKiByZWxpZXMgb24gdGhhdCAoYnkgZG9pbmcgdG9ucyBvZiBjdXJzb3IgdXBkYXRl cykuICovCi0JCWlmIChvbGRfc3RhdGUtPmxlZ2FjeV9jdXJzb3JfdXBkYXRlKQotCQkJY29udGlu dWU7Ci0KIAkJa21zLT5mdW5jcy0+d2FpdF9mb3JfY3J0Y19jb21taXRfZG9uZShrbXMsIGNydGMp OwogCX0KIH0KLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1l bWJlciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmhvc3RlZCBieSBUaGUgTGludXggRm91bmRh dGlvbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==