From mboxrd@z Thu Jan 1 00:00:00 1970 From: Animesh Manna Subject: [PATCH v7 08/10] drm/i915/dsb: Enable gamma lut programming using DSB. Date: Wed, 18 Sep 2019 13:27:43 +0530 Message-ID: <20190918075745.17076-9-animesh.manna@intel.com> References: <20190918075745.17076-1-animesh.manna@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 13FBF6EE3F for ; Wed, 18 Sep 2019 08:06:08 +0000 (UTC) In-Reply-To: <20190918075745.17076-1-animesh.manna@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org R2FtbWEgbHV0IHByb2dyYW1taW5nIGNhbiBiZSBwcm9ncmFtbWVkIHVzaW5nIERTQgp3aGVyZSBi dWxrIHJlZ2lzdGVyIHByb2dyYW1taW5nIGNhbiBiZSBkb25lIHVzaW5nIGluZGV4ZWQKcmVnaXN0 ZXIgd3JpdGUgd2hpY2ggdGFrZXMgbnVtYmVyIG9mIGRhdGEgYW5kIHRoZSBtbWlvIG9mZnNldAp0 byBiZSB3cml0dGVuLgoKQ3VycmVudGx5IGVuYWJsZWQgZm9yIDEyLWJpdCBnYW1tYSBMVVQgd2hp Y2ggaXMgZW5hYmxlZCBieQpkZWZhdWx0IGFuZCBsYXRlciA4LWJpdC8xMC1iaXQgd2lsbCBiZSBl bmFibGVkIGluIGZ1dHVyZQpiYXNlZCBvbiBuZWVkLgoKdjE6IEluaXRpYWwgdmVyc2lvbi4KdjI6 IERpcmVjdGx5IGNhbGwgZHNiLWFwaSBhdCBjYWxsc2l0ZXMuIChKYW5pKQp2MzoKLSBtb2RpZmll ZCB0aGUgY29kZSBhcyBwZXIgc2luZ2xlIGRzYiBpbnN0YW5jZSBwZXIgY3J0Yy4gKFNoYXNoYW5r KQotIEFkZGVkIGRzYiBnZXQvcHV0IGNhbGwgaW4gcGxhdGZvcm0gc3BlY2lmaWMgbG9hZF9sdXQg aG9vay4gKEphbmkpCi0gcmVtb3ZlZCBkc2IgcG9pbnRlciBmcm9tIGRldl9wcml2LiAoSmFuaSkK djQ6IHNpbXBsaWZpZWQgY29kZSBieSBkcm9wcGluZyByZWYtY291bnQgaW1wbGVtZW50YXRpb24u IChTaGFzaGFuaykKCkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpDYzog Um9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDYzogU2hhc2hhbmsgU2hhcm1h IDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5h IDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2NvbG9yLmMgfCA2MyArKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCmluZGV4IDMxODMwOGRjMTM2Yy4uNDBhZjNmZTJj M2M5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2NvbG9y LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCkBAIC02 MTEsMTIgKzYxMSwxMyBAQCBzdGF0aWMgdm9pZCBiZHdfbG9hZF9sdXRfMTAoc3RydWN0IGludGVs X2NydGMgKmNydGMsCiBzdGF0aWMgdm9pZCBpdmJfbG9hZF9sdXRfZXh0X21heChzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfZHNiICpkc2IgPSBpbnRlbF9k c2JfZ2V0KGNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCS8qIFByb2dy YW0gdGhlIG1heCByZWdpc3RlciB0byBjbGFtcCB2YWx1ZXMgPiAxLjAuICovCi0JSTkxNV9XUklU RShQUkVDX1BBTF9FWFRfR0NfTUFYKHBpcGUsIDApLCAxIDw8IDE2KTsKLQlJOTE1X1dSSVRFKFBS RUNfUEFMX0VYVF9HQ19NQVgocGlwZSwgMSksIDEgPDwgMTYpOwotCUk5MTVfV1JJVEUoUFJFQ19Q QUxfRVhUX0dDX01BWChwaXBlLCAyKSwgMSA8PCAxNik7CisJaW50ZWxfZHNiX3JlZ193cml0ZShk c2IsIFBSRUNfUEFMX0VYVF9HQ19NQVgocGlwZSwgMCksIDEgPDwgMTYpOworCWludGVsX2RzYl9y ZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9FWFRfR0NfTUFYKHBpcGUsIDEpLCAxIDw8IDE2KTsKKwlp bnRlbF9kc2JfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfRVhUX0dDX01BWChwaXBlLCAyKSwgMSA8 PCAxNik7CiAKIAkvKgogCSAqIFByb2dyYW0gdGhlIGdjIG1heCAyIHJlZ2lzdGVyIHRvIGNsYW1w IHZhbHVlcyA+IDEuMC4KQEAgLTYyNCwxMCArNjI1LDE1IEBAIHN0YXRpYyB2b2lkIGl2Yl9sb2Fk X2x1dF9leHRfbWF4KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCSAqIGZyb20gMy4wIHRvIDcu MAogCSAqLwogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwIHx8IElTX0dFTUlOSUxBS0Uo ZGV2X3ByaXYpKSB7Ci0JCUk5MTVfV1JJVEUoUFJFQ19QQUxfRVhUMl9HQ19NQVgocGlwZSwgMCks IDEgPDwgMTYpOwotCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0VYVDJfR0NfTUFYKHBpcGUsIDEpLCAx IDw8IDE2KTsKLQkJSTkxNV9XUklURShQUkVDX1BBTF9FWFQyX0dDX01BWChwaXBlLCAyKSwgMSA8 PCAxNik7CisJCWludGVsX2RzYl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9FWFQyX0dDX01BWChw aXBlLCAwKSwKKwkJCQkgICAgMSA8PCAxNik7CisJCWludGVsX2RzYl9yZWdfd3JpdGUoZHNiLCBQ UkVDX1BBTF9FWFQyX0dDX01BWChwaXBlLCAxKSwKKwkJCQkgICAgMSA8PCAxNik7CisJCWludGVs X2RzYl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9FWFQyX0dDX01BWChwaXBlLCAyKSwKKwkJCQkg ICAgMSA8PCAxNik7CiAJfQorCisJaW50ZWxfZHNiX3B1dChkc2IpOwogfQogCiBzdGF0aWMgdm9p ZCBpdmJfbG9hZF9sdXRzKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQpAQCAtNzg3LDIyICs3OTMsMjMgQEAgaWNsX2xvYWRfZ2NtYXgoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJICAgICAgIGNvbnN0IHN0cnVjdCBkcm1fY29sb3Jf bHV0ICpjb2xvcikKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfZHNiICpkc2IgPSBp bnRlbF9kc2JfZ2V0KGNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCS8q IEZpeG1lOiBMVVQgZW50cmllcyBhcmUgMTYgYml0IG9ubHksIHNvIHdlIGNhbiBwcm9nIDB4RkZG RiBtYXggKi8KLQlJOTE1X1dSSVRFKFBSRUNfUEFMX0dDX01BWChwaXBlLCAwKSwgY29sb3ItPnJl ZCk7Ci0JSTkxNV9XUklURShQUkVDX1BBTF9HQ19NQVgocGlwZSwgMSksIGNvbG9yLT5ncmVlbik7 Ci0JSTkxNV9XUklURShQUkVDX1BBTF9HQ19NQVgocGlwZSwgMiksIGNvbG9yLT5ibHVlKTsKKwlp bnRlbF9kc2JfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfR0NfTUFYKHBpcGUsIDApLCBjb2xvci0+ cmVkKTsKKwlpbnRlbF9kc2JfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfR0NfTUFYKHBpcGUsIDEp LCBjb2xvci0+Z3JlZW4pOworCWludGVsX2RzYl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9HQ19N QVgocGlwZSwgMiksIGNvbG9yLT5ibHVlKTsKKwlpbnRlbF9kc2JfcHV0KGRzYik7CiB9CiAKIHN0 YXRpYyB2b2lkCiBpY2xfcHJvZ3JhbV9nYW1tYV9zdXBlcmZpbmVfc2VnbWVudChjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAljb25z dCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IgPSBjcnRjX3N0YXRlLT5iYXNlLmdhbW1h X2x1dDsKIAljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gYmxvYi0+ZGF0YTsKKwlz dHJ1Y3QgaW50ZWxfZHNiICpkc2IgPSBpbnRlbF9kc2JfZ2V0KGNydGMpOwogCWVudW0gcGlwZSBw aXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgaTsKIApAQCAtODEzLDI2ICs4MjAsMjkgQEAgaWNsX3By b2dyYW1fZ2FtbWFfc3VwZXJmaW5lX3NlZ21lbnQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCiAJICogU3VwZXJmaW5lIHNlZ21lbnQgaGFzIDkgZW50cmllcywgY29y cmVzcG9uZGluZyB0byB2YWx1ZXMKIAkgKiAwLCAxLyg4ICogMTI4ICogMjU2KSwgMi8oOCAqIDEy OCAqIDI1NikgLi4uLiA4Lyg4ICogMTI4ICogMjU2KS4KIAkgKi8KLQlJOTE1X1dSSVRFKFBSRUNf UEFMX01VTFRJX1NFR19JTkRFWChwaXBlKSwgUEFMX1BSRUNfQVVUT19JTkNSRU1FTlQpOworCWlu dGVsX2RzYl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9NVUxUSV9TRUdfSU5ERVgocGlwZSksCisJ CQkgICAgUEFMX1BSRUNfQVVUT19JTkNSRU1FTlQpOwogCiAJZm9yIChpID0gMDsgaSA8IDk7IGkr KykgewogCQljb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZW50cnkgPSAmbHV0W2ldOwogCi0J CUk5MTVfV1JJVEUoUFJFQ19QQUxfTVVMVElfU0VHX0RBVEEocGlwZSksCi0JCQkgICBpbGtfbHV0 XzEycDRfbGR3KGVudHJ5KSk7Ci0JCUk5MTVfV1JJVEUoUFJFQ19QQUxfTVVMVElfU0VHX0RBVEEo cGlwZSksCi0JCQkgICBpbGtfbHV0XzEycDRfdWR3KGVudHJ5KSk7CisJCWludGVsX2RzYl9pbmRl eGVkX3JlZ193cml0ZShkc2IsIFBSRUNfUEFMX01VTFRJX1NFR19EQVRBKHBpcGUpLAorCQkJCQkg ICAgaWxrX2x1dF8xMnA0X2xkdyhlbnRyeSkpOworCQlpbnRlbF9kc2JfaW5kZXhlZF9yZWdfd3Jp dGUoZHNiLCBQUkVDX1BBTF9NVUxUSV9TRUdfREFUQShwaXBlKSwKKwkJCQkJICAgIGlsa19sdXRf MTJwNF91ZHcoZW50cnkpKTsKIAl9CisKKwlpbnRlbF9kc2JfcHV0KGRzYik7CiB9CiAKIHN0YXRp YyB2b2lkCiBpY2xfcHJvZ3JhbV9nYW1tYV9tdWx0aV9zZWdtZW50KGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWNvbnN0IHN0cnVj dCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiA9IGNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0Owog CWNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBibG9iLT5kYXRhOwogCWNvbnN0IHN0 cnVjdCBkcm1fY29sb3JfbHV0ICplbnRyeTsKKwlzdHJ1Y3QgaW50ZWxfZHNiICpkc2IgPSBpbnRl bF9kc2JfZ2V0KGNydGMpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAl1MzIgaTsK IApAQCAtODQ3LDExICs4NTcsMTMgQEAgaWNsX3Byb2dyYW1fZ2FtbWFfbXVsdGlfc2VnbWVudChj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkgKiBQQUxfUFJFQ19J TkRFWFswXSBhbmQgUEFMX1BSRUNfSU5ERVhbMV0gbWFwIHRvIHNlZzJbMV0sCiAJICogd2l0aCBz ZWcyWzBdIGJlaW5nIHVudXNlZCBieSB0aGUgaGFyZHdhcmUuCiAJICovCi0JSTkxNV9XUklURShQ UkVDX1BBTF9JTkRFWChwaXBlKSwgUEFMX1BSRUNfQVVUT19JTkNSRU1FTlQpOworCWludGVsX2Rz Yl9yZWdfd3JpdGUoZHNiLCBQUkVDX1BBTF9JTkRFWChwaXBlKSwgUEFMX1BSRUNfQVVUT19JTkNS RU1FTlQpOwogCWZvciAoaSA9IDE7IGkgPCAyNTc7IGkrKykgewogCQllbnRyeSA9ICZsdXRbaSAq IDhdOwotCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0RBVEEocGlwZSksIGlsa19sdXRfMTJwNF9sZHco ZW50cnkpKTsKLQkJSTkxNV9XUklURShQUkVDX1BBTF9EQVRBKHBpcGUpLCBpbGtfbHV0XzEycDRf dWR3KGVudHJ5KSk7CisJCWludGVsX2RzYl9pbmRleGVkX3JlZ193cml0ZShkc2IsIFBSRUNfUEFM X0RBVEEocGlwZSksCisJCQkJCSAgICBpbGtfbHV0XzEycDRfbGR3KGVudHJ5KSk7CisJCWludGVs X2RzYl9pbmRleGVkX3JlZ193cml0ZShkc2IsIFBSRUNfUEFMX0RBVEEocGlwZSksCisJCQkJCSAg ICBpbGtfbHV0XzEycDRfdWR3KGVudHJ5KSk7CiAJfQogCiAJLyoKQEAgLTg2OCwyMCArODgwLDI0 IEBAIGljbF9wcm9ncmFtX2dhbW1hX211bHRpX3NlZ21lbnQoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJICovCiAJZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKSB7 CiAJCWVudHJ5ID0gJmx1dFtpICogOCAqIDEyOF07Ci0JCUk5MTVfV1JJVEUoUFJFQ19QQUxfREFU QShwaXBlKSwgaWxrX2x1dF8xMnA0X2xkdyhlbnRyeSkpOwotCQlJOTE1X1dSSVRFKFBSRUNfUEFM X0RBVEEocGlwZSksIGlsa19sdXRfMTJwNF91ZHcoZW50cnkpKTsKKwkJaW50ZWxfZHNiX2luZGV4 ZWRfcmVnX3dyaXRlKGRzYiwgUFJFQ19QQUxfREFUQShwaXBlKSwKKwkJCQkJICAgIGlsa19sdXRf MTJwNF9sZHcoZW50cnkpKTsKKwkJaW50ZWxfZHNiX2luZGV4ZWRfcmVnX3dyaXRlKGRzYiwgUFJF Q19QQUxfREFUQShwaXBlKSwKKwkJCQkJICAgIGlsa19sdXRfMTJwNF91ZHcoZW50cnkpKTsKIAl9 CiAKIAkvKiBUaGUgbGFzdCBlbnRyeSBpbiB0aGUgTFVUIGlzIHRvIGJlIHByb2dyYW1tZWQgaW4g R0NNQVggKi8KIAllbnRyeSA9ICZsdXRbMjU2ICogOCAqIDEyOF07CiAJaWNsX2xvYWRfZ2NtYXgo Y3J0Y19zdGF0ZSwgZW50cnkpOwogCWl2Yl9sb2FkX2x1dF9leHRfbWF4KGNydGMpOworCWludGVs X2RzYl9wdXQoZHNiKTsKIH0KIAogc3RhdGljIHZvaWQgaWNsX2xvYWRfbHV0cyhjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAljb25zdCBzdHJ1Y3QgZHJtX3By b3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3RhdGUtPmJhc2UuZ2FtbWFfbHV0OwogCXN0 cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNy dGMpOworCXN0cnVjdCBpbnRlbF9kc2IgKmRzYiA9IGludGVsX2RzYl9nZXQoY3J0Yyk7CiAKIAlp ZiAoY3J0Y19zdGF0ZS0+YmFzZS5kZWdhbW1hX2x1dCkKIAkJZ2xrX2xvYWRfZGVnYW1tYV9sdXQo Y3J0Y19zdGF0ZSk7CkBAIC05MDAsNiArOTE2LDkgQEAgc3RhdGljIHZvaWQgaWNsX2xvYWRfbHV0 cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJYmR3X2xvYWRf bHV0XzEwKGNydGMsIGdhbW1hX2x1dCwgUEFMX1BSRUNfSU5ERVhfVkFMVUUoMCkpOwogCQlpdmJf bG9hZF9sdXRfZXh0X21heChjcnRjKTsKIAl9CisKKwlpbnRlbF9kc2JfY29tbWl0KGRzYik7CisJ aW50ZWxfZHNiX3B1dChkc2IpOwogfQogCiBzdGF0aWMgdTMyIGNodl9jZ21fZGVnYW1tYV9sZHco Y29uc3Qgc3RydWN0IGRybV9jb2xvcl9sdXQgKmNvbG9yKQotLSAKMi4yMi4wCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=