From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kausal Malladi Subject: [PATCH 16/16] drm/i915: Add CSC correction for CHV/BSW Date: Wed, 15 Jul 2015 18:39:40 +0530 Message-ID: <1436965780-6061-17-git-send-email-Kausal.Malladi@intel.com> References: <1436965780-6061-1-git-send-email-Kausal.Malladi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1436965780-6061-1-git-send-email-Kausal.Malladi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: matthew.d.roper@intel.com, jesse.barnes@intel.com, damien.lespiau@intel.com, sonika.jindal@intel.com, durgadoss.r@intel.com, vijay.a.purushothaman@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, hverkuil@xs4all.nl, daniel@fooishbar.org Cc: annie.j.matheson@intel.com, avinash.reddy.palleti@intel.com, indranil.mukherjee@intel.com, dhanya.p.r@intel.com, sunil.kamath@intel.com, daniel.vetter@intel.com, susanta.bhattacharjee@intel.com, kiran.s.kumar@intel.com, shashank.sharma@intel.com List-Id: dri-devel@lists.freedesktop.org Q0hWL0JTVyBzdXBwb3J0cyBDb2xvciBTcGFjZSBDb252ZXJzaW9uIChDU0MpIHVzaW5nIGEgM3gz IG1hdHJpeAp0aGF0IG5lZWRzIHRvIGJlIHByb2dyYW1tZWQgaW50byBDR00gKENvbG9yIEdhbXV0 IE1hcHBpbmcpIHJlZ2lzdGVycy4KClRoaXMgcGF0Y2ggZG9lcyB0aGUgZm9sbG93aW5nOgoxLiBB ZGRzIHRoZSBjb3JlIGZ1bmN0aW9uIHRvIHByb2dyYW0gQ1NDIGNvcnJlY3Rpb24gdmFsdWVzIGZv cgogICBDSFYvQlNXIHBsYXRmb3JtCjIuIEFkZHMgQ1NDIGNvcnJlY3Rpb24gbWFjcm9zL2RlZmlu ZXMKClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogS2F1c2FsIE1hbGxhZGkgPEthdXNhbC5NYWxsYWRpQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAg IDUgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDExMCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29sb3JfbWFuYWdlci5oIHwgIDIwICsrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMzUgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGI5NTg2MmUuLjliZjU3MjAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtNzkxNiwxMSArNzkxNiwxNiBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKICNkZWZpbmUgUElQRUFfQ0dNX0RFR0FNTUEJCQkoVkxWX0RJU1BM QVlfQkFTRSArIDB4NjYwMDApCiAjZGVmaW5lIFBJUEVCX0NHTV9ERUdBTU1BCQkJKFZMVl9ESVNQ TEFZX0JBU0UgKyAweDY4MDAwKQogI2RlZmluZSBQSVBFQ19DR01fREVHQU1NQQkJCShWTFZfRElT UExBWV9CQVNFICsgMHg2QTAwMCkKKyNkZWZpbmUgUElQRUFfQ0dNX0NTQwkJCQkoVkxWX0RJU1BM QVlfQkFTRSArIDB4Njc5MDApCisjZGVmaW5lIFBJUEVCX0NHTV9DU0MJCQkJKFZMVl9ESVNQTEFZ X0JBU0UgKyAweDY5OTAwKQorI2RlZmluZSBQSVBFQ19DR01fQ1NDCQkJCShWTFZfRElTUExBWV9C QVNFICsgMHg2QjkwMCkKICNkZWZpbmUgX1BJUEVfQ0dNX0NPTlRST0wocGlwZSkgXAogCShfUElQ RTMocGlwZSwgUElQRUFfQ0dNX0NPTlRST0wsIFBJUEVCX0NHTV9DT05UUk9MLCBQSVBFQ19DR01f Q09OVFJPTCkpCiAjZGVmaW5lIF9QSVBFX0dBTU1BX0JBU0UocGlwZSkgXAogCShfUElQRTMocGlw ZSwgUElQRUFfQ0dNX0dBTU1BLCBQSVBFQl9DR01fR0FNTUEsIFBJUEVDX0NHTV9HQU1NQSkpCiAj ZGVmaW5lIF9QSVBFX0RFR0FNTUFfQkFTRShwaXBlKSBcCiAJKF9QSVBFMyhwaXBlLCBQSVBFQV9D R01fREVHQU1NQSwgUElQRUJfQ0dNX0RFR0FNTUEsIFBJUEVDX0NHTV9ERUdBTU1BKSkKKyNkZWZp bmUgX1BJUEVfQ1NDX0JBU0UocGlwZSkgXAorCShfUElQRTMocGlwZSwgUElQRUFfQ0dNX0NTQywg UElQRUJfQ0dNX0NTQywgUElQRUNfQ0dNX0NTQykpCiAKICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8g Ki8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwppbmRleCBiZDYw ZmFkLi5lODU1ZDVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv cl9tYW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdl ci5jCkBAIC0yNyw2ICsyNywxMDggQEAKIAogI2luY2x1ZGUgImludGVsX2NvbG9yX21hbmFnZXIu aCIKIAorczE2IGdldF9jc2NfczNfMTJfZm9ybWF0KHM2NCBjc2NfdmFsdWUpCit7CisJczMyIGNz Y19pbnRfdmFsdWU7CisJdTMyIGNzY19mcmFjdF92YWx1ZTsKKwlzMTYgY3NjX3MzXzEyX2Zvcm1h dDsKKworCWlmIChjc2NfdmFsdWUgPj0gMCkgeworCQljc2NfdmFsdWUgKz0gQ0hWX0NTQ19GUkFD VF9ST1VORE9GRjsKKwkJaWYgKGNzY192YWx1ZSA+IENIVl9DU0NfQ09FRkZfTUFYKQorCQkJY3Nj X3ZhbHVlID0gQ0hWX0NTQ19DT0VGRl9NQVg7CisJfSBlbHNlIHsKKwkJY3NjX3ZhbHVlID0gLWNz Y192YWx1ZTsKKwkJY3NjX3ZhbHVlICs9IENIVl9DU0NfRlJBQ1RfUk9VTkRPRkY7CisJCWlmIChj c2NfdmFsdWUgPiBDSFZfQ1NDX0NPRUZGX01BWCArIDEpCisJCQljc2NfdmFsdWUgPSBDSFZfQ1ND X0NPRUZGX01BWCArIDE7CisJCWNzY192YWx1ZSA9IC1jc2NfdmFsdWU7CisJfQorCisJY3NjX2lu dF92YWx1ZSA9IGNzY192YWx1ZSA+PiBDSFZfQ1NDX0NPRUZGX1NISUZUOworCWNzY19pbnRfdmFs dWUgPDw9IENIVl9DU0NfQ09FRkZfSU5UX1NISUZUOworCWlmIChjc2NfdmFsdWUgPCAwKQorCQlj c2NfaW50X3ZhbHVlIHw9IENTQ19DT0VGRl9TSUdOOworCWNzY19mcmFjdF92YWx1ZSA9IGNzY192 YWx1ZTsKKwljc2NfZnJhY3RfdmFsdWUgPj49IENIVl9DU0NfQ09FRkZfRlJBQ1RfU0hJRlQ7CisJ Y3NjX3MzXzEyX2Zvcm1hdCA9IGNzY19pbnRfdmFsdWUgfCBjc2NfZnJhY3RfdmFsdWU7CisKKwly ZXR1cm4gY3NjX3MzXzEyX2Zvcm1hdDsKK30KKworaW50IGNodl9zZXRfY3NjKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiwKKwkJc3RydWN0IGRy bV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBkcm1fY3RtICpjc2NfZGF0YTsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1f bW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOworCXUzMiByZWc7CisJZW51 bSBwaXBlIHBpcGU7CisJczMyIHdvcmQsIHRlbXA7CisJaW50IHJldCwgY291bnQgPSAwOworCisJ aWYgKCFibG9iKSB7CisJCURSTV9FUlJPUigiTlVMTCBCbG9iXG4iKTsKKwkJcmV0dXJuIC1FSU5W QUw7CisJfQorCisJaWYgKGJsb2ItPmxlbmd0aCAhPSBzaXplb2Yoc3RydWN0IGRybV9jdG0pKSB7 CisJCURSTV9FUlJPUigiSW52YWxpZCBsZW5ndGggb2YgZGF0YSByZWNlaXZlZFxuIik7CisJCXJl dHVybiAtRUlOVkFMOworCX0KKworCWNzY19kYXRhID0gKHN0cnVjdCBkcm1fY3RtICopYmxvYi0+ ZGF0YTsKKwlpZiAoY3NjX2RhdGEtPnZlcnNpb24gIT0gQ0hWX0NTQ19EQVRBX1NUUlVDVF9WRVJT SU9OKSB7CisJCURSTV9FUlJPUigiSW52YWxpZCBDU0MgRGF0YSBzdHJ1Y3QgdmVyc2lvblxuIik7 CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5w aXBlOworCisJLyogRGlzYWJsZSBDU0MgZnVuY3Rpb25hbGl0eSAqLworCXJlZyA9IF9QSVBFX0NH TV9DT05UUk9MKHBpcGUpOworCUk5MTVfV1JJVEUocmVnLCBJOTE1X1JFQUQocmVnKSAmICh+Q0dN X0NTQ19FTikpOworCisJRFJNX0RFQlVHX0RSSVZFUigiRGlzYWJsZWQgQ1NDIEZ1bmN0aW9uYWxp dHkgb24gUGlwZSAlY1xuIiwKKwkJCXBpcGVfbmFtZShwaXBlKSk7CisKKwlyZWcgPSBfUElQRV9D U0NfQkFTRShwaXBlKTsKKwl3aGlsZSAoY291bnQgPCBDU0NfTUFYX1ZBTFMpIHsKKwkJd29yZCA9 IGdldF9jc2NfczNfMTJfZm9ybWF0KGNzY19kYXRhLT5jdG1fY29lZmZbY291bnRdKTsKKworCQkv KgorCQkgKiBMYXN0IHZhbHVlIHRvIGJlIHdyaXR0ZW4gaW4gMSByZWdpc3Rlci4KKwkJICogT3Ro ZXJ3aXNlLCBlYWNoIHBhaXIgb2YgQ1NDIHZhbHVlcyBnbworCQkgKiBpbnRvIDEgcmVnaXN0ZXIK KwkJICovCisJCWlmIChjb3VudCAhPSAoQ1NDX01BWF9WQUxTIC0gMSkpIHsKKwkJCWNvdW50Kys7 CisJCQl0ZW1wID0gZ2V0X2NzY19zM18xMl9mb3JtYXQoY3NjX2RhdGEtPmN0bV9jb2VmZltjb3Vu dF0pOworCQkJd29yZCB8PSB0ZW1wOworCQl9CisJCUk5MTVfV1JJVEUocmVnLCB3b3JkKTsKKwkJ cmVnICs9IDQ7CisJCWNvdW50Kys7CisJfQorCisJRFJNX0RFQlVHX0RSSVZFUigiQWxsIENTQyB2 YWx1ZXMgd3JpdHRlbiB0byByZWdpc3RlcnNcbiIpOworCisJLyogRW5hYmxlIENTQyBmdW5jdGlv bmFsaXR5ICovCisJcmVnID0gX1BJUEVfQ0dNX0NPTlRST0wocGlwZSk7CisJSTkxNV9XUklURShy ZWcsIEk5MTVfUkVBRChyZWcpIHwgQ0dNX0NTQ19FTik7CisJRFJNX0RFQlVHX0RSSVZFUigiQ1ND IGVuYWJsZWQgb24gUGlwZSAlY1xuIiwgcGlwZV9uYW1lKHBpcGUpKTsKKworCXJldCA9IGRybV9w cm9wZXJ0eV9yZXBsYWNlX2dsb2JhbF9ibG9iKGRldiwgJmJsb2IsCisJCQlzaXplb2Yoc3RydWN0 IGRybV9jdG0pLCAodm9pZCAqKSBjc2NfZGF0YSwKKwkJCSZjcnRjLT5iYXNlLCBjb25maWctPnBy b3BfY3RtKTsKKwlpZiAocmV0KSB7CisJCURSTV9FUlJPUigiRXJyb3IgdXBkYXRpbmcgQ1NDIGJs b2JcbiIpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCiBpbnQg Y2h2X3NldF9kZWdhbW1hKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcHJvcGVy dHlfYmxvYiAqYmxvYiwKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjKQogewpAQCAtMjk1LDYgKzM5 NywxNCBAQCB2b2lkIGludGVsX2NvbG9yX21hbmFnZXJfY3J0Y19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCQlEUk1fREVCVUdfRFJJVkVSKAogCQkJCQkiRGVHYW1tYSByZWdpc3Rl cnMgQ29tbWl0IHN1Y2Nlc3MhXG4iKTsKIAkJfQorCisJCWJsb2IgPSBjcnRjX3N0YXRlLT5jdG1f YmxvYjsKKwkJaWYgKGJsb2IpIHsKKwkJCXJldCA9IGNodl9zZXRfY3NjKGRldiwgYmxvYiwgY3J0 Yyk7CisJCQlpZiAoIXJldCkKKwkJCQlEUk1fREVCVUdfRFJJVkVSKAorCQkJCQkiQ1NDIHJlZ2lz dGVycyBDb21taXQgc3VjY2VzcyFcbiIpOworCQl9CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKaW5kZXggNmE0ZmZmMi4uYjJlZTg0NyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaApAQCAtNTQsNiArNTQsMjYg QEAKICNkZWZpbmUgQ0hWX0RFR0FNTUFfTVNCX1NISUZUCQkJMgogI2RlZmluZSBDSFZfREVHQU1N QV9HUkVFTl9TSElGVAkJCTE2CiAKKy8qIENTQyBjb3JyZWN0aW9uICovCisjZGVmaW5lIENIVl9D U0NfREFUQV9TVFJVQ1RfVkVSU0lPTgkJMQorLyoKKyAqIEZyYWN0aW9uYWwgcGFydCBpcyAzMiBi aXQsIGFuZCB3ZSBuZWVkIG9ubHkgMTIgTVNCcyBmb3IgcHJvZ3JhbW1pbmcKKyAqIGludG8gcmVn aXN0ZXJzLiBST1VORE9GRiBpcyByZXF1aXJlZCB0byBtaW5pbWl6ZSBsb3NzIG9mIHByZWNpc2lv bi4KKyAqLworI2RlZmluZSBDSFZfQ1NDX0ZSQUNUX1JPVU5ET0ZGCQkJKDEgPDwgMTkpCisvKgor ICogQ1NDIHZhbHVlcyBhcmUgNjQtYml0IHZhbHVlcy4gRm9yIENIViwgdGhlIG1heGltdW0gQ1ND IHZhbHVlIHRoYXQKKyAqIHVzZXIgY2FuIHByb2dyYW0gaXMgNy45OTk5OS4uLiwgd2hpY2ggY2Fu IGJlIHJlcHJlc2VudGVkIGluIGZpeGVkIHBvaW50CisgKiBTMzEuMzIgZm9ybWF0IGxpa2UgdGhp cywgd2l0aCBhbGwgZnJhY3Rpb25hbCBiaXRzIGFzIDEKKyAqLworI2RlZmluZSBDSFZfQ1NDX0NP RUZGX01BWAkJCTB4MDAwMDAwMDdGRkZGRkZGRgorI2RlZmluZSBDSFZfQ1NDX0NPRUZGX1NISUZU CQkJMzIKKyNkZWZpbmUgQ0hWX0NTQ19DT0VGRl9JTlRfU0hJRlQJCQkyOAorI2RlZmluZSBDU0Nf Q09FRkZfU0lHTgkJCQkoMSA8PCAzMSkKKyNkZWZpbmUgQ0hWX0NTQ19DT0VGRl9GUkFDVF9TSElG VAkJMjAKKyNkZWZpbmUgQ1NDX01BWF9WQUxTCQkJCTkKKwogLyogQ0hWIENHTSBCbG9jayAqLwog I2RlZmluZSBDR01fR0FNTUFfRU4JCQkJKDEgPDwgMikKKyNkZWZpbmUgQ0dNX0NTQ19FTgkJCQko MSA8PCAxKQogI2RlZmluZSBDR01fREVHQU1NQV9FTgkJCQkoMSA8PCAwKQotLSAKMi40LjUKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==