From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [PATCH 2/2] drm/i915: Adding the parsing logic for the i2c element Date: Fri, 11 Mar 2016 15:55:25 +0530 Message-ID: <1457691925-10655-2-git-send-email-m.deepak@intel.com> References: <1457691925-10655-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id D2A446E2A0 for ; Fri, 11 Mar 2016 10:25:18 +0000 (UTC) In-Reply-To: <1457691925-10655-1-git-send-email-m.deepak@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 Cc: Deepak M , Jani Nikula , vkorjani List-Id: intel-gfx@lists.freedesktop.org RnJvbTogdmtvcmphbmkgPHZpa2FzLmtvcmphbmlAaW50ZWwuY29tPgoKTmV3IHNlcXVlbmNlIGVs ZW1lbnQgZm9yIGkyYyBpcyBiZWVuIGFkZGVkIGluIHRoZQptaXBpIHNlcXVlbmNlIGJsb2NrIG9m IHRoZSBWQlQuIFRoaXMgcGF0Y2ggcGFyc2VzCmFuZCBleGVjdXRlcyB0aGUgaTJjIHNlcXVlbmNl LgoKdjI6IEFkZCBpMmNfcHV0X2FkYXB0ZXIgY2FsbChKYW5pKSwgcmViYXNlCgp2MzogY29ycmVj dGVkIHRoZSByZXRyeSBsb29wKEphbmkpLCByZWJhc2UKCnY0IGJ5IEphbmk6CiAtIGRvbid0IHB1 dCB0aGUgYWRhcHRlciBpZiBnZXQgZmFpbHMKIC0gcHJpbnQgYW4gZXJyb3IgbWVzc2FnZSBpZiBh bGwgcmV0cmllcyBleGhhdXN0ZWQKIC0gdXNlIGEgZm9yIGxvb3AKIC0gZml4IHdhcm5pbmdzIGZv ciB1bnVzZWQgdmFyaWFibGVzCgp2NSBieSBKYW5pOgogLSByZWJhc2Ugb24gdGhlIHNraXAgaTJj IGVsZW1lbnQgcGF0Y2gKCnY2OiBieSBKYW5pOgogLSBpZ25vcmUgdGhlIGdtYnVzIGkyYyBlbGVt ZW50cyAoVmlsbGUpCgp2NzogYnkgRGVlcGFrCiAtIFVzZSB0aGUgaTJjIHBvcnQgbnVtYmVyIHdo aWNoIGlzIHJlYWQgZnJvbSBBQ1BJCiAgIGJhc2VkIG9uIHRoZSByZXNvdXJjZSBpZC4KCkNjOiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiB2a29yamFuaSA8dmlrYXMua29yamFuaUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERl ZXBhayBNIDxtLmRlZXBha0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEphbmkgTmlrdWxhIDxq YW5pLm5pa3VsYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp X3BhbmVsX3ZidC5jIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUg Y2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKaW5kZXggN2YxNDViNC4uNWE3NjkwZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQuYwpAQCAtMzEsNiArMzEs NyBAQAogI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+ CiAjaW5jbHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+CisjaW5jbHVkZSA8bGludXgvaTJjLmg+ CiAjaW5jbHVkZSA8YXNtL2ludGVsLW1pZC5oPgogI2luY2x1ZGUgPHZpZGVvL21pcGlfZGlzcGxh eS5oPgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCkBAIC0yNDksOSArMjUwLDg2IEBAIG91dDoKIAly ZXR1cm4gZGF0YTsKIH0KIAotc3RhdGljIGNvbnN0IHU4ICptaXBpX2V4ZWNfaTJjX3NraXAoc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkKK3N0YXRpYyBjb25zdCB1 OCAqbWlwaV9leGVjX2kyYyhzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGNvbnN0IHU4ICpk YXRhKQogewotCXJldHVybiBkYXRhICsgKihkYXRhICsgNikgKyA3OworCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIg KmFkYXB0ZXI7CisJaW50IHJldCwgaTsKKwl1OCByZWdfb2Zmc2V0LCBwYXlsb2FkX3NpemU7CisJ c3RydWN0IGkyY19tc2cgbXNnOworCXN0cnVjdCBhY3BpX2kyY19kYXRhX25vZGUgKmkyY19lbnRy eSA9IE5VTEw7CisJdTggKnRyYW5zbWl0X2J1ZmZlcjsKKwl1OCBmbGFnLCByZXNvdXJjZV9pZCwg YnVzX251bWJlcjsKKwl1MTYgc2xhdmVfYWRkOworCXU4IGNvdW50ID0gMDsKKworCWZsYWcgPSAq ZGF0YSsrOworCXJlc291cmNlX2lkID0gKmRhdGErKzsKKwlidXNfbnVtYmVyID0gKmRhdGErKzsK KwlzbGF2ZV9hZGQgPSAqKHUxNiAqKShkYXRhKTsKKwlkYXRhICs9IDI7CisJcmVnX29mZnNldCA9 ICpkYXRhKys7CisJcGF5bG9hZF9zaXplID0gKmRhdGErKzsKKworCWlmIChyZXNvdXJjZV9pZCA9 PSAweGZmIHx8IGJ1c19udW1iZXIgPT0gMHhmZikgeworCQlEUk1fREVCVUdfS01TKCJpZ25vcmlu ZyBnbWJ1cyAocmVzb3VyY2UgaWQgJTAyeCwgYnVzICUwMngpXG4iLAorCQkJICAgICAgcmVzb3Vy Y2VfaWQsIGJ1c19udW1iZXIpOworCQlnb3RvIG91dDsKKwl9CisKKwkvKiBQYXJzZSB0aGUgbGlz dCBhbmQgZ2V0IHRoZSByZXF1aXJlZCBpMmMgYnVzIG51bWJlciAqLworCWxpc3RfZm9yX2VhY2hf ZW50cnkoaTJjX2VudHJ5LCAmZGV2X3ByaXYtPmFjcGlfaTJjX2xpc3QsCisJCQkJaGVhZCkgewor CQlpZiAoY291bnQgPT0gcmVzb3VyY2VfaWQpIHsKKwkJCS8qIG92ZXJyaWRlIHRoZSBidXNudW1i ZXIgKi8KKwkJCWJ1c19udW1iZXIgPSBpMmNfZW50cnktPmkyY19idXNfbnVtYmVyOworCQkJYnJl YWs7CisJCX0KKwkJY291bnQrKzsKKwl9CisKKwkvKgorCSAqIFNpbmNlIHRoZSBpMmMgYnVzIG51 bWJlciBpbmRleGluZyBpbiBCSU9TIHN0YXJ0cyBmcm9tIDEKKwkgKiBkZWNyZW1lbnRpbmcgdGhl IGJ1cyBudW1iZXIgd2hpY2ggd2UgYXJlIHJlYWRpbmcuCisJICovCisJYnVzX251bWJlci0tOwor CisJYWRhcHRlciA9IGkyY19nZXRfYWRhcHRlcihidXNfbnVtYmVyKTsKKwlpZiAoIWFkYXB0ZXIp IHsKKwkJRFJNX0VSUk9SKCJpMmNfZ2V0X2FkYXB0ZXIoJXUpXG4iLCBidXNfbnVtYmVyKTsKKwkJ Z290byBvdXQ7CisJfQorCisJdHJhbnNtaXRfYnVmZmVyID0ga21hbGxvYygxICsgcGF5bG9hZF9z aXplLCBHRlBfVEVNUE9SQVJZKTsKKwlpZiAoIXRyYW5zbWl0X2J1ZmZlcikKKwkJZ290byBvdXRf cHV0OworCisJdHJhbnNtaXRfYnVmZmVyWzBdID0gcmVnX29mZnNldDsKKwltZW1jcHkoJnRyYW5z bWl0X2J1ZmZlclsxXSwgZGF0YSwgcGF5bG9hZF9zaXplKTsKKworCW1zZy5hZGRyID0gc2xhdmVf YWRkOworCW1zZy5mbGFncyA9IDA7CisJbXNnLmxlbiA9IHBheWxvYWRfc2l6ZSArIDE7CisJbXNn LmJ1ZiA9ICZ0cmFuc21pdF9idWZmZXJbMF07CisKKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKSB7 CisJCXJldCA9IGkyY190cmFuc2ZlcihhZGFwdGVyLCAmbXNnLCAxKTsKKwkJaWYgKHJldCA9PSAx KQorCQkJZ290byBvdXRfZnJlZTsKKwkJZWxzZSBpZiAocmV0ID09IC1FQUdBSU4pIHsKKwkJCXVz bGVlcF9yYW5nZSgxMDAwLCAyNTAwKTsKKwkJZWxzZQorCQkJYnJlYWs7CisJfQorCisJRFJNX0VS Uk9SKCJpMmMgdHJhbnNmZXIgZmFpbGVkOiAlZFxuIiwgcmV0KTsKK291dF9mcmVlOgorCWtmcmVl KHRyYW5zbWl0X2J1ZmZlcik7CitvdXRfcHV0OgorCWkyY19wdXRfYWRhcHRlcihhZGFwdGVyKTsK K291dDoKKwlyZXR1cm4gZGF0YSArIHBheWxvYWRfc2l6ZTsKIH0KIAogdHlwZWRlZiBjb25zdCB1 OCAqICgqZm5fbWlwaV9lbGVtX2V4ZWMpKHN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSwKQEAg LTI2MCw3ICszMzgsNyBAQCBzdGF0aWMgY29uc3QgZm5fbWlwaV9lbGVtX2V4ZWMgZXhlY19lbGVt W10gPSB7CiAJW01JUElfU0VRX0VMRU1fU0VORF9QS1RdID0gbWlwaV9leGVjX3NlbmRfcGFja2V0 LAogCVtNSVBJX1NFUV9FTEVNX0RFTEFZXSA9IG1pcGlfZXhlY19kZWxheSwKIAlbTUlQSV9TRVFf RUxFTV9HUElPXSA9IG1pcGlfZXhlY19ncGlvLAotCVtNSVBJX1NFUV9FTEVNX0kyQ10gPSBtaXBp X2V4ZWNfaTJjX3NraXAsCisJW01JUElfU0VRX0VMRU1fSTJDXSA9IG1pcGlfZXhlY19pMmMsCiB9 OwogCiAvKgotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=