From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v6 5/8] drm/bridge: adv7533: Create a MIPI DSI device Date: Fri, 17 Jun 2016 13:23:32 +0530 Message-ID: <1466150015-882-6-git-send-email-architt@codeaurora.org> References: <1465381673-32471-1-git-send-email-architt@codeaurora.org> <1466150015-882-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466150015-882-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, treding@nvidia.com, laurent.pinchart@ideasonboard.com, xinliang.liu@linaro.org Cc: linux-arm-msm@vger.kernel.org, amit.kucheria@linaro.org, srinivas.kandagatla@linaro.org List-Id: linux-arm-msm@vger.kernel.org SW4gb3JkZXIgdG8gcGFzcyBEU0kgc3BlY2lmaWMgcGFyYW1ldGVycyB0byB0aGUgRFNJIGhvc3Qs IHdlIG5lZWQgdGhlCmRyaXZlciB0byBjcmVhdGUgYSBtaXBpX2RzaV9kZXZpY2UgRFNJIGRldmlj ZSB0aGF0IGF0dGFjaGVzIHRvIHRoZQpob3N0LgoKVXNlIG9mX2dyYXBoIGhlbHBlcnMgdG8gZ2V0 IHRoZSBEU0kgaG9zdCBEVCBub2RlLiBDcmVhdGUgYSBNSVBJIERTSQpkZXZpY2UgdXNpbmcgdGhp cyBob3N0LiBGaW5hbGx5LCBhdHRhY2ggdGhpcyBkZXZpY2UgdG8gdGhlIERTSSBob3N0LgoKUG9w dWxhdGUgRFQgcGFyYW1ldGVycyAobnVtYmVyIG9mIGRhdGEgbGFuZXMgZm9yIG5vdykgdGhhdCBh cmUgcmVxdWlyZWQKZm9yIERTSSBSWCB0byB3b3JrIGNvcnJlY3RseS4gSGFyZGNvZGUgZmV3IG90 aGVyIHBhcmFtZXRlcnMgKHJnYiwKZW1iZWRkZWRfc3luYykgZm9yIG5vdy4KClNlbGVjdCBEUk1f TUlQSV9EU0kgY29uZmlnIG9wdGlvbiBvbmx5IHdoZW4gQURWNzUzMyBzdXBwb3J0IGlzIGVuYWJs ZWQuCgpTaWduZWQtb2ZmLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3Jn PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9LY29uZmlnICAgICAgIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEuaCAgICAgfCAyMyArKysr KysrCiBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYyB8IDQwICsr KysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MzMuYyAgICAg fCA5MSArKysrKysrKysrKysrKysrKysrKysrKysrKystCiA0IGZpbGVzIGNoYW5nZWQsIDE0NyBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYWR2NzUxMS9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTEx L0tjb25maWcKaW5kZXggZWI4NDQxOS4uZDJiMDQ5OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9hZHY3NTExL0tjb25maWcKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9h ZHY3NTExL0tjb25maWcKQEAgLTksNiArOSw3IEBAIGNvbmZpZyBEUk1fSTJDX0FEVjc1MTEKIGNv bmZpZyBEUk1fSTJDX0FEVjc1MzMKIAlib29sICJBRFY3NTMzIGVuY29kZXIiCiAJZGVwZW5kcyBv biBEUk1fSTJDX0FEVjc1MTEKKwlzZWxlY3QgRFJNX01JUElfRFNJCiAJZGVmYXVsdCB5CiAJaGVs cAogCSAgU3VwcG9ydCBmb3IgdGhlIEFuYWxvZyBEZXZpY2VzIEFEVjc1MzMgRFNJIHRvIEhETUkg ZW5jb2Rlci4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3 NTExLmggYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMS5oCmluZGV4IDVk ZWE3NjkuLjNlNGQ0N2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUx MS9hZHY3NTExLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEu aApAQCAtMTQsNiArMTQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgogCiAjaW5jbHVk ZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9kcm1fbWlwaV9kc2kuaD4K IAogI2RlZmluZSBBRFY3NTExX1JFR19DSElQX1JFVklTSU9OCQkweDAwCiAjZGVmaW5lIEFEVjc1 MTFfUkVHX04wCQkJCTB4MDEKQEAgLTMyNCw2ICszMjUsMTEgQEAgc3RydWN0IGFkdjc1MTEgewog CiAJc3RydWN0IGdwaW9fZGVzYyAqZ3Bpb19wZDsKIAorCS8qIEFEVjc1MzMgRFNJIFJYIHJlbGF0 ZWQgcGFyYW1zICovCisJc3RydWN0IGRldmljZV9ub2RlICpob3N0X25vZGU7CisJc3RydWN0IG1p cGlfZHNpX2RldmljZSAqZHNpOworCXU4IG51bV9kc2lfbGFuZXM7CisKIAllbnVtIGFkdjc1MTFf dHlwZSB0eXBlOwogfTsKIApAQCAtMzMzLDYgKzMzOSw5IEBAIHZvaWQgYWR2NzUzM19kc2lfcG93 ZXJfb2ZmKHN0cnVjdCBhZHY3NTExICphZHYpOwogaW50IGFkdjc1MzNfcGF0Y2hfcmVnaXN0ZXJz KHN0cnVjdCBhZHY3NTExICphZHYpOwogdm9pZCBhZHY3NTMzX3VuaW5pdF9jZWMoc3RydWN0IGFk djc1MTEgKmFkdik7CiBpbnQgYWR2NzUzM19pbml0X2NlYyhzdHJ1Y3QgYWR2NzUxMSAqYWR2KTsK K2ludCBhZHY3NTMzX2F0dGFjaF9kc2koc3RydWN0IGFkdjc1MTEgKmFkdik7Cit2b2lkIGFkdjc1 MzNfZGV0YWNoX2RzaShzdHJ1Y3QgYWR2NzUxMSAqYWR2KTsKK2ludCBhZHY3NTMzX3BhcnNlX2R0 KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIHN0cnVjdCBhZHY3NTExICphZHYpOwogI2Vsc2UKIHN0 YXRpYyBpbmxpbmUgdm9pZCBhZHY3NTMzX2RzaV9wb3dlcl9vbihzdHJ1Y3QgYWR2NzUxMSAqYWR2 KQogewpAQCAtMzU1LDYgKzM2NCwyMCBAQCBzdGF0aWMgaW5saW5lIGludCBhZHY3NTMzX2luaXRf Y2VjKHN0cnVjdCBhZHY3NTExICphZHYpCiB7CiAJcmV0dXJuIC1FTk9ERVY7CiB9CisKK3N0YXRp YyBpbmxpbmUgaW50IGFkdjc1MzNfYXR0YWNoX2RzaShzdHJ1Y3QgYWR2NzUxMSAqYWR2KQorewor CXJldHVybiAtRU5PREVWOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYWR2NzUzM19kZXRhY2hf ZHNpKHN0cnVjdCBhZHY3NTExICphZHYpCit7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGFkdjc1 MzNfcGFyc2VfZHQoc3RydWN0IGRldmljZV9ub2RlICpucCwgc3RydWN0IGFkdjc1MTEgKmFkdikK K3sKKwlyZXR1cm4gLUVOT0RFVjsKK30KICNlbmRpZgogCiAjZW5kaWYgLyogX19EUk1fSTJDX0FE Vjc1MTFfSF9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEv YWR2NzUxMV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Ry di5jCmluZGV4IGUzMzcwMmIuLjY1ODZjNTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9i cmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv YWR2NzUxMS9hZHY3NTExX2Rydi5jCkBAIC04MTcsNiArODE3LDkgQEAgc3RhdGljIGludCBhZHY3 NTExX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKIAkJCQkgJmFkdjc1 MTFfY29ubmVjdG9yX2hlbHBlcl9mdW5jcyk7CiAJZHJtX21vZGVfY29ubmVjdG9yX2F0dGFjaF9l bmNvZGVyKCZhZHYtPmNvbm5lY3RvciwgYnJpZGdlLT5lbmNvZGVyKTsKIAorCWlmIChhZHYtPnR5 cGUgPT0gQURWNzUzMykKKwkJcmV0ID0gYWR2NzUzM19hdHRhY2hfZHNpKGFkdik7CisKIAlyZXR1 cm4gcmV0OwogfQogCkBAIC05NDMsMTEgKzk0NiwxMiBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJv YmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlk KQogCiAJbWVtc2V0KCZsaW5rX2NvbmZpZywgMCwgc2l6ZW9mKGxpbmtfY29uZmlnKSk7CiAKLQlp ZiAoYWR2NzUxMS0+dHlwZSA9PSBBRFY3NTExKSB7CisJaWYgKGFkdjc1MTEtPnR5cGUgPT0gQURW NzUxMSkKIAkJcmV0ID0gYWR2NzUxMV9wYXJzZV9kdChkZXYtPm9mX25vZGUsICZsaW5rX2NvbmZp Zyk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OwotCX0KKwllbHNlCisJCXJldCA9IGFkdjc1 MzNfcGFyc2VfZHQoZGV2LT5vZl9ub2RlLCBhZHY3NTExKTsKKwlpZiAocmV0KQorCQlyZXR1cm4g cmV0OwogCiAJLyoKIAkgKiBUaGUgcG93ZXIgZG93biBHUElPIGlzIG9wdGlvbmFsLiBJZiBwcmVz ZW50LCB0b2dnbGUgaXQgZnJvbSBhY3RpdmUgdG8KQEAgLTEwNDIsOSArMTA0NiwxMyBAQCBzdGF0 aWMgaW50IGFkdjc1MTFfcmVtb3ZlKHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCiB7CiAJc3RydWN0 IGFkdjc1MTEgKmFkdjc1MTEgPSBpMmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKIAorCWlmIChhZHY3 NTExLT50eXBlID09IEFEVjc1MzMpIHsKKwkJYWR2NzUzM19kZXRhY2hfZHNpKGFkdjc1MTEpOwor CQlhZHY3NTMzX3VuaW5pdF9jZWMoYWR2NzUxMSk7CisJfQorCiAJZHJtX2JyaWRnZV9yZW1vdmUo JmFkdjc1MTEtPmJyaWRnZSk7CiAKLQlhZHY3NTMzX3VuaW5pdF9jZWMoYWR2NzUxMSk7CiAJaTJj X3VucmVnaXN0ZXJfZGV2aWNlKGFkdjc1MTEtPmkyY19lZGlkKTsKIAogCWtmcmVlKGFkdjc1MTEt PmVkaWQpOwpAQCAtMTA3NCw2ICsxMDgyLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2 aWNlX2lkIGFkdjc1MTFfb2ZfaWRzW10gPSB7CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShvZiwg YWR2NzUxMV9vZl9pZHMpOwogCitzdGF0aWMgc3RydWN0IG1pcGlfZHNpX2RyaXZlciBhZHY3NTMz X2RzaV9kcml2ZXIgPSB7CisJLmRyaXZlci5uYW1lID0gImFkdjc1MzMiLAorfTsKKwogc3RhdGlj IHN0cnVjdCBpMmNfZHJpdmVyIGFkdjc1MTFfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7CiAJCS5u YW1lID0gImFkdjc1MTEiLApAQCAtMTA4NCw3ICsxMDk2LDIzIEBAIHN0YXRpYyBzdHJ1Y3QgaTJj X2RyaXZlciBhZHY3NTExX2RyaXZlciA9IHsKIAkucmVtb3ZlID0gYWR2NzUxMV9yZW1vdmUsCiB9 OwogCi1tb2R1bGVfaTJjX2RyaXZlcihhZHY3NTExX2RyaXZlcik7CitzdGF0aWMgaW50IF9faW5p dCBhZHY3NTExX2luaXQodm9pZCkKK3sKKwlpZiAoSVNfRU5BQkxFRChDT05GSUdfRFJNX01JUElf RFNJKSkKKwkJbWlwaV9kc2lfZHJpdmVyX3JlZ2lzdGVyKCZhZHY3NTMzX2RzaV9kcml2ZXIpOwor CisJcmV0dXJuIGkyY19hZGRfZHJpdmVyKCZhZHY3NTExX2RyaXZlcik7Cit9Cittb2R1bGVfaW5p dChhZHY3NTExX2luaXQpOworCitzdGF0aWMgdm9pZCBfX2V4aXQgYWR2NzUxMV9leGl0KHZvaWQp Cit7CisJaTJjX2RlbF9kcml2ZXIoJmFkdjc1MTFfZHJpdmVyKTsKKworCWlmIChJU19FTkFCTEVE KENPTkZJR19EUk1fTUlQSV9EU0kpKQorCQltaXBpX2RzaV9kcml2ZXJfdW5yZWdpc3RlcigmYWR2 NzUzM19kc2lfZHJpdmVyKTsKK30KK21vZHVsZV9leGl0KGFkdjc1MTFfZXhpdCk7CiAKIE1PRFVM RV9BVVRIT1IoIkxhcnMtUGV0ZXIgQ2xhdXNlbiA8bGFyc0BtZXRhZm9vLmRlPiIpOwogTU9EVUxF X0RFU0NSSVBUSU9OKCJBRFY3NTExIEhETUkgdHJhbnNtaXR0ZXIgZHJpdmVyIik7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUzMy5jIGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MzMuYwppbmRleCBjYjRjYTY0Li5lY2JjYWEwIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUzMy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTMzLmMKQEAgLTExLDYgKzExLDgg QEAKICAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAgKi8K IAorI2luY2x1ZGUgPGxpbnV4L29mX2dyYXBoLmg+CisKICNpbmNsdWRlICJhZHY3NTExLmgiCiAK IHN0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnX3NlcXVlbmNlIGFkdjc1MzNfZml4ZWRfcmVnaXN0ZXJz W10gPSB7CkBAIC0zOSw4ICs0MSwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25m aWcgYWR2NzUzM19jZWNfcmVnbWFwX2NvbmZpZyA9IHsKIAogdm9pZCBhZHY3NTMzX2RzaV9wb3dl cl9vbihzdHJ1Y3QgYWR2NzUxMSAqYWR2KQogewotCS8qIHNldCBudW1iZXIgb2YgZHNpIGxhbmVz IChoYXJkY29kZWQgdG8gNCBmb3Igbm93KSAqLwotCXJlZ21hcF93cml0ZShhZHYtPnJlZ21hcF9j ZWMsIDB4MWMsIDQgPDwgNCk7CisJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpID0gYWR2LT5k c2k7CisKKwkvKiBzZXQgbnVtYmVyIG9mIGRzaSBsYW5lcyAqLworCXJlZ21hcF93cml0ZShhZHYt PnJlZ21hcF9jZWMsIDB4MWMsIGRzaS0+bGFuZXMgPDwgNCk7CiAJLyogZGlzYWJsZSBpbnRlcm5h bCB0aW1pbmcgZ2VuZXJhdG9yICovCiAJcmVnbWFwX3dyaXRlKGFkdi0+cmVnbWFwX2NlYywgMHgy NywgMHgwYik7CiAJLyogZW5hYmxlIGhkbWkgKi8KQEAgLTk4LDMgKzEwMiw4NiBAQCBlcnI6CiAJ YWR2NzUzM191bmluaXRfY2VjKGFkdik7CiAJcmV0dXJuIHJldDsKIH0KKworaW50IGFkdjc1MzNf YXR0YWNoX2RzaShzdHJ1Y3QgYWR2NzUxMSAqYWR2KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9 ICZhZHYtPmkyY19tYWluLT5kZXY7CisJc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3Q7CisJc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqZHNpOworCWludCByZXQgPSAwOworCWNvbnN0IHN0cnVjdCBt aXBpX2RzaV9kZXZpY2VfaW5mbyBpbmZvID0geyAudHlwZSA9ICJhZHY3NTMzIiwKKwkJCQkJCSAg IC5jaGFubmVsID0gMCwKKwkJCQkJCSAgIC5ub2RlID0gTlVMTCwKKwkJCQkJCSB9OworCisJaG9z dCA9IG9mX2ZpbmRfbWlwaV9kc2lfaG9zdF9ieV9ub2RlKGFkdi0+aG9zdF9ub2RlKTsKKwlpZiAo IWhvc3QpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gZmluZCBkc2kgaG9zdFxuIik7CisJ CXJldHVybiAtRVBST0JFX0RFRkVSOworCX0KKworCWRzaSA9IG1pcGlfZHNpX2RldmljZV9yZWdp c3Rlcl9mdWxsKGhvc3QsICZpbmZvKTsKKwlpZiAoSVNfRVJSKGRzaSkpIHsKKwkJZGV2X2Vycihk ZXYsICJmYWlsZWQgdG8gY3JlYXRlIGRzaSBkZXZpY2VcbiIpOworCQlyZXQgPSBQVFJfRVJSKGRz aSk7CisJCWdvdG8gZXJyX2RzaV9kZXZpY2U7CisJfQorCisJYWR2LT5kc2kgPSBkc2k7CisKKwlk c2ktPmxhbmVzID0gYWR2LT5udW1fZHNpX2xhbmVzOworCWRzaS0+Zm9ybWF0ID0gTUlQSV9EU0lf Rk1UX1JHQjg4ODsKKwlkc2ktPm1vZGVfZmxhZ3MgPSBNSVBJX0RTSV9NT0RFX1ZJREVPIHwgTUlQ SV9EU0lfTU9ERV9WSURFT19TWU5DX1BVTFNFIHwKKwkJCSAgTUlQSV9EU0lfTU9ERV9FT1RfUEFD S0VUIHwgTUlQSV9EU0lfTU9ERV9WSURFT19IU0U7CisKKwlyZXQgPSBtaXBpX2RzaV9hdHRhY2go ZHNpKTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhdHRhY2gg ZHNpIHRvIGhvc3RcbiIpOworCQlnb3RvIGVycl9kc2lfYXR0YWNoOworCX0KKworCXJldHVybiAw OworCitlcnJfZHNpX2F0dGFjaDoKKwltaXBpX2RzaV9kZXZpY2VfdW5yZWdpc3Rlcihkc2kpOwor ZXJyX2RzaV9kZXZpY2U6CisJcmV0dXJuIHJldDsKK30KKwordm9pZCBhZHY3NTMzX2RldGFjaF9k c2koc3RydWN0IGFkdjc1MTEgKmFkdikKK3sKKwltaXBpX2RzaV9kZXRhY2goYWR2LT5kc2kpOwor CW1pcGlfZHNpX2RldmljZV91bnJlZ2lzdGVyKGFkdi0+ZHNpKTsKK30KKworaW50IGFkdjc1MzNf cGFyc2VfZHQoc3RydWN0IGRldmljZV9ub2RlICpucCwgc3RydWN0IGFkdjc1MTEgKmFkdikKK3sK Kwl1MzIgbnVtX2xhbmVzOworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqZW5kcG9pbnQ7CisKKwlvZl9w cm9wZXJ0eV9yZWFkX3UzMihucCwgImFkaSxkc2ktbGFuZXMiLCAmbnVtX2xhbmVzKTsKKworCWlm IChudW1fbGFuZXMgPCAxIHx8IG51bV9sYW5lcyA+IDQpCisJCXJldHVybiAtRUlOVkFMOworCisJ YWR2LT5udW1fZHNpX2xhbmVzID0gbnVtX2xhbmVzOworCisJZW5kcG9pbnQgPSBvZl9ncmFwaF9n ZXRfbmV4dF9lbmRwb2ludChucCwgTlVMTCk7CisJaWYgKCFlbmRwb2ludCkKKwkJcmV0dXJuIC1F Tk9ERVY7CisKKwlhZHYtPmhvc3Rfbm9kZSA9IG9mX2dyYXBoX2dldF9yZW1vdGVfcG9ydF9wYXJl bnQoZW5kcG9pbnQpOworCWlmICghYWR2LT5ob3N0X25vZGUpIHsKKwkJb2Zfbm9kZV9wdXQoZW5k cG9pbnQpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlvZl9ub2RlX3B1dChlbmRwb2ludCk7 CisJb2Zfbm9kZV9wdXQoYWR2LT5ob3N0X25vZGUpOworCisJLyogVE9ETzogQ2hlY2sgaWYgdGhl c2UgbmVlZCB0byBiZSBwYXJzZWQgYnkgRFQgb3Igbm90ICovCisJYWR2LT5yZ2IgPSB0cnVlOwor CWFkdi0+ZW1iZWRkZWRfc3luYyA9IGZhbHNlOworCisJcmV0dXJuIDA7Cit9Ci0tIApUaGUgUXVh bGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVy b3JhIEZvcnVtLApob3N0ZWQgYnkgVGhlIExpbnV4IEZvdW5kYXRpb24KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=