From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v2] drm/i915: read Vprime thrice incase of mismatch Date: Tue, 27 Feb 2018 18:02:15 +0530 Message-ID: <1519734735-10955-1-git-send-email-ramalingam.c@intel.com> References: <1519665159-28639-3-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: <1519665159-28639-3-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 LXJlYWQgb2YKVnByaW1lIGF0bGVhc3QgdHdpY2UuCgpGaXhlcyBEUCBIRENQIENUUyBUZXN0OiAx Qi0wNQoKdjI6CiAgTW92ZWQgdGhlIFYnIHZhbGlkYXRpb24gaW50byBhIGZ1bmN0aW9uIGZvciBy ZXRyeS4gW1NlYW4gUGF1bF0KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdh bS5jQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgfCAx MTMgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA3MCBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZGNwLmMKaW5kZXggNzMwNjgxZDJkYmZiLi4zYTAyNDYzZDJiN2EgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZGNwLmMKQEAgLTE0Miw1MyArMTQyLDE3IEBAIGJvb2wgaW50ZWxfaGRjcF9pc19rc3Zf dmFsaWQodTggKmtzdikKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotLyogSW1wbGVtZW50cyBQYXJ0IDIg b2YgdGhlIEhEQ1AgYXV0aG9yaXphdGlvbiBwcm9jZWR1cmUgKi8KLXN0YXRpYwotaW50IGludGVs X2hkY3BfYXV0aF9kb3duc3RyZWFtKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0LAotCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0pCitz dGF0aWMgaW5saW5lCitpbnQgaW50ZWxfaGRjcF92YWxpZGF0ZV92X3ByaW1lKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAorCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9o ZGNwX3NoaW0gKnNoaW0sCisJCQkJdTggKmtzdl9maWZvLCB1OCBudW1fZG93bnN0cmVhbSwgdTgg KmJzdGF0dXMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2OwogCXUzMiB2 cHJpbWUsIHNoYV90ZXh0LCBzaGFfbGVmdG92ZXJzLCByZXBfY3RsOwotCXU4IGJzdGF0dXNbMl0s IG51bV9kb3duc3RyZWFtLCAqa3N2X2ZpZm87CiAJaW50IHJldCwgaSwgaiwgc2hhX2lkeDsKIAog CWRldl9wcml2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYtPmRldl9wcml2YXRlOwog Ci0JcmV0ID0gaW50ZWxfaGRjcF9wb2xsX2tzdl9maWZvKGludGVsX2RpZ19wb3J0LCBzaGltKTsK LQlpZiAocmV0KSB7Ci0JCURSTV9FUlJPUigiS1NWIGxpc3QgZmFpbGVkIHRvIGJlY29tZSByZWFk eSAoJWQpXG4iLCByZXQpOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCXJldCA9IHNoaW0tPnJlYWRf YnN0YXR1cyhpbnRlbF9kaWdfcG9ydCwgYnN0YXR1cyk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJl dDsKLQotCWlmIChEUk1fSERDUF9NQVhfREVWSUNFX0VYQ0VFREVEKGJzdGF0dXNbMF0pIHx8Ci0J ICAgIERSTV9IRENQX01BWF9DQVNDQURFX0VYQ0VFREVEKGJzdGF0dXNbMV0pKSB7Ci0JCURSTV9F UlJPUigiTWF4IFRvcG9sb2d5IExpbWl0IEV4Y2VlZGVkXG4iKTsKLQkJcmV0dXJuIC1FUEVSTTsK LQl9Ci0KLQkvKgotCSAqIFdoZW4gcmVwZWF0ZXIgcmVwb3J0cyAwIGRldmljZSBjb3VudCwgSERD UDEuNCBzcGVjIGFsbG93cyBkaXNhYmxpbmcKLQkgKiB0aGUgSERDUCBlbmNyeXB0aW9uLiBUaGF0 IGltcGxpZXMgdGhhdCByZXBlYXRlciBjYW4ndCBoYXZlIGl0cyBvd24KLQkgKiBkaXNwbGF5LiBB cyB0aGVyZSBpcyBubyBjb25zdW1wdGlvbiBvZiBlbmNyeXB0ZWQgY29udGVudCBpbiB0aGUKLQkg KiByZXBlYXRlciB3aXRoIDAgZG93bnN0cmVhbSBkZXZpY2VzLCB3ZSBhcmUgZmFpbGluZyB0aGUK LQkgKiBhdXRoZW50aWNhdGlvbi4KLQkgKi8KLQludW1fZG93bnN0cmVhbSA9IERSTV9IRENQX05V TV9ET1dOU1RSRUFNKGJzdGF0dXNbMF0pOwotCWlmIChudW1fZG93bnN0cmVhbSA9PSAwKQotCQly ZXR1cm4gLUVJTlZBTDsKLQotCWtzdl9maWZvID0ga3phbGxvYyhudW1fZG93bnN0cmVhbSAqIERS TV9IRENQX0tTVl9MRU4sIEdGUF9LRVJORUwpOwotCWlmICgha3N2X2ZpZm8pCi0JCXJldHVybiAt RU5PTUVNOwotCi0JcmV0ID0gc2hpbS0+cmVhZF9rc3ZfZmlmbyhpbnRlbF9kaWdfcG9ydCwgbnVt X2Rvd25zdHJlYW0sIGtzdl9maWZvKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCiAJLyog UHJvY2VzcyBWJyB2YWx1ZXMgZnJvbSB0aGUgcmVjZWl2ZXIgKi8KIAlmb3IgKGkgPSAwOyBpIDwg RFJNX0hEQ1BfVl9QUklNRV9OVU1fUEFSVFM7IGkrKykgewogCQlyZXQgPSBzaGltLT5yZWFkX3Zf cHJpbWVfcGFydChpbnRlbF9kaWdfcG9ydCwgaSwgJnZwcmltZSk7CkBAIC0zNTMsNyArMzE3LDcg QEAgaW50IGludGVsX2hkY3BfYXV0aF9kb3duc3RyZWFtKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0LAogCQkJcmV0dXJuIHJldDsKIAkJc2hhX2lkeCArPSBzaXplb2Yo c2hhX3RleHQpOwogCX0gZWxzZSB7Ci0JCURSTV9FUlJPUigiSW52YWxpZCBudW1iZXIgb2YgbGVm dG92ZXJzICVkXG4iLCBzaGFfbGVmdG92ZXJzKTsKKwkJRFJNX0RFQlVHKCJJbnZhbGlkIG51bWJl ciBvZiBsZWZ0b3ZlcnMgJWRcbiIsIHNoYV9sZWZ0b3ZlcnMpOwogCQlyZXR1cm4gLUVJTlZBTDsK IAl9CiAKQEAgLTM4MSwxNCArMzQ1LDc3IEBAIGludCBpbnRlbF9oZGNwX2F1dGhfZG93bnN0cmVh bShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKIAlpZiAoaW50ZWxf d2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIEhEQ1BfUkVQX0NUTCwKIAkJCQkgICAgSERDUF9T SEExX0NPTVBMRVRFLAogCQkJCSAgICBIRENQX1NIQTFfQ09NUExFVEUsIDEpKSB7Ci0JCURSTV9F UlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIFNIQTEgY29tcGxldGVcbiIpOworCQlEUk1fREVC VUcoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBTSEExIGNvbXBsZXRlXG4iKTsKIAkJcmV0dXJuIC1F VElNRURPVVQ7CiAJfQogCWlmICghKEk5MTVfUkVBRChIRENQX1JFUF9DVEwpICYgSERDUF9TSEEx X1ZfTUFUQ0gpKSB7Ci0JCURSTV9FUlJPUigiU0hBLTEgbWlzbWF0Y2gsIEhEQ1AgZmFpbGVkXG4i KTsKKwkJRFJNX0RFQlVHKCJTSEEtMSBtaXNtYXRjaCwgSERDUCBmYWlsZWRcbiIpOwogCQlyZXR1 cm4gLUVOWElPOwogCX0KIAorCXJldHVybiAwOworfQorCisvKiBJbXBsZW1lbnRzIFBhcnQgMiBv ZiB0aGUgSERDUCBhdXRob3JpemF0aW9uIHByb2NlZHVyZSAqLworc3RhdGljCitpbnQgaW50ZWxf aGRjcF9hdXRoX2Rvd25zdHJlYW0oc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSkKK3sK Kwl1OCBic3RhdHVzWzJdLCBudW1fZG93bnN0cmVhbSwgKmtzdl9maWZvOworCWludCByZXQsIGks IHRyaWVzID0gMzsKKworCXJldCA9IGludGVsX2hkY3BfcG9sbF9rc3ZfZmlmbyhpbnRlbF9kaWdf cG9ydCwgc2hpbSk7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIktTViBsaXN0IGZhaWxlZCB0 byBiZWNvbWUgcmVhZHkgKCVkKVxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQg PSBzaGltLT5yZWFkX2JzdGF0dXMoaW50ZWxfZGlnX3BvcnQsIGJzdGF0dXMpOworCWlmIChyZXQp CisJCXJldHVybiByZXQ7CisKKwlpZiAoRFJNX0hEQ1BfTUFYX0RFVklDRV9FWENFRURFRChic3Rh dHVzWzBdKSB8fAorCSAgICBEUk1fSERDUF9NQVhfQ0FTQ0FERV9FWENFRURFRChic3RhdHVzWzFd KSkgeworCQlEUk1fRVJST1IoIk1heCBUb3BvbG9neSBMaW1pdCBFeGNlZWRlZFxuIik7CisJCXJl dHVybiAtRVBFUk07CisJfQorCisJLyoKKwkgKiBXaGVuIHJlcGVhdGVyIHJlcG9ydHMgMCBkZXZp Y2UgY291bnQsIEhEQ1AxLjQgc3BlYyBhbGxvd3MgZGlzYWJsaW5nCisJICogdGhlIEhEQ1AgZW5j cnlwdGlvbi4gVGhhdCBpbXBsaWVzIHRoYXQgcmVwZWF0ZXIgY2FuJ3QgaGF2ZSBpdHMgb3duCisJ ICogZGlzcGxheS4gQXMgdGhlcmUgaXMgbm8gY29uc3VtcHRpb24gb2YgZW5jcnlwdGVkIGNvbnRl bnQgaW4gdGhlCisJICogcmVwZWF0ZXIgd2l0aCAwIGRvd25zdHJlYW0gZGV2aWNlcywgd2UgYXJl IGZhaWxpbmcgdGhlCisJICogYXV0aGVudGljYXRpb24uCisJICovCisJbnVtX2Rvd25zdHJlYW0g PSBEUk1fSERDUF9OVU1fRE9XTlNUUkVBTShic3RhdHVzWzBdKTsKKwlpZiAobnVtX2Rvd25zdHJl YW0gPT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlrc3ZfZmlmbyA9IGt6YWxsb2MobnVtX2Rv d25zdHJlYW0gKiBEUk1fSERDUF9LU1ZfTEVOLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWtzdl9maWZv KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJldCA9IHNoaW0tPnJlYWRfa3N2X2ZpZm8oaW50ZWxf ZGlnX3BvcnQsIG51bV9kb3duc3RyZWFtLCBrc3ZfZmlmbyk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKworCS8qCisJICogV2hlbiBWIHByaW1lIG1pc21hdGNoZXMsIERQIFNwZWMgbWFuZGF0 ZXMgcmUtcmVhZCBvZgorCSAqIFYgcHJpbWUgYXRsZWFzdCB0d2ljZS4KKwkgKi8KKwlmb3IgKGkg PSAwOyBpIDwgdHJpZXM7IGkrKykgeworCQlyZXQgPSBpbnRlbF9oZGNwX3ZhbGlkYXRlX3ZfcHJp bWUoaW50ZWxfZGlnX3BvcnQsIHNoaW0sCisJCQkJCQkgIGtzdl9maWZvLCBudW1fZG93bnN0cmVh bSwKKwkJCQkJCSAgYnN0YXR1cyk7CisJCWlmICghcmV0KQorCQkJYnJlYWs7CisJfQorCisJaWYg KGkgPT0gdHJpZXMpIHsKKwkJRFJNX0VSUk9SKCJWIFByaW1lIHZhbGlkYXRpb24gZmFpbGVkLigl ZClcbiIsIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCiAJRFJNX0RFQlVHX0tNUygiSERDUCBp cyBlbmFibGVkICglZCBkb3duc3RyZWFtIGRldmljZXMpXG4iLAogCQkgICAgICBudW1fZG93bnN0 cmVhbSk7CiAJcmV0dXJuIDA7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==