From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v5 22/40] drm/i915/gmbus: Enable burst read Date: Wed, 27 Jun 2018 14:10:11 +0530 Message-ID: <1530088829-11730-23-git-send-email-ramalingam.c@intel.com> References: <1530088829-11730-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: <1530088829-11730-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, daniel@ffwll.ch, tomas.winkler@intel.com, alexander.usyskin@intel.com, uma.shankar@intel.com List-Id: dri-devel@lists.freedesktop.org U3VwcG9ydCBmb3IgQnVyc3QgcmVhZCBpbiBIVyBpcyBhZGRlZCBmb3IgSERDUDIuMiBjb21wbGlh bmNlCnJlcXVpcmVtZW50LgoKVGhpcyBwYXRjaCBlbmFibGVzIHRoZSBidXJzdCByZWFkIGZvciBh bGwgdGhlIGdtYnVzIHJlYWQgb2YgbW9yZSB0aGFuCjUxMUJ5dGVzLCBvbiBjYXBhYmxlIHBsYXRm b3Jtcy4KCnYyOgogIEV4dHJhIGxpbmUgaXMgcmVtb3ZlZC4KdjM6CiAgTWFjcm8gaXMgYWRkZWQg Zm9yIGRldGVjdGluZyB0aGUgQlVSU1RfUkVBRCBTdXBwb3J0IFtKYW5pXQogIFJ1bnRpbWUgZGV0 ZWN0aW9uIG9mIHRoZSBuZWVkIGZvciBidXJzdF9yZWFkIFtKYW5pXQogIENhbGN1bGF0aW9uIGVu aGFuY2VtZW50Lgp2NDoKICBHTUJVUzAgcmVnIHZhbCBpcyBwYXNzZWQgZnJvbSBjYWxsZXIgW3Zp bGxlXQogIFJlbW92ZWQgYSBleHRyYSB2YXIgW3ZpbGxlXQogIEV4dHJhIGJyYWNrZXRzIGFyZSBy ZW1vdmVkIFt2aWxsZV0KICBJbXBsZW1lbnRlZCB0aGUgaGFuZGxpbmcgb2YgNTEyQnl0ZXMgQnVy c3QgUmVhZC4KdjU6CiAgQnVyc3QgcmVhZCBtYXggbGVuZ3RoIGlzIGZpeGVkIGF0IDc2N0J5dGVz IFtWaWxsZV0KdjY6CiAgTm8gQ2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBDIDxy YW1hbGluZ2FtLmNAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMgfCA2MiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDEw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDBlNmZlMTQwZGM2My4u NjUzMjNmNjFlNTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI1ODQsNiArMjU4NCw5 IEBAIGludGVsX2luZm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CSBJU19TS0xfR1QzKGRldl9wcml2KSB8fCBJU19TS0xfR1Q0KGRldl9wcml2KSkKIAogI2RlZmlu ZSBIQVNfR01CVVNfSVJRKGRldl9wcml2KSAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA0KQorI2Rl ZmluZSBIQVNfR01CVVNfQlVSU1RfUkVBRChkZXZfcHJpdikgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gMTAgfHwgXAorCQkJCQlJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fCBcCisJCQkJCUlTX0tB QllMQUtFKGRldl9wcml2KSkKIAogLyogV2l0aCB0aGUgOTQ1IGFuZCBsYXRlciwgWSB0aWxpbmcg Z290IGFkanVzdGVkIHNvIHRoYXQgaXQgd2FzIDMyIDEyOC1ieXRlCiAgKiByb3dzLCB3aGljaCBj aGFuZ2VkIHRoZSBhbGlnbm1lbnQgcmVxdWlyZW1lbnRzIGFuZCBmZW5jZSBwcm9ncmFtbWluZy4K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDkxZDQyYjNlMzlhZC4uMTM4NjM1NmJjZmM0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTMwMjAsNiArMzAyMCw3IEBAIGVudW0gaTkxNV9w b3dlcl93ZWxsX2lkIHsKICNkZWZpbmUgICBHTUJVU19SQVRFXzQwMEtIWgkoMiA8PCA4KSAvKiBy ZXNlcnZlZCBvbiBQaW5ldmlldyAqLwogI2RlZmluZSAgIEdNQlVTX1JBVEVfMU1IWgkoMyA8PCA4 KSAvKiByZXNlcnZlZCBvbiBQaW5ldmlldyAqLwogI2RlZmluZSAgIEdNQlVTX0hPTERfRVhUCSgx IDw8IDcpIC8qIDMwMG5zIGhvbGQgdGltZSwgcnN2ZCBvbiBQaW5ldmlldyAqLworI2RlZmluZSAg IEdNQlVTX0JZVEVfQ05UX09WRVJSSURFICgxIDw8IDYpCiAjZGVmaW5lICAgR01CVVNfUElOX0RJ U0FCTEVECTAKICNkZWZpbmUgICBHTUJVU19QSU5fU1NDCQkxCiAjZGVmaW5lICAgR01CVVNfUElO X1ZHQUREQwkyCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2kyYy5jCmluZGV4IDgyYmI5YzMzYWIxYy4uMzk1 Nzk4OGU0NmQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYwpAQCAtMzcxLDEyICszNzEsMzAg QEAgdW5zaWduZWQgaW50IGdtYnVzX21heF94ZmVyX3NpemUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogc3RhdGljIGludAogZ21idXNfeGZlcl9yZWFkX2NodW5rKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJICAgICAgdW5zaWduZWQgc2hvcnQgYWRkciwg dTggKmJ1ZiwgdW5zaWduZWQgaW50IGxlbiwKLQkJICAgICAgdTMyIGdtYnVzMV9pbmRleCkKKwkJ ICAgICAgdTMyIGdtYnVzMF9yZWcsIHUzMiBnbWJ1czFfaW5kZXgpCiB7CisJdW5zaWduZWQgaW50 IHNpemUgPSBsZW47CisJYm9vbCBidXJzdF9yZWFkID0gbGVuID4gZ21idXNfbWF4X3hmZXJfc2l6 ZShkZXZfcHJpdik7CisJYm9vbCBleHRyYV9ieXRlX2FkZGVkID0gZmFsc2U7CisKKwlpZiAoYnVy c3RfcmVhZCkgeworCisJCS8qCisJCSAqIEFzIHBlciBIVyBTcGVjLCBmb3IgNTEyQnl0ZXMgbmVl ZCB0byByZWFkIGV4dHJhIEJ5dGUgYW5kCisJCSAqIElnbm9yZSB0aGUgZXh0cmEgYnl0ZSByZWFk LgorCQkgKi8KKwkJaWYgKGxlbiA9PSA1MTIpIHsKKwkJCWV4dHJhX2J5dGVfYWRkZWQgPSB0cnVl OworCQkJbGVuKys7CisJCX0KKwkJc2l6ZSA9IGxlbiAlIDI1NiArIDI1NjsKKwkJSTkxNV9XUklU RV9GVyhHTUJVUzAsIGdtYnVzMF9yZWcgfCBHTUJVU19CWVRFX0NOVF9PVkVSUklERSk7CisJfQor CiAJSTkxNV9XUklURV9GVyhHTUJVUzEsCiAJCSAgICAgIGdtYnVzMV9pbmRleCB8CiAJCSAgICAg IEdNQlVTX0NZQ0xFX1dBSVQgfAotCQkgICAgICAobGVuIDw8IEdNQlVTX0JZVEVfQ09VTlRfU0hJ RlQpIHwKKwkJICAgICAgKHNpemUgPDwgR01CVVNfQllURV9DT1VOVF9TSElGVCkgfAogCQkgICAg ICAoYWRkciA8PCBHTUJVU19TTEFWRV9BRERSX1NISUZUKSB8CiAJCSAgICAgIEdNQlVTX1NMQVZF X1JFQUQgfCBHTUJVU19TV19SRFkpOwogCXdoaWxlIChsZW4pIHsKQEAgLTM4OSwxNyArNDA3LDM0 IEBAIGdtYnVzX3hmZXJfcmVhZF9jaHVuayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAKIAkJdmFsID0gSTkxNV9SRUFEX0ZXKEdNQlVTMyk7CiAJCWRvIHsKKwkJCWlmIChleHRy YV9ieXRlX2FkZGVkICYmIGxlbiA9PSAxKQorCQkJCWJyZWFrOworCiAJCQkqYnVmKysgPSB2YWwg JiAweGZmOwogCQkJdmFsID4+PSA4OwogCQl9IHdoaWxlICgtLWxlbiAmJiArK2xvb3AgPCA0KTsK KworCQlpZiAoYnVyc3RfcmVhZCAmJiBsZW4gPT0gc2l6ZSAtIDQpCisJCQkvKiBSZXNldCB0aGUg b3ZlcnJpZGUgYml0ICovCisJCQlJOTE1X1dSSVRFX0ZXKEdNQlVTMCwgZ21idXMwX3JlZyk7CiAJ fQogCiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBIVyBzcGVjIHNheXMgdGhhdCA1MTJCeXRlcyBp biBCdXJzdCByZWFkIG5lZWQgc3BlY2lhbCB0cmVhdG1lbnQuCisgKiBCdXQgaXQgZG9lc24ndCB0 YWxrIGFib3V0IG90aGVyIG11bHRpcGxlIG9mIDI1NkJ5dGVzLiBBbmQgY291bGRuJ3QgbG9jYXRl CisgKiBhbiBJMkMgc2xhdmUsIHdoaWNoIHN1cHBvcnRzIHN1Y2ggYSBsZW5ndGh5IGJ1cnN0IHJl YWQgdG9vIGZvciBleHBlcmltZW50cy4KKyAqCisgKiBTbyB1bnRpbCB0aGluZ3MgZ2V0IGNsYXJp ZmllZCBvbiBIVyBzdXBwb3J0LCB0byBhdm9pZCB0aGUgYnVyc3QgcmVhZCBsZW5ndGgKKyAqIGlu IGZvbGQgb2YgMjU2Qnl0ZXMgZXhjZXB0IDUxMiwgbWF4IGJ1cnN0IHJlYWQgbGVuZ3RoIGlzIGZp eGVkIGF0IDc2N0J5dGVzLgorICovCisjZGVmaW5lIElOVEVMX0dNQlVTX0JVUlNUX1JFQURfTUFY X0xFTgkJNzY3VQorCiBzdGF0aWMgaW50CiBnbWJ1c194ZmVyX3JlYWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3QgaTJjX21zZyAqbXNnLAotCQl1MzIgZ21idXMxX2lu ZGV4KQorCQl1MzIgZ21idXMwX3JlZywgdTMyIGdtYnVzMV9pbmRleCkKIHsKIAl1OCAqYnVmID0g bXNnLT5idWY7CiAJdW5zaWduZWQgaW50IHJ4X3NpemUgPSBtc2ctPmxlbjsKQEAgLTQwNywxMCAr NDQyLDEzIEBAIGdtYnVzX3hmZXJfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHN0cnVjdCBpMmNfbXNnICptc2csCiAJaW50IHJldDsKIAogCWRvIHsKLQkJbGVuID0gbWlu KHJ4X3NpemUsIGdtYnVzX21heF94ZmVyX3NpemUoZGV2X3ByaXYpKTsKKwkJaWYgKEhBU19HTUJV U19CVVJTVF9SRUFEKGRldl9wcml2KSkKKwkJCWxlbiA9IG1pbihyeF9zaXplLCBJTlRFTF9HTUJV U19CVVJTVF9SRUFEX01BWF9MRU4pOworCQllbHNlCisJCQlsZW4gPSBtaW4ocnhfc2l6ZSwgZ21i dXNfbWF4X3hmZXJfc2l6ZShkZXZfcHJpdikpOwogCi0JCXJldCA9IGdtYnVzX3hmZXJfcmVhZF9j aHVuayhkZXZfcHJpdiwgbXNnLT5hZGRyLAotCQkJCQkgICAgYnVmLCBsZW4sIGdtYnVzMV9pbmRl eCk7CisJCXJldCA9IGdtYnVzX3hmZXJfcmVhZF9jaHVuayhkZXZfcHJpdiwgbXNnLT5hZGRyLCBi dWYsIGxlbiwKKwkJCQkJICAgIGdtYnVzMF9yZWcsIGdtYnVzMV9pbmRleCk7CiAJCWlmIChyZXQp CiAJCQlyZXR1cm4gcmV0OwogCkBAIC00OTgsNyArNTM2LDggQEAgZ21idXNfaXNfaW5kZXhfeGZl cihzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IGksIGludCBudW0pCiB9CiAKIHN0YXRpYyBpbnQK LWdtYnVzX2luZGV4X3hmZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1 Y3QgaTJjX21zZyAqbXNncykKK2dtYnVzX2luZGV4X3hmZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBzdHJ1Y3QgaTJjX21zZyAqbXNncywKKwkJIHUzMiBnbWJ1czBfcmVnKQog ewogCXUzMiBnbWJ1czFfaW5kZXggPSAwOwogCXUzMiBnbWJ1czUgPSAwOwpAQCAtNTE2LDcgKzU1 NSw4IEBAIGdtYnVzX2luZGV4X3hmZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBzdHJ1Y3QgaTJjX21zZyAqbXNncykKIAkJSTkxNV9XUklURV9GVyhHTUJVUzUsIGdtYnVzNSk7 CiAKIAlpZiAobXNnc1sxXS5mbGFncyAmIEkyQ19NX1JEKQotCQlyZXQgPSBnbWJ1c194ZmVyX3Jl YWQoZGV2X3ByaXYsICZtc2dzWzFdLCBnbWJ1czFfaW5kZXgpOworCQlyZXQgPSBnbWJ1c194ZmVy X3JlYWQoZGV2X3ByaXYsICZtc2dzWzFdLCBnbWJ1czBfcmVnLAorCQkJCSAgICAgIGdtYnVzMV9p bmRleCk7CiAJZWxzZQogCQlyZXQgPSBnbWJ1c194ZmVyX3dyaXRlKGRldl9wcml2LCAmbXNnc1sx XSwgZ21idXMxX2luZGV4KTsKIApAQCAtNTUxLDEwICs1OTEsMTIgQEAgZG9fZ21idXNfeGZlcihz dHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfbXNnICptc2dzLCBpbnQgbnVt LAogCWZvciAoOyBpIDwgbnVtOyBpICs9IGluYykgewogCQlpbmMgPSAxOwogCQlpZiAoZ21idXNf aXNfaW5kZXhfeGZlcihtc2dzLCBpLCBudW0pKSB7Ci0JCQlyZXQgPSBnbWJ1c19pbmRleF94ZmVy KGRldl9wcml2LCAmbXNnc1tpXSk7CisJCQlyZXQgPSBnbWJ1c19pbmRleF94ZmVyKGRldl9wcml2 LCAmbXNnc1tpXSwKKwkJCQkJICAgICAgIGdtYnVzMF9zb3VyY2UgfCBidXMtPnJlZzApOwogCQkJ aW5jID0gMjsgLyogYW4gaW5kZXggdHJhbnNtaXNzaW9uIGlzIHR3byBtc2dzICovCiAJCX0gZWxz ZSBpZiAobXNnc1tpXS5mbGFncyAmIEkyQ19NX1JEKSB7Ci0JCQlyZXQgPSBnbWJ1c194ZmVyX3Jl YWQoZGV2X3ByaXYsICZtc2dzW2ldLCAwKTsKKwkJCXJldCA9IGdtYnVzX3hmZXJfcmVhZChkZXZf cHJpdiwgJm1zZ3NbaV0sCisJCQkJCSAgICAgIGdtYnVzMF9zb3VyY2UgfCBidXMtPnJlZzAsIDAp OwogCQl9IGVsc2UgewogCQkJcmV0ID0gZ21idXNfeGZlcl93cml0ZShkZXZfcHJpdiwgJm1zZ3Nb aV0sIDApOwogCQl9Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==