From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v2 2/4] drm/i915: Read Vprime thrice incase of mismatch Date: Thu, 29 Mar 2018 19:39:06 +0530 Message-ID: <1522332548-15370-3-git-send-email-ramalingam.c@intel.com> References: <1522332548-15370-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1522332548-15370-1-git-send-email-ramalingam.c@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, dri-devel@lists.freedesktop.org, seanpaul@chromium.org Cc: rodrigo.vivi@intel.com List-Id: intel-gfx@lists.freedesktop.org SW4gY2FzZSBvZiBWIHByaW1lIG1pc21hdGNoLCBEUCBIRENQIHNwZWMgbWFuZGF0ZXMgdGhlIHJl LXJlYWQgb2YKVnByaW1lIGF0bGVhc3QgdHdpY2UuCgpUaGlzIHBhdGNoIG5lZWRlZCBmb3IgRFAg SERDUDEuNCBDVFMgVGVzdDogMUItMDUuCgp2MjoKICBNb3ZlZCB0aGUgVicgdmFsaWRhdGlvbiBp bnRvIGEgZnVuY3Rpb24gZm9yIHJldHJ5LiBbU2VhbiBQYXVsXQoKU2lnbmVkLW9mZi1ieTogUmFt YWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2hkY3AuYyB8IDExMyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwppbmRleCA5NmI5MDI1ZGM3NTkuLmY3N2Q5NTZiMmIx OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwpAQCAtMTQyLDUzICsxNDIsMTcgQEAgYm9v bCBpbnRlbF9oZGNwX2lzX2tzdl92YWxpZCh1OCAqa3N2KQogCXJldHVybiB0cnVlOwogfQogCi0v KiBJbXBsZW1lbnRzIFBhcnQgMiBvZiB0aGUgSERDUCBhdXRob3JpemF0aW9uIHByb2NlZHVyZSAq Lwotc3RhdGljCi1pbnQgaW50ZWxfaGRjcF9hdXRoX2Rvd25zdHJlYW0oc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCi0JCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVs X2hkY3Bfc2hpbSAqc2hpbSkKK3N0YXRpYyBpbmxpbmUKK2ludCBpbnRlbF9oZGNwX3ZhbGlkYXRl X3ZfcHJpbWUoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCisJCQkJ Y29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSwKKwkJCQl1OCAqa3N2X2ZpZm8sIHU4 IG51bV9kb3duc3RyZWFtLCB1OCAqYnN0YXR1cykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXY7CiAJdTMyIHZwcmltZSwgc2hhX3RleHQsIHNoYV9sZWZ0b3ZlcnMsIHJlcF9j dGw7Ci0JdTggYnN0YXR1c1syXSwgbnVtX2Rvd25zdHJlYW0sICprc3ZfZmlmbzsKIAlpbnQgcmV0 LCBpLCBqLCBzaGFfaWR4OwogCiAJZGV2X3ByaXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNl LmRldi0+ZGV2X3ByaXZhdGU7CiAKLQlyZXQgPSBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oaW50 ZWxfZGlnX3BvcnQsIHNoaW0pOwotCWlmIChyZXQpIHsKLQkJRFJNX0VSUk9SKCJLU1YgbGlzdCBm YWlsZWQgdG8gYmVjb21lIHJlYWR5ICglZClcbiIsIHJldCk7Ci0JCXJldHVybiByZXQ7Ci0JfQot Ci0JcmV0ID0gc2hpbS0+cmVhZF9ic3RhdHVzKGludGVsX2RpZ19wb3J0LCBic3RhdHVzKTsKLQlp ZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0JaWYgKERSTV9IRENQX01BWF9ERVZJQ0VfRVhDRUVE RUQoYnN0YXR1c1swXSkgfHwKLQkgICAgRFJNX0hEQ1BfTUFYX0NBU0NBREVfRVhDRUVERUQoYnN0 YXR1c1sxXSkpIHsKLQkJRFJNX0VSUk9SKCJNYXggVG9wb2xvZ3kgTGltaXQgRXhjZWVkZWRcbiIp OwotCQlyZXR1cm4gLUVQRVJNOwotCX0KLQotCS8qCi0JICogV2hlbiByZXBlYXRlciByZXBvcnRz IDAgZGV2aWNlIGNvdW50LCBIRENQMS40IHNwZWMgYWxsb3dzIGRpc2FibGluZwotCSAqIHRoZSBI RENQIGVuY3J5cHRpb24uIFRoYXQgaW1wbGllcyB0aGF0IHJlcGVhdGVyIGNhbid0IGhhdmUgaXRz IG93bgotCSAqIGRpc3BsYXkuIEFzIHRoZXJlIGlzIG5vIGNvbnN1bXB0aW9uIG9mIGVuY3J5cHRl ZCBjb250ZW50IGluIHRoZQotCSAqIHJlcGVhdGVyIHdpdGggMCBkb3duc3RyZWFtIGRldmljZXMs IHdlIGFyZSBmYWlsaW5nIHRoZQotCSAqIGF1dGhlbnRpY2F0aW9uLgotCSAqLwotCW51bV9kb3du c3RyZWFtID0gRFJNX0hEQ1BfTlVNX0RPV05TVFJFQU0oYnN0YXR1c1swXSk7Ci0JaWYgKG51bV9k b3duc3RyZWFtID09IDApCi0JCXJldHVybiAtRUlOVkFMOwotCi0Ja3N2X2ZpZm8gPSBremFsbG9j KG51bV9kb3duc3RyZWFtICogRFJNX0hEQ1BfS1NWX0xFTiwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFr c3ZfZmlmbykKLQkJcmV0dXJuIC1FTk9NRU07Ci0KLQlyZXQgPSBzaGltLT5yZWFkX2tzdl9maWZv KGludGVsX2RpZ19wb3J0LCBudW1fZG93bnN0cmVhbSwga3N2X2ZpZm8pOwotCWlmIChyZXQpCi0J CXJldHVybiByZXQ7Ci0KIAkvKiBQcm9jZXNzIFYnIHZhbHVlcyBmcm9tIHRoZSByZWNlaXZlciAq LwogCWZvciAoaSA9IDA7IGkgPCBEUk1fSERDUF9WX1BSSU1FX05VTV9QQVJUUzsgaSsrKSB7CiAJ CXJldCA9IHNoaW0tPnJlYWRfdl9wcmltZV9wYXJ0KGludGVsX2RpZ19wb3J0LCBpLCAmdnByaW1l KTsKQEAgLTM1Myw3ICszMTcsNyBAQCBpbnQgaW50ZWxfaGRjcF9hdXRoX2Rvd25zdHJlYW0oc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiAJCQlyZXR1cm4gcmV0Owog CQlzaGFfaWR4ICs9IHNpemVvZihzaGFfdGV4dCk7CiAJfSBlbHNlIHsKLQkJRFJNX0VSUk9SKCJJ bnZhbGlkIG51bWJlciBvZiBsZWZ0b3ZlcnMgJWRcbiIsIHNoYV9sZWZ0b3ZlcnMpOworCQlEUk1f REVCVUcoIkludmFsaWQgbnVtYmVyIG9mIGxlZnRvdmVycyAlZFxuIiwgc2hhX2xlZnRvdmVycyk7 CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIApAQCAtMzgxLDE0ICszNDUsNzcgQEAgaW50IGludGVs X2hkY3BfYXV0aF9kb3duc3RyZWFtKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LAogCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgSERDUF9SRVBf Q1RMLAogCQkJCSAgICBIRENQX1NIQTFfQ09NUExFVEUsCiAJCQkJICAgIEhEQ1BfU0hBMV9DT01Q TEVURSwgMSkpIHsKLQkJRFJNX0VSUk9SKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgU0hBMSBjb21w bGV0ZVxuIik7CisJCURSTV9ERUJVRygiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFNIQTEgY29tcGxl dGVcbiIpOwogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAJaWYgKCEoSTkxNV9SRUFEKEhEQ1Bf UkVQX0NUTCkgJiBIRENQX1NIQTFfVl9NQVRDSCkpIHsKLQkJRFJNX0VSUk9SKCJTSEEtMSBtaXNt YXRjaCwgSERDUCBmYWlsZWRcbiIpOworCQlEUk1fREVCVUcoIlNIQS0xIG1pc21hdGNoLCBIRENQ IGZhaWxlZFxuIik7CiAJCXJldHVybiAtRU5YSU87CiAJfQogCisJcmV0dXJuIDA7Cit9CisKKy8q IEltcGxlbWVudHMgUGFydCAyIG9mIHRoZSBIRENQIGF1dGhvcml6YXRpb24gcHJvY2VkdXJlICov CitzdGF0aWMKK2ludCBpbnRlbF9oZGNwX2F1dGhfZG93bnN0cmVhbShzdHJ1Y3QgaW50ZWxfZGln aXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxf aGRjcF9zaGltICpzaGltKQoreworCXU4IGJzdGF0dXNbMl0sIG51bV9kb3duc3RyZWFtLCAqa3N2 X2ZpZm87CisJaW50IHJldCwgaSwgdHJpZXMgPSAzOworCisJcmV0ID0gaW50ZWxfaGRjcF9wb2xs X2tzdl9maWZvKGludGVsX2RpZ19wb3J0LCBzaGltKTsKKwlpZiAocmV0KSB7CisJCURSTV9FUlJP UigiS1NWIGxpc3QgZmFpbGVkIHRvIGJlY29tZSByZWFkeSAoJWQpXG4iLCByZXQpOworCQlyZXR1 cm4gcmV0OworCX0KKworCXJldCA9IHNoaW0tPnJlYWRfYnN0YXR1cyhpbnRlbF9kaWdfcG9ydCwg YnN0YXR1cyk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWlmIChEUk1fSERDUF9NQVhf REVWSUNFX0VYQ0VFREVEKGJzdGF0dXNbMF0pIHx8CisJICAgIERSTV9IRENQX01BWF9DQVNDQURF X0VYQ0VFREVEKGJzdGF0dXNbMV0pKSB7CisJCURSTV9FUlJPUigiTWF4IFRvcG9sb2d5IExpbWl0 IEV4Y2VlZGVkXG4iKTsKKwkJcmV0dXJuIC1FUEVSTTsKKwl9CisKKwkvKgorCSAqIFdoZW4gcmVw ZWF0ZXIgcmVwb3J0cyAwIGRldmljZSBjb3VudCwgSERDUDEuNCBzcGVjIGFsbG93cyBkaXNhYmxp bmcKKwkgKiB0aGUgSERDUCBlbmNyeXB0aW9uLiBUaGF0IGltcGxpZXMgdGhhdCByZXBlYXRlciBj YW4ndCBoYXZlIGl0cyBvd24KKwkgKiBkaXNwbGF5LiBBcyB0aGVyZSBpcyBubyBjb25zdW1wdGlv biBvZiBlbmNyeXB0ZWQgY29udGVudCBpbiB0aGUKKwkgKiByZXBlYXRlciB3aXRoIDAgZG93bnN0 cmVhbSBkZXZpY2VzLCB3ZSBhcmUgZmFpbGluZyB0aGUKKwkgKiBhdXRoZW50aWNhdGlvbi4KKwkg Ki8KKwludW1fZG93bnN0cmVhbSA9IERSTV9IRENQX05VTV9ET1dOU1RSRUFNKGJzdGF0dXNbMF0p OworCWlmIChudW1fZG93bnN0cmVhbSA9PSAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWtzdl9m aWZvID0ga3phbGxvYyhudW1fZG93bnN0cmVhbSAqIERSTV9IRENQX0tTVl9MRU4sIEdGUF9LRVJO RUwpOworCWlmICgha3N2X2ZpZm8pCisJCXJldHVybiAtRU5PTUVNOworCisJcmV0ID0gc2hpbS0+ cmVhZF9rc3ZfZmlmbyhpbnRlbF9kaWdfcG9ydCwgbnVtX2Rvd25zdHJlYW0sIGtzdl9maWZvKTsK KwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJLyoKKwkgKiBXaGVuIFYgcHJpbWUgbWlzbWF0 Y2hlcywgRFAgU3BlYyBtYW5kYXRlcyByZS1yZWFkIG9mCisJICogViBwcmltZSBhdGxlYXN0IHR3 aWNlLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCB0cmllczsgaSsrKSB7CisJCXJldCA9IGludGVs X2hkY3BfdmFsaWRhdGVfdl9wcmltZShpbnRlbF9kaWdfcG9ydCwgc2hpbSwKKwkJCQkJCSAga3N2 X2ZpZm8sIG51bV9kb3duc3RyZWFtLAorCQkJCQkJICBic3RhdHVzKTsKKwkJaWYgKCFyZXQpCisJ CQlicmVhazsKKwl9CisKKwlpZiAoaSA9PSB0cmllcykgeworCQlEUk1fRVJST1IoIlYgUHJpbWUg dmFsaWRhdGlvbiBmYWlsZWQuKCVkKVxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAlE Uk1fREVCVUdfS01TKCJIRENQIGlzIGVuYWJsZWQgKCVkIGRvd25zdHJlYW0gZGV2aWNlcylcbiIs CiAJCSAgICAgIG51bV9kb3duc3RyZWFtKTsKIAlyZXR1cm4gMDsKLS0gCjIuNy40CgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK