From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 22/22] drm/i915: BDW: Pipe level CSC correction Date: Sat, 10 Oct 2015 00:59:12 +0530 Message-ID: <1444418952-5671-23-git-send-email-shashank.sharma@intel.com> References: <1444418952-5671-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: <1444418952-5671-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, robert.bradford@intel.com, jim.bish@intel.com, matthew.d.roper@intel.com, daniel.vetter@intel.com Cc: annie.j.matheson@intel.com, avinash.reddy.palleti@intel.com, indranil.mukherjee@intel.com, kausalmalladi@gmail.com, jesse.barnes@intel.com, gary.k.smith@intel.com, kiran.s.kumar@intel.com List-Id: dri-devel@lists.freedesktop.org QkRXL1NLTC9CWFQgc3VwcG9ydCBDb2xvciBTcGFjZSBDb252ZXJzaW9uIChDU0MpIHVzaW5nIGEg M3gzIG1hdHJpeAp0aGF0IG5lZWRzIHRvIGJlIHByb2dyYW1tZWQgaW50byByZXNwZWN0aXZlIENT QyByZWdpc3RlcnMuCgpUaGlzIHBhdGNoIGRvZXMgdGhlIGZvbGxvd2luZzoKMS4gQWRkcyB0aGUg Y29yZSBmdW5jdGlvbiB0byBwcm9ncmFtIENTQyBjb3JyZWN0aW9uIHZhbHVlcyBmb3IKICAgQkRX L1NLTC9CWFQgcGxhdGZvcm0KMi4gQWRkcyBDU0MgY29ycmVjdGlvbiBtYWNyb3MvZGVmaW5lcwoK U2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29t PgpTaWduZWQtb2ZmLWJ5OiBLYXVzYWwgTWFsbGFkaSA8a2F1c2FsbWFsbGFkaUBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IEt1bWFyLCBLaXJhbiBTIDxraXJhbi5zLmt1bWFyQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgIDcgKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyB8IDExNCArKysrKysr KysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Jf bWFuYWdlci5oIHwgIDEyICsrLQogMyBmaWxlcyBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRleCBlZDUwZjc1Li4wZTlk MjUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTgwODUsNCArODA4NSwxMSBAQCBlbnVt IHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKIAkoX1BJUEUzKHBpcGUsIFBBTF9QUkVDX0dDTUFYX0Es IFBBTF9QUkVDX0dDTUFYX0IsIFBBTF9QUkVDX0dDTUFYX0MpKQogCiAKKy8qIEJEVyBDU0MgY29y cmVjdGlvbiAqLworI2RlZmluZSBDU0NfQ09FRkZfQQkJCQkweDQ5MDEwCisjZGVmaW5lIENTQ19D T0VGRl9CCQkJCTB4NDkxMTAKKyNkZWZpbmUgQ1NDX0NPRUZGX0MJCQkJMHg0OTIxMAorI2RlZmlu ZSBfUElQRV9DU0NfQ09FRkYocGlwZSkgXAorCShfUElQRTMocGlwZSwgQ1NDX0NPRUZGX0EsIENT Q19DT0VGRl9CLCBDU0NfQ09FRkZfQykpCisKICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwppbmRleCBlNjU5MzgyLi4w YTZjMDBjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5h Z2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCkBA IC0zMzAsMTEgKzMzMCwxMTkgQEAgc3RhdGljIGludCBiZHdfc2V0X2RlZ2FtbWEoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHMxNiBjaHZfcHJlcGFyZV9j c2NfY29lZmYoczY0IGNzY192YWx1ZSkKK3N0YXRpYyB1aW50MzJfdCBiZHdfcHJlcGFyZV9jc2Nf Y29lZmYoaW50NjRfdCBjb2VmZikKK3sKKwl1aW50MzJfdCByZWdfdmFsLCBsc19iaXRfcG9zLCBl eHBvbmVudF9iaXRzLCBzaWduX2JpdCA9IDA7CisJaW50MzJfdCBtYW50aXNzYTsKKwl1aW50NjRf dCBhYnNfY29lZmY7CisKKwljb2VmZiA9IG1pbl90KGludDY0X3QsIGNvZWZmLCBCRFdfQ1NDX0NP RUZGX01BWF9WQUwpOworCWNvZWZmID0gbWF4X3QoaW50NjRfdCwgY29lZmYsIEJEV19DU0NfQ09F RkZfTUlOX1ZBTCk7CisKKwlhYnNfY29lZmYgPSBhYnMoY29lZmYpOworCWlmIChhYnNfY29lZmYg PCAoQkRXX0NTQ19DT0VGRl9VTklUWV9WQUwgPj4gMykpIHsKKwkJLyogYWJzX2NvZWZmIDwgMC4x MjUgKi8KKwkJZXhwb25lbnRfYml0cyA9IDM7CisJCWxzX2JpdF9wb3MgPSAxOTsKKwl9IGVsc2Ug aWYgKGFic19jb2VmZiA+PSAoQkRXX0NTQ19DT0VGRl9VTklUWV9WQUwgPj4gMykgJiYKKwkJYWJz X2NvZWZmIDwgKEJEV19DU0NfQ09FRkZfVU5JVFlfVkFMID4+IDIpKSB7CisJCS8qIGFic19jb2Vm ZiA+PSAwLjEyNSAmJiB2YWwgPCAwLjI1ICovCisJCWV4cG9uZW50X2JpdHMgPSAyOworCQlsc19i aXRfcG9zID0gMjA7CisJfSBlbHNlIGlmIChhYnNfY29lZmYgPj0gKEJEV19DU0NfQ09FRkZfVU5J VFlfVkFMID4+IDIpCisJCSYmIGFic19jb2VmZiA8IChCRFdfQ1NDX0NPRUZGX1VOSVRZX1ZBTCA+ PiAxKSkgeworCQkvKiBhYnNfY29lZmYgPj0gMC4yNSAmJiB2YWwgPCAwLjUgKi8KKwkJZXhwb25l bnRfYml0cyA9IDE7CisJCWxzX2JpdF9wb3MgPSAyMTsKKwl9IGVsc2UgaWYgKGFic19jb2VmZiA+ PSAoQkRXX0NTQ19DT0VGRl9VTklUWV9WQUwgPj4gMSkKKwkJJiYgYWJzX2NvZWZmIDwgQkRXX0NT Q19DT0VGRl9VTklUWV9WQUwpIHsKKwkJLyogYWJzX2NvZWZmID49IDAuNSAmJiB2YWwgPCAxLjAg Ki8KKwkJZXhwb25lbnRfYml0cyA9IDA7CisJCWxzX2JpdF9wb3MgPSAyMjsKKwl9IGVsc2UgaWYg KGFic19jb2VmZiA+PSBCRFdfQ1NDX0NPRUZGX1VOSVRZX1ZBTCAmJgorCQlhYnNfY29lZmYgPCAo QkRXX0NTQ19DT0VGRl9VTklUWV9WQUwgPDwgMSkpIHsKKwkJLyogYWJzX2NvZWZmID49IDEuMCAm JiB2YWwgPCAyLjAgKi8KKwkJZXhwb25lbnRfYml0cyA9IDc7CisJCWxzX2JpdF9wb3MgPSAyMzsK Kwl9IGVsc2UgeworCQkvKiBhYnNfY29lZmYgPj0gMi4wICYmIHZhbCA8IDQuMCAqLworCQlleHBv bmVudF9iaXRzID0gNjsKKwkJbHNfYml0X3BvcyA9IDI0OworCX0KKworCW1hbnRpc3NhID0gR0VU X0JJVFNfUk9VTkRPRkYoYWJzX2NvZWZmLCBsc19iaXRfcG9zLCBDU0NfTUFYX1ZBTFMpOworCWlm IChjb2VmZiA8IDApIHsKKwkJc2lnbl9iaXQgPSAxOworCQltYW50aXNzYSA9IC1tYW50aXNzYTsK KwkJbWFudGlzc2EgJj0gKCgxIDw8IENTQ19NQVhfVkFMUykgLSAxKTsKKwl9CisKKwlyZWdfdmFs ID0gMDsKKwlTRVRfQklUUyhyZWdfdmFsLCBleHBvbmVudF9iaXRzLCAxMiwgMyk7CisJU0VUX0JJ VFMocmVnX3ZhbCwgbWFudGlzc2EsIDMsIDkpOworCVNFVF9CSVRTKHJlZ192YWwsIHNpZ25fYml0 LCAxNSwgMSk7CisJRFJNX0RFQlVHX0RSSVZFUigiQ1NDOiByZWdfdmFsPTB4JXhcbiIsIHJlZ192 YWwpOworCXJldHVybiByZWdfdmFsOworfQorCitpbnQgYmR3X3NldF9jc2Moc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLAorCQlzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCit7CisJZW51bSBwaXBlIHBpcGU7CisJZW51bSBwbGFuZSBwbGFuZTsKKwlp bnQgaSwgaiwgdGVtcDsKKwlpbnQgd29yZCA9IDA7CisJdTMyIHJlZywgcGxhbmVfY3RsLCBtb2Rl OworCXN0cnVjdCBkcm1fY3RtICpjc2NfZGF0YTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCisJaWYgKFdBUk5fT04oIWJsb2IpKQorCQly ZXR1cm4gLUVJTlZBTDsKKworCWlmIChibG9iLT5sZW5ndGggIT0gc2l6ZW9mKHN0cnVjdCBkcm1f Y3RtKSkgeworCQlEUk1fRVJST1IoIkludmFsaWQgbGVuZ3RoIG9mIGRhdGEgcmVjZWl2ZWRcbiIp OworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwljc2NfZGF0YSA9IChzdHJ1Y3QgZHJtX2N0bSAq KWJsb2ItPmRhdGE7CisJcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CisJcGxhbmUg PSB0b19pbnRlbF9jcnRjKGNydGMpLT5wbGFuZTsKKworCXBsYW5lX2N0bCA9IEk5MTVfUkVBRChQ TEFORV9DVEwocGlwZSwgcGxhbmUpKTsKKwlwbGFuZV9jdGwgfD0gUExBTkVfQ1RMX1BJUEVfQ1ND X0VOQUJMRTsKKwlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCBwbGFuZSksIHBsYW5lX2N0bCk7 CisJcmVnID0gX1BJUEVfQ1NDX0NPRUZGKHBpcGUpOworCisJLyogV3JpdGUgY3NjIGNvZWZmIHRv IGNzYyByZWdzICovCisJZm9yIChpID0gMCwgaiA9IDA7IGkgPCBDU0NfTUFYX1ZBTFM7IGkrKykg eworCQlpZiAoKGkgJSAzKSA9PSAwKSB7CisJCQl0ZW1wID0gYmR3X3ByZXBhcmVfY3NjX2NvZWZm KGNzY19kYXRhLT5jdG1fY29lZmZbaV0pOworCQkJU0VUX0JJVFMod29yZCwgdGVtcCwgMTYsIDE2 KTsKKwkJCWkrKzsKKwkJCXRlbXAgPSBiZHdfcHJlcGFyZV9jc2NfY29lZmYoY3NjX2RhdGEtPmN0 bV9jb2VmZltpXSk7CisJCQlTRVRfQklUUyh3b3JkLCB0ZW1wLCAwLCAxNik7CisJCX0gZWxzZSB7 CisJCQl0ZW1wID0gYmR3X3ByZXBhcmVfY3NjX2NvZWZmKGNzY19kYXRhLT5jdG1fY29lZmZbaV0p OworCQkJU0VUX0JJVFMod29yZCwgdGVtcCwgMTYsIDE2KTsKKwkJfQorCisJCUk5MTVfV1JJVEUo cmVnICsgaiwgd29yZCk7CisJCWogPSBqICsgNDsKKwl9CisKKwkvKiBFbmFibGUgQ1NDIGZ1bmN0 aW9uYWxpdHkgKi8KKwltb2RlID0gSTkxNV9SRUFEKFBJUEVfQ1NDX01PREUocGlwZSkpOworCW1v ZGUgfD0gQ1NDX1BPU0lUSU9OX0JFRk9SRV9HQU1NQTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX01P REUocGlwZSksIG1vZGUpOworCURSTV9ERUJVR19EUklWRVIoIkNTQyBlbmFibGVkIG9uIFBpcGUg JWNcbiIsIHBpcGVfbmFtZShwaXBlKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzMzIgY2h2 X3ByZXBhcmVfY3NjX2NvZWZmKHM2NCBjc2NfdmFsdWUpCiB7CiAJczMyIGNzY19pbnRfdmFsdWU7 CiAJdTMyIGNzY19mcmFjdF92YWx1ZTsKLQlzMTYgY3NjX3MzXzEyX2Zvcm1hdDsKKwlzMzIgY3Nj X3MzXzEyX2Zvcm1hdDsKIAogCWlmIChjc2NfdmFsdWUgPj0gMCkgewogCQljc2NfdmFsdWUgKz0g Q0hWX0NTQ19GUkFDVF9ST1VORE9GRjsKQEAgLTY1MCw2ICs3NTgsOCBAQCB2b2lkIGludGVsX2Nv bG9yX21hbmFnZXJfY3J0Y19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJLyogQ1ND IGNvcnJlY3Rpb24gKi8KIAkJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkKIAkJCXJldCA9IGNodl9z ZXRfY3NjKGRldiwgYmxvYiwgY3J0Yyk7CisJCWVsc2UgaWYgKElTX0JST0FEV0VMTChkZXYpIHx8 IElTX0dFTjkoZGV2KSkKKwkJCXJldCA9IGJkd19zZXRfY3NjKGRldiwgYmxvYiwgY3J0Yyk7CiAK IAkJaWYgKHJldCkKIAkJCURSTV9FUlJPUigic2V0IENTQyBjb3JyZWN0aW9uIGZhaWxlZFxuIik7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKaW5kZXggZTBjNDg2 ZS4uODUzYzczYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Jf bWFuYWdlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIu aApAQCAtOTAsNyArOTAsMTUgQEAKICNkZWZpbmUgQ0dNX0NTQ19FTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKDEgPDwgMSkKICNkZWZpbmUgQ0dNX0RFR0FNTUFfRU4gICAgICAgICAgICAg ICAgICAgICAgICAgKDEgPDwgMCkKIAotLyogR2FtbWEgb24gQkRXICovCisvKiBCRFcgQ1NDICov CisvKiAxLjAwMDAwMDAgaW4gUzMxLjMyIGZvcm1hdCAqLworI2RlZmluZSBCRFdfQ1NDX0NPRUZG X1VOSVRZX1ZBTAkweDEwMDAwMDAwMAorLyogMy45OTIxODc1IGluIFMzMS4zMiBmb3JtYXQgKi8K KyNkZWZpbmUgQkRXX0NTQ19DT0VGRl9NQVhfVkFMCTB4M0ZFMDAwMDAwCisvKi00LjAwMDAwMCBp biBTMzEuMzIgZm9ybWF0ICovCisjZGVmaW5lIEJEV19DU0NfQ09FRkZfTUlOX1ZBTAkweEZGRkZG RkZDMDAwMDAwMDAKKworLyogQkRXIEdhbW1hICovCiAjZGVmaW5lIEJEV19TUExJVEdBTU1BX01B WF9WQUxTICAgICAgICAgICAgICAgIDUxMgogI2RlZmluZSBCRFdfOEJJVF9HQU1NQV9NQVhfVkFM UwkJMjU2CiAjZGVmaW5lIEJEV18xMEJJVF9HQU1NQV9NQVhfVkFMUwkJMTAyNApAQCAtOTksNSAr MTA3LDUgQEAKICNkZWZpbmUgQkRXX0lOREVYX0FVVE9fSU5DUkVNRU5UICAgICAgICAgICAgICAg KDEgPDwgMTUpCiAjZGVmaW5lIEJEV19JTkRFWF9TUExJVF9NT0RFICAgICAgICAgICAgICAgICAg ICgxIDw8IDMxKQogCi0vKiBEZWdhbW1hIG9uIEJEVyAqLworLyogQkRXIERlZ2FtbWEqLwogI2Rl ZmluZSBCRFdfREVHQU1NQV9NQVhfVkFMUyAgICAgICAgICAgICAgICAgICA1MTIKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=