From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v6 2/2] drm/i915/gmbus: Enable burst read Date: Thu, 28 Jun 2018 18:18:34 +0530 Message-ID: <1530190114-4349-2-git-send-email-ramalingam.c@intel.com> References: <1530190114-4349-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: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B1876ED40 for ; Thu, 28 Jun 2018 12:57:43 +0000 (UTC) In-Reply-To: <1530190114-4349-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: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com Cc: rodrigo.vivi@intel.com List-Id: intel-gfx@lists.freedesktop.org U3VwcG9ydCBmb3IgQnVyc3QgcmVhZCBpbiBIVyBpcyBhZGRlZCBmb3IgSERDUDIuMiBjb21wbGlh bmNlCnJlcXVpcmVtZW50LgoKVGhpcyBwYXRjaCBlbmFibGVzIHRoZSBidXJzdCByZWFkIGZvciBh bGwgdGhlIGdtYnVzIHJlYWQgb2YgbW9yZSB0aGFuCjUxMUJ5dGVzLCBvbiBjYXBhYmxlIHBsYXRm b3Jtcy4KCnYyOgogIEV4dHJhIGxpbmUgaXMgcmVtb3ZlZC4KdjM6CiAgTWFjcm8gaXMgYWRkZWQg Zm9yIGRldGVjdGluZyB0aGUgQlVSU1RfUkVBRCBTdXBwb3J0IFtKYW5pXQogIFJ1bnRpbWUgZGV0 ZWN0aW9uIG9mIHRoZSBuZWVkIGZvciBidXJzdF9yZWFkIFtKYW5pXQogIENhbGN1bGF0aW9uIGVu aGFuY2VtZW50Lgp2NDoKICBHTUJVUzAgcmVnIHZhbCBpcyBwYXNzZWQgZnJvbSBjYWxsZXIgW3Zp bGxlXQogIFJlbW92ZWQgYSBleHRyYSB2YXIgW3ZpbGxlXQogIEV4dHJhIGJyYWNrZXRzIGFyZSBy ZW1vdmVkIFt2aWxsZV0KICBJbXBsZW1lbnRlZCB0aGUgaGFuZGxpbmcgb2YgNTEyQnl0ZXMgQnVy c3QgUmVhZC4KdjU6CiAgQnVyc3QgcmVhZCBtYXggbGVuZ3RoIGlzIGZpeGVkIGF0IDc2N0J5dGVz IFtWaWxsZV0KdjY6CiAgQ29sbGVjdGluZyB0aGUgcmVjZWl2ZWQgcmV2aWV3ZWQtYnkuCgpTaWdu ZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+ClJldmlld2Vk LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJj LmMgfCA2MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiAzIGZpbGVz IGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCmluZGV4IDJiNjg0ZjQzMWM2MC4uNzYzNmFmZDc4MzY4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKQEAgLTI1NzQsNiArMjU3NCw5IEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSBJU19TS0xfR1QzKGRldl9wcml2KSB8fCBJ U19TS0xfR1Q0KGRldl9wcml2KSkKIAogI2RlZmluZSBIQVNfR01CVVNfSVJRKGRldl9wcml2KSAo SU5URUxfR0VOKGRldl9wcml2KSA+PSA0KQorI2RlZmluZSBIQVNfR01CVVNfQlVSU1RfUkVBRChk ZXZfcHJpdikgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTAgfHwgXAorCQkJCQlJU19HRU1JTklM QUtFKGRldl9wcml2KSB8fCBcCisJCQkJCUlTX0tBQllMQUtFKGRldl9wcml2KSkKIAogLyogV2l0 aCB0aGUgOTQ1IGFuZCBsYXRlciwgWSB0aWxpbmcgZ290IGFkanVzdGVkIHNvIHRoYXQgaXQgd2Fz IDMyIDEyOC1ieXRlCiAgKiByb3dzLCB3aGljaCBjaGFuZ2VkIHRoZSBhbGlnbm1lbnQgcmVxdWly ZW1lbnRzIGFuZCBmZW5jZSBwcm9ncmFtbWluZy4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4 IDczNTNhZDQ0NzkzNi4uN2JmYzExYTY3NmIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAg LTMwNjQsNiArMzA2NCw3IEBAIGVudW0gaTkxNV9wb3dlcl93ZWxsX2lkIHsKICNkZWZpbmUgICBH TUJVU19SQVRFXzQwMEtIWgkoMiA8PCA4KSAvKiByZXNlcnZlZCBvbiBQaW5ldmlldyAqLwogI2Rl ZmluZSAgIEdNQlVTX1JBVEVfMU1IWgkoMyA8PCA4KSAvKiByZXNlcnZlZCBvbiBQaW5ldmlldyAq LwogI2RlZmluZSAgIEdNQlVTX0hPTERfRVhUCSgxIDw8IDcpIC8qIDMwMG5zIGhvbGQgdGltZSwg cnN2ZCBvbiBQaW5ldmlldyAqLworI2RlZmluZSAgIEdNQlVTX0JZVEVfQ05UX09WRVJSSURFICgx IDw8IDYpCiAjZGVmaW5lICAgR01CVVNfUElOX0RJU0FCTEVECTAKICNkZWZpbmUgICBHTUJVU19Q SU5fU1NDCQkxCiAjZGVmaW5lICAgR01CVVNfUElOX1ZHQUREQwkyCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2kyYy5jCmluZGV4IDgyYmI5YzMzYWIxYy4uYmVmMzJiN2MyNDhlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9pMmMuYwpAQCAtMzcxLDEyICszNzEsMjkgQEAgdW5zaWduZWQgaW50IGdtYnVzX21heF94 ZmVyX3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGljIGludAog Z21idXNfeGZlcl9yZWFkX2NodW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAkJICAgICAgdW5zaWduZWQgc2hvcnQgYWRkciwgdTggKmJ1ZiwgdW5zaWduZWQgaW50IGxlbiwK LQkJICAgICAgdTMyIGdtYnVzMV9pbmRleCkKKwkJICAgICAgdTMyIGdtYnVzMF9yZWcsIHUzMiBn bWJ1czFfaW5kZXgpCiB7CisJdW5zaWduZWQgaW50IHNpemUgPSBsZW47CisJYm9vbCBidXJzdF9y ZWFkID0gbGVuID4gZ21idXNfbWF4X3hmZXJfc2l6ZShkZXZfcHJpdik7CisJYm9vbCBleHRyYV9i eXRlX2FkZGVkID0gZmFsc2U7CisKKwlpZiAoYnVyc3RfcmVhZCkgeworCQkvKgorCQkgKiBBcyBw ZXIgSFcgU3BlYywgZm9yIDUxMkJ5dGVzIG5lZWQgdG8gcmVhZCBleHRyYSBCeXRlIGFuZAorCQkg KiBJZ25vcmUgdGhlIGV4dHJhIGJ5dGUgcmVhZC4KKwkJICovCisJCWlmIChsZW4gPT0gNTEyKSB7 CisJCQlleHRyYV9ieXRlX2FkZGVkID0gdHJ1ZTsKKwkJCWxlbisrOworCQl9CisJCXNpemUgPSBs ZW4gJSAyNTYgKyAyNTY7CisJCUk5MTVfV1JJVEVfRlcoR01CVVMwLCBnbWJ1czBfcmVnIHwgR01C VVNfQllURV9DTlRfT1ZFUlJJREUpOworCX0KKwogCUk5MTVfV1JJVEVfRlcoR01CVVMxLAogCQkg ICAgICBnbWJ1czFfaW5kZXggfAogCQkgICAgICBHTUJVU19DWUNMRV9XQUlUIHwKLQkJICAgICAg KGxlbiA8PCBHTUJVU19CWVRFX0NPVU5UX1NISUZUKSB8CisJCSAgICAgIChzaXplIDw8IEdNQlVT X0JZVEVfQ09VTlRfU0hJRlQpIHwKIAkJICAgICAgKGFkZHIgPDwgR01CVVNfU0xBVkVfQUREUl9T SElGVCkgfAogCQkgICAgICBHTUJVU19TTEFWRV9SRUFEIHwgR01CVVNfU1dfUkRZKTsKIAl3aGls ZSAobGVuKSB7CkBAIC0zODksMTcgKzQwNiwzNCBAQCBnbWJ1c194ZmVyX3JlYWRfY2h1bmsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJCXZhbCA9IEk5MTVfUkVBRF9GVyhH TUJVUzMpOwogCQlkbyB7CisJCQlpZiAoZXh0cmFfYnl0ZV9hZGRlZCAmJiBsZW4gPT0gMSkKKwkJ CQlicmVhazsKKwogCQkJKmJ1ZisrID0gdmFsICYgMHhmZjsKIAkJCXZhbCA+Pj0gODsKIAkJfSB3 aGlsZSAoLS1sZW4gJiYgKytsb29wIDwgNCk7CisKKwkJaWYgKGJ1cnN0X3JlYWQgJiYgbGVuID09 IHNpemUgLSA0KQorCQkJLyogUmVzZXQgdGhlIG92ZXJyaWRlIGJpdCAqLworCQkJSTkxNV9XUklU RV9GVyhHTUJVUzAsIGdtYnVzMF9yZWcpOwogCX0KIAogCXJldHVybiAwOwogfQogCisvKgorICog SFcgc3BlYyBzYXlzIHRoYXQgNTEyQnl0ZXMgaW4gQnVyc3QgcmVhZCBuZWVkIHNwZWNpYWwgdHJl YXRtZW50LgorICogQnV0IGl0IGRvZXNuJ3QgdGFsayBhYm91dCBvdGhlciBtdWx0aXBsZSBvZiAy NTZCeXRlcy4gQW5kIGNvdWxkbid0IGxvY2F0ZQorICogYW4gSTJDIHNsYXZlLCB3aGljaCBzdXBw b3J0cyBzdWNoIGEgbGVuZ3RoeSBidXJzdCByZWFkIHRvbyBmb3IgZXhwZXJpbWVudHMuCisgKgor ICogU28gdW50aWwgdGhpbmdzIGdldCBjbGFyaWZpZWQgb24gSFcgc3VwcG9ydCwgdG8gYXZvaWQg dGhlIGJ1cnN0IHJlYWQgbGVuZ3RoCisgKiBpbiBmb2xkIG9mIDI1NkJ5dGVzIGV4Y2VwdCA1MTIs IG1heCBidXJzdCByZWFkIGxlbmd0aCBpcyBmaXhlZCBhdCA3NjdCeXRlcy4KKyAqLworI2RlZmlu ZSBJTlRFTF9HTUJVU19CVVJTVF9SRUFEX01BWF9MRU4JCTc2N1UKKwogc3RhdGljIGludAogZ21i dXNfeGZlcl9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGky Y19tc2cgKm1zZywKLQkJdTMyIGdtYnVzMV9pbmRleCkKKwkJdTMyIGdtYnVzMF9yZWcsIHUzMiBn bWJ1czFfaW5kZXgpCiB7CiAJdTggKmJ1ZiA9IG1zZy0+YnVmOwogCXVuc2lnbmVkIGludCByeF9z aXplID0gbXNnLT5sZW47CkBAIC00MDcsMTAgKzQ0MSwxMyBAQCBnbWJ1c194ZmVyX3JlYWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3QgaTJjX21zZyAqbXNnLAogCWlu dCByZXQ7CiAKIAlkbyB7Ci0JCWxlbiA9IG1pbihyeF9zaXplLCBnbWJ1c19tYXhfeGZlcl9zaXpl KGRldl9wcml2KSk7CisJCWlmIChIQVNfR01CVVNfQlVSU1RfUkVBRChkZXZfcHJpdikpCisJCQls ZW4gPSBtaW4ocnhfc2l6ZSwgSU5URUxfR01CVVNfQlVSU1RfUkVBRF9NQVhfTEVOKTsKKwkJZWxz ZQorCQkJbGVuID0gbWluKHJ4X3NpemUsIGdtYnVzX21heF94ZmVyX3NpemUoZGV2X3ByaXYpKTsK IAotCQlyZXQgPSBnbWJ1c194ZmVyX3JlYWRfY2h1bmsoZGV2X3ByaXYsIG1zZy0+YWRkciwKLQkJ CQkJICAgIGJ1ZiwgbGVuLCBnbWJ1czFfaW5kZXgpOworCQlyZXQgPSBnbWJ1c194ZmVyX3JlYWRf Y2h1bmsoZGV2X3ByaXYsIG1zZy0+YWRkciwgYnVmLCBsZW4sCisJCQkJCSAgICBnbWJ1czBfcmVn LCBnbWJ1czFfaW5kZXgpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIApAQCAtNDk4LDcg KzUzNSw4IEBAIGdtYnVzX2lzX2luZGV4X3hmZXIoc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBp LCBpbnQgbnVtKQogfQogCiBzdGF0aWMgaW50Ci1nbWJ1c19pbmRleF94ZmVyKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGkyY19tc2cgKm1zZ3MpCitnbWJ1c19pbmRl eF94ZmVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGkyY19tc2cg Km1zZ3MsCisJCSB1MzIgZ21idXMwX3JlZykKIHsKIAl1MzIgZ21idXMxX2luZGV4ID0gMDsKIAl1 MzIgZ21idXM1ID0gMDsKQEAgLTUxNiw3ICs1NTQsOCBAQCBnbWJ1c19pbmRleF94ZmVyKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGkyY19tc2cgKm1zZ3MpCiAJCUk5 MTVfV1JJVEVfRlcoR01CVVM1LCBnbWJ1czUpOwogCiAJaWYgKG1zZ3NbMV0uZmxhZ3MgJiBJMkNf TV9SRCkKLQkJcmV0ID0gZ21idXNfeGZlcl9yZWFkKGRldl9wcml2LCAmbXNnc1sxXSwgZ21idXMx X2luZGV4KTsKKwkJcmV0ID0gZ21idXNfeGZlcl9yZWFkKGRldl9wcml2LCAmbXNnc1sxXSwgZ21i dXMwX3JlZywKKwkJCQkgICAgICBnbWJ1czFfaW5kZXgpOwogCWVsc2UKIAkJcmV0ID0gZ21idXNf eGZlcl93cml0ZShkZXZfcHJpdiwgJm1zZ3NbMV0sIGdtYnVzMV9pbmRleCk7CiAKQEAgLTU1MSwx MCArNTkwLDEyIEBAIGRvX2dtYnVzX3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBz dHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSwKIAlmb3IgKDsgaSA8IG51bTsgaSArPSBpbmMp IHsKIAkJaW5jID0gMTsKIAkJaWYgKGdtYnVzX2lzX2luZGV4X3hmZXIobXNncywgaSwgbnVtKSkg ewotCQkJcmV0ID0gZ21idXNfaW5kZXhfeGZlcihkZXZfcHJpdiwgJm1zZ3NbaV0pOworCQkJcmV0 ID0gZ21idXNfaW5kZXhfeGZlcihkZXZfcHJpdiwgJm1zZ3NbaV0sCisJCQkJCSAgICAgICBnbWJ1 czBfc291cmNlIHwgYnVzLT5yZWcwKTsKIAkJCWluYyA9IDI7IC8qIGFuIGluZGV4IHRyYW5zbWlz c2lvbiBpcyB0d28gbXNncyAqLwogCQl9IGVsc2UgaWYgKG1zZ3NbaV0uZmxhZ3MgJiBJMkNfTV9S RCkgewotCQkJcmV0ID0gZ21idXNfeGZlcl9yZWFkKGRldl9wcml2LCAmbXNnc1tpXSwgMCk7CisJ CQlyZXQgPSBnbWJ1c194ZmVyX3JlYWQoZGV2X3ByaXYsICZtc2dzW2ldLAorCQkJCQkgICAgICBn bWJ1czBfc291cmNlIHwgYnVzLT5yZWcwLCAwKTsKIAkJfSBlbHNlIHsKIAkJCXJldCA9IGdtYnVz X3hmZXJfd3JpdGUoZGV2X3ByaXYsICZtc2dzW2ldLCAwKTsKIAkJfQotLSAKMi43LjQKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=