From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meng Yi Subject: [PATCH v4] drm/fsl-dcu: Implement gamma_lut atomic crtc properties Date: Wed, 28 Sep 2016 11:17:56 +0800 Message-ID: <1475032676-10678-1-git-send-email-meng.yi@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0060.outbound.protection.outlook.com [104.47.36.60]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4A1C56E024 for ; Wed, 28 Sep 2016 05:03:37 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: stefan@agner.ch Cc: Meng Yi , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org R2FtbWEgY29ycmVjdGlvbiBpcyBvcHRpb25hbCBhbmQgY2FuIGJlIHVzZWQgdG8gYWRqdXN0IHRo ZSBjb2xvcgpvdXRwdXQgdmFsdWVzIHRvIG1hdGNoIHRoZSBnYW11dCBvZiBhIHBhcnRpY3VsYXIg VEZUIExDRCBwYW5lbApFcnJhdGE6CkdhbW1hX1IsIEdhbW1hX0cgYW5kIEdhbW1hX0IgcmVnaXN0 ZXJzIGFyZSBsaXR0bGUtZW5kaWFuIHJlZ2lzdGVycwp3aGlsZSB0aGUgcmVzdCBvZiB0aGUgYWRk cmVzcy1zcGFjZSBpbiAyRC1BQ0UgaXMgYmlnLWVuZGlhbi4KV29ya2Fyb3VuZDoKU3BsaXQgdGhl IERDVSByZWdzIGludG8gInJlZ3MiLCAicGFsZXR0ZSIsICJnYW1tYSIgYW5kICJjdXJzb3IiLgpD cmVhdGUgYSBzZWNvbmQgcmVnbWFwIGZvciBnYW1tYSBtZW1vcnkgc3BhY2UgdXNpbmcgbGl0dGxl IGVuZGlhbi4KClN1Z2dlc3RlZC1ieTogU3RlZmFuIEFnbmVyIDxzdGVmYW5AYWduZXIuY2g+ClNp Z25lZC1vZmYtYnk6IE1lbmcgWWkgPG1lbmcueWlAbnhwLmNvbT4KLS0tCkNoYW5nZXMgc2luY2Ug VjE6Ci1jcmVhdGVkIGEgc2Vjb25kIHJlZ21hcCBmb3IgZ2FtbWEKLXVwZGF0ZWQgdGhlIERDVSBE VCBiaW5kaW5nCi1yZW1vdmVkIEtjb25maWcgZm9yIGdhbW1hIGFuZCBlbmFibGUgZ2FtbWEgd2hl biB2YWxpZCBkYXRhIGZpbGxlZC4KLS0tCiAuLi4vZGV2aWNldHJlZS9iaW5kaW5ncy9kaXNwbGF5 L2ZzbCxkY3UudHh0ICAgICAgICB8IDE1ICsrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX2NydGMuYyAgICAgICAgIHwgMzIgKysrKysrKysrKysrKysrKysrKysK IGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jICAgICAgICAgIHwgMzUg KysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fZHJ2LmggICAgICAgICAgfCAgNyArKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNl dHJlZS9iaW5kaW5ncy9kaXNwbGF5L2ZzbCxkY3UudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2Rpc3BsYXkvZnNsLGRjdS50eHQKaW5kZXggNjNlYzJhNi4uZTNjZjJkZSAx MDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkvZnNs LGRjdS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2Rpc3BsYXkv ZnNsLGRjdS50eHQKQEAgLTYsNiArNiwxNSBAQCBSZXF1aXJlZCBwcm9wZXJ0aWVzOgogCSogImZz bCx2ZjYxMC1kY3UiLgogCiAtIHJlZzoJCQlBZGRyZXNzIGFuZCBsZW5ndGggb2YgdGhlIHJlZ2lz dGVyIHNldCBmb3IgZGN1LgorCQkJUGFyYW1ldGVyICAgICAgICAgICAgICAgICAgICAgICAgQWRk cmVzcyBSYW5nZQorCisJCQlSZWdpc3RlciBhZGRyZXNzIHNwYWNlICAgICAgICAgICAweDAwMDAg 4oCTIDB4MUZGRgorCQkJUGFsZXR0ZS9UaWxlIGFkZHJlc3Mgc3BhY2UgICAgICAgMHgyMDAwIOKA kyAweDNGRkYKKwkJCUdhbW1hX1IgYWRkcmVzcyBzcGFjZSAgICAgICAgICAgIDB4NDAwMCDigJMg MHg0M0ZGCisJCQlHYW1tYV9HIGFkZHJlc3Mgc3BhY2UgICAgICAgICAgICAweDQ0MDAg4oCTIDB4 NDdGRgorCQkJR2FtbWFfQiBhZGRyZXNzIHNwYWNlICAgICAgICAgICAgMHg0ODAwIOKAkyAweDRC RkYKKwkJCUN1cnNvciBhZGRyZXNzIHNwYWNlICAgICAgICAgICAgIDB4NEMwMCDigJMgMHg0RkZG CisKIC0gY2xvY2tzOgkJSGFuZGxlIHRvICJkY3UiIGFuZCAicGl4IiBjbG9jayAoaW4gdGhlIG9y ZGVyIGJlbG93KQogCQkJVGhpcyBjYW4gYmUgdGhlIHNhbWUgY2xvY2sgKGUuZy4gTFMxMDIxYSkK IAkJCVNlZSAuLi9jbG9ja3MvY2xvY2stYmluZGluZ3MudHh0IGZvciBkZXRhaWxzLgpAQCAtMjAs NyArMjksMTEgQEAgT3B0aW9uYWwgcHJvcGVydGllczoKIEV4YW1wbGVzOgogZGN1OiBkY3VAMmNl MDAwMCB7CiAJY29tcGF0aWJsZSA9ICJmc2wsbHMxMDIxYS1kY3UiOwotCXJlZyA9IDwweDAgMHgy Y2UwMDAwIDB4MCAweDEwMDAwPjsKKwlyZWcgPSA8MHgwIDB4MmNlMDAwMCAweDAgMHgyMDAwPiwK KwkgICAgICA8MHgwIDB4MmNlMjAwMCAweDAgMHgyMDAwPiwKKwkgICAgICA8MHgwIDB4MmNlNDAw MCAweDAgMHhjMDA+LAorCSAgICAgIDwweDAgMHgyY2U0YzAwIDB4MCAweDQwMD47CisJcmVnLW5h bWVzID0gInJlZ3MiLCAicGFsZXR0ZSIsICJnYW1tYSIsICJjdXJzb3IiOwogCWNsb2NrcyA9IDwm cGxhdGZvcm1fY2xrIDA+LCA8JnBsYXRmb3JtX2NsayAwPjsKIAljbG9jay1uYW1lcyA9ICJkY3Ui LCAicGl4IjsKIAliaWctZW5kaWFuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1k Y3UvZnNsX2RjdV9kcm1fY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fY3J0Yy5jCmluZGV4IDMzNzE2MzUuLjRmZjk2OWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNs LWRjdS9mc2xfZGN1X2RybV9jcnRjLmMKQEAgLTIyLDYgKzIyLDMwIEBACiAjaW5jbHVkZSAiZnNs X2RjdV9kcm1fZHJ2LmgiCiAjaW5jbHVkZSAiZnNsX2RjdV9kcm1fcGxhbmUuaCIKIAorc3RhdGlj IHZvaWQgZnNsX2NydGNfZ2FtbWFfc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRy bV9jb2xvcl9sdXQgKmx1dCwKKwkJCSAgICAgIHVpbnQzMl90IHNpemUpCit7CisJc3RydWN0IGZz bF9kY3VfZHJtX2RldmljZSAqZnNsX2RldiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7CisJdW5z aWduZWQgaW50IGk7CisKKwlpZiAoY3J0Yy0+c3RhdGUtPmdhbW1hX2x1dC0+ZGF0YSkgeworCQlm b3IgKGkgPSAwOyBpIDwgc2l6ZTsgaSsrKSB7CisJCQlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVn bWFwX2dhbW1hLCBGU0xfR0FNTUFfUiArIDQgKiBpLAorCQkJCSAgICAgbHV0W2ldLnJlZCk7CisJ CQlyZWdtYXBfd3JpdGUoZnNsX2Rldi0+cmVnbWFwX2dhbW1hLCBGU0xfR0FNTUFfRyArIDQgKiBp LAorCQkJCSAgICAgbHV0W2ldLmdyZWVuKTsKKwkJCXJlZ21hcF93cml0ZShmc2xfZGV2LT5yZWdt YXBfZ2FtbWEsIEZTTF9HQU1NQV9CICsgNCAqIGksCisJCQkJICAgICBsdXRbaV0uYmx1ZSk7CisJ CX0KKworCQlyZWdtYXBfdXBkYXRlX2JpdHMoZnNsX2Rldi0+cmVnbWFwLCBEQ1VfRENVX01PREUs CisJCQkJICAgRENVX01PREVfRU5fR0FNTUFfTUFTSywKKwkJCQkgICBEQ1VfTU9ERV9HQU1NQV9F TkFCTEUpOworCX0gZWxzZQorCQlyZWdtYXBfdXBkYXRlX2JpdHMoZnNsX2Rldi0+cmVnbWFwLCBE Q1VfRENVX01PREUsCisJCQkJICAgRENVX01PREVfRU5fR0FNTUFfTUFTSywgMCk7Cit9CisKIHN0 YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogewpA QCAtMzcsNiArNjEsMTAgQEAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fY3J0Y19hdG9taWNfZmx1 c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQo Y3J0YywgZXZlbnQpOwogCQlzcGluX3VubG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7 CiAJfQorCisJaWYgKGNydGMtPnN0YXRlLT5jb2xvcl9tZ210X2NoYW5nZWQgJiYgY3J0Yy0+c3Rh dGUtPmdhbW1hX2x1dCkKKwkJZnNsX2NydGNfZ2FtbWFfc2V0KGNydGMsIChzdHJ1Y3QgZHJtX2Nv bG9yX2x1dCAqKQorCQkJCSAgIGNydGMtPnN0YXRlLT5nYW1tYV9sdXQtPmRhdGEsIDI1Nik7CiB9 CiAKIHN0YXRpYyB2b2lkIGZzbF9kY3VfZHJtX2Rpc2FibGVfY3J0YyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCkBAIC0xMzUsNiArMTYzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19m dW5jcyBmc2xfZGN1X2RybV9jcnRjX2Z1bmNzID0gewogCS5wYWdlX2ZsaXAgPSBkcm1fYXRvbWlj X2hlbHBlcl9wYWdlX2ZsaXAsCiAJLnJlc2V0ID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19yZXNl dCwKIAkuc2V0X2NvbmZpZyA9IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsCisJLmdhbW1h X3NldCA9IGRybV9hdG9taWNfaGVscGVyX2xlZ2FjeV9nYW1tYV9zZXQsCiB9OwogCiBpbnQgZnNs X2RjdV9kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGZzbF9kY3VfZHJtX2RldmljZSAqZnNsX2RldikK QEAgLTE1OCw1ICsxODcsOCBAQCBpbnQgZnNsX2RjdV9kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGZz bF9kY3VfZHJtX2RldmljZSAqZnNsX2RldikKIAogCWRybV9jcnRjX2hlbHBlcl9hZGQoY3J0Yywg JmZzbF9kY3VfZHJtX2NydGNfaGVscGVyX2Z1bmNzKTsKIAorCWRybV9jcnRjX2VuYWJsZV9jb2xv cl9tZ210KGNydGMsIDAsIGZhbHNlLCAyNTYpOworCWRybV9tb2RlX2NydGNfc2V0X2dhbW1hX3Np emUoY3J0YywgMjU2KTsKKwogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9m c2xfZGN1X2RybV9kcnYuYwppbmRleCAwOTJhYWVjLi5lNjYyODkwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYwpAQCAtNDgsNiArNDgsMjAgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGZzbF9kY3VfcmVnbWFwX2NvbmZpZyA9IHsKIAkudm9s YXRpbGVfcmVnID0gZnNsX2RjdV9kcm1faXNfdm9sYXRpbGVfcmVnLAogfTsKIAorLyoKKyAqIGZv cmNlIHVzaW5nIGxpdHRsZSBlbmRpYW4gaGVyZSBzaW5jZSBsczEwMjFhJ3MgZ2FtbWEgcmVncyBh cmUgbGl0dGxlCisgKiBlbmRpYW4gd2hpbGUgdGhlIG90aGVyIHJlZ3MgYXJlIGJpZyBlbmRpYW4s IGFuZCBhbGwgdmY2MTBzJ3MgcmVncworICogYXJlIGxpdHRsZSBlbmRpYW4KKyAqLworc3RhdGlj IGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGZzbF9kY3VfcmVnbWFwX2dhbW1hX2NvbmZpZyA9 IHsKKwkucmVnX2JpdHMgPSAzMiwKKwkucmVnX3N0cmlkZSA9IDQsCisJLnZhbF9iaXRzID0gMzIs CisJLnZhbF9mb3JtYXRfZW5kaWFuID0gUkVHTUFQX0VORElBTl9MSVRUTEUsCisKKwkudm9sYXRp bGVfcmVnID0gZnNsX2RjdV9kcm1faXNfdm9sYXRpbGVfcmVnLAorfTsKKwogc3RhdGljIGludCBm c2xfZGN1X2RybV9pcnFfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogewogCXN0cnVjdCBm c2xfZGN1X2RybV9kZXZpY2UgKmZzbF9kZXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtMzI3LDcg KzM0MSw3IEBAIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtOwogCXN0cnVjdCBkZXZpY2UgKmRl diA9ICZwZGV2LT5kZXY7CiAJc3RydWN0IHJlc291cmNlICpyZXM7Ci0Jdm9pZCBfX2lvbWVtICpi YXNlOworCXZvaWQgX19pb21lbSAqYmFzZSwgKmJhc2VfZ2FtbWE7CiAJc3RydWN0IGRybV9kcml2 ZXIgKmRyaXZlciA9ICZmc2xfZGN1X2RybV9kcml2ZXI7CiAJc3RydWN0IGNsayAqcGl4X2Nsa19p bjsKIAljaGFyIHBpeF9jbGtfbmFtZVszMl07CkBAIC0zNzAsNiArMzg0LDI1IEBAIHN0YXRpYyBp bnQgZnNsX2RjdV9kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0 dXJuIFBUUl9FUlIoZnNsX2Rldi0+cmVnbWFwKTsKIAl9CiAKKwlyZXMgPSBwbGF0Zm9ybV9nZXRf cmVzb3VyY2VfYnluYW1lKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAiZ2FtbWEiKTsKKwlpZiAoIXJl cykgeworCQlkZXZfZXJyKGRldiwgImNvdWxkIG5vdCBnZXQgZ2FtbWEgbWVtb3J5IHJlc291cmNl XG4iKTsKKwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJYmFzZV9nYW1tYSA9IGRldm1faW9yZW1h cF9yZXNvdXJjZShkZXYsIHJlcyk7CisJaWYgKElTX0VSUihiYXNlX2dhbW1hKSkgeworCQlyZXQg PSBQVFJfRVJSKGJhc2VfZ2FtbWEpOworCQlyZXR1cm4gcmV0OworCX0KKworCWZzbF9kZXYtPnJl Z21hcF9nYW1tYSA9IGRldm1fcmVnbWFwX2luaXRfbW1pbyhkZXYsIGJhc2VfZ2FtbWEsCisJCQkm ZnNsX2RjdV9yZWdtYXBfZ2FtbWFfY29uZmlnKTsKKwlpZiAoSVNfRVJSKGZzbF9kZXYtPnJlZ21h cF9nYW1tYSkpIHsKKwkJZGV2X2VycihkZXYsICJyZWdtYXBfZ2FtbWEgaW5pdCBmYWlsZWRcbiIp OworCQlyZXR1cm4gUFRSX0VSUihmc2xfZGV2LT5yZWdtYXBfZ2FtbWEpOworCX0KKwogCWZzbF9k ZXYtPmNsayA9IGRldm1fY2xrX2dldChkZXYsICJkY3UiKTsKIAlpZiAoSVNfRVJSKGZzbF9kZXYt PmNsaykpIHsKIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IGRjdSBjbG9ja1xuIik7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5oCmluZGV4IDNiMzcxZmU3Li4y NjEwYjZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuaApAQCAt MjUsNiArMjUsOCBAQAogI2RlZmluZSBEQ1VfTU9ERV9OT1JNQUwJCQkxCiAjZGVmaW5lIERDVV9N T0RFX1RFU1QJCQkyCiAjZGVmaW5lIERDVV9NT0RFX0NPTE9SQkFSCQkzCisjZGVmaW5lIERDVV9N T0RFX0VOX0dBTU1BX01BU0sJCTB4MDQKKyNkZWZpbmUgRENVX01PREVfR0FNTUFfRU5BQkxFCQlC SVQoMikKIAogI2RlZmluZSBEQ1VfQkdORAkJCTB4MDAxNAogI2RlZmluZSBEQ1VfQkdORF9SKHgp CQkJKCh4KSA8PCAxNikKQEAgLTE2NSw2ICsxNjcsMTAgQEAKICNkZWZpbmUgVkY2MTBfTEFZRVJf UkVHX05VTQkJOQogI2RlZmluZSBMUzEwMjFBX0xBWUVSX1JFR19OVU0JCTEwCiAKKyNkZWZpbmUg RlNMX0dBTU1BX1IJCQkweDAwMAorI2RlZmluZSBGU0xfR0FNTUFfRwkJCTB4NDAwCisjZGVmaW5l IEZTTF9HQU1NQV9CCQkJMHg4MDAKKwogc3RydWN0IGNsazsKIHN0cnVjdCBkZXZpY2U7CiBzdHJ1 Y3QgZHJtX2RldmljZTsKQEAgLTE4Miw2ICsxODgsNyBAQCBzdHJ1Y3QgZnNsX2RjdV9kcm1fZGV2 aWNlIHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJc3RydWN0IGRldmljZV9ub2RlICpucDsKIAlz dHJ1Y3QgcmVnbWFwICpyZWdtYXA7CisJc3RydWN0IHJlZ21hcCAqcmVnbWFwX2dhbW1hOwogCWlu dCBpcnE7CiAJc3RydWN0IGNsayAqY2xrOwogCXN0cnVjdCBjbGsgKnBpeF9jbGs7Ci0tIAoyLjEu MC4yNy5nOTZkYjMyNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==