From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Agner Subject: [PATCH 1/4] drm/fsl-dcu: support overlay and cursor planes Date: Mon, 5 Sep 2016 21:02:30 -0700 Message-ID: <20160906040233.32471-2-stefan@agner.ch> References: <20160906040233.32471-1-stefan@agner.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kmu-office.ch (mail.kmu-office.ch [IPv6:2a02:418:6a02::a2]) by gabe.freedesktop.org (Postfix) with ESMTPS id B346E6E525 for ; Tue, 6 Sep 2016 04:02:48 +0000 (UTC) In-Reply-To: <20160906040233.32471-1-stefan@agner.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, meng.yi@nxp.com Cc: jianwei.wang.chn@gmail.com, linux-kernel@vger.kernel.org, alison.wang@freescale.com List-Id: dri-devel@lists.freedesktop.org QWRkIHN1cHBvcnQgZm9yIG92ZXJsYXkgcGxhbmUgYW5kIGEgY3Vyc29yIHBsYW5lLiBUaGUgZHJp dmVyIHVzZXMKdGhlIHRvcG1vc3QgcGxhbmUgYXMgY3Vyc29yIHBsYW5lLiBUaGUgRENVIElQIHdv dWxkIGhhdmUgZGVkaWNhdGVkCmN1cnNvciBzdXBwb3J0LCBidXQgdGhhdCBsYWNrcyBwcm9wZXIg Y29sb3Igc3VwcG9ydCBhbmQgaGVuY2UgaXMKbm90IHByYWN0aWNhbCB0byB1c2UgZm9yIExpbnV4 IHN5c3RlbXMuCgpTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gQWduZXIgPHN0ZWZhbkBhZ25lci5jaD4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9jcnRjLmMgIHwgNDcgKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9k Y3VfZHJtX3BsYW5lLmMgfCAzNyArKysrKysrKysrKystLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuaCB8ICAzICstCiAzIGZpbGVzIGNoYW5nZWQs IDYwIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX2NydGMuYwppbmRleCAzMzcxNjM1Li5kMzBiNjFlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9jcnRjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fY3J0Yy5jCkBAIC0xMzksMjAgKzEzOSw1MSBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIGZzbF9kY3VfZHJtX2NydGNfZnVu Y3MgPSB7CiAKIGludCBmc2xfZGN1X2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZnNsX2RjdV9kcm1f ZGV2aWNlICpmc2xfZGV2KQogewotCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnk7CisJc3RydWN0 IGRybV9kZXZpY2UgKmRybSA9IGZzbF9kZXYtPmRybTsKKwlzdHJ1Y3QgZHJtX3BsYW5lICpwcmlt YXJ5LCAqY3Vyc29yOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9ICZmc2xfZGV2LT5jcnRjOwot CWludCByZXQ7CisJaW50IHRvdGFsX2xheWVyID0gZnNsX2Rldi0+c29jLT50b3RhbF9sYXllcjsK KwlpbnQgcmV0LCBpOwogCi0JZnNsX2RjdV9kcm1faW5pdF9wbGFuZXMoZnNsX2Rldi0+ZHJtKTsK Kwlmc2xfZGN1X2RybV9pbml0X3BsYW5lcyhkcm0pOwogCi0JcHJpbWFyeSA9IGZzbF9kY3VfZHJt X3ByaW1hcnlfY3JlYXRlX3BsYW5lKGZzbF9kZXYtPmRybSk7Ci0JaWYgKCFwcmltYXJ5KQotCQly ZXR1cm4gLUVOT01FTTsKKwlwcmltYXJ5ID0gZnNsX2RjdV9kcm1fY3JlYXRlX3BsYW5lKGRybSwg RFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CisJaWYgKElTX0VSUihwcmltYXJ5KSkgeworCQlkZXZf ZXJyKGZzbF9kZXYtPmRldiwgImZhaWxlZCB0byBjb25zdHJ1Y3QgcHJpbWFyeSBwbGFuZVxuIik7 CisJCXJldCA9IFBUUl9FUlIocHJpbWFyeSk7CisJCXJldHVybiByZXQ7CisJfQorCisJLyoKKwkg KiBJbml0aWFsaXplIG92ZXJsYXkgbGF5ZXJzLiBUaGUgaGFyZHdhcmUgZG9lcyBub3QgaGF2ZSBz cGVjaWZpYworCSAqIGxheWVyIHR5cGVzLCB3ZSBqdXN0IGhhcHBlbiB0byB1c2Ugb25lIGxheWVy IGFzIHByaW1hcnkgbGF5ZXIKKwkgKiBhbmQgb25lIGxheWVyIGFzIGN1cnNvciBsYXllciwgaGVu Y2UgdG90YWxfbGF5ZXIgLSAyID0gb3ZlcmxheXMuCisJICovCisJZm9yIChpID0gMDsgaSA8IHRv dGFsX2xheWVyIC0gMjsgaSsrKSB7CisJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0KKwkJCWZz bF9kY3VfZHJtX2NyZWF0ZV9wbGFuZShkcm0sIERSTV9QTEFORV9UWVBFX09WRVJMQVkpOworCisJ CWlmIChJU19FUlIocGxhbmUpKQorCQkJY29udGludWU7CisJfQogCi0JcmV0ID0gZHJtX2NydGNf aW5pdF93aXRoX3BsYW5lcyhmc2xfZGV2LT5kcm0sIGNydGMsIHByaW1hcnksIE5VTEwsCisJY3Vy c29yID0gZnNsX2RjdV9kcm1fY3JlYXRlX3BsYW5lKGRybSwgRFJNX1BMQU5FX1RZUEVfQ1VSU09S KTsKKwlpZiAoSVNfRVJSKGN1cnNvcikpIHsKKwkJZGV2X3dhcm4oZnNsX2Rldi0+ZGV2LCAiZmFp bGVkIHRvIGNvbnN0cnVjdCBjdXJzb3IgcGxhbmVcbiIpOworCQljdXJzb3IgPSBOVUxMOworCX0K KworCS8qCisJICogSW5pdGlhbGl6ZSBjdXJzb3IgcGxhbmUgYWZ0ZXIgb3ZlcmxheSBwbGFuZXMg c2luY2UgdGhlIGluaXRpYWxpemF0aW9uCisJICogb3JkZXIgaXMgY3J1Y2lhbCB0byB0aGUgbGF5 ZXIgaWQgKGFuZCBoZW5jZSBsYXllciBzdGFja2luZyBvcmRlcikuCisJICovCisJcmV0ID0gZHJt X2NydGNfaW5pdF93aXRoX3BsYW5lcyhkcm0sIGNydGMsIHByaW1hcnksIGN1cnNvciwKIAkJCQkJ JmZzbF9kY3VfZHJtX2NydGNfZnVuY3MsIE5VTEwpOwogCWlmIChyZXQpIHsKLQkJcHJpbWFyeS0+ ZnVuY3MtPmRlc3Ryb3kocHJpbWFyeSk7CisJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOworCisJ CWxpc3RfZm9yX2VhY2hfZW50cnkocGxhbmUsICZkcm0tPm1vZGVfY29uZmlnLnBsYW5lX2xpc3Qs IGhlYWQpCisJCQlkcm1fcGxhbmVfY2xlYW51cChwbGFuZSk7CiAJCXJldHVybiByZXQ7CiAJfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5j IGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuYwppbmRleCBhN2U1 NDg2Li5hNmFmM2Q5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1 X2RybV9wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3Bs YW5lLmMKQEAgLTE3OCw3ICsxNzgsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9o ZWxwZXJfZnVuY3MgZnNsX2RjdV9kcm1fcGxhbmVfaGVscGVyX2Z1bmNzID0gewogc3RhdGljIHZv aWQgZnNsX2RjdV9kcm1fcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKIHsK IAlkcm1fcGxhbmVfY2xlYW51cChwbGFuZSk7Ci0Ja2ZyZWUocGxhbmUpOwogfQogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBmc2xfZGN1X2RybV9wbGFuZV9mdW5jcyA9IHsK QEAgLTIxOCwyOCArMjE3LDMwIEBAIHZvaWQgZnNsX2RjdV9kcm1faW5pdF9wbGFuZXMoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAkJICAgICBEQ1VfVVBEQVRFX01PREVfUkVBRFJFRyk7CiB9CiAK LXN0cnVjdCBkcm1fcGxhbmUgKmZzbF9kY3VfZHJtX3ByaW1hcnlfY3JlYXRlX3BsYW5lKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCitzdHJ1Y3QgZHJtX3BsYW5lICpmc2xfZGN1X2RybV9jcmVhdGVf cGxhbmUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkJICAgZW51bSBkcm1fcGxhbmVfdHlw ZSB0eXBlKQogewotCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnk7CisJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7CiAJaW50IHJldDsKIAotCXByaW1hcnkgPSBremFsbG9jKHNpemVvZigqcHJpbWFy eSksIEdGUF9LRVJORUwpOwotCWlmICghcHJpbWFyeSkgewotCQlEUk1fREVCVUdfS01TKCJGYWls ZWQgdG8gYWxsb2NhdGUgcHJpbWFyeSBwbGFuZVxuIik7Ci0JCXJldHVybiBOVUxMOwotCX0KKwlw bGFuZSA9IGRldm1fa3phbGxvYyhkZXYtPmRldiwgc2l6ZW9mKHN0cnVjdCBkcm1fcGxhbmUpLAor CQkJICAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFwbGFuZSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVO T01FTSk7CiAKLQkvKiBwb3NzaWJsZV9jcnRjJ3Mgd2lsbCBiZSBmaWxsZWQgaW4gbGF0ZXIgYnkg Y3J0Y19pbml0ICovCi0JcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgcHJpbWFy eSwgMCwKLQkJCQkgICAgICAgJmZzbF9kY3VfZHJtX3BsYW5lX2Z1bmNzLAorCXJldCA9IGRybV91 bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5lLCAxLCAmZnNsX2RjdV9kcm1fcGxhbmVfZnVu Y3MsCiAJCQkJICAgICAgIGZzbF9kY3VfZHJtX3BsYW5lX2Zvcm1hdHMsCiAJCQkJICAgICAgIEFS UkFZX1NJWkUoZnNsX2RjdV9kcm1fcGxhbmVfZm9ybWF0cyksCi0JCQkJICAgICAgIERSTV9QTEFO RV9UWVBFX1BSSU1BUlksIE5VTEwpOwotCWlmIChyZXQpIHsKLQkJa2ZyZWUocHJpbWFyeSk7Ci0J CXByaW1hcnkgPSBOVUxMOwotCX0KLQlkcm1fcGxhbmVfaGVscGVyX2FkZChwcmltYXJ5LCAmZnNs X2RjdV9kcm1fcGxhbmVfaGVscGVyX2Z1bmNzKTsKKwkJCQkgICAgICAgdHlwZSwgTlVMTCk7CisJ aWYgKHJldCkKKwkJZ290byBlcnJfY2xlYW51cF9wbGFuZTsKKworCWRybV9wbGFuZV9oZWxwZXJf YWRkKHBsYW5lLCAmZnNsX2RjdV9kcm1fcGxhbmVfaGVscGVyX2Z1bmNzKTsKKworCXJldHVybiBw bGFuZTsKKworZXJyX2NsZWFudXBfcGxhbmU6CisJZHJtX3BsYW5lX2NsZWFudXAocGxhbmUpOwog Ci0JcmV0dXJuIHByaW1hcnk7CisJcmV0dXJuIEVSUl9QVFIocmV0KTsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmggYi9kcml2ZXJzL2dw dS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9wbGFuZS5oCmluZGV4IDhlZTQ1ZjguLmJkMzYxNjYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3BsYW5lLmgK KysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fcGxhbmUuaApAQCAtMTMs NiArMTMsNyBAQAogI2RlZmluZSBfX0ZTTF9EQ1VfRFJNX1BMQU5FX0hfXwogCiB2b2lkIGZzbF9k Y3VfZHJtX2luaXRfcGxhbmVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotc3RydWN0IGRybV9w bGFuZSAqZnNsX2RjdV9kcm1fcHJpbWFyeV9jcmVhdGVfcGxhbmUoc3RydWN0IGRybV9kZXZpY2Ug KmRldik7CitzdHJ1Y3QgZHJtX3BsYW5lICpmc2xfZGN1X2RybV9jcmVhdGVfcGxhbmUoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKKwkJCQkJICAgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlKTsKIAog I2VuZGlmIC8qIF9fRlNMX0RDVV9EUk1fUExBTkVfSF9fICovCi0tIAoyLjkuMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==