From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 22/22] drm/i915: BDW: Pipe level CSC correction Date: Tue, 13 Oct 2015 18:09:57 +0530 Message-ID: <1444739997-24831-23-git-send-email-shashank.sharma@intel.com> References: <1444739997-24831-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1444739997-24831-1-git-send-email-shashank.sharma@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, emil.l.velikov@gmail.com, matthew.d.roper@intel.com, robert.bradford@intel.com, jim.bish@intel.com Cc: annie.j.matheson@intel.com, kausalmalladi@gmail.com, daniel.vetter@intel.com, =gary.k.smith@intel.com List-Id: dri-devel@lists.freedesktop.org QkRXL1NLTC9CWFQgc3VwcG9ydCBDb2xvciBTcGFjZSBDb252ZXJzaW9uIChDU0MpIHVzaW5nIGEg M3gzIG1hdHJpeAp0aGF0IG5lZWRzIHRvIGJlIHByb2dyYW1tZWQgaW50byByZXNwZWN0aXZlIENT QyByZWdpc3RlcnMuCgpUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZzoKMS4gQWRkcyB0aGUg Y29yZSBmdW5jdGlvbiB0byBwcm9ncmFtIENTQyBjb3JyZWN0aW9uIHZhbHVlcyBmb3IKICAgQkRX L1NLTC9CWFQgcGxhdGZvcm0KMi4gQWRkcyBDU0MgY29ycmVjdGlvbiBtYWNyb3MvZGVmaW5lcwoK U2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBLYXVzYWwgTWFsbGFkaSA8a2F1c2FsbWFsbGFkaUBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IEt1bWFyLCBLaXJhbiBTIDxraXJhbi5zLmt1bWFyQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgIDcgKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDExMyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Jf bWFuYWdlci5oIHwgICA4ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDEyOCBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggMTNlMjY4YS4uZmExNzAzZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oCkBAIC04MTk1LDQgKzgxOTUsMTEgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93 ZWxscyB7CiAJKF9QSVBFMyhwaXBlLCBQQUxfUFJFQ19HQ01BWF9BLCBQQUxfUFJFQ19HQ01BWF9C LCBQQUxfUFJFQ19HQ01BWF9DKSkKIAogCisvKiBCRFcgQ1NDIGNvcnJlY3Rpb24gKi8KKyNkZWZp bmUgQ1NDX0NPRUZGX0EJCQkJMHg0OTAxMAorI2RlZmluZSBDU0NfQ09FRkZfQgkJCQkweDQ5MTEw CisjZGVmaW5lIENTQ19DT0VGRl9DCQkJCTB4NDkyMTAKKyNkZWZpbmUgX1BJUEVfQ1NDX0NPRUZG KHBpcGUpIFwKKwkoX1BJUEUzKHBpcGUsIENTQ19DT0VGRl9BLCBDU0NfQ09FRkZfQiwgQ1NDX0NP RUZGX0MpKQorCiAjZW5kaWYgLyogX0k5MTVfUkVHX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMKaW5kZXggNDJmZDJmNS4uOGZlMGMwYiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwpAQCAtMzY2LDYgKzM2NiwxMTcg QEAgc3RhdGljIGludCBiZHdfc2V0X2RlZ2FtbWEoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAly ZXR1cm4gMDsKIH0KIAorc3RhdGljIHVpbnQzMl90IGJkd19wcmVwYXJlX2NzY19jb2VmZihpbnQ2 NF90IGNvZWZmKQoreworCXVpbnQzMl90IHJlZ192YWwsIGxzX2JpdF9wb3MsIGV4cG9uZW50X2Jp dHMsIHNpZ25fYml0ID0gMDsKKwlpbnQzMl90IG1hbnRpc3NhOworCXVpbnQ2NF90IGFic19jb2Vm ZjsKKworCWNvZWZmID0gbWluX3QoaW50NjRfdCwgY29lZmYsIEJEV19DU0NfQ09FRkZfTUFYX1ZB TCk7CisJY29lZmYgPSBtYXhfdChpbnQ2NF90LCBjb2VmZiwgQkRXX0NTQ19DT0VGRl9NSU5fVkFM KTsKKworCWFic19jb2VmZiA9IGFicyhjb2VmZik7CisJaWYgKGFic19jb2VmZiA8IChCRFdfQ1ND X0NPRUZGX1VOSVRZX1ZBTCA+PiAzKSkgeworCQkvKiBhYnNfY29lZmYgPCAwLjEyNSAqLworCQll eHBvbmVudF9iaXRzID0gMzsKKwkJbHNfYml0X3BvcyA9IDE5OworCX0gZWxzZSBpZiAoYWJzX2Nv ZWZmID49IChCRFdfQ1NDX0NPRUZGX1VOSVRZX1ZBTCA+PiAzKSAmJgorCQlhYnNfY29lZmYgPCAo QkRXX0NTQ19DT0VGRl9VTklUWV9WQUwgPj4gMikpIHsKKwkJLyogYWJzX2NvZWZmID49IDAuMTI1 ICYmIHZhbCA8IDAuMjUgKi8KKwkJZXhwb25lbnRfYml0cyA9IDI7CisJCWxzX2JpdF9wb3MgPSAy MDsKKwl9IGVsc2UgaWYgKGFic19jb2VmZiA+PSAoQkRXX0NTQ19DT0VGRl9VTklUWV9WQUwgPj4g MikKKwkJJiYgYWJzX2NvZWZmIDwgKEJEV19DU0NfQ09FRkZfVU5JVFlfVkFMID4+IDEpKSB7CisJ CS8qIGFic19jb2VmZiA+PSAwLjI1ICYmIHZhbCA8IDAuNSAqLworCQlleHBvbmVudF9iaXRzID0g MTsKKwkJbHNfYml0X3BvcyA9IDIxOworCX0gZWxzZSBpZiAoYWJzX2NvZWZmID49IChCRFdfQ1ND X0NPRUZGX1VOSVRZX1ZBTCA+PiAxKQorCQkmJiBhYnNfY29lZmYgPCBCRFdfQ1NDX0NPRUZGX1VO SVRZX1ZBTCkgeworCQkvKiBhYnNfY29lZmYgPj0gMC41ICYmIHZhbCA8IDEuMCAqLworCQlleHBv bmVudF9iaXRzID0gMDsKKwkJbHNfYml0X3BvcyA9IDIyOworCX0gZWxzZSBpZiAoYWJzX2NvZWZm ID49IEJEV19DU0NfQ09FRkZfVU5JVFlfVkFMICYmCisJCWFic19jb2VmZiA8IChCRFdfQ1NDX0NP RUZGX1VOSVRZX1ZBTCA8PCAxKSkgeworCQkvKiBhYnNfY29lZmYgPj0gMS4wICYmIHZhbCA8IDIu MCAqLworCQlleHBvbmVudF9iaXRzID0gNzsKKwkJbHNfYml0X3BvcyA9IDIzOworCX0gZWxzZSB7 CisJCS8qIGFic19jb2VmZiA+PSAyLjAgJiYgdmFsIDwgNC4wICovCisJCWV4cG9uZW50X2JpdHMg PSA2OworCQlsc19iaXRfcG9zID0gMjQ7CisJfQorCisJbWFudGlzc2EgPSBHRVRfQklUU19ST1VO RE9GRihhYnNfY29lZmYsIGxzX2JpdF9wb3MsIENTQ19NQVhfVkFMUyk7CisJaWYgKGNvZWZmIDwg MCkKKwkJc2lnbl9iaXQgPSAxOworCisJcmVnX3ZhbCA9IDA7CisJU0VUX0JJVFMocmVnX3ZhbCwg ZXhwb25lbnRfYml0cywgMTIsIDMpOworCVNFVF9CSVRTKHJlZ192YWwsIG1hbnRpc3NhLCAzLCA5 KTsKKwlTRVRfQklUUyhyZWdfdmFsLCBzaWduX2JpdCwgMTUsIDEpOworCXJldHVybiByZWdfdmFs OworfQorCitzdGF0aWMgaW50IGJkd19zZXRfY3NjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiwKKwkJc3RydWN0IGRybV9jcnRjICpjcnRjKQor eworCWVudW0gcGlwZSBwaXBlOworCWVudW0gcGxhbmUgcGxhbmU7CisJaW50IHRlbXAsIHdvcmQ7 CisJaW50IGNvdW50ID0gMDsKKwl1MzIgcmVnLCBwbGFuZV9jdGwsIG1vZGU7CisJc3RydWN0IGRy bV9jdG0gKmNzY19kYXRhOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7CisKKwlpZiAoV0FSTl9PTighYmxvYikpCisJCXJldHVybiAtRUlOVkFM OworCisJaWYgKGJsb2ItPmxlbmd0aCAhPSBzaXplb2Yoc3RydWN0IGRybV9jdG0pKSB7CisJCURS TV9FUlJPUigiSW52YWxpZCBsZW5ndGggb2YgZGF0YSByZWNlaXZlZFxuIik7CisJCXJldHVybiAt RUlOVkFMOworCX0KKworCWNzY19kYXRhID0gKHN0cnVjdCBkcm1fY3RtICopYmxvYi0+ZGF0YTsK KwlwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGlwZTsKKwlwbGFuZSA9IHRvX2ludGVsX2Ny dGMoY3J0YyktPnBsYW5lOworCisJcGxhbmVfY3RsID0gSTkxNV9SRUFEKFBMQU5FX0NUTChwaXBl LCBwbGFuZSkpOworCXBsYW5lX2N0bCB8PSBQTEFORV9DVExfUElQRV9DU0NfRU5BQkxFOworCUk5 MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIHBsYW5lKSwgcGxhbmVfY3RsKTsKKwlyZWcgPSBfUElQ RV9DU0NfQ09FRkYocGlwZSk7CisKKwkvKgorCSogQkRXIENTQyBjb3JyZWN0aW9uIGNvZWZmaWNp ZW50cyBhcmUgd3JpdHRlbiBsaWtlIHRoaXM6CisJKiBmaXJzdCB0d28gdmFsdWVzIGdvIGluIGEg cGFpciwgaW50byBmaXJzdCByZWdpc3RlcigwOjE1IGFuZCAxNjozMSkKKwkqIHRoaXJkIG9uZSBh bG9uZSBnb2VzIGludG8gc2Vjb25kIHJlZ2lzdGVyICgxNjozMSkuIFNhbWUKKwkqIHBhdHRlcm4g cmVwZWF0cyBmb3IgMyB0aW1lcyA9IDMgKiAzID0gOSB2YWx1ZXMuCisJKi8KKwl3aGlsZSAoY291 bnQgPCBDU0NfTUFYX1ZBTFMpIHsKKwkJd29yZCA9IDA7CisJCXRlbXAgPSBiZHdfcHJlcGFyZV9j c2NfY29lZmYoY3NjX2RhdGEtPmN0bV9jb2VmZltjb3VudCsrXSk7CisJCVNFVF9CSVRTKHdvcmQs IHRlbXAsIDE2LCAxNik7CisKKwkJdGVtcCA9IGJkd19wcmVwYXJlX2NzY19jb2VmZihjc2NfZGF0 YS0+Y3RtX2NvZWZmW2NvdW50KytdKTsKKwkJU0VUX0JJVFMod29yZCwgdGVtcCwgMCwgMTYpOwor CisJCUk5MTVfV1JJVEUocmVnLCB3b3JkKTsKKwkJcmVnICs9IDQ7CisKKwkJd29yZCA9IDA7CisJ CXRlbXAgPSBiZHdfcHJlcGFyZV9jc2NfY29lZmYoY3NjX2RhdGEtPmN0bV9jb2VmZltjb3VudCsr XSk7CisJCVNFVF9CSVRTKHdvcmQsIHRlbXAsIDE2LCAxNik7CisJCUk5MTVfV1JJVEUocmVnLCB3 b3JkKTsKKwkJcmVnICs9IDQ7CisJfQorCisJLyogRW5hYmxlIENTQyBmdW5jdGlvbmFsaXR5ICov CisJbW9kZSA9IEk5MTVfUkVBRChQSVBFX0NTQ19NT0RFKHBpcGUpKTsKKwltb2RlIHw9IENTQ19Q T1NJVElPTl9CRUZPUkVfR0FNTUE7CisJSTkxNV9XUklURShQSVBFX0NTQ19NT0RFKHBpcGUpLCBt b2RlKTsKKwlEUk1fREVCVUdfRFJJVkVSKCJDU0MgZW5hYmxlZCBvbiBQaXBlICVjXG4iLCBwaXBl X25hbWUocGlwZSkpOworCXJldHVybiAwOworfQorCiBzdGF0aWMgczMyIGNodl9wcmVwYXJlX2Nz Y19jb2VmZihzNjQgY3NjX3ZhbHVlKQogewogCXMzMiBjc2NfaW50X3ZhbHVlOwpAQCAtNjcxLDYg Kzc4Miw4IEBAIHZvaWQgaW50ZWxfY29sb3JfbWFuYWdlcl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCQkvKiBDU0MgY29ycmVjdGlvbiAqLwogCQlpZiAoSVNfQ0hFUlJZVklF VyhkZXYpKQogCQkJcmV0ID0gY2h2X3NldF9jc2MoZGV2LCBibG9iLCBjcnRjKTsKKwkJZWxzZSBp ZiAoSVNfQlJPQURXRUxMKGRldikgfHwgSVNfR0VOOShkZXYpKQorCQkJcmV0ID0gYmR3X3NldF9j c2MoZGV2LCBibG9iLCBjcnRjKTsKIAogCQlpZiAocmV0KQogCQkJRFJNX0VSUk9SKCJzZXQgQ1ND IGNvcnJlY3Rpb24gZmFpbGVkXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yX21hbmFnZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y X21hbmFnZXIuaAppbmRleCBlMGM0ODZlLi42YzIwY2YwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCkBAIC05MCw2ICs5MCwxNCBAQAogI2RlZmluZSBDR01f Q1NDX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAxKQogI2RlZmluZSBDR01f REVHQU1NQV9FTiAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCAwKQogCisvKiBCRFcgQ1ND ICovCisvKiAxLjAwMDAwMDAgaW4gUzMxLjMyIGZvcm1hdCAqLworI2RlZmluZSBCRFdfQ1NDX0NP RUZGX1VOSVRZX1ZBTAkweDEwMDAwMDAwMAorLyogMy45OTIxODc1IGluIFMzMS4zMiBmb3JtYXQg Ki8KKyNkZWZpbmUgQkRXX0NTQ19DT0VGRl9NQVhfVkFMCTB4M0ZFMDAwMDAwCisvKi00LjAwMDAw MCBpbiBTMzEuMzIgZm9ybWF0ICovCisjZGVmaW5lIEJEV19DU0NfQ09FRkZfTUlOX1ZBTAkweEZG RkZGRkZDMDAwMDAwMDAKKwogLyogR2FtbWEgb24gQkRXICovCiAjZGVmaW5lIEJEV19TUExJVEdB TU1BX01BWF9WQUxTICAgICAgICAgICAgICAgIDUxMgogI2RlZmluZSBCRFdfOEJJVF9HQU1NQV9N QVhfVkFMUwkJMjU2Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK