From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v2 1/2] drm: Add color management LUT validation helper (v2) Date: Thu, 13 Dec 2018 13:55:25 -0800 Message-ID: <20181213215526.31991-2-matthew.d.roper@intel.com> References: <20181213215526.31991-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181213215526.31991-1-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U29tZSBoYXJkd2FyZSBtYXkgcGxhY2UgYWRkaXRpb25hbCByZXN0cmljdGlvbnMgb24gdGhlIGdh bW1hL2RlZ2FtbWEKY3VydmVzIGRlc2NyaWJlZCBieSBvdXIgTFVUIHByb3BlcnRpZXMuICBFLmcu LCB0aGF0IGEgZ2FtbWEgY3VydmUgbmV2ZXIKZGVjcmVhc2VzIG9yIHRoYXQgdGhlIHJlZC9ncmVl bi9ibHVlIGNoYW5uZWxzIG9mIGEgTFVUJ3MgZW50cmllcyBtdXN0IGJlCmVxdWFsLiAgTGV0J3Mg YWRkIGEgaGVscGVyIGZ1bmN0aW9uIHRoYXQgZHJpdmVycyBjYW4gdXNlIHRvIHRlc3QgdGhhdCBh CnVzZXJzcGFjZS1wcm92aWRlZCBMVVQgaXMgdmFsaWQgYW5kIGRvZXNuJ3QgdmlvbGF0ZSBoYXJk d2FyZQpyZXF1aXJlbWVudHMuCgp2MjoKIC0gQ29tYmluZSBpbnRvIGEgc2luZ2xlIGhlbHBlciB0 aGF0IGp1c3QgdGFrZXMgYSBiaXRtYXNrIG9mIHRoZSB0ZXN0cwogICB0byBhcHBseS4gIChCcmlh biBTdGFya2V5KQogLSBBZGQgYWRkaXRpb25hbCBjaGVjayAoYWx3YXlzIHBlcmZvcm1lZCkgdGhh dCBMVVQgcHJvcGVydHkgYmxvYiBzaXplCiAgIGlzIGFsd2F5cyBhIG11bHRpcGxlIG9mIHRoZSBM VVQgZW50cnkgc2l6ZS4gIChzdG9sZW4gZnJvbSBBUk0gZHJpdmVyKQoKQ2M6IFVtYSBTaGFua2Fy IDx1bWEuc2hhbmthckBpbnRlbC5jb20+CkNjOiBTd2F0aSBTaGFybWEgPHN3YXRpMi5zaGFybWFA aW50ZWwuY29tPgpDYzogQnJpYW4gU3RhcmtleSA8QnJpYW4uU3RhcmtleUBhcm0uY29tPgpTaWdu ZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgpSZXZpZXdl ZC1ieSh2MSk6IEJyaWFuIFN0YXJrZXkgPGJyaWFuLnN0YXJrZXlAYXJtLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYyB8IDY0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmggICAgIHwgIDUg KysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NvbG9y X21nbXQuYwppbmRleCAwN2RjZjQ3ZGFhZmUuLjVjMmEyZDIyODQxMiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9j b2xvcl9tZ210LmMKQEAgLTQ2MiwzICs0NjIsNjcgQEAgaW50IGRybV9wbGFuZV9jcmVhdGVfY29s b3JfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlyZXR1cm4gMDsKIH0KIEVY UE9SVF9TWU1CT0woZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKTsKKworLyoqCisg KiBkcm1fY29sb3JfbHV0X2NoZWNrIC0gY2hlY2sgdmFsaWRpdHkgb2YgbG9va3VwIHRhYmxlCisg KiBAbHV0OiBwcm9wZXJ0eSBibG9iIGNvbnRhaW5pbmcgTFVUIHRvIGNoZWNrCisgKiBAdGVzdHM6 IGJpdG1hc2sgb2YgdGVzdHMgdG8gcnVuCisgKgorICogSGVscGVyIHRvIGNoZWNrIHdoZXRoZXIg YSB1c2Vyc3BhY2UtcHJvdmlkZWQgbG9va3VwIHRhYmxlIGlzIHZhbGlkIGFuZAorICogc2F0aXNm aWVzIGFkZGl0aW9uYWwgaGFyZHdhcmUgcmVxdWlyZW1lbnRzLiAgQWxsIHRhYmxlIHNpemVzIHNo b3VsZCBiZSBhCisgKiBtdWx0aXBsZSBvZiBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpLiAg RHJpdmVycyBwYXNzIGEgYml0bWFzayBpbmRpY2F0aW5nCisgKiB3aGljaCBvZiB0aGUgZm9sbG93 aW5nIGFkZGl0aW9uYWwgdGVzdHMgc2hvdWxkIGFsc28gYmUgcGVyZm9ybWVkOgorICoKKyAqICJE Uk1fQ09MT1JfTFVUX0VRVUFMX0NIQU5ORUxTIjoKKyAqICAgICBDaGVja3Mgd2hldGhlciB0aGUg ZW50cmllcyBvZiBhIExVVCBhbGwgaGF2ZSBlcXVhbCB2YWx1ZXMgZm9yIHRoZSByZWQsCisgKiAg ICAgZ3JlZW4sIGFuZCBibHVlIGNoYW5uZWxzLiAgSW50ZW5kZWQgZm9yIGhhcmR3YXJlIHRoYXQg b25seSBhY2NlcHRzIGEKKyAqICAgICBzaW5nbGUgdmFsdWUgcGVyIExVVCBlbnRyeSBhbmQgYXNz dW1lcyB0aGF0IHZhbHVlIGFwcGxpZXMgdG8gYWxsIHRocmVlCisgKiAgICAgY29sb3IgY29tcG9u ZW50cy4KKyAqCisgKiAiRFJNX0NPTE9SX0xVVF9JTkNSRUFTSU5HIjoKKyAqICAgICBDaGVja3Mg d2hldGhlciB0aGUgZW50cmllcyBvZiBhIExVVCBhcmUgYWx3YXlzIGZsYXQgb3IgaW5jcmVhc2lu ZworICogICAgIChuZXZlciBkZWNyZWFzaW5nKS4KKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vz cywgLUVJTlZBTCBvbiBmYWlsdXJlLgorICovCitpbnQgZHJtX2NvbG9yX2x1dF9jaGVjayhzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmx1dCwKKwkJCSB1aW50MzJfdCB0ZXN0cykKK3sKKwlzdHJ1 Y3QgZHJtX2NvbG9yX2x1dCAqZW50cnk7CisJaW50IGk7CisKKwlpZiAoIWx1dCkKKwkJcmV0dXJu IDA7CisKKwlpZiAobHV0LT5sZW5ndGggJSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpKSB7 CisJCURSTV9ERUJVR19LTVMoIkxVVCBzaXplICglbHUpIGlzIG5vdCBhIG11bHRpcGxlIG9mIExV VCBlbnRyeSBzaXplICglbHUpXG4iLAorCQkJICAgICAgbHV0LT5sZW5ndGgsIHNpemVvZihzdHJ1 Y3QgZHJtX2NvbG9yX2x1dCkpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoIXRlc3Rz KQorCQlyZXR1cm4gMDsKKworCWVudHJ5ID0gbHV0LT5kYXRhOworCWZvciAoaSA9IDA7IGkgPCBk cm1fY29sb3JfbHV0X3NpemUobHV0KTsgaSsrKSB7CisJCWlmICh0ZXN0cyAmIERSTV9DT0xPUl9M VVRfRVFVQUxfQ0hBTk5FTFMpIHsKKwkJCWlmIChlbnRyeVtpXS5yZWQgIT0gZW50cnlbaV0uYmx1 ZSB8fAorCQkJICAgIGVudHJ5W2ldLnJlZCAhPSBlbnRyeVtpXS5ncmVlbikgeworCQkJCURSTV9E RUJVR19LTVMoIkFsbCBMVVQgZW50cmllcyBtdXN0IGhhdmUgZXF1YWwgci9nL2JcbiIpOworCQkJ CXJldHVybiAtRUlOVkFMOworCQkJfQorCQl9CisKKwkJaWYgKGkgPiAwICYmIHRlc3RzICYgRFJN X0NPTE9SX0xVVF9JTkNSRUFTSU5HKSB7CisJCQlpZiAoZW50cnlbaV0ucmVkIDwgZW50cnlbaSAt IDFdLnJlZCB8fAorCQkJICAgIGVudHJ5W2ldLmdyZWVuIDwgZW50cnlbaSAtIDFdLmdyZWVuIHx8 CisJCQkgICAgZW50cnlbaV0uYmx1ZSA8IGVudHJ5W2kgLSAxXS5ibHVlKSB7CisJCQkJRFJNX0RF QlVHX0tNUygiTFVUIGVudHJpZXMgbXVzdCBuZXZlciBkZWNyZWFzZS5cbiIpOworCQkJCXJldHVy biAtRUlOVkFMOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9M KGRybV9jb2xvcl9sdXRfY2hlY2spOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NvbG9y X21nbXQuaCBiL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgKaW5kZXggOTBlZjk5OTZkOWE0 Li43ZGUxNmY3MGJjYzMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb2xvcl9tZ210LmgK KysrIGIvaW5jbHVkZS9kcm0vZHJtX2NvbG9yX21nbXQuaApAQCAtNjksNCArNjksOSBAQCBpbnQg ZHJtX3BsYW5lX2NyZWF0ZV9jb2xvcl9wcm9wZXJ0aWVzKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCQkJCSAgICAgIHUzMiBzdXBwb3J0ZWRfcmFuZ2VzLAogCQkJCSAgICAgIGVudW0gZHJtX2Nv bG9yX2VuY29kaW5nIGRlZmF1bHRfZW5jb2RpbmcsCiAJCQkJICAgICAgZW51bSBkcm1fY29sb3Jf cmFuZ2UgZGVmYXVsdF9yYW5nZSk7CisKKyNkZWZpbmUgRFJNX0NPTE9SX0xVVF9FUVVBTF9DSEFO TkVMUyBCSVQoMCkKKyNkZWZpbmUgRFJNX0NPTE9SX0xVVF9JTkNSRUFTSU5HICAgICBCSVQoMSkK K2ludCBkcm1fY29sb3JfbHV0X2NoZWNrKHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqbHV0LAor CQkJdWludDMyX3QgdGVzdHMpOwogI2VuZGlmCi0tIAoyLjE0LjQKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=