From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 6/8] drm/i915: Demidlayer driver loading Date: Tue, 21 Jun 2016 09:53:46 +0100 Message-ID: <1466499228-30290-7-git-send-email-chris@chris-wilson.co.uk> References: <1466499228-30290-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-lf0-x241.google.com (mail-lf0-x241.google.com [IPv6:2a00:1450:4010:c07::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id C1E856E653 for ; Tue, 21 Jun 2016 08:54:08 +0000 (UTC) Received: by mail-lf0-x241.google.com with SMTP id a2so1953253lfe.3 for ; Tue, 21 Jun 2016 01:54:08 -0700 (PDT) In-Reply-To: <1466499228-30290-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 LmMgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oIHwgIDYgKysrLQogMyBmaWxlcyBjaGFuZ2VkLCA1NCBpbnNlcnRpb25zKCspLCAz MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rt YS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwppbmRleCA5MTYyMzg3NGY5YTMu LjBlNDNhZDUxMTgzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCkBAIC0xMDc1LDkgKzEwNzUs MTAgQEAgc3RhdGljIHZvaWQgaTkxNV93b3JrcXVldWVzX2NsZWFudXAoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogICogZnVuY3Rpb24gaG9va3Mgbm90IHJlcXVpcmluZyBhY2Nl c3NpbmcgdGhlIGRldmljZS4KICAqLwogc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgIHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCi0JCQkJICBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8pCisJCQkJICBj b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQogeworCWNvbnN0IHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqbWF0Y2hfaW5mbyA9CisJCShzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKill bnQtPmRyaXZlcl9kYXRhOwogCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqZGV2aWNlX2luZm87 CiAJaW50IHJldCA9IDA7CiAKQEAgLTEwODYsOCArMTA4Nyw4IEBAIHN0YXRpYyBpbnQgaTkxNV9k cml2ZXJfaW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAkv KiBTZXR1cCB0aGUgd3JpdGUtb25jZSAiY29uc3RhbnQiIGRldmljZSBpbmZvICovCiAJZGV2aWNl X2luZm8gPSAoc3RydWN0IGludGVsX2RldmljZV9pbmZvICopJmRldl9wcml2LT5pbmZvOwotCW1l bWNweShkZXZpY2VfaW5mbywgaW5mbywgc2l6ZW9mKGRldl9wcml2LT5pbmZvKSk7Ci0JZGV2aWNl X2luZm8tPmRldmljZV9pZCA9IGRldi0+cGRldi0+ZGV2aWNlOworCW1lbWNweShkZXZpY2VfaW5m bywgbWF0Y2hfaW5mbywgc2l6ZW9mKCpkZXZpY2VfaW5mbykpOworCWRldmljZV9pbmZvLT5kZXZp Y2VfaWQgPSBkZXZfcHJpdi0+ZHJtLnBkZXYtPmRldmljZTsKIAogCUJVR19PTihkZXZpY2VfaW5m by0+Z2VuID4gc2l6ZW9mKGRldmljZV9pbmZvLT5nZW5fbWFzaykgKiBCSVRTX1BFUl9CWVRFKTsK IAlkZXZpY2VfaW5mby0+Z2VuX21hc2sgPSBCSVQoZGV2aWNlX2luZm8tPmdlbiAtIDEpOwpAQCAt MTExMywxOCArMTExNCwxOCBAQCBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX2luaXRfZWFybHkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlnb3RvIGVycl93b3JrcXVldWVzOwog CiAJLyogVGhpcyBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYW55IGNhbGxzIHRvIEhBU19QQ0hfKiAq LwotCWludGVsX2RldGVjdF9wY2goZGV2KTsKKwlpbnRlbF9kZXRlY3RfcGNoKCZkZXZfcHJpdi0+ ZHJtKTsKIAotCWludGVsX3BtX3NldHVwKGRldik7CisJaW50ZWxfcG1fc2V0dXAoJmRldl9wcml2 LT5kcm0pOwogCWludGVsX2luaXRfZHBpbyhkZXZfcHJpdik7CiAJaW50ZWxfcG93ZXJfZG9tYWlu c19pbml0KGRldl9wcml2KTsKIAlpbnRlbF9pcnFfaW5pdChkZXZfcHJpdik7CiAJaW50ZWxfaW5p dF9kaXNwbGF5X2hvb2tzKGRldl9wcml2KTsKIAlpbnRlbF9pbml0X2Nsb2NrX2dhdGluZ19ob29r cyhkZXZfcHJpdik7CiAJaW50ZWxfaW5pdF9hdWRpb19ob29rcyhkZXZfcHJpdik7Ci0JaTkxNV9n ZW1fbG9hZF9pbml0KGRldik7CisJaTkxNV9nZW1fbG9hZF9pbml0KCZkZXZfcHJpdi0+ZHJtKTsK IAotCWludGVsX2Rpc3BsYXlfY3JjX2luaXQoZGV2KTsKKwlpbnRlbF9kaXNwbGF5X2NyY19pbml0 KCZkZXZfcHJpdi0+ZHJtKTsKIAogCWk5MTVfZHVtcF9kZXZpY2VfaW5mbyhkZXZfcHJpdik7CiAK QEAgLTExMzIsNyArMTEzMyw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9lYXJseShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICogdmVyeSBmaXJzdCBvbmVzLiBB bG1vc3QgZXZlcnl0aGluZyBzaG91bGQgd29yaywgZXhjZXB0IGZvciBtYXliZQogCSAqIHN1c3Bl bmQvcmVzdW1lLiBBbmQgd2UgZG9uJ3QgaW1wbGVtZW50IHdvcmthcm91bmRzIHRoYXQgYWZmZWN0 IG9ubHkKIAkgKiBwcmUtcHJvZHVjdGlvbiBtYWNoaW5lcy4gKi8KLQlpZiAoSVNfSFNXX0VBUkxZ X1NEVihkZXYpKQorCWlmIChJU19IU1dfRUFSTFlfU0RWKGRldl9wcml2KSkKIAkJRFJNX0lORk8o IlRoaXMgaXMgYW4gZWFybHkgcHJlLXByb2R1Y3Rpb24gSGFzd2VsbCBtYWNoaW5lLiAiCiAJCQkg Ikl0IG1heSBub3QgYmUgZnVsbHkgZnVuY3Rpb25hbC5cbiIpOwogCkBAIC0xMzkwLDYgKzEzOTEs NyBAQCBzdGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7 CiAKIAlpOTE1X2dlbV9zaHJpbmtlcl9pbml0KGRldl9wcml2KTsKKwogCS8qCiAJICogTm90aWZ5 IGEgdmFsaWQgc3VyZmFjZSBhZnRlciBtb2Rlc2V0dGluZywKIAkgKiB3aGVuIHJ1bm5pbmcgaW5z aWRlIGEgVk0uCkBAIC0xMzk3LDkgKzEzOTksMTMgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJf cmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChpbnRlbF92 Z3B1X2FjdGl2ZShkZXZfcHJpdikpCiAJCUk5MTVfV1JJVEUodmd0aWZfcmVnKGRpc3BsYXlfcmVh ZHkpLCBWR1RfRFJWX0RJU1BMQVlfUkVBRFkpOwogCi0JaTkxNV9kZWJ1Z2ZzX3JlZ2lzdGVyKGRl dl9wcml2KTsKLQlpOTE1X3NldHVwX3N5c2ZzKGRldik7Ci0JaW50ZWxfbW9kZXNldF9yZWdpc3Rl cihkZXZfcHJpdik7CisJLyogUmV2ZWFsIG91ciBwcmVzZW5jZSB0byB1c2Vyc3BhY2UgKi8KKwlp ZiAoZHJtX2Rldl9yZWdpc3RlcihkZXYsIDApID09IDApIHsKKwkJaTkxNV9kZWJ1Z2ZzX3JlZ2lz dGVyKGRldl9wcml2KTsKKwkJaTkxNV9zZXR1cF9zeXNmcyhkZXYpOworCQlpbnRlbF9tb2Rlc2V0 X3JlZ2lzdGVyKGRldl9wcml2KTsKKwl9IGVsc2UKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVn aXN0ZXIgZHJpdmVyIGZvciB1c2Vyc3BhY2UgYWNjZXNzIVxuIik7CiAKIAlpZiAoSU5URUxfSU5G TyhkZXZfcHJpdiktPm51bV9waXBlcykgewogCQkvKiBNdXN0IGJlIGRvbmUgYWZ0ZXIgcHJvYmlu ZyBvdXRwdXRzICovCkBAIC0xNDQ5LDI0ICsxNDU1LDM4IEBAIHN0YXRpYyB2b2lkIGk5MTVfZHJp dmVyX3VucmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogICogICAt IGFsbG9jYXRlIGluaXRpYWwgY29uZmlnIG1lbW9yeQogICogICAtIHNldHVwIHRoZSBEUk0gZnJh bWVidWZmZXIgd2l0aCB0aGUgYWxsb2NhdGVkIG1lbW9yeQogICovCi1pbnQgaTkxNV9kcml2ZXJf bG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQoraW50IGk5 MTVfZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsCisJCSAgICAgY29uc3Qgc3RydWN0 IHBjaV9kZXZpY2VfaWQgKmVudCwKKwkJICAgICBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJpdmVyKQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdjsKLQlpbnQgcmV0ID0gMDsKKwlp bnQgcmV0OwogCisJcmV0ID0gMDsKIAlkZXZfcHJpdiA9IGt6YWxsb2Moc2l6ZW9mKCpkZXZfcHJp diksIEdGUF9LRVJORUwpOwotCWlmIChkZXZfcHJpdiA9PSBOVUxMKQorCWlmIChkZXZfcHJpdikK KwkJcmV0ID0gZHJtX2Rldl9pbml0KCZkZXZfcHJpdi0+ZHJtLCBkcml2ZXIsICZwZGV2LT5kZXYp OworCWlmIChyZXQpIHsKKwkJZGV2X3ByaW50ayhLRVJOX0VSUiwgJnBkZXYtPmRldiwKKwkJCSAg ICJbIiBEUk1fTkFNRSAiOiVzXSBhbGxvY2F0aW9uIGZhaWxlZFxuIiwgX19mdW5jX18pOworCQlr ZnJlZShkZXZfcHJpdik7CiAJCXJldHVybiAtRU5PTUVNOworCX0KIAotCWRldi0+ZGV2X3ByaXZh dGUgPSBkZXZfcHJpdjsKIAkvKiBNdXN0IGJlIHNldCBiZWZvcmUgY2FsbGluZyBfX2k5MTVfcHJp bnRrICovCi0JZGV2X3ByaXYtPmRldiA9IGRldjsKKwlkZXZfcHJpdi0+ZHJtLnBkZXYgPSBwZGV2 OworCWRldl9wcml2LT5kcm0uZGV2X3ByaXZhdGUgPSBkZXZfcHJpdjsKKwlkZXZfcHJpdi0+ZGV2 ID0gJmRldl9wcml2LT5kcm07CiAKLQlyZXQgPSBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5KGRldl9w cml2LCBkZXYsCi0JCQkJICAgICAoc3RydWN0IGludGVsX2RldmljZV9pbmZvICopZmxhZ3MpOwor CXJldCA9IHBjaV9lbmFibGVfZGV2aWNlKHBkZXYpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X2Zy ZWVfcHJpdjsKIAorCXBjaV9zZXRfZHJ2ZGF0YShwZGV2LCAmZGV2X3ByaXYtPmRybSk7CisKKwly ZXQgPSBpOTE1X2RyaXZlcl9pbml0X2Vhcmx5KGRldl9wcml2LCBlbnQpOwogCWlmIChyZXQgPCAw KQotCQlnb3RvIG91dF9mcmVlX3ByaXY7CisJCWdvdG8gb3V0X3BjaV9kaXNhYmxlOwogCiAJaW50 ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwogCkBAIC0xNDgzLDEzICsxNTAzLDE0IEBAIGlu dCBpOTE1X2RyaXZlcl9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcg ZmxhZ3MpCiAJICogb2YgdGhlIGk5MTVfZHJpdmVyX2luaXRfL2k5MTVfZHJpdmVyX3JlZ2lzdGVy IGZ1bmN0aW9ucyBhY2NvcmRpbmcKIAkgKiB0byB0aGUgcm9sZS9lZmZlY3Qgb2YgdGhlIGdpdmVu IGluaXQgc3RlcC4KIAkgKi8KLQlpZiAoSU5URUxfSU5GTyhkZXYpLT5udW1fcGlwZXMpIHsKLQkJ cmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgSU5URUxfSU5GTyhkZXYpLT5udW1fcGlwZXMpOwor CWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+bnVtX3BpcGVzKSB7CisJCXJldCA9IGRybV92Ymxh bmtfaW5pdChkZXZfcHJpdi0+ZGV2LAorCQkJCSAgICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5u dW1fcGlwZXMpOwogCQlpZiAocmV0KQogCQkJZ290byBvdXRfY2xlYW51cF9odzsKIAl9CiAKLQly ZXQgPSBpOTE1X2xvYWRfbW9kZXNldF9pbml0KGRldik7CisJcmV0ID0gaTkxNV9sb2FkX21vZGVz ZXRfaW5pdChkZXZfcHJpdi0+ZGV2KTsKIAlpZiAocmV0IDwgMCkKIAkJZ290byBvdXRfY2xlYW51 cF92Ymxhbms7CiAKQEAgLTE1MDIsNyArMTUyMyw3IEBAIGludCBpOTE1X2RyaXZlcl9sb2FkKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJcmV0dXJuIDA7CiAK IG91dF9jbGVhbnVwX3ZibGFuazoKLQlkcm1fdmJsYW5rX2NsZWFudXAoZGV2KTsKKwlkcm1fdmJs YW5rX2NsZWFudXAoZGV2X3ByaXYtPmRldik7CiBvdXRfY2xlYW51cF9odzoKIAlpOTE1X2RyaXZl cl9jbGVhbnVwX2h3KGRldl9wcml2KTsKIG91dF9jbGVhbnVwX21taW86CkBAIC0xNTEwLDExICsx NTMxLDExIEBAIG91dF9jbGVhbnVwX21taW86CiBvdXRfcnVudGltZV9wbV9wdXQ6CiAJaW50ZWxf cnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwogCWk5MTVfZHJpdmVyX2NsZWFudXBfZWFybHkoZGV2 X3ByaXYpOworb3V0X3BjaV9kaXNhYmxlOgorCXBjaV9kaXNhYmxlX2RldmljZShwZGV2KTsKIG91 dF9mcmVlX3ByaXY6CiAJaTkxNV9sb2FkX2Vycm9yKGRldl9wcml2LCAiRGV2aWNlIGluaXRpYWxp emF0aW9uIGZhaWxlZCAoJWQpXG4iLCByZXQpOwotCi0Ja2ZyZWUoZGV2X3ByaXYpOwotCisJZHJt X2Rldl91bnJlZigmZGV2X3ByaXYtPmRybSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTU3OSw3 ICsxNjAwLDYgQEAgaW50IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fSU5JVCk7 CiAKIAlpOTE1X2RyaXZlcl9jbGVhbnVwX2Vhcmx5KGRldl9wcml2KTsKLQlrZnJlZShkZXZfcHJp dik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IDNlYTA5YmQ4 M2E1YS4uMWEzMzVlMWE4YjYyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTEwMzQsNyAr MTAzNCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYgKnBkZXYs IGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCiAJaWYgKHZnYV9zd2l0Y2hlcm9vX2Ns aWVudF9wcm9iZV9kZWZlcihwZGV2KSkKIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CiAKLQlyZXR1 cm4gZHJtX2dldF9wY2lfZGV2KHBkZXYsIGVudCwgJmRyaXZlcik7CisJcmV0dXJuIGk5MTVfZHJp dmVyX2xvYWQocGRldiwgZW50LCAmZHJpdmVyKTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTE3NDgs NyArMTc0OCw2IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIgPSB7CiAJLmRyaXZl cl9mZWF0dXJlcyA9CiAJICAgIERSSVZFUl9IQVZFX0lSUSB8IERSSVZFUl9JUlFfU0hBUkVEIHwg RFJJVkVSX0dFTSB8IERSSVZFUl9QUklNRSB8CiAJICAgIERSSVZFUl9SRU5ERVIgfCBEUklWRVJf TU9ERVNFVCwKLQkubG9hZCA9IGk5MTVfZHJpdmVyX2xvYWQsCiAJLnVubG9hZCA9IGk5MTVfZHJp dmVyX3VubG9hZCwKIAkub3BlbiA9IGk5MTVfZHJpdmVyX29wZW4sCiAJLmxhc3RjbG9zZSA9IGk5 MTVfZHJpdmVyX2xhc3RjbG9zZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDQ0ZTY3MTVk OGIxZC4uMjBhODJiNmEwNTBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE3MzIsNiAr MTczMiw4IEBAIHN0cnVjdCBpbnRlbF93bV9jb25maWcgewogfTsKIAogc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgeworCXN0cnVjdCBkcm1fZGV2aWNlIGRybTsKKwogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXY7CiAJc3RydWN0IGttZW1fY2FjaGUgKm9iamVjdHM7CiAJc3RydWN0IGttZW1fY2FjaGUg KnZtYXM7CkBAIC0yOTAyLDcgKzI5MDQsOSBAQCBfX2k5MTVfcHJpbnRrKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgY29uc3QgY2hhciAqbGV2ZWwsCiAjZGVmaW5lIGk5MTVfcmVw b3J0X2Vycm9yKGRldl9wcml2LCBmbXQsIC4uLikJCQkJICAgXAogCV9faTkxNV9wcmludGsoZGV2 X3ByaXYsIEtFUk5fRVJSLCBmbXQsICMjX19WQV9BUkdTX18pCiAKLWV4dGVybiBpbnQgaTkxNV9k cml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqLCB1bnNpZ25lZCBsb25nIGZsYWdzKTsKK2V4 dGVybiBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwKKwkJCSAgICBj b25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50LAorCQkJICAgIHN0cnVjdCBkcm1fZHJpdmVy ICpkcml2ZXIpOwogZXh0ZXJuIGludCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRybV9kZXZp Y2UgKik7CiBleHRlcm4gaW50IGk5MTVfZHJpdmVyX29wZW4oc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIGV4dGVybiB2b2lkIGk5MTVfZHJpdmVyX2xhc3Rj bG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqIGRldik7Ci0tIAoyLjguMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==