From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [PATCH v2 3/5] drm/vc4: Use drm_atomic_helper_check_plane_state() to simplify the logic Date: Fri, 3 Aug 2018 11:22:29 +0200 Message-ID: <20180803092231.26446-3-boris.brezillon@bootlin.com> References: <20180803092231.26446-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 801FC89A4E for ; Fri, 3 Aug 2018 09:22:36 +0000 (UTC) In-Reply-To: <20180803092231.26446-1-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Eric Anholt Cc: David Airlie , Boris Brezillon , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org ZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVfc3RhdGUoKSB0YWtlcyBjYXJlIG9mIGNoZWNr aW5nIHRoZQpzY2FsaW5nIGNhcGFiaWxpdGllcyBhbmQgY2FsY3VsYXRpbmcgdGhlIGNsaXBwZWQg WC9ZIG9mZnNldHMgZm9yIHVzLgoKUmVseSBvbiB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2Ygb3Bl bi1jb2RpbmcgdGhlIGxvZ2ljLgoKSW5jaWRlbnRhbGx5LCBpdCBzZWVtcyB0byBmaXggYSBwcm9i bGVtIHdlIGhhZCB3aXRoIG5lZ2F0aXZlIFgvWQpwb3NpdGlvbmluZyBvZiBZVVYgcGxhbmVzLgoK U2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9vdGxpbi5j b20+Ci0tLQpDaGFuZ2VzIGluIHYyOgotIEdyYWJiZWQgYXV0aG9yc2hpcCBhbmQgZHJvcHBlZCBF cmljJ3MgU29CCi0gUmUtaW50cm9kdWNlZCB2YzRfc3RhdGUtPmNydGMvc3JjX3gveS93L2ggZmll bGRzCi0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYyB8IDEwMiArKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTIgaW5zZXJ0 aW9ucygrKSwgNTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Zj NC92YzRfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3BsYW5lLmMKaW5kZXggYTMy NzVmYTY2YjdiLi4yNjlhNWY0NmIzNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfcGxhbmUuYwpAQCAtMjY3 LDMwICsyNjcsNTkgQEAgc3RhdGljIGludCB2YzRfcGxhbmVfc2V0dXBfY2xpcHBpbmdfYW5kX3Nj YWxpbmcoc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiAJdTMyIHN1YnBpeGVsX3NyY19t YXNrID0gKDEgPDwgMTYpIC0gMTsKIAl1MzIgZm9ybWF0ID0gZmItPmZvcm1hdC0+Zm9ybWF0Owog CWludCBudW1fcGxhbmVzID0gZmItPmZvcm1hdC0+bnVtX3BsYW5lczsKLQl1MzIgaF9zdWJzYW1w bGUgPSAxOwotCXUzMiB2X3N1YnNhbXBsZSA9IDE7Ci0JaW50IGk7CisJaW50IG1pbl9zY2FsZSA9 IDEsIG1heF9zY2FsZSA9IElOVF9NQVg7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlOworCXUzMiBoX3N1YnNhbXBsZSwgdl9zdWJzYW1wbGU7CisJaW50IGksIHJldDsKKworCWNy dGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0YXRlKHN0YXRlLT5zdGF0 ZSwKKwkJCQkJCQlzdGF0ZS0+Y3J0Yyk7CisJaWYgKCFjcnRjX3N0YXRlKSB7CisJCURSTV9ERUJV R19LTVMoIkludmFsaWQgY3J0YyBzdGF0ZVxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwor CS8qIE5vIGNvbmZpZ3VyaW5nIHNjYWxpbmcgb24gdGhlIGN1cnNvciBwbGFuZSwgc2luY2UgaXQg Z2V0cworCSAqIG5vbi12Ymxhbmstc3luY2VkIHVwZGF0ZXMsIGFuZCBzY2FsaW5nIHJlcXVpcmVz IExCTSBjaGFuZ2VzIHdoaWNoCisJICogaGF2ZSB0byBiZSB2Ymxhbmstc3luY2VkLgorCSAqLwor CWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpIHsKKwkJbWluX3NjYWxl ID0gRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HOworCQltYXhfc2NhbGUgPSBEUk1fUExBTkVf SEVMUEVSX05PX1NDQUxJTkc7CisJfSBlbHNlIHsKKwkJbWluX3NjYWxlID0gMTsKKwkJbWF4X3Nj YWxlID0gSU5UX01BWDsKKwl9CisKKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVja19wbGFu ZV9zdGF0ZShzdGF0ZSwgY3J0Y19zdGF0ZSwKKwkJCQkJCSAgbWluX3NjYWxlLCBtYXhfc2NhbGUs CisJCQkJCQkgIHRydWUsIHRydWUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwloX3N1 YnNhbXBsZSA9IGRybV9mb3JtYXRfaG9yel9jaHJvbWFfc3Vic2FtcGxpbmcoZm9ybWF0KTsKKwl2 X3N1YnNhbXBsZSA9IGRybV9mb3JtYXRfdmVydF9jaHJvbWFfc3Vic2FtcGxpbmcoZm9ybWF0KTsK IAogCWZvciAoaSA9IDA7IGkgPCBudW1fcGxhbmVzOyBpKyspCiAJCXZjNF9zdGF0ZS0+b2Zmc2V0 c1tpXSA9IGJvLT5wYWRkciArIGZiLT5vZmZzZXRzW2ldOwogCiAJLyogV2UgZG9uJ3Qgc3VwcG9y dCBzdWJwaXhlbCBzb3VyY2UgcG9zaXRpb25pbmcgZm9yIHNjYWxpbmcuICovCi0JaWYgKChzdGF0 ZS0+c3JjX3ggJiBzdWJwaXhlbF9zcmNfbWFzaykgfHwKLQkgICAgKHN0YXRlLT5zcmNfeSAmIHN1 YnBpeGVsX3NyY19tYXNrKSB8fAotCSAgICAoc3RhdGUtPnNyY193ICYgc3VicGl4ZWxfc3JjX21h c2spIHx8Ci0JICAgIChzdGF0ZS0+c3JjX2ggJiBzdWJwaXhlbF9zcmNfbWFzaykpIHsKKwlpZiAo KHN0YXRlLT5zcmMueDEgJiBzdWJwaXhlbF9zcmNfbWFzaykgfHwKKwkgICAgKHN0YXRlLT5zcmMu eDIgJiBzdWJwaXhlbF9zcmNfbWFzaykgfHwKKwkgICAgKHN0YXRlLT5zcmMueTEgJiBzdWJwaXhl bF9zcmNfbWFzaykgfHwKKwkgICAgKHN0YXRlLT5zcmMueTIgJiBzdWJwaXhlbF9zcmNfbWFzaykp IHsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0JdmM0X3N0YXRlLT5zcmNfeCA9IHN0YXRlLT5z cmNfeCA+PiAxNjsKLQl2YzRfc3RhdGUtPnNyY195ID0gc3RhdGUtPnNyY195ID4+IDE2OwotCXZj NF9zdGF0ZS0+c3JjX3dbMF0gPSBzdGF0ZS0+c3JjX3cgPj4gMTY7Ci0JdmM0X3N0YXRlLT5zcmNf aFswXSA9IHN0YXRlLT5zcmNfaCA+PiAxNjsKKwl2YzRfc3RhdGUtPnNyY194ID0gc3RhdGUtPnNy Yy54MSA+PiAxNjsKKwl2YzRfc3RhdGUtPnNyY195ID0gc3RhdGUtPnNyYy55MSA+PiAxNjsKKwl2 YzRfc3RhdGUtPnNyY193WzBdID0gKHN0YXRlLT5zcmMueDIgLSBzdGF0ZS0+c3JjLngxKSA+PiAx NjsKKwl2YzRfc3RhdGUtPnNyY19oWzBdID0gKHN0YXRlLT5zcmMueTIgLSBzdGF0ZS0+c3JjLnkx KSA+PiAxNjsKIAotCXZjNF9zdGF0ZS0+Y3J0Y194ID0gc3RhdGUtPmNydGNfeDsKLQl2YzRfc3Rh dGUtPmNydGNfeSA9IHN0YXRlLT5jcnRjX3k7Ci0JdmM0X3N0YXRlLT5jcnRjX3cgPSBzdGF0ZS0+ Y3J0Y193OwotCXZjNF9zdGF0ZS0+Y3J0Y19oID0gc3RhdGUtPmNydGNfaDsKKwl2YzRfc3RhdGUt PmNydGNfeCA9IHN0YXRlLT5kc3QueDE7CisJdmM0X3N0YXRlLT5jcnRjX3kgPSBzdGF0ZS0+ZHN0 LnkxOworCXZjNF9zdGF0ZS0+Y3J0Y193ID0gc3RhdGUtPmRzdC54MiAtIHN0YXRlLT5kc3QueDE7 CisJdmM0X3N0YXRlLT5jcnRjX2ggPSBzdGF0ZS0+ZHN0LnkyIC0gc3RhdGUtPmRzdC55MTsKIAog CXZjNF9zdGF0ZS0+eF9zY2FsaW5nWzBdID0gdmM0X2dldF9zY2FsaW5nX21vZGUodmM0X3N0YXRl LT5zcmNfd1swXSwKIAkJCQkJCSAgICAgICB2YzRfc3RhdGUtPmNydGNfdyk7CkBAIC0zMDMsOCAr MzMyLDYgQEAgc3RhdGljIGludCB2YzRfcGxhbmVfc2V0dXBfY2xpcHBpbmdfYW5kX3NjYWxpbmco c3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiAJaWYgKG51bV9wbGFuZXMgPiAxKSB7CiAJ CXZjNF9zdGF0ZS0+aXNfeXV2ID0gdHJ1ZTsKIAotCQloX3N1YnNhbXBsZSA9IGRybV9mb3JtYXRf aG9yel9jaHJvbWFfc3Vic2FtcGxpbmcoZm9ybWF0KTsKLQkJdl9zdWJzYW1wbGUgPSBkcm1fZm9y bWF0X3ZlcnRfY2hyb21hX3N1YnNhbXBsaW5nKGZvcm1hdCk7CiAJCXZjNF9zdGF0ZS0+c3JjX3db MV0gPSB2YzRfc3RhdGUtPnNyY193WzBdIC8gaF9zdWJzYW1wbGU7CiAJCXZjNF9zdGF0ZS0+c3Jj X2hbMV0gPSB2YzRfc3RhdGUtPnNyY19oWzBdIC8gdl9zdWJzYW1wbGU7CiAKQEAgLTMyNiwzOSAr MzUzLDE0IEBAIHN0YXRpYyBpbnQgdmM0X3BsYW5lX3NldHVwX2NsaXBwaW5nX2FuZF9zY2FsaW5n KHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQogCQl2YzRfc3RhdGUtPnlfc2NhbGluZ1sx XSA9IFZDNF9TQ0FMSU5HX05PTkU7CiAJfQogCi0JLyogTm8gY29uZmlndXJpbmcgc2NhbGluZyBv biB0aGUgY3Vyc29yIHBsYW5lLCBzaW5jZSBpdCBnZXRzCi0JICAgbm9uLXZibGFuay1zeW5jZWQg dXBkYXRlcywgYW5kIHNjYWxpbmcgcmVxdWlyZXMgcmVxdWlyZXMKLQkgICBMQk0gY2hhbmdlcyB3 aGljaCBoYXZlIHRvIGJlIHZibGFuay1zeW5jZWQuCi0JICovCi0JaWYgKHBsYW5lLT50eXBlID09 IERSTV9QTEFORV9UWVBFX0NVUlNPUiAmJiAhdmM0X3N0YXRlLT5pc191bml0eSkKLQkJcmV0dXJu IC1FSU5WQUw7Ci0KLQkvKiBDbGFtcCB0aGUgb24tc2NyZWVuIHN0YXJ0IHgveSB0byAwLiAgVGhl IGhhcmR3YXJlIGRvZXNuJ3QKLQkgKiBzdXBwb3J0IG5lZ2F0aXZlIHksIGFuZCBuZWdhdGl2ZSB4 IHdhc3RlcyBiYW5kd2lkdGguCi0JICovCi0JaWYgKHZjNF9zdGF0ZS0+Y3J0Y194IDwgMCkgewot CQlmb3IgKGkgPSAwOyBpIDwgbnVtX3BsYW5lczsgaSsrKSB7Ci0JCQl1MzIgY3BwID0gZmItPmZv cm1hdC0+Y3BwW2ldOwotCQkJdTMyIHN1YnMgPSAoKGkgPT0gMCkgPyAxIDogaF9zdWJzYW1wbGUp OwotCi0JCQl2YzRfc3RhdGUtPm9mZnNldHNbaV0gKz0gKGNwcCAqCi0JCQkJCQkgICgtdmM0X3N0 YXRlLT5jcnRjX3gpIC8gc3Vicyk7Ci0JCX0KLQkJdmM0X3N0YXRlLT5zcmNfd1swXSArPSB2YzRf c3RhdGUtPmNydGNfeDsKLQkJdmM0X3N0YXRlLT5zcmNfd1sxXSArPSB2YzRfc3RhdGUtPmNydGNf eCAvIGhfc3Vic2FtcGxlOwotCQl2YzRfc3RhdGUtPmNydGNfeCA9IDA7Ci0JfQotCi0JaWYgKHZj NF9zdGF0ZS0+Y3J0Y195IDwgMCkgewotCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3BsYW5lczsgaSsr KSB7Ci0JCQl1MzIgc3VicyA9ICgoaSA9PSAwKSA/IDEgOiB2X3N1YnNhbXBsZSk7Ci0KLQkJCXZj NF9zdGF0ZS0+b2Zmc2V0c1tpXSArPSAoZmItPnBpdGNoZXNbaV0gKgotCQkJCQkJICAoLXZjNF9z dGF0ZS0+Y3J0Y195KSAvIHN1YnMpOwotCQl9Ci0JCXZjNF9zdGF0ZS0+c3JjX2hbMF0gKz0gdmM0 X3N0YXRlLT5jcnRjX3k7Ci0JCXZjNF9zdGF0ZS0+c3JjX2hbMV0gKz0gdmM0X3N0YXRlLT5jcnRj X3kgLyB2X3N1YnNhbXBsZTsKLQkJdmM0X3N0YXRlLT5jcnRjX3kgPSAwOworCS8qIEFkanVzdCB0 aGUgYmFzZSBwb2ludGVyIHRvIHRoZSBmaXJzdCBwaXhlbCB0byBiZSBzY2FubmVkIG91dC4gKi8K Kwlmb3IgKGkgPSAwOyBpIDwgbnVtX3BsYW5lczsgaSsrKSB7CisJCXZjNF9zdGF0ZS0+b2Zmc2V0 c1tpXSArPSAodmM0X3N0YXRlLT5zcmNfeSAvCisJCQkJCSAgKGkgPyB2X3N1YnNhbXBsZSA6IDEp KSAqCisJCQkJCSBmYi0+cGl0Y2hlc1tpXTsKKwkJdmM0X3N0YXRlLT5vZmZzZXRzW2ldICs9ICh2 YzRfc3RhdGUtPnNyY194IC8KKwkJCQkJICAoaSA/IGhfc3Vic2FtcGxlIDogMSkpICoKKwkJCQkJ IGZiLT5mb3JtYXQtPmNwcFtpXTsKIAl9CiAKIAlyZXR1cm4gMDsKLS0gCjIuMTQuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==