From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 16/21] drm/i915: Demidlayer driver loading Date: Mon, 30 May 2016 09:38:34 +0100 Message-ID: <1464597519-16659-17-git-send-email-chris@chris-wilson.co.uk> References: <1464597519-16659-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF94C6E6E9 for ; Mon, 30 May 2016 08:39:06 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id e3so20243846wme.2 for ; Mon, 30 May 2016 01:39:06 -0700 (PDT) In-Reply-To: <1464597519-16659-1-git-send-email-chris@chris-wilson.co.uk> 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: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGFrZSBjb250cm9sIG92ZXIgYWxsb2NhdGluZywgbG9hZGluZyBhbmQgcmVnaXN0ZXJpbmcgdGhl IGRyaXZlciBmcm9tIHRoZQpEUk0gbWlkbGF5ZXIgYnkgcGVyZm9ybWluZyBpdCBtYW51YWxseSBm cm9tIGk5MTVfcGNpX3Byb2JlLiBUaGlzIGFsbG93cwp1cyB0byBjYXJlZnVsbHkgY29udHJvbCB0 aGUgb3JkZXIgb2Ygd2hlbiB3ZSBzZXR1cCB0aGUgaGFyZHdhcmUgdnMgd2hlbgppdCBiZWNvbWVz IHZpc2libGUgdG8gdGhpcmQgcGFydGllcyAoaW5jbHVkaW5nIHVzZXJzcGFjZSkuIFRoZSBjdXJy ZW50Cm9yZGVyaW5nIG1ha2VzIHRoZSBkcml2ZXIgdmlzaWJsZSB0byB1c2Vyc3BhY2UgZmlyc3Qg KGluIG9yZGVyIHRvCmNvb3JkaW5hdGUgd2l0aCByZW1vdmVkIERSSTEgdXNlcnNwYWNlKSwgYnV0 IHRoYXQgb3JkZXJpbmcgaW5jdXJzIHJpc2suClRoZSByaXNrIGluY3JlYXNlcyBhcyB3ZSBzdHJp dmUgZm9yIG1vcmUgYXN5bmNocm9ub3VzIGxvYWRpbmcuCgpPbmUgc2lkZSBlZmZlY3Qgb2YgY29u dHJvbGxpbmcgdGhlIGFsbG9jYXRpb24gaXMgdGhhdCB3ZSBjYW4gYWxsb2NhdGUKYm90aCB0aGUg ZHJtX2RldmljZSArIGRybV9pOTE1X3ByaXZhdGUgaW4gb25lIGJsb2NrLCB0aGUgbmV4dCBzdGVw CnRvd2FyZHMgc3ViY2xhc3NpbmcuCgpVbmxvYWQgaXMgc3RpbGwgbGVmdCBhcyBiZWZvcmUsIGEg bWl4IG9mIG1pZGxheWVyIGFuZCBkcml2ZXIuCgp2MjogQWZ0ZXIgZHJtX2Rldl9pbml0KCksIHdl IHNob3VsZCBjYWxsIGRybV9kZXZfdW5yZWYoKSBzbyB0aGF0IHdlIGNhbGwKZHJtX2Rldl9yZWxl YXNlKCkgYW5kIGZyZWUgZXZlcnl0aGluZyBmcm9tIGRybV9kZXZfaW5pdCgpLgoKU3VnZ2VzdGVk LWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpTaWduZWQtb2ZmLWJ5 OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1h LmMgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oIHwgIDYgKysrLQogMyBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAz MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rt YS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwppbmRleCA2YjM2YmNhNTg1YzUu LjdjMDA3ZTg3ZjVkNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBAIC0xMDQ2LDkgKzEwNDYs MTAgQEAgc3RhdGljIHZvaWQgaTkxNV93b3JrcXVldWVzX2NsZWFudXAoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogICogZnVuY3Rpb24gaG9va3Mgbm90IHJlcXVpcmluZyBhY2Nl c3NpbmcgdGhlIGRldmljZS4KICAqLwogc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgIHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCi0JCQkJICBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8pCisJCQkJICBj b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqbWF0Y2hfaW5mbyA9CisJCShzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKill bnQtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqZGV2aWNlX2luZm87 CiAJaW50IHJldCA9IDA7CiAKQEAgLTEwNTcsOCArMTA1OCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9k cml2ZXJfaW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAkv KiBTZXR1cCB0aGUgd3JpdGUtb25jZSAiY29uc3RhbnQiIGRldmljZSBpbmZvICovCiAJZGV2aWNl X2luZm8gPSAoc3RydWN0IGludGVsX2RldmljZV9pbmZvICopJmRldl9wcml2LT5pbmZvOwotCW1l bWNweShkZXZpY2VfaW5mbywgaW5mbywgc2l6ZW9mKGRldl9wcml2LT5pbmZvKSk7Ci0JZGV2aWNl X2luZm8tPmRldmljZV9pZCA9IGRldi0+cGRldi0+ZGV2aWNlOworCW1lbWNweShkZXZpY2VfaW5m bywgbWF0Y2hfaW5mbywgc2l6ZW9mKCpkZXZpY2VfaW5mbykpOworCWRldmljZV9pbmZvLT5kZXZp Y2VfaWQgPSBkZXZfcHJpdi0+ZHJtLnBkZXYtPmRldmljZTsKIAogCUJVR19PTihkZXZpY2VfaW5m by0+Z2VuID4gc2l6ZW9mKGRldmljZV9pbmZvLT5nZW5fbWFzaykgKiBCSVRTX1BFUl9CWVRFKTsK IAlkZXZpY2VfaW5mby0+Z2VuX21hc2sgPSBCSVQoZGV2aWNlX2luZm8tPmdlbiAtIDEpOwpAQCAt MTA4MCwxOCArMTA4MSwxOCBAQCBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX2luaXRfZWFybHkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlyZXR1cm4gcmV0OwogCiAJLyogVGhp cyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IGNhbGxzIHRvIEhBU19QQ0hfKiAqLwotCWludGVs X2RldGVjdF9wY2goZGV2KTsKKwlpbnRlbF9kZXRlY3RfcGNoKCZkZXZfcHJpdi0+ZHJtKTsKIAot CWludGVsX3BtX3NldHVwKGRldik7CisJaW50ZWxfcG1fc2V0dXAoJmRldl9wcml2LT5kcm0pOwog CWludGVsX2luaXRfZHBpbyhkZXZfcHJpdik7CiAJaW50ZWxfcG93ZXJfZG9tYWluc19pbml0KGRl dl9wcml2KTsKIAlpbnRlbF9pcnFfaW5pdChkZXZfcHJpdik7CiAJaW50ZWxfaW5pdF9kaXNwbGF5 X2hvb2tzKGRldl9wcml2KTsKIAlpbnRlbF9pbml0X2Nsb2NrX2dhdGluZ19ob29rcyhkZXZfcHJp dik7CiAJaW50ZWxfaW5pdF9hdWRpb19ob29rcyhkZXZfcHJpdik7Ci0JaTkxNV9nZW1fbG9hZF9p bml0KGRldik7CisJaTkxNV9nZW1fbG9hZF9pbml0KCZkZXZfcHJpdi0+ZHJtKTsKIAotCWludGVs X2Rpc3BsYXlfY3JjX2luaXQoZGV2KTsKKwlpbnRlbF9kaXNwbGF5X2NyY19pbml0KCZkZXZfcHJp di0+ZHJtKTsKIAogCWk5MTVfZHVtcF9kZXZpY2VfaW5mbyhkZXZfcHJpdik7CiAKQEAgLTEwOTks NyArMTEwMCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9lYXJseShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICogdmVyeSBmaXJzdCBvbmVzLiBBbG1vc3QgZXZl cnl0aGluZyBzaG91bGQgd29yaywgZXhjZXB0IGZvciBtYXliZQogCSAqIHN1c3BlbmQvcmVzdW1l LiBBbmQgd2UgZG9uJ3QgaW1wbGVtZW50IHdvcmthcm91bmRzIHRoYXQgYWZmZWN0IG9ubHkKIAkg KiBwcmUtcHJvZHVjdGlvbiBtYWNoaW5lcy4gKi8KLQlpZiAoSVNfSFNXX0VBUkxZX1NEVihkZXYp KQorCWlmIChJU19IU1dfRUFSTFlfU0RWKGRldl9wcml2KSkKIAkJRFJNX0lORk8oIlRoaXMgaXMg YW4gZWFybHkgcHJlLXByb2R1Y3Rpb24gSGFzd2VsbCBtYWNoaW5lLiAiCiAJCQkgIkl0IG1heSBu b3QgYmUgZnVsbHkgZnVuY3Rpb25hbC5cbiIpOwogCkBAIC0xMzUzLDYgKzEzNTQsNyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7CiAKIAlpOTE1 X2dlbV9zaHJpbmtlcl9pbml0KGRldl9wcml2KTsKKwogCS8qCiAJICogTm90aWZ5IGEgdmFsaWQg c3VyZmFjZSBhZnRlciBtb2Rlc2V0dGluZywKIAkgKiB3aGVuIHJ1bm5pbmcgaW5zaWRlIGEgVk0u CkBAIC0xMzYwLDkgKzEzNjIsMTMgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfcmVnaXN0ZXIo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChpbnRlbF92Z3B1X2FjdGl2 ZShkZXZfcHJpdikpCiAJCUk5MTVfV1JJVEUodmd0aWZfcmVnKGRpc3BsYXlfcmVhZHkpLCBWR1Rf RFJWX0RJU1BMQVlfUkVBRFkpOwogCi0JaTkxNV9kZWJ1Z2ZzX3JlZ2lzdGVyKGRldl9wcml2KTsK LQlpOTE1X3NldHVwX3N5c2ZzKGRldik7Ci0JaW50ZWxfbW9kZXNldF9yZWdpc3RlcihkZXZfcHJp dik7CisJLyogUmV2ZWFsIG91ciBwcmVzZW5jZSB0byB1c2Vyc3BhY2UgKi8KKwlpZiAoZHJtX2Rl dl9yZWdpc3RlcihkZXYsIDApID09IDApIHsKKwkJaTkxNV9kZWJ1Z2ZzX3JlZ2lzdGVyKGRldl9w cml2KTsKKwkJaTkxNV9zZXR1cF9zeXNmcyhkZXYpOworCQlpbnRlbF9tb2Rlc2V0X3JlZ2lzdGVy KGRldl9wcml2KTsKKwl9IGVsc2UKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVnaXN0ZXIgZHJp dmVyIGZvciB1c2Vyc3BhY2UgYWNjZXNzIVxuIik7CiAKIAlpZiAoSU5URUxfSU5GTyhkZXZfcHJp diktPm51bV9waXBlcykgewogCQkvKiBNdXN0IGJlIGRvbmUgYWZ0ZXIgcHJvYmluZyBvdXRwdXRz ICovCkBAIC0xNDE1LDI0ICsxNDIxLDM3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3VucmVn aXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogICogICAtIGFsbG9jYXRl IGluaXRpYWwgY29uZmlnIG1lbW9yeQogICogICAtIHNldHVwIHRoZSBEUk0gZnJhbWVidWZmZXIg d2l0aCB0aGUgYWxsb2NhdGVkIG1lbW9yeQogICovCi1pbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQoraW50IGk5MTVfZHJpdmVy X2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsCisJCSAgICAgY29uc3Qgc3RydWN0IHBjaV9kZXZp Y2VfaWQgKmVudCwKKwkJICAgICBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyKQogewogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdjsKLQlpbnQgcmV0ID0gMDsKKwlpbnQgcmV0Owog CiAJZGV2X3ByaXYgPSBremFsbG9jKHNpemVvZigqZGV2X3ByaXYpLCBHRlBfS0VSTkVMKTsKIAlp ZiAoZGV2X3ByaXYgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlkZXYtPmRldl9wcml2 YXRlID0gZGV2X3ByaXY7CisJcmV0ID0gZHJtX2Rldl9pbml0KCZkZXZfcHJpdi0+ZHJtLCBkcml2 ZXIsICZwZGV2LT5kZXYpOworCWlmIChyZXQpIHsKKwkJa2ZyZWUoZGV2X3ByaXYpOworCQlnb3Rv IG91dDsKKwl9CisKIAkvKiBNdXN0IGJlIHNldCBiZWZvcmUgY2FsbGluZyBfX2k5MTVfcHJpbnRr ICovCi0JZGV2X3ByaXYtPmRldiA9IGRldjsKKwlkZXZfcHJpdi0+ZHJtLnBkZXYgPSBwZGV2Owor CWRldl9wcml2LT5kcm0uZGV2X3ByaXZhdGUgPSBkZXZfcHJpdjsKKwlkZXZfcHJpdi0+ZGV2ID0g JmRldl9wcml2LT5kcm07CisKKwlyZXQgPSBwY2lfZW5hYmxlX2RldmljZShwZGV2KTsKKwlpZiAo cmV0KQorCQlnb3RvIG91dF9mcmVlX3ByaXY7CiAKLQlyZXQgPSBpOTE1X2RyaXZlcl9pbml0X2Vh cmx5KGRldl9wcml2LCBkZXYsCi0JCQkJICAgICAoc3RydWN0IGludGVsX2RldmljZV9pbmZvICop ZmxhZ3MpOworCXBjaV9zZXRfZHJ2ZGF0YShwZGV2LCAmZGV2X3ByaXYtPmRybSk7CiAKKwlyZXQg PSBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5KGRldl9wcml2LCBlbnQpOwogCWlmIChyZXQgPCAwKQot CQlnb3RvIG91dF9mcmVlX3ByaXY7CisJCWdvdG8gb3V0X3BjaV9kaXNhYmxlOwogCiAJaW50ZWxf cnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwogCkBAIC0xNDQ5LDEzICsxNDY4LDE0IEBAIGludCBp OTE1X2RyaXZlcl9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxh Z3MpCiAJICogb2YgdGhlIGk5MTVfZHJpdmVyX2luaXRfL2k5MTVfZHJpdmVyX3JlZ2lzdGVyIGZ1 bmN0aW9ucyBhY2NvcmRpbmcKIAkgKiB0byB0aGUgcm9sZS9lZmZlY3Qgb2YgdGhlIGdpdmVuIGlu aXQgc3RlcC4KIAkgKi8KLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5udW1fcGlwZXMpIHsKLQkJcmV0 ID0gZHJtX3ZibGFua19pbml0KGRldiwgSU5URUxfSU5GTyhkZXYpLT5udW1fcGlwZXMpOworCWlm IChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKSB7CisJCXJldCA9IGRybV92Ymxhbmtf aW5pdChkZXZfcHJpdi0+ZGV2LAorCQkJCSAgICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1f cGlwZXMpOwogCQlpZiAocmV0KQogCQkJZ290byBvdXRfY2xlYW51cF9odzsKIAl9CiAKLQlyZXQg PSBpOTE1X2xvYWRfbW9kZXNldF9pbml0KGRldik7CisJcmV0ID0gaTkxNV9sb2FkX21vZGVzZXRf aW5pdChkZXZfcHJpdi0+ZGV2KTsKIAlpZiAocmV0IDwgMCkKIAkJZ290byBvdXRfY2xlYW51cF92 Ymxhbms7CiAKQEAgLTE0NjgsNyArMTQ4OCw3IEBAIGludCBpOTE1X2RyaXZlcl9sb2FkKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJcmV0dXJuIDA7CiAKIG91 dF9jbGVhbnVwX3ZibGFuazoKLQlkcm1fdmJsYW5rX2NsZWFudXAoZGV2KTsKKwlkcm1fdmJsYW5r X2NsZWFudXAoZGV2X3ByaXYtPmRldik7CiBvdXRfY2xlYW51cF9odzoKIAlpOTE1X2RyaXZlcl9j bGVhbnVwX2h3KGRldl9wcml2KTsKIG91dF9jbGVhbnVwX21taW86CkBAIC0xNDc2LDExICsxNDk2 LDEyIEBAIG91dF9jbGVhbnVwX21taW86CiBvdXRfcnVudGltZV9wbV9wdXQ6CiAJaW50ZWxfcnVu dGltZV9wbV9wdXQoZGV2X3ByaXYpOwogCWk5MTVfZHJpdmVyX2NsZWFudXBfZWFybHkoZGV2X3By aXYpOworb3V0X3BjaV9kaXNhYmxlOgorCXBjaV9kaXNhYmxlX2RldmljZShwZGV2KTsKIG91dF9m cmVlX3ByaXY6CisJZHJtX2Rldl91bnJlZigmZGV2X3ByaXYtPmRybSk7CitvdXQ6CiAJaTkxNV9s b2FkX2Vycm9yKGRldl9wcml2LCAiRGV2aWNlIGluaXRpYWxpemF0aW9uIGZhaWxlZCAoJWQpXG4i LCByZXQpOwotCi0Ja2ZyZWUoZGV2X3ByaXYpOwotCiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTU0 Myw3ICsxNTY0LDYgQEAgaW50IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fSU5J VCk7CiAKIAlpOTE1X2RyaXZlcl9jbGVhbnVwX2Vhcmx5KGRldl9wcml2KTsKLQlrZnJlZShkZXZf cHJpdik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IGZhOWUx NmIyMjQ3Yy4uZDI3OTJjZTEyYzVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTEwMzks NyArMTAzOSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBk ZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCiAJICAgICF2Z2Ffc3dpdGNoZXJv b19oYW5kbGVyX2ZsYWdzKCkpCiAJCXJldHVybiAtRVBST0JFX0RFRkVSOwogCi0JcmV0dXJuIGRy bV9nZXRfcGNpX2RldihwZGV2LCBlbnQsICZkcml2ZXIpOworCXJldHVybiBpOTE1X2RyaXZlcl9s b2FkKHBkZXYsIGVudCwgJmRyaXZlcik7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0xNzUzLDcgKzE3 NTMsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0gewogCS5kcml2ZXJfZmVh dHVyZXMgPQogCSAgICBEUklWRVJfSEFWRV9JUlEgfCBEUklWRVJfSVJRX1NIQVJFRCB8IERSSVZF Ul9HRU0gfCBEUklWRVJfUFJJTUUgfAogCSAgICBEUklWRVJfUkVOREVSIHwgRFJJVkVSX01PREVT RVQsCi0JLmxvYWQgPSBpOTE1X2RyaXZlcl9sb2FkLAogCS51bmxvYWQgPSBpOTE1X2RyaXZlcl91 bmxvYWQsCiAJLm9wZW4gPSBpOTE1X2RyaXZlcl9vcGVuLAogCS5sYXN0Y2xvc2UgPSBpOTE1X2Ry aXZlcl9sYXN0Y2xvc2UsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA0MGFjNDE5MGE3NzIu LjFmZDdhMjEyNDNhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNzIyLDYgKzE3MjIs OCBAQCBzdHJ1Y3QgaW50ZWxfd21fY29uZmlnIHsKIH07CiAKIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlIHsKKwlzdHJ1Y3QgZHJtX2RldmljZSBkcm07CisKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 OwogCXN0cnVjdCBrbWVtX2NhY2hlICpvYmplY3RzOwogCXN0cnVjdCBrbWVtX2NhY2hlICp2bWFz OwpAQCAtMjg3Miw3ICsyODc0LDkgQEAgX19pOTE1X3ByaW50ayhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsIGNvbnN0IGNoYXIgKmxldmVsLAogI2RlZmluZSBpOTE1X3JlcG9ydF9l cnJvcihkZXZfcHJpdiwgZm10LCAuLi4pCQkJCSAgIFwKIAlfX2k5MTVfcHJpbnRrKGRldl9wcml2 LCBLRVJOX0VSUiwgZm10LCAjI19fVkFfQVJHU19fKQogCi1leHRlcm4gaW50IGk5MTVfZHJpdmVy X2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKiwgdW5zaWduZWQgbG9uZyBmbGFncyk7CitleHRlcm4g aW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsCisJCQkgICAgY29uc3Qg c3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCwKKwkJCSAgICBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJp dmVyKTsKIGV4dGVybiBpbnQgaTkxNV9kcml2ZXJfdW5sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICop OwogZXh0ZXJuIGludCBpOTE1X2RyaXZlcl9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZSk7CiBleHRlcm4gdm9pZCBpOTE1X2RyaXZlcl9sYXN0Y2xvc2Uo c3RydWN0IGRybV9kZXZpY2UgKiBkZXYpOwotLSAKMi44LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=