From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 5/6] drm/i915: Add "10.6" LUT mode for i965+ Date: Thu, 28 Mar 2019 23:05:04 +0200 Message-ID: <20190328210505.10429-6-ville.syrjala@linux.intel.com> References: <20190328210505.10429-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A87C6E47F for ; Thu, 28 Mar 2019 21:05:26 +0000 (UTC) In-Reply-To: <20190328210505.10429-1-ville.syrjala@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCmk5 NjUrIGhhdmUgYW4gaW50ZXJwb2xhdGUgMTBiaXQgTFVUIG1vZGUuIExldCdzIGV4cG9zZSB0aGF0 IHNvCnRoYXQgd2UgY2FuIGFjdHVhbGx5IGVuam95IHJlYWwgMTBicGMuCgpTaWduZWQtb2ZmLWJ5 OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgICAgfCAgNiArKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgfCAgNCArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29sb3IuYyB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMyBmaWxlcyBjaGFu Z2VkLCA3MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNp LmMKaW5kZXggMDk3MWVlZTRhNGQxLi4wYzUyNThhYTEzYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w Y2kuYwpAQCAtMTE2LDYgKzExNiwxMCBAQAogCQlbUElQRV9DXSA9IElWQl9DVVJTT1JfQ19PRkZT RVQsIFwKIAl9CiAKKyNkZWZpbmUgSTk2NV9DT0xPUlMgXAorCS5jb2xvciA9IHsgLmdhbW1hX2x1 dF9zaXplID0gMTI5LCBcCisJCSAgIC5nYW1tYV9sdXRfdGVzdHMgPSBEUk1fQ09MT1JfTFVUX05P Tl9ERUNSRUFTSU5HLCBcCisJfQogI2RlZmluZSBJTEtfQ09MT1JTIFwKIAkuY29sb3IgPSB7IC5n YW1tYV9sdXRfc2l6ZSA9IDEwMjQgfQogI2RlZmluZSBJVkJfQ09MT1JTIFwKQEAgLTI3OCw2ICsy ODIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3BpbmV2 aWV3X2luZm8gPSB7CiAJLmhhc19jb2hlcmVudF9nZ3R0ID0gdHJ1ZSwgXAogCUk5WFhfUElQRV9P RkZTRVRTLCBcCiAJSTlYWF9DVVJTT1JfT0ZGU0VUUywgXAorCUk5NjVfQ09MT1JTLCBcCiAJR0VO X0RFRkFVTFRfUEFHRV9TSVpFUwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9p bmZvIGludGVsX2k5NjVnX2luZm8gPSB7CkBAIC00NjIsNiArNDY3LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF92YWxsZXl2aWV3X2luZm8gPSB7CiAJLmRp c3BsYXlfbW1pb19vZmZzZXQgPSBWTFZfRElTUExBWV9CQVNFLAogCUk5WFhfUElQRV9PRkZTRVRT LAogCUk5WFhfQ1VSU09SX09GRlNFVFMsCisJSTk2NV9DT0xPUlMsCiAJR0VOX0RFRkFVTFRfUEFH RV9TSVpFUywKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGY2YTVkOGYxMTM2OC4u MDQzN2EzYWI2Y2RjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTU3OTUsNiArNTc5NSwx MCBAQCBlbnVtIHsKICNkZWZpbmUgUElQRUZSQU1FUElYRUwocGlwZSkJX01NSU9fUElQRTIocGlw ZSwgX1BJUEVBRlJBTUVQSVhFTCkKICNkZWZpbmUgUElQRVNUQVQocGlwZSkJCV9NTUlPX1BJUEUy KHBpcGUsIF9QSVBFQVNUQVQpCiAKKyNkZWZpbmUgIF9QSVBFQUdDTUFYICAgICAgICAgICAweDcw MDEwCisjZGVmaW5lICBfUElQRUJHQ01BWCAgICAgICAgICAgMHg3MTAxMAorI2RlZmluZSBQSVBF R0NNQVgocGlwZSwgaSkgICAgIF9NTUlPX1BJUEUyKHBpcGUsIF9QSVBFQUdDTUFYICsgKGkpICog NCkKKwogI2RlZmluZSBfUElQRV9NSVNDX0EJCQkweDcwMDMwCiAjZGVmaW5lIF9QSVBFX01JU0Nf QgkJCTB4NzEwMzAKICNkZWZpbmUgICBQSVBFTUlTQ19ZVVY0MjBfRU5BQkxFCSgxIDw8IDI3KQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKaW5kZXggOGUwM2YwNjZhZGY3Li4wN2Q2MmM3Y2Iz ODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpAQCAtMzU5LDYgKzM1OSwyMiBAQCBz dGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfY3NjX21hdHJpeChjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZQogCUk5MTVfV1JJVEUoQ0dNX1BJUEVfTU9ERShwaXBlKSwg Y3J0Y19zdGF0ZS0+Y2dtX21vZGUpOwogfQogCisvKiBpOTY1KyAiMTAuNiIgYml0IGludGVycG9s YXRlZCBmb3JtYXQgImV2ZW4gRFciIChsb3cgOCBiaXRzKSAqLworc3RhdGljIHUzMiBpOTY1X2x1 dF8xMHA2X2xkdyhjb25zdCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqY29sb3IpCit7CisJcmV0dXJu IChjb2xvci0+cmVkICYgMHhmZikgPDwgMTYgfAorCQkoY29sb3ItPmdyZWVuICYgMHhmZikgPDwg OCB8CisJCShjb2xvci0+Ymx1ZSAmIDB4ZmYpOworfQorCisvKiBpOTY1KyAiMTAuNiIgaW50ZXJw b2xhdGVkIGZvcm1hdCAib2RkIERXIiAoaGlnaCA4IGJpdHMpICovCitzdGF0aWMgdTMyIGk5NjVf bHV0XzEwcDZfdWR3KGNvbnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpjb2xvcikKK3sKKwlyZXR1 cm4gKGNvbG9yLT5yZWQgPj4gOCkgPDwgMTYgfAorCQkoY29sb3ItPmdyZWVuID4+IDgpIDw8IDgg fAorCQkoY29sb3ItPmJsdWUgPj4gOCk7Cit9CisKIHN0YXRpYyB1MzIgaWxrX2x1dF8xMChjb25z dCBzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqY29sb3IpCiB7CiAJcmV0dXJuIGRybV9jb2xvcl9sdXRf ZXh0cmFjdChjb2xvci0+cmVkLCAxMCkgPDwgMjAgfApAQCAtNDY4LDYgKzQ4NCwzNyBAQCBzdGF0 aWMgdm9pZCBza2xfY29sb3JfY29tbWl0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCQlpbGtfbG9hZF9jc2NfbWF0cml4KGNydGNfc3RhdGUpOwogfQogCitzdGF0 aWMgdm9pZCBpOTY1X2xvYWRfbHV0XzEwcDYoc3RydWN0IGludGVsX2NydGMgKmNydGMsCisJCQkg ICAgICAgY29uc3Qgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iKQoreworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOworCWNv bnN0IHN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQgPSBibG9iLT5kYXRhOworCWludCBpLCBsdXRf c2l6ZSA9IGRybV9jb2xvcl9sdXRfc2l6ZShibG9iKTsKKwllbnVtIHBpcGUgcGlwZSA9IGNydGMt PnBpcGU7CisKKwlmb3IgKGkgPSAwOyBpIDwgbHV0X3NpemUgLSAxOyBpKyspIHsKKwkJSTkxNV9X UklURV9GVyhQQUxFVFRFKHBpcGUsIDIgKiBpICsgMCksCisJCQkgICAgICBpOTY1X2x1dF8xMHA2 X2xkdygmbHV0W2ldKSk7CisJCUk5MTVfV1JJVEVfRlcoUEFMRVRURShwaXBlLCAyICogaSArIDEp LAorCQkJICAgICAgaTk2NV9sdXRfMTBwNl91ZHcoJmx1dFtpXSkpOworCX0KKworCUk5MTVfV1JJ VEVfRlcoUElQRUdDTUFYKHBpcGUsIDApLCBsdXRbaV0ucmVkKTsKKwlJOTE1X1dSSVRFX0ZXKFBJ UEVHQ01BWChwaXBlLCAxKSwgbHV0W2ldLmdyZWVuKTsKKwlJOTE1X1dSSVRFX0ZXKFBJUEVHQ01B WChwaXBlLCAyKSwgbHV0W2ldLmJsdWUpOworfQorCitzdGF0aWMgdm9pZCBpOTY1X2xvYWRfbHV0 cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsK Kwljb25zdCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmdhbW1hX2x1dCA9IGNydGNfc3RhdGUt PmJhc2UuZ2FtbWFfbHV0OworCisJaWYgKGNydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0gR0FNTUFf TU9ERV9NT0RFXzhCSVQpCisJCWk5eHhfbG9hZF9sdXRzKGNydGNfc3RhdGUpOworCWVsc2UKKwkJ aTk2NV9sb2FkX2x1dF8xMHA2KGNydGMsIGdhbW1hX2x1dCk7Cit9CisKIHN0YXRpYyB2b2lkIGls a19sb2FkX2x1dF8xMChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCSAgICBjb25zdCBzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpCiB7CkBAIC05MTEsNiArOTU4LDE1IEBAIHN0YXRp YyBpbnQgY2hlY2tfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHUzMiBpOXh4X2dhbW1hX21vZGUoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCit7CisJaWYgKCFjcnRjX3N0YXRlLT5nYW1tYV9l bmFibGUgfHwKKwkgICAgY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoY3J0Y19zdGF0ZSkpCisJ CXJldHVybiBHQU1NQV9NT0RFX01PREVfOEJJVDsKKwllbHNlCisJCXJldHVybiBHQU1NQV9NT0RF X01PREVfMTBCSVQ7IC8qIGk5NjUrIG9ubHkgKi8KK30KKwogc3RhdGljIGludCBpOXh4X2NvbG9y X2NoZWNrKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCWludCByZXQ7 CkBAIC05MjMsNyArOTc5LDcgQEAgc3RhdGljIGludCBpOXh4X2NvbG9yX2NoZWNrKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQljcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1 dCAmJgogCQkhY3J0Y19zdGF0ZS0+YzhfcGxhbmVzOwogCi0JY3J0Y19zdGF0ZS0+Z2FtbWFfbW9k ZSA9IEdBTU1BX01PREVfTU9ERV84QklUOworCWNydGNfc3RhdGUtPmdhbW1hX21vZGUgPSBpOXh4 X2dhbW1hX21vZGUoY3J0Y19zdGF0ZSk7CiAKIAlyZXQgPSBpbnRlbF9jb2xvcl9hZGRfYWZmZWN0 ZWRfcGxhbmVzKGNydGNfc3RhdGUpOwogCWlmIChyZXQpCkBAIC0xMTc4LDYgKzEyMzQsMTAgQEAg dm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCQkJZGV2X3By aXYtPmRpc3BsYXkuY29sb3JfY2hlY2sgPSBjaHZfY29sb3JfY2hlY2s7CiAJCQlkZXZfcHJpdi0+ ZGlzcGxheS5jb2xvcl9jb21taXQgPSBpOXh4X2NvbG9yX2NvbW1pdDsKIAkJCWRldl9wcml2LT5k aXNwbGF5LmxvYWRfbHV0cyA9IGNoZXJyeXZpZXdfbG9hZF9sdXRzOworCQl9IGVsc2UgaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gNCkgeworCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY2hl Y2sgPSBpOXh4X2NvbG9yX2NoZWNrOworCQkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0 ID0gaTl4eF9jb2xvcl9jb21taXQ7CisJCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBp OTY1X2xvYWRfbHV0czsKIAkJfSBlbHNlIHsKIAkJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2No ZWNrID0gaTl4eF9jb2xvcl9jaGVjazsKIAkJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1p dCA9IGk5eHhfY29sb3JfY29tbWl0OwotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=