From mboxrd@z Thu Jan 1 00:00:00 1970 From: anushasr Subject: [PATCH 3/8] drm/i915/huc: Add HuC fw loading support Date: Thu, 8 Dec 2016 15:02:14 -0800 Message-ID: <1481238139-9509-4-git-send-email-anusha.srivatsa@intel.com> References: <1481238139-9509-1-git-send-email-anusha.srivatsa@intel.com> 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 ESMTPS id 4C40D6E1CD for ; Thu, 8 Dec 2016 23:02:25 +0000 (UTC) In-Reply-To: <1481238139-9509-1-git-send-email-anusha.srivatsa@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: Alex Dai , Peter Antoine List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgoKVGhlIEh1 QyBsb2FkaW5nIHByb2Nlc3MgaXMgc2ltaWxhciB0byBHdUMuIFRoZSBpbnRlbF91Y19md19mZXRj aCgpCmlzIHVzZWQgZm9yIGJvdGggY2FzZXMuCgpIdUMgbG9hZGluZyBuZWVkcyB0byBiZSBiZWZv cmUgR3VDIGxvYWRpbmcuIFRoZSBXT1BDTSBzZXR0aW5nIG11c3QKYmUgZG9uZSBlYXJseSBiZWZv cmUgbG9hZGluZyBhbnkgb2YgdGhlbS4KCnYyOiByZWJhc2VkIG9uLXRvcCBvZiBkcm0taW50ZWwt bmlnaHRseS4KICAgIHJlbW92ZWQgaWYoSEFTX0dVQygpKSBiZWZvcmUgdGhlIGd1YyBjYWxsLiAo RC5Hb3Jkb24pCiAgICB1cGRhdGUgaHVjX3ZlcnNpb24gbnVtYmVyIG9mIGZvcm1hdC4KdjM6IHJl YmFzZWQgdG8gZHJtLWludGVsLW5pZ2h0bHksIGNoYW5nZWQgdGhlIGZpbGUgbmFtZSBmb3JtYXQg dG8KICAgIG1hdGNoIHRoZSBvbmUgaW4gdGhlIGh1YyBwYWNrYWdlLgogICAgQ2hhbmdlZCBkZXYt PmRldl9wcml2YXRlIHRvIHRvX2k5MTUoKQp2NDogbW92ZWQgZnVuY3Rpb24gYmFjayB0byB3aGVy ZSBpdCB3YXMuCiAgICBjaGFuZ2Ugd2FpdF9mb3JfYXRvbWljIHRvIHdhaXRfZm9yLgp2NTogcmVi YXNlZCArIGNvbW1lbnQgY2hhbmdlcy4Kdjc6IHJlYmFzZWQuCnY4OiByZWJhc2VkLgp2OTogcmVi YXNlZC4gQ2hhbmdlZCB0aGUgeWVhciBpbiB0aGUgY29weXJpZ2h0IG1lc3NhZ2UgdG8gcmVmbGVj dAp0aGUgcmlnaHQgeWVhci5Db3JyZWN0IHRoZSBjb21tZW50cyxyZW1vdmUgdGhlIHVud2FudGVk IFdBUk4gbWVzc2FnZSwKcmVwbGFjZSBkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgpIHdpdGgg aTkxNV9nZW1fb2JqZWN0X3B1dCgpLk1ha2UgdGhlCnByb3RvdHlwZXMgaW4gaW50ZWxfaHVjLmgg bm9uLWV4dGVybi4KdjEwOiByZWJhc2VkLiBVcGRhdGUgdGhlIGZpbGUgY29uc3RydWN0aW9uIGRv bmUgYnkgSHVDLiBJdCBpcyBzaW1pbGFyIHRvCkd1Qy5BZG9wdGVkIHRoZSBhcHByb2FjaCB1c2Vk IGluLQpodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMTA0MzU1LyA8VHZy dGtvIFVyc3VsaW4+CnYxMTogRml4IHdhcm5pbmdzIHJlbW92ZSBvbGQgZGVjbGFyYXRpb24KdjEy OiBDaGFuZ2UgZGV2IHRvIGRldl9wcml2IGluIG1hY3JvIGRlZmluaXRpb24uCkNvcnJlY3RlZCBj b21tZW50cy4KdjEzOiByZWJhc2VkLgp2MTQ6IHJlYmFzZWQgb24gdG9wIG9mIGRybS10aXAKdjE1 OiByZWJhc2VkLiBVcGRhdGVkIGZ1bmN0aW9ucyBpbnRlbF9odWNfbG9hZCgpLGludGVsX2h1Y19p bml0KCkgYW5kCmludGVsX3VjX2Z3X2ZldGNoKCkgdG8gYWNjZXB0IGRldl9wcml2IGluc3RlYWQg b2YgZGV2LiBNb3ZlZCBjb250ZW50cwpvZiBpbnRlbF9odWMuaCB0byBpbnRlbF91Yy5oCgpDYzog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KVGVzdGVkLWJ5OiBYaWFu ZyBIYWloYW8gPGhhaWhhby54aWFuZ0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFudXNoYSBT cml2YXRzYSA8YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQWxleCBE YWkgPHl1LmRhaUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFBldGVyIEFudG9pbmUgPHBldGVy LmFudG9pbmVAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAg ICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAg fCAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAgMyAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfcmVnLmggICAgIHwgICAzICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYyB8ICAgNyArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaHVjX2xvYWRlci5jIHwgMjY0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oICAgICAgICAgfCAgMjIg KysrCiA3IGZpbGVzIGNoYW5nZWQsIDI5OSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Y19sb2FkZXIu YwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggM2MzMDkxNi4uMDFkNGY0YiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv TWFrZWZpbGUKQEAgLTU3LDYgKzU3LDcgQEAgaTkxNS15ICs9IGk5MTVfY21kX3BhcnNlci5vIFwK ICMgZ2VuZXJhbC1wdXJwb3NlIG1pY3JvY29udHJvbGxlciAoR3VDKSBzdXBwb3J0CiBpOTE1LXkg Kz0gaW50ZWxfdWMubyBcCiAJICBpbnRlbF9ndWNfbG9hZGVyLm8gXAorCSAgaW50ZWxfaHVjX2xv YWRlci5vIFwKIAkgIGk5MTVfZ3VjX3N1Ym1pc3Npb24ubwogCiAjIGF1dG9nZW5lcmF0ZWQgbnVs bCByZW5kZXIgc3RhdGUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDY0Mjg1ODguLjg1YTQ3 YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtNjAwLDYgKzYwMCw3IEBAIHN0YXRpYyBp bnQgaTkxNV9sb2FkX21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmIChy ZXQpCiAJCWdvdG8gY2xlYW51cF9pcnE7CiAKKwlpbnRlbF9odWNfaW5pdChkZXZfcHJpdik7CiAJ aW50ZWxfZ3VjX2luaXQoZGV2X3ByaXYpOwogCiAJcmV0ID0gaTkxNV9nZW1faW5pdChkZXZfcHJp dik7CkBAIC02MjcsNiArNjI4LDcgQEAgc3RhdGljIGludCBpOTE1X2xvYWRfbW9kZXNldF9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGlkbGUgaGFy ZHdhcmU7IGNvbnRpbnVpbmcgdG8gdW5sb2FkIVxuIik7CiAJaTkxNV9nZW1fZmluaShkZXZfcHJp dik7CiBjbGVhbnVwX2lycToKKwlpbnRlbF9odWNfZmluaShkZXYpOwogCWludGVsX2d1Y19maW5p KGRldl9wcml2KTsKIAlkcm1faXJxX3VuaW5zdGFsbChkZXYpOwogCWludGVsX3RlYXJkb3duX2dt YnVzKGRldl9wcml2KTsKQEAgLTEzMTMsNyArMTMxNSw3IEBAIHZvaWQgaTkxNV9kcml2ZXJfdW5s b2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAkvKiBGbHVzaCBhbnkgb3V0c3RhbmRpbmcg dW5waW5fd29yay4gKi8KIAlkcmFpbl93b3JrcXVldWUoZGV2X3ByaXYtPndxKTsKLQorCWludGVs X2h1Y19maW5pKGRldik7CiAJaW50ZWxfZ3VjX2ZpbmkoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX2Zp bmkoZGV2X3ByaXYpOwogCWludGVsX2ZiY19jbGVhbnVwX2NmYihkZXZfcHJpdik7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAppbmRleCAxNDgwZTczLi4wMzcxY2E0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKQEAgLTIwMzYsNiArMjAzNiw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAog CXN0cnVjdCBpbnRlbF9ndnQgKmd2dDsKIAorCXN0cnVjdCBpbnRlbF9odWMgaHVjOwogCXN0cnVj dCBpbnRlbF9ndWMgZ3VjOwogCiAJc3RydWN0IGludGVsX2NzciBjc3I7CkBAIC0yODEwLDcgKzI4 MTEsNyBAQCBpbnRlbF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKICNkZWZpbmUgSEFTX0dVQyhkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2d1YykK ICNkZWZpbmUgSEFTX0dVQ19VQ09ERShkZXZfcHJpdikJKEhBU19HVUMoZGV2X3ByaXYpKQogI2Rl ZmluZSBIQVNfR1VDX1NDSEVEKGRldl9wcml2KQkoSEFTX0dVQyhkZXZfcHJpdikpCi0KKyNkZWZp bmUgSEFTX0hVQ19VQ09ERShkZXZfcHJpdikJKEhBU19HVUMoZGV2X3ByaXYpKQogI2RlZmluZSBI QVNfUkVTT1VSQ0VfU1RSRUFNRVIoZGV2X3ByaXYpICgoZGV2X3ByaXYpLT5pbmZvLmhhc19yZXNv dXJjZV9zdHJlYW1lcikKIAogI2RlZmluZSBIQVNfUE9PTEVEX0VVKGRldl9wcml2KQkoKGRldl9w cml2KS0+aW5mby5oYXNfcG9vbGVkX2V1KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcuaApp bmRleCA1ZTYzOGZjLi5mOTgyOWY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2d1Y19yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19yZWcuaApA QCAtNjEsOSArNjEsMTIgQEAKICNkZWZpbmUgICBETUFfQUREUkVTU19TUEFDRV9HVFQJCSAgKDgg PDwgMTYpCiAjZGVmaW5lIERNQV9DT1BZX1NJWkUJCQlfTU1JTygweGMzMTApCiAjZGVmaW5lIERN QV9DVFJMCQkJX01NSU8oMHhjMzE0KQorI2RlZmluZSAgIEhVQ19VS0VSTkVMCQkJICAoMTw8OSkK ICNkZWZpbmUgICBVT1NfTU9WRQkJCSAgKDE8PDQpCiAjZGVmaW5lICAgU1RBUlRfRE1BCQkJICAo MTw8MCkKICNkZWZpbmUgRE1BX0dVQ19XT1BDTV9PRkZTRVQJCV9NTUlPKDB4YzM0MCkKKyNkZWZp bmUgICBIVUNfTE9BRElOR19BR0VOVF9WQ1IJCSAgKDA8PDEpCisjZGVmaW5lICAgSFVDX0xPQURJ TkdfQUdFTlRfR1VDCQkgICgxPDwxKQogI2RlZmluZSAgIEdVQ19XT1BDTV9PRkZTRVRfVkFMVUUJ ICAweDgwMDAwCS8qIDUxMktCICovCiAjZGVmaW5lIEdVQ19NQVhfSURMRV9DT1VOVAkJX01NSU8o MHhDM0U0KQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9h ZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKaW5kZXggMjZh MTg0Zi4uYjk3MTM1MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj X2xvYWRlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwpA QCAtMzA5LDggKzMwOSw4IEBAIHN0YXRpYyBpbnQgZ3VjX3Vjb2RlX3hmZXJfZG1hKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlJOTE1X1dSSVRFKERNQV9BRERSXzFfSElHSCwg RE1BX0FERFJFU1NfU1BBQ0VfV09QQ00pOwogCiAJLyogRmluYWxseSBzdGFydCB0aGUgRE1BICov Ci0JSTkxNV9XUklURShETUFfQ1RSTCwgX01BU0tFRF9CSVRfRU5BQkxFKFVPU19NT1ZFIHwgU1RB UlRfRE1BKSk7Ci0KKwlJOTE1X1dSSVRFKERNQV9DVFJMLCBfTUFTS0VEX0JJVF9FTkFCTEUoVU9T X01PVkUgfCBTVEFSVF9ETUEpIHwKKwkJX01BU0tFRF9CSVRfRElTQUJMRShIVUNfVUtFUk5FTCkp OwogCS8qCiAJICogV2FpdCBmb3IgdGhlIERNQSB0byBjb21wbGV0ZSAmIHRoZSBHdUMgdG8gc3Rh cnQgdXAuCiAJICogTkI6IERvY3MgcmVjb21tZW5kIG5vdCB1c2luZyB0aGUgaW50ZXJydXB0IGZv ciBjb21wbGV0aW9uLgpAQCAtMzM0LDcgKzMzNCw3IEBAIHN0YXRpYyBpbnQgZ3VjX3Vjb2RlX3hm ZXJfZG1hKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gcmV0Owog fQogCi1zdGF0aWMgdTMyIGd1Y193b3BjbV9zaXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKK3UzMiBndWNfd29wY21fc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiB7CiAJdTMyIHdvcGNtX3NpemUgPSBHVUNfV09QQ01fVE9QOwogCkBAIC01MTEsNiAr NTExLDcgQEAgaW50IGludGVsX2d1Y19zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJCWlmIChlcnIpCiAJCQlnb3RvIGZhaWw7CiAKKwkJaW50ZWxfaHVjX2xvYWQoZGV2 X3ByaXYpOwogCQllcnIgPSBndWNfdWNvZGVfeGZlcihkZXZfcHJpdik7CiAJCWlmICghZXJyKQog CQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWNfbG9h ZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWNfbG9hZGVyLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBlZmQxYwotLS0gL2Rldi9udWxsCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Y19sb2FkZXIuYwpAQCAtMCwwICsxLDI2NCBAQAor LyoKKyAqIENvcHlyaWdodCDCqSAyMDE2IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlz c2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0 YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVu dGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2Fy ZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0 aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0 ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFu ZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVk IHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBU aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5j bHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBj b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisg KiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBB TlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRF RCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hB TEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5Z IENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNU SU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VU IE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhF UiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworI2luY2x1ZGUgPGxpbnV4 L2Zpcm13YXJlLmg+CisjaW5jbHVkZSAiaTkxNV9kcnYuaCIKKyNpbmNsdWRlICJpbnRlbF91Yy5o IgorCisvKioKKyAqIERPQzogSHVDIEZpcm13YXJlCisgKgorICogTW90aXZhdGlvbjoKKyAqIEdF TjkgaW50cm9kdWNlcyBhIG5ldyBkZWRpY2F0ZWQgZmlybXdhcmUgZm9yIHVzYWdlIGluIG1lZGlh IEhFVkMgKEhpZ2gKKyAqIEVmZmljaWVuY3kgVmlkZW8gQ29kaW5nKSBvcGVyYXRpb25zLiBVc2Vy c3BhY2UgY2FuIHVzZSB0aGUgZmlybXdhcmUKKyAqIGNhcGFiaWxpdGllcyBieSBhZGRpbmcgSHVD IHNwZWNpZmljIGNvbW1hbmRzIHRvIGJhdGNoIGJ1ZmZlcnMuCisgKgorICogSW1wbGVtZW50YXRp b246CisgKiBUaGUgc2FtZSBmaXJtd2FyZSBsb2FkZXIgaXMgdXNlZCBhcyB0aGUgR3VDLiBIb3dl dmVyLCB0aGUgYWN0dWFsCisgKiBsb2FkaW5nIHRvIEhXIGlzIGRlZmVycmVkIHVudGlsIEdFTSBp bml0aWFsaXphdGlvbiBpcyBkb25lLgorICoKKyAqIE5vdGUgdGhhdCBIdUMgZmlybXdhcmUgbG9h ZGluZyBtdXN0IGJlIGRvbmUgYmVmb3JlIEd1QyBsb2FkaW5nLgorICovCisKKyNkZWZpbmUgU0tM X0ZXX01BSk9SIDAxCisjZGVmaW5lIFNLTF9GV19NSU5PUiAwNworI2RlZmluZSBTS0xfQkxEX05V TSAxMzk4CisKKyNkZWZpbmUgSFVDX0ZXX1BBVEgocGxhdGZvcm0sIG1ham9yLCBtaW5vciwgYmxk X251bSkgXAorCSJpOTE1LyIgX19zdHJpbmdpZnkocGxhdGZvcm0pICJfaHVjX3ZlciIgX19zdHJp bmdpZnkobWFqb3IpICJfIiBcCisJX19zdHJpbmdpZnkobWlub3IpICJfIiBfX3N0cmluZ2lmeShi bGRfbnVtKSAiLmJpbiIKKworI2RlZmluZSBJOTE1X1NLTF9IVUNfVUNPREUgSFVDX0ZXX1BBVEgo c2tsLCBTS0xfRldfTUFKT1IsIFwKKwlTS0xfRldfTUlOT1IsIFNLTF9CTERfTlVNKQorTU9EVUxF X0ZJUk1XQVJFKEk5MTVfU0tMX0hVQ19VQ09ERSk7CisKKy8qKgorICogaHVjX3Vjb2RlX3hmZXIo KSAtIERNQSdzIHRoZSBmaXJtd2FyZQorICogQGRldl9wcml2OiB0aGUgZHJtIGRldmljZQorICoK KyAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIGdlbSBvYmplY3QgY29udGFpbmluZyB0aGUgZmly bXdhcmUsIHNldHMgdXAgdGhlIERNQQorICogZW5naW5lIE1NSU8sIHRyaWdnZXJzIHRoZSBETUEg b3BlcmF0aW9uIGFuZCB3YWl0cyBmb3IgaXQgdG8gZmluaXNoLgorICoKKyAqIFRyYW5zZmVyIHRo ZSBmaXJtd2FyZSBpbWFnZSB0byBSQU0gZm9yIGV4ZWN1dGlvbiBieSB0aGUgbWljcm9jb250cm9s bGVyLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCBub24temVybyBvbiBmYWlsdXJlCisg Ki8KKworc3RhdGljIGludCBodWNfdWNvZGVfeGZlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCit7CisJc3RydWN0IGludGVsX3VjX2Z3ICpodWNfZncgPSAmZGV2X3ByaXYtPmh1 Yy5odWNfZnc7CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJdW5zaWduZWQgbG9uZyBvZmZzZXQg PSAwOworCXUzMiBzaXplOworCWludCByZXQ7CisKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfc2V0 X3RvX2d0dF9kb21haW4oaHVjX2Z3LT51Y19md19vYmosIGZhbHNlKTsKKwlpZiAocmV0KSB7CisJ CURSTV9ERUJVR19EUklWRVIoInNldC1kb21haW4gZmFpbGVkICVkXG4iLCByZXQpOworCQlyZXR1 cm4gcmV0OworCX0KKworCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9nZ3R0X3BpbihodWNfZnctPnVj X2Z3X29iaiwgTlVMTCwgMCwgMCwgMCk7CisJaWYgKElTX0VSUih2bWEpKSB7CisJCURSTV9ERUJV R19EUklWRVIoInBpbiBmYWlsZWQgJWRcbiIsIChpbnQpUFRSX0VSUih2bWEpKTsKKwkJcmV0dXJu IFBUUl9FUlIodm1hKTsKKwl9CisKKwkvKiBJbnZhbGlkYXRlIEd1QyBUTEIgdG8gbGV0IEd1QyB0 YWtlIHRoZSBsYXRlc3QgdXBkYXRlcyB0byBHVFQuICovCisJSTkxNV9XUklURShHRU44X0dUQ1Is IEdFTjhfR1RDUl9JTlZBTElEQVRFKTsKKworCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KGRl dl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKworCS8qIGluaXQgV09QQ00gKi8KKwlJOTE1X1dSSVRF KEdVQ19XT1BDTV9TSVpFLCBndWNfd29wY21fc2l6ZShkZXZfcHJpdikpOworCUk5MTVfV1JJVEUo RE1BX0dVQ19XT1BDTV9PRkZTRVQsIEdVQ19XT1BDTV9PRkZTRVRfVkFMVUUgfAorCQkJSFVDX0xP QURJTkdfQUdFTlRfR1VDKTsKKworCS8qIFNldCB0aGUgc291cmNlIGFkZHJlc3MgZm9yIHRoZSB1 Q29kZSAqLworCW9mZnNldCA9IGk5MTVfZ2d0dF9vZmZzZXQodm1hKSArIGh1Y19mdy0+aGVhZGVy X29mZnNldDsKKwlJOTE1X1dSSVRFKERNQV9BRERSXzBfTE9XLCBsb3dlcl8zMl9iaXRzKG9mZnNl dCkpOworCUk5MTVfV1JJVEUoRE1BX0FERFJfMF9ISUdILCB1cHBlcl8zMl9iaXRzKG9mZnNldCkg JiAweEZGRkYpOworCisJLyogSGFyZHdhcmUgZG9lc24ndCBsb29rIGF0IGRlc3RpbmF0aW9uIGFk ZHJlc3MgZm9yIEh1Qy4gU2V0IGl0IHRvIDAsCisJICogYnV0IHN0aWxsIHByb2dyYW0gdGhlIGNv cnJlY3QgYWRkcmVzcyBzcGFjZS4KKwkgKi8KKwlJOTE1X1dSSVRFKERNQV9BRERSXzFfTE9XLCAw KTsKKwlJOTE1X1dSSVRFKERNQV9BRERSXzFfSElHSCwgRE1BX0FERFJFU1NfU1BBQ0VfV09QQ00p OworCisJc2l6ZSA9IGh1Y19mdy0+aGVhZGVyX3NpemUgKyBodWNfZnctPnVjb2RlX3NpemU7CisJ STkxNV9XUklURShETUFfQ09QWV9TSVpFLCBzaXplKTsKKworCS8qIFN0YXJ0IHRoZSBETUEgKi8K KwlJOTE1X1dSSVRFKERNQV9DVFJMLCBfTUFTS0VEX0JJVF9FTkFCTEUoSFVDX1VLRVJORUwgfCBT VEFSVF9ETUEpKTsKKworCS8qIFdhaXQgZm9yIERNQSB0byBmaW5pc2ggKi8KKwlyZXQgPSB3YWl0 X2ZvcigoSTkxNV9SRUFEKERNQV9DVFJMKSAmIFNUQVJUX0RNQSkgPT0gMCwgMTAwKTsKKworCURS TV9ERUJVR19EUklWRVIoIkh1QyBETUEgdHJhbnNmZXIgd2FpdCBvdmVyIHdpdGggcmV0ICVkXG4i LCByZXQpOworCisJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZGV2X3ByaXYsIEZPUkNFV0FL RV9BTEwpOworCisJLyoKKwkgKiBXZSBrZWVwIHRoZSBvYmplY3QgcGFnZXMgZm9yIHJldXNlIGR1 cmluZyByZXN1bWUuIEJ1dCB3ZSBjYW4gdW5waW4gaXQKKwkgKiBub3cgdGhhdCBETUEgaGFzIGNv bXBsZXRlZCwgc28gaXQgZG9lc24ndCBjb250aW51ZSB0byB0YWtlIHVwIHNwYWNlLgorCSAqLwor CWk5MTVfdm1hX3VucGluKHZtYSk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGludGVs X2h1Y19pbml0KCkgLSBpbml0aWF0ZSBIdUMgZmlybXdhcmUgbG9hZGluZyByZXF1ZXN0CisgKiBA ZGV2OiB0aGUgZHJtIGRldmljZQorICoKKyAqIENhbGxlZCBlYXJseSBkdXJpbmcgZHJpdmVyIGxv YWQsIGJ1dCBhZnRlciBHRU0gaXMgaW5pdGlhbGlzZWQuIFRoZSBsb2FkaW5nCisgKiB3aWxsIGNv bnRpbnVlIG9ubHkgd2hlbiBkcml2ZXIgZXhwbGljaXRseSBzcGVjaWZ5IGZpcm13YXJlIG5hbWUg YW5kIHZlcnNpb24uCisgKiBBbGwgb3RoZXIgY2FzZXMgYXJlIGNvbnNpZGVyZWQgYXMgVUNfRklS TVdBUkVfTk9ORSBlaXRoZXIgYmVjYXVzZSBIVyBpcyBub3QKKyAqIGNhcGFibGUgb3IgZHJpdmVy IHlldCBzdXBwb3J0IGl0LiBBbmQgdGhlcmUgd2lsbCBiZSBubyBlcnJvciBtZXNzYWdlIGZvcgor ICogVUNfRklSTVdBUkVfTk9ORSBjYXNlcy4KKyAqCisgKiBUaGUgRE1BLWNvcHlpbmcgdG8gSFcg aXMgZG9uZSBsYXRlciB3aGVuIGludGVsX2h1Y19sb2FkKCkgaXMgY2FsbGVkLgorICovCit2b2lk IGludGVsX2h1Y19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlz dHJ1Y3QgaW50ZWxfaHVjICpodWMgPSAmZGV2X3ByaXYtPmh1YzsKKwlzdHJ1Y3QgaW50ZWxfdWNf ZncgKmh1Y19mdyA9ICZodWMtPmh1Y19mdzsKKwljb25zdCBjaGFyICpmd19wYXRoID0gTlVMTDsK KworCWh1Y19mdy0+dWNfZndfcGF0aCA9IE5VTEw7CisJaHVjX2Z3LT5mZXRjaF9zdGF0dXMgPSBV Q19GSVJNV0FSRV9OT05FOworCWh1Y19mdy0+bG9hZF9zdGF0dXMgPSBVQ19GSVJNV0FSRV9OT05F OworCWh1Y19mdy0+ZndfdHlwZSA9IFVDX0ZXX1RZUEVfSFVDOworCisJaWYgKCFIQVNfSFVDX1VD T0RFKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpKSB7 CisJCWZ3X3BhdGggPSBJOTE1X1NLTF9IVUNfVUNPREU7CisJCWh1Y19mdy0+bWFqb3JfdmVyX3dh bnRlZCA9IFNLTF9GV19NQUpPUjsKKwkJaHVjX2Z3LT5taW5vcl92ZXJfd2FudGVkID0gU0tMX0ZX X01JTk9SOworCX0KKworCWh1Y19mdy0+dWNfZndfcGF0aCA9IGZ3X3BhdGg7CisJaHVjX2Z3LT5m ZXRjaF9zdGF0dXMgPSBVQ19GSVJNV0FSRV9QRU5ESU5HOworCisJRFJNX0RFQlVHX0RSSVZFUigi SHVDIGZpcm13YXJlIHBlbmRpbmcsIHBhdGggJXNcbiIsIGZ3X3BhdGgpOworCisJaW50ZWxfdWNf ZndfZmV0Y2goZGV2X3ByaXYsIGh1Y19mdyk7Cit9CisKKy8qKgorICogaW50ZWxfaHVjX2xvYWQo KSAtIGxvYWQgSHVDIHVDb2RlIHRvIGRldmljZQorICogQGRldjogdGhlIGRybSBkZXZpY2UKKyAq CisgKiBDYWxsZWQgZnJvbSBnZW1faW5pdF9odygpIGR1cmluZyBkcml2ZXIgbG9hZGluZyBhbmQg YWxzbyBhZnRlciBhIEdQVSByZXNldC4KKyAqIEJlIG5vdGUgdGhhdCBIdUMgbG9hZGluZyBtdXN0 IGJlIGRvbmUgYmVmb3JlIEd1QyBsb2FkaW5nLgorICoKKyAqIFRoZSBmaXJtd2FyZSBpbWFnZSBz aG91bGQgaGF2ZSBhbHJlYWR5IGJlZW4gZmV0Y2hlZCBpbnRvIG1lbW9yeSBieSB0aGUKKyAqIGVh cmxpZXIgY2FsbCB0byBpbnRlbF9odWNfaW5pdCgpLCBzbyBoZXJlIHdlIG5lZWQgb25seSBjaGVj ayB0aGF0CisgKiBpcyBzdWNjZWVkZWQsIGFuZCB0aGVuIHRyYW5zZmVyIHRoZSBpbWFnZSB0byB0 aGUgaC93LgorICoKKyAqIFJldHVybjoJbm9uLXplcm8gY29kZSBvbiBlcnJvcgorICovCitpbnQg aW50ZWxfaHVjX2xvYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXN0 cnVjdCBpbnRlbF91Y19mdyAqaHVjX2Z3ID0gJmRldl9wcml2LT5odWMuaHVjX2Z3OworCWludCBl cnI7CisKKwlpZiAoaHVjX2Z3LT5mZXRjaF9zdGF0dXMgPT0gVUNfRklSTVdBUkVfTk9ORSkKKwkJ cmV0dXJuIDA7CisKKwlEUk1fREVCVUdfRFJJVkVSKCIlcyBmdyBzdGF0dXM6IGZldGNoICVzLCBs b2FkICVzXG4iLAorCQlodWNfZnctPnVjX2Z3X3BhdGgsCisJCWludGVsX3VjX2Z3X3N0YXR1c19y ZXByKGh1Y19mdy0+ZmV0Y2hfc3RhdHVzKSwKKwkJaW50ZWxfdWNfZndfc3RhdHVzX3JlcHIoaHVj X2Z3LT5sb2FkX3N0YXR1cykpOworCisJaWYgKGh1Y19mdy0+ZmV0Y2hfc3RhdHVzID09IFVDX0ZJ Uk1XQVJFX1NVQ0NFU1MgJiYKKwkgICAgaHVjX2Z3LT5sb2FkX3N0YXR1cyA9PSBVQ19GSVJNV0FS RV9GQUlMKQorCQlyZXR1cm4gLUVOT0VYRUM7CisKKwlodWNfZnctPmxvYWRfc3RhdHVzID0gVUNf RklSTVdBUkVfUEVORElORzsKKworCXN3aXRjaCAoaHVjX2Z3LT5mZXRjaF9zdGF0dXMpIHsKKwlj YXNlIFVDX0ZJUk1XQVJFX0ZBSUw6CisJCS8qIHNvbWV0aGluZyB3ZW50IHdyb25nIDooICovCisJ CWVyciA9IC1FSU87CisJCWdvdG8gZmFpbDsKKworCWNhc2UgVUNfRklSTVdBUkVfTk9ORToKKwlj YXNlIFVDX0ZJUk1XQVJFX1BFTkRJTkc6CisJZGVmYXVsdDoKKwkJLyogImNhbid0IGhhcHBlbiIg Ki8KKwkJV0FSTl9PTkNFKDEsICJIdUMgZncgJXMgaW52YWxpZCBmZXRjaF9zdGF0dXMgJXMgWyVk XVxuIiwKKwkJCWh1Y19mdy0+dWNfZndfcGF0aCwKKwkJCWludGVsX3VjX2Z3X3N0YXR1c19yZXBy KGh1Y19mdy0+ZmV0Y2hfc3RhdHVzKSwKKwkJCWh1Y19mdy0+ZmV0Y2hfc3RhdHVzKTsKKwkJZXJy ID0gLUVOWElPOworCQlnb3RvIGZhaWw7CisKKwljYXNlIFVDX0ZJUk1XQVJFX1NVQ0NFU1M6CisJ CWJyZWFrOworCX0KKworCWVyciA9IGh1Y191Y29kZV94ZmVyKGRldl9wcml2KTsKKwlpZiAoZXJy KQorCQlnb3RvIGZhaWw7CisKKwlodWNfZnctPmxvYWRfc3RhdHVzID0gVUNfRklSTVdBUkVfU1VD Q0VTUzsKKworCURSTV9ERUJVR19EUklWRVIoIiVzIGZ3IHN0YXR1czogZmV0Y2ggJXMsIGxvYWQg JXNcbiIsCisJCWh1Y19mdy0+dWNfZndfcGF0aCwKKwkJaW50ZWxfdWNfZndfc3RhdHVzX3JlcHIo aHVjX2Z3LT5mZXRjaF9zdGF0dXMpLAorCQlpbnRlbF91Y19md19zdGF0dXNfcmVwcihodWNfZnct PmxvYWRfc3RhdHVzKSk7CisKKwlyZXR1cm4gMDsKKworZmFpbDoKKwlpZiAoaHVjX2Z3LT5sb2Fk X3N0YXR1cyA9PSBVQ19GSVJNV0FSRV9QRU5ESU5HKQorCQlodWNfZnctPmxvYWRfc3RhdHVzID0g VUNfRklSTVdBUkVfRkFJTDsKKworCURSTV9FUlJPUigiRmFpbGVkIHRvIGNvbXBsZXRlIEh1QyB1 Q29kZSBsb2FkIHdpdGggcmV0ICVkXG4iLCBlcnIpOworCisJcmV0dXJuIGVycjsKK30KKworLyoq CisgKiBpbnRlbF9odWNfZmluaSgpIC0gY2xlYW4gdXAgcmVzb3VyY2VzIGFsbG9jYXRlZCBmb3Ig SHVDCisgKiBAZGV2OiB0aGUgZHJtIGRldmljZQorICoKKyAqIENsZWFucyB1cCBieSByZWxlYXNp bmcgdGhlIGh1YyBmaXJtd2FyZSBHRU0gb2JqLgorICovCit2b2lkIGludGVsX2h1Y19maW5pKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBpbnRlbF91Y19mdyAqaHVjX2Z3ID0gJmRldl9w cml2LT5odWMuaHVjX2Z3OworCisJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOworCWlm IChodWNfZnctPnVjX2Z3X29iaikKKwkJaTkxNV9nZW1fb2JqZWN0X3B1dChodWNfZnctPnVjX2Z3 X29iaik7CisJaHVjX2Z3LT51Y19md19vYmogPSBOVUxMOworCW11dGV4X3VubG9jaygmZGV2LT5z dHJ1Y3RfbXV0ZXgpOworCisJaHVjX2Z3LT5mZXRjaF9zdGF0dXMgPSBVQ19GSVJNV0FSRV9OT05F OworfQorCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuaAppbmRleCBiZTg5ZjBiLi5hYzkyOTQ2IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VjLmgKQEAgLTI0LDYgKzI0LDEyIEBACiAjaWZuZGVmIF9JTlRFTF9V Q19IXwogI2RlZmluZSBfSU5URUxfVUNfSF8KIAorI2lmbmRlZiBfSU5URUxfSFVDX0hfCisjZGVm aW5lIF9JTlRFTF9IVUNfSF8KKworI2RlZmluZSBIVUNfU1RBVFVTMiAgICAgICAgICAgICBfTU1J TygweEQzQjApCisjZGVmaW5lICAgSFVDX0ZXX1ZFUklGSUVEICAgICAgICgxPDw3KQorCiAjaW5j bHVkZSAiaW50ZWxfZ3VjX2Z3aWYuaCIKICNpbmNsdWRlICJpOTE1X2d1Y19yZWcuaCIKICNpbmNs dWRlICJpbnRlbF9yaW5nYnVmZmVyLmgiCkBAIC0xNzUsNiArMTgxLDEzIEBAIHN0cnVjdCBpbnRl bF9ndWMgewogCXN0cnVjdCBtdXRleCBzZW5kX211dGV4OwogfTsKIAorc3RydWN0IGludGVsX2h1 YyB7CisJLyogR2VuZXJpYyB1QyBmaXJtd2FyZSBtYW5hZ2VtZW50ICovCisJc3RydWN0IGludGVs X3VjX2Z3IGh1Y19mdzsKKworCS8qIEh1Qy1zcGVjaWZpYyBhZGRpdGlvbnMgKi8KK307CisKIC8q IGludGVsX3VjLmMgKi8KIHZvaWQgaW50ZWxfdWNfaW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwogYm9vbCBpbnRlbF9ndWNfcmVjdihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiAqc3RhdHVzKTsKQEAgLTE5MSw2ICsyMDQsOSBAQCBleHRl cm4gdm9pZCBpbnRlbF9ndWNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp OwogZXh0ZXJuIGNvbnN0IGNoYXIgKmludGVsX3VjX2Z3X3N0YXR1c19yZXByKGVudW0gaW50ZWxf dWNfZndfc3RhdHVzIHN0YXR1cyk7CiBleHRlcm4gaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBleHRlcm4gaW50IGludGVsX2d1Y19yZXN1 bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaW50ZWxfdWNfZndf ZmV0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCXN0cnVjdCBpbnRlbF91 Y19mdyAqdWNfZncpOwordTMyIGd1Y193b3BjbV9zaXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7CiAKIC8qIGk5MTVfZ3VjX3N1Ym1pc3Npb24uYyAqLwogaW50IGk5MTVfZ3Vj X3N1Ym1pc3Npb25faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwpAQCAt MjA1LDQgKzIyMSwxMCBAQCB2b2lkIGk5MTVfZ3VjX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ3VjX3VucmVnaXN0ZXIoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2d1Y19sb2dfY29udHJvbChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU2NCBjb250cm9sX3ZhbCk7CiAKKy8qIGludGVs X2h1Y19sb2FkZXIuYyAqLwordm9pZCBpbnRlbF9odWNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwordm9pZCBpbnRlbF9odWNfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKK2ludCBpbnRlbF9odWNfbG9hZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOworCisjZW5kaWYKICNlbmRpZgotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=