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 16:08:17 +0530 Message-ID: <1457692697-12833-1-git-send-email-m.deepak@intel.com> References: <20160311101126.21373.2152@emeril.freedesktop.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 1ACCD6E2A4 for ; Fri, 11 Mar 2016 10:38:16 +0000 (UTC) In-Reply-To: <20160311101126.21373.2152@emeril.freedesktop.org> 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 aWNoIGlzIHJlYWQgZnJvbSBBQ1BJLgoKQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IHZrb3JqYW5pIDx2aWthcy5rb3JqYW5p QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogRGVlcGFrIE0gPG0uZGVlcGFrQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMgfCA4NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rz aV9wYW5lbF92YnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQu YwppbmRleCA3ZjE0NWI0Li5iZTkyY2YzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpX3BhbmVsX3ZidC5jCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9wYW5l bC5oPgogI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDx2aWRlby9taXBpX2Rpc3Bs YXkuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KICNpbmNsdWRlIDxhc20vaW50ZWwtbWlkLmg+ CiAjaW5jbHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+CiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIK QEAgLTI0OSw5ICsyNTAsODYgQEAgb3V0OgogCXJldHVybiBkYXRhOwogfQogCi1zdGF0aWMgY29u c3QgdTggKm1pcGlfZXhlY19pMmNfc2tpcChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGNv bnN0IHU4ICpkYXRhKQorc3RhdGljIGNvbnN0IHU4ICptaXBpX2V4ZWNfaTJjKHN0cnVjdCBpbnRl bF9kc2kgKmludGVsX2RzaSwgY29uc3QgdTggKmRhdGEpCiB7Ci0JcmV0dXJuIGRhdGEgKyAqKGRh dGEgKyA2KSArIDc7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFzZS5i YXNlLmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcjsKKwlpbnQgcmV0LCBpOworCXU4 IHJlZ19vZmZzZXQsIHBheWxvYWRfc2l6ZTsKKwlzdHJ1Y3QgaTJjX21zZyBtc2c7CisJc3RydWN0 IGFjcGlfaTJjX2RhdGFfbm9kZSAqaTJjX2VudHJ5ID0gTlVMTDsKKwl1OCAqdHJhbnNtaXRfYnVm ZmVyOworCXU4IGZsYWcsIHJlc291cmNlX2lkLCBidXNfbnVtYmVyOworCXUxNiBzbGF2ZV9hZGQ7 CisJdTggY291bnQgPSAwOworCisJZmxhZyA9ICpkYXRhKys7CisJcmVzb3VyY2VfaWQgPSAqZGF0 YSsrOworCWJ1c19udW1iZXIgPSAqZGF0YSsrOworCXNsYXZlX2FkZCA9ICoodTE2ICopKGRhdGEp OworCWRhdGEgKz0gMjsKKwlyZWdfb2Zmc2V0ID0gKmRhdGErKzsKKwlwYXlsb2FkX3NpemUgPSAq ZGF0YSsrOworCisJaWYgKHJlc291cmNlX2lkID09IDB4ZmYgfHwgYnVzX251bWJlciA9PSAweGZm KSB7CisJCURSTV9ERUJVR19LTVMoImlnbm9yaW5nIGdtYnVzIChyZXNvdXJjZSBpZCAlMDJ4LCBi dXMgJTAyeClcbiIsCisJCQkgICAgICByZXNvdXJjZV9pZCwgYnVzX251bWJlcik7CisJCWdvdG8g b3V0OworCX0KKworCS8qIFBhcnNlIHRoZSBsaXN0IGFuZCBnZXQgdGhlIHJlcXVpcmVkIGkyYyBi dXMgbnVtYmVyICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeShpMmNfZW50cnksICZkZXZfcHJpdi0+ YWNwaV9pMmNfbGlzdCwKKwkJCQloZWFkKSB7CisJCWlmIChjb3VudCA9PSByZXNvdXJjZV9pZCkg eworCQkJLyogb3ZlcnJpZGUgdGhlIGJ1c251bWJlciAqLworCQkJYnVzX251bWJlciA9IGkyY19l bnRyeS0+aTJjX2J1c19udW1iZXI7CisJCQlicmVhazsKKwkJfQorCQljb3VudCsrOworCX0KKwor CS8qCisJICogU2luY2UgdGhlIGkyYyBidXMgbnVtYmVyIGluZGV4aW5nIGluIEJJT1Mgc3RhcnRz IGZyb20gMQorCSAqIGRlY3JlbWVudGluZyB0aGUgYnVzIG51bWJlciB3aGljaCB3ZSBhcmUgcmVh ZGluZy4KKwkgKi8KKwlidXNfbnVtYmVyLS07CisKKwlhZGFwdGVyID0gaTJjX2dldF9hZGFwdGVy KGJ1c19udW1iZXIpOworCWlmICghYWRhcHRlcikgeworCQlEUk1fRVJST1IoImkyY19nZXRfYWRh cHRlcigldSlcbiIsIGJ1c19udW1iZXIpOworCQlnb3RvIG91dDsKKwl9CisKKwl0cmFuc21pdF9i dWZmZXIgPSBrbWFsbG9jKDEgKyBwYXlsb2FkX3NpemUsIEdGUF9URU1QT1JBUlkpOworCWlmICgh dHJhbnNtaXRfYnVmZmVyKQorCQlnb3RvIG91dF9wdXQ7CisKKwl0cmFuc21pdF9idWZmZXJbMF0g PSByZWdfb2Zmc2V0OworCW1lbWNweSgmdHJhbnNtaXRfYnVmZmVyWzFdLCBkYXRhLCBwYXlsb2Fk X3NpemUpOworCisJbXNnLmFkZHIgPSBzbGF2ZV9hZGQ7CisJbXNnLmZsYWdzID0gMDsKKwltc2cu bGVuID0gcGF5bG9hZF9zaXplICsgMTsKKwltc2cuYnVmID0gJnRyYW5zbWl0X2J1ZmZlclswXTsK KworCWZvciAoaSA9IDA7IGkgPCA2OyBpKyspIHsKKwkJcmV0ID0gaTJjX3RyYW5zZmVyKGFkYXB0 ZXIsICZtc2csIDEpOworCQlpZiAocmV0ID09IDEpCisJCQlnb3RvIG91dF9mcmVlOworCQllbHNl IGlmIChyZXQgPT0gLUVBR0FJTikKKwkJCXVzbGVlcF9yYW5nZSgxMDAwLCAyNTAwKTsKKwkJZWxz ZQorCQkJYnJlYWs7CisJfQorCisJRFJNX0VSUk9SKCJpMmMgdHJhbnNmZXIgZmFpbGVkOiAlZFxu IiwgcmV0KTsKK291dF9mcmVlOgorCWtmcmVlKHRyYW5zbWl0X2J1ZmZlcik7CitvdXRfcHV0Ogor CWkyY19wdXRfYWRhcHRlcihhZGFwdGVyKTsKK291dDoKKwlyZXR1cm4gZGF0YSArIHBheWxvYWRf c2l6ZTsKIH0KIAogdHlwZWRlZiBjb25zdCB1OCAqICgqZm5fbWlwaV9lbGVtX2V4ZWMpKHN0cnVj dCBpbnRlbF9kc2kgKmludGVsX2RzaSwKQEAgLTI2MCw3ICszMzgsNyBAQCBzdGF0aWMgY29uc3Qg Zm5fbWlwaV9lbGVtX2V4ZWMgZXhlY19lbGVtW10gPSB7CiAJW01JUElfU0VRX0VMRU1fU0VORF9Q S1RdID0gbWlwaV9leGVjX3NlbmRfcGFja2V0LAogCVtNSVBJX1NFUV9FTEVNX0RFTEFZXSA9IG1p cGlfZXhlY19kZWxheSwKIAlbTUlQSV9TRVFfRUxFTV9HUElPXSA9IG1pcGlfZXhlY19ncGlvLAot CVtNSVBJX1NFUV9FTEVNX0kyQ10gPSBtaXBpX2V4ZWNfaTJjX3NraXAsCisJW01JUElfU0VRX0VM RU1fSTJDXSA9IG1pcGlfZXhlY19pMmMsCiB9OwogCiAvKgotLSAKMS45LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=