From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 6/8] drm/i915: Demidlayer driver loading Date: Tue, 21 Jun 2016 15:27:02 +0200 Message-ID: <20160621132702.GC23520@phenom.ffwll.local> References: <1466499228-30290-1-git-send-email-chris@chris-wilson.co.uk> <1466499228-30290-7-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-lb0-x243.google.com (mail-lb0-x243.google.com [IPv6:2a00:1450:4010:c04::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 551116E6E0 for ; Tue, 21 Jun 2016 13:27:07 +0000 (UTC) Received: by mail-lb0-x243.google.com with SMTP id td3so1873610lbb.2 for ; Tue, 21 Jun 2016 06:27:07 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1466499228-30290-7-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: Chris Wilson Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMjEsIDIwMTYgYXQgMDk6NTM6NDZBTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFRha2UgY29udHJvbCBvdmVyIGFsbG9jYXRpbmcsIGxvYWRpbmcgYW5kIHJlZ2lzdGVy aW5nIHRoZSBkcml2ZXIgZnJvbSB0aGUKPiBEUk0gbWlkbGF5ZXIgYnkgcGVyZm9ybWluZyBpdCBt YW51YWxseSBmcm9tIGk5MTVfcGNpX3Byb2JlLiBUaGlzIGFsbG93cwo+IHVzIHRvIGNhcmVmdWxs eSBjb250cm9sIHRoZSBvcmRlciBvZiB3aGVuIHdlIHNldHVwIHRoZSBoYXJkd2FyZSB2cyB3aGVu Cj4gaXQgYmVjb21lcyB2aXNpYmxlIHRvIHRoaXJkIHBhcnRpZXMgKGluY2x1ZGluZyB1c2Vyc3Bh Y2UpLiBUaGUgY3VycmVudAo+IG9yZGVyaW5nIG1ha2VzIHRoZSBkcml2ZXIgdmlzaWJsZSB0byB1 c2Vyc3BhY2UgZmlyc3QgKGluIG9yZGVyIHRvCj4gY29vcmRpbmF0ZSB3aXRoIHJlbW92ZWQgRFJJ MSB1c2Vyc3BhY2UpLCBidXQgdGhhdCBvcmRlcmluZyBpbmN1cnMgcmlzay4KPiBUaGUgcmlzayBp bmNyZWFzZXMgYXMgd2Ugc3RyaXZlIGZvciBtb3JlIGFzeW5jaHJvbm91cyBsb2FkaW5nLgo+IAo+ IE9uZSBzaWRlIGVmZmVjdCBvZiBjb250cm9sbGluZyB0aGUgYWxsb2NhdGlvbiBpcyB0aGF0IHdl IGNhbiBhbGxvY2F0ZQo+IGJvdGggdGhlIGRybV9kZXZpY2UgKyBkcm1faTkxNV9wcml2YXRlIGlu IG9uZSBibG9jaywgdGhlIG5leHQgc3RlcAo+IHRvd2FyZHMgc3ViY2xhc3NpbmcuCj4gCj4gVW5s b2FkIGlzIHN0aWxsIGxlZnQgYXMgYmVmb3JlLCBhIG1peCBvZiBtaWRsYXllciBhbmQgZHJpdmVy Lgo+IAo+IHYyOiBBZnRlciBkcm1fZGV2X2luaXQoKSwgd2Ugc2hvdWxkIGNhbGwgZHJtX2Rldl91 bnJlZigpIHNvIHRoYXQgd2UgY2FsbAo+IGRybV9kZXZfcmVsZWFzZSgpIGFuZCBmcmVlIGV2ZXJ5 dGhpbmcgZnJvbSBkcm1fZGV2X2luaXQoKS4KPiAKPiBTdWdnZXN0ZWQtYnk6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29u IDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52 ZXR0ZXJAZmZ3bGwuY2g+Cj4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+CgpBIGJpdCBtdWNoIHMvZGV2L2Rldl9wcml2LyBjb252ZXJzaW9uIGhlcmUg Zm9yIG15IHRhc3RlLCBidXQgbWVoLiBPbmUgcmVhbAppc3N1ZSBzcG90dGVkIGJlbG93LgoKPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyB8IDc2ICsrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMgfCAgMyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIHwgIDYgKysr LQo+ICAzIGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+IGluZGV4IDkxNjIzODc0ZjlhMy4uMGU0M2FkNTEx ODMzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gQEAgLTEwNzUsOSArMTA3NSwxMCBA QCBzdGF0aWMgdm9pZCBpOTE1X3dvcmtxdWV1ZXNfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gICAqIGZ1bmN0aW9uIGhvb2tzIG5vdCByZXF1aXJpbmcgYWNjZXNz aW5nIHRoZSBkZXZpY2UuCj4gICAqLwo+ICBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX2luaXRfZWFy bHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJICBzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+IC0JCQkJICBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8pCj4g KwkJCQkgIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQpCj4gIHsKPiArCWNvbnN0IHN0 cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqbWF0Y2hfaW5mbyA9Cj4gKwkJKHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqKWVudC0+ZHJpdmVyX2RhdGE7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGV2aWNlX2lu Zm8gKmRldmljZV9pbmZvOwo+ICAJaW50IHJldCA9IDA7Cj4gIAo+IEBAIC0xMDg2LDggKzEwODcs OCBAQCBzdGF0aWMgaW50IGk5MTVfZHJpdmVyX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ICAKPiAgCS8qIFNldHVwIHRoZSB3cml0ZS1vbmNlICJjb25zdGFu dCIgZGV2aWNlIGluZm8gKi8KPiAgCWRldmljZV9pbmZvID0gKHN0cnVjdCBpbnRlbF9kZXZpY2Vf aW5mbyAqKSZkZXZfcHJpdi0+aW5mbzsKPiAtCW1lbWNweShkZXZpY2VfaW5mbywgaW5mbywgc2l6 ZW9mKGRldl9wcml2LT5pbmZvKSk7Cj4gLQlkZXZpY2VfaW5mby0+ZGV2aWNlX2lkID0gZGV2LT5w ZGV2LT5kZXZpY2U7Cj4gKwltZW1jcHkoZGV2aWNlX2luZm8sIG1hdGNoX2luZm8sIHNpemVvZigq ZGV2aWNlX2luZm8pKTsKPiArCWRldmljZV9pbmZvLT5kZXZpY2VfaWQgPSBkZXZfcHJpdi0+ZHJt LnBkZXYtPmRldmljZTsKPiAgCj4gIAlCVUdfT04oZGV2aWNlX2luZm8tPmdlbiA+IHNpemVvZihk ZXZpY2VfaW5mby0+Z2VuX21hc2spICogQklUU19QRVJfQllURSk7Cj4gIAlkZXZpY2VfaW5mby0+ Z2VuX21hc2sgPSBCSVQoZGV2aWNlX2luZm8tPmdlbiAtIDEpOwo+IEBAIC0xMTEzLDE4ICsxMTE0 LDE4IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJZ290byBlcnJfd29ya3F1ZXVlczsKPiAgCj4gIAkvKiBU aGlzIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgY2FsbHMgdG8gSEFTX1BDSF8qICovCj4gLQlp bnRlbF9kZXRlY3RfcGNoKGRldik7Cj4gKwlpbnRlbF9kZXRlY3RfcGNoKCZkZXZfcHJpdi0+ZHJt KTsKPiAgCj4gLQlpbnRlbF9wbV9zZXR1cChkZXYpOwo+ICsJaW50ZWxfcG1fc2V0dXAoJmRldl9w cml2LT5kcm0pOwo+ICAJaW50ZWxfaW5pdF9kcGlvKGRldl9wcml2KTsKPiAgCWludGVsX3Bvd2Vy X2RvbWFpbnNfaW5pdChkZXZfcHJpdik7Cj4gIAlpbnRlbF9pcnFfaW5pdChkZXZfcHJpdik7Cj4g IAlpbnRlbF9pbml0X2Rpc3BsYXlfaG9va3MoZGV2X3ByaXYpOwo+ICAJaW50ZWxfaW5pdF9jbG9j a19nYXRpbmdfaG9va3MoZGV2X3ByaXYpOwo+ICAJaW50ZWxfaW5pdF9hdWRpb19ob29rcyhkZXZf cHJpdik7Cj4gLQlpOTE1X2dlbV9sb2FkX2luaXQoZGV2KTsKPiArCWk5MTVfZ2VtX2xvYWRfaW5p dCgmZGV2X3ByaXYtPmRybSk7Cj4gIAo+IC0JaW50ZWxfZGlzcGxheV9jcmNfaW5pdChkZXYpOwo+ ICsJaW50ZWxfZGlzcGxheV9jcmNfaW5pdCgmZGV2X3ByaXYtPmRybSk7Cj4gIAo+ICAJaTkxNV9k dW1wX2RldmljZV9pbmZvKGRldl9wcml2KTsKPiAgCj4gQEAgLTExMzIsNyArMTEzMyw3IEBAIHN0 YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gIAkgKiB2ZXJ5IGZpcnN0IG9uZXMuIEFsbW9zdCBldmVyeXRoaW5nIHNob3Vs ZCB3b3JrLCBleGNlcHQgZm9yIG1heWJlCj4gIAkgKiBzdXNwZW5kL3Jlc3VtZS4gQW5kIHdlIGRv bid0IGltcGxlbWVudCB3b3JrYXJvdW5kcyB0aGF0IGFmZmVjdCBvbmx5Cj4gIAkgKiBwcmUtcHJv ZHVjdGlvbiBtYWNoaW5lcy4gKi8KPiAtCWlmIChJU19IU1dfRUFSTFlfU0RWKGRldikpCj4gKwlp ZiAoSVNfSFNXX0VBUkxZX1NEVihkZXZfcHJpdikpCj4gIAkJRFJNX0lORk8oIlRoaXMgaXMgYW4g ZWFybHkgcHJlLXByb2R1Y3Rpb24gSGFzd2VsbCBtYWNoaW5lLiAiCj4gIAkJCSAiSXQgbWF5IG5v dCBiZSBmdWxseSBmdW5jdGlvbmFsLlxuIik7Cj4gIAo+IEBAIC0xMzkwLDYgKzEzOTEsNyBAQCBz dGF0aWMgdm9pZCBpOTE1X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiAg Cj4gIAlpOTE1X2dlbV9zaHJpbmtlcl9pbml0KGRldl9wcml2KTsKPiArCj4gIAkvKgo+ICAJICog Tm90aWZ5IGEgdmFsaWQgc3VyZmFjZSBhZnRlciBtb2Rlc2V0dGluZywKPiAgCSAqIHdoZW4gcnVu bmluZyBpbnNpZGUgYSBWTS4KPiBAQCAtMTM5Nyw5ICsxMzk5LDEzIEBAIHN0YXRpYyB2b2lkIGk5 MTVfZHJpdmVyX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg CWlmIChpbnRlbF92Z3B1X2FjdGl2ZShkZXZfcHJpdikpCj4gIAkJSTkxNV9XUklURSh2Z3RpZl9y ZWcoZGlzcGxheV9yZWFkeSksIFZHVF9EUlZfRElTUExBWV9SRUFEWSk7Cj4gIAo+IC0JaTkxNV9k ZWJ1Z2ZzX3JlZ2lzdGVyKGRldl9wcml2KTsKPiAtCWk5MTVfc2V0dXBfc3lzZnMoZGV2KTsKPiAt CWludGVsX21vZGVzZXRfcmVnaXN0ZXIoZGV2X3ByaXYpOwo+ICsJLyogUmV2ZWFsIG91ciBwcmVz ZW5jZSB0byB1c2Vyc3BhY2UgKi8KPiArCWlmIChkcm1fZGV2X3JlZ2lzdGVyKGRldiwgMCkgPT0g MCkgewo+ICsJCWk5MTVfZGVidWdmc19yZWdpc3RlcihkZXZfcHJpdik7Cj4gKwkJaTkxNV9zZXR1 cF9zeXNmcyhkZXYpOwo+ICsJCWludGVsX21vZGVzZXRfcmVnaXN0ZXIoZGV2X3ByaXYpOwo+ICsJ fSBlbHNlCj4gKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcmVnaXN0ZXIgZHJpdmVyIGZvciB1c2Vy c3BhY2UgYWNjZXNzIVxuIik7Cj4gIAo+ICAJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1f cGlwZXMpIHsKPiAgCQkvKiBNdXN0IGJlIGRvbmUgYWZ0ZXIgcHJvYmluZyBvdXRwdXRzICovCj4g QEAgLTE0NDksMjQgKzE0NTUsMzggQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfdW5yZWdpc3Rl cihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gICAqICAgLSBhbGxvY2F0ZSBp bml0aWFsIGNvbmZpZyBtZW1vcnkKPiAgICogICAtIHNldHVwIHRoZSBEUk0gZnJhbWVidWZmZXIg d2l0aCB0aGUgYWxsb2NhdGVkIG1lbW9yeQo+ICAgKi8KPiAtaW50IGk5MTVfZHJpdmVyX2xvYWQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKPiAraW50IGk5MTVf ZHJpdmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsCj4gKwkJICAgICBjb25zdCBzdHJ1Y3Qg cGNpX2RldmljZV9pZCAqZW50LAo+ICsJCSAgICAgc3RydWN0IGRybV9kcml2ZXIgKmRyaXZlcikK PiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2Owo+IC0JaW50IHJldCA9 IDA7Cj4gKwlpbnQgcmV0Owo+ICAKPiArCXJldCA9IDA7Cj4gIAlkZXZfcHJpdiA9IGt6YWxsb2Mo c2l6ZW9mKCpkZXZfcHJpdiksIEdGUF9LRVJORUwpOwo+IC0JaWYgKGRldl9wcml2ID09IE5VTEwp Cj4gKwlpZiAoZGV2X3ByaXYpCj4gKwkJcmV0ID0gZHJtX2Rldl9pbml0KCZkZXZfcHJpdi0+ZHJt LCBkcml2ZXIsICZwZGV2LT5kZXYpOwo+ICsJaWYgKHJldCkgewoKVGhpcyBlbmRlZCB1cCBhIGJp dCB0b28gY2xldmVyLCB3aWxsIGZhaWwgdG8gc3BvdCB0aGUgZmFpbHVyZSB3aGVuCmRldl9wcml2 ID09IE5VTEwuIEkgZ3Vlc3MgeW91IHdhbnRlZCBhIHJldCA9IC1FTk9NRU0gdXAgdGhlcmUuCi1E YW5pZWwKCj4gKwkJZGV2X3ByaW50ayhLRVJOX0VSUiwgJnBkZXYtPmRldiwKPiArCQkJICAgIlsi IERSTV9OQU1FICI6JXNdIGFsbG9jYXRpb24gZmFpbGVkXG4iLCBfX2Z1bmNfXyk7Cj4gKwkJa2Zy ZWUoZGV2X3ByaXYpOwo+ICAJCXJldHVybiAtRU5PTUVNOwo+ICsJfQo+ICAKPiAtCWRldi0+ZGV2 X3ByaXZhdGUgPSBkZXZfcHJpdjsKPiAgCS8qIE11c3QgYmUgc2V0IGJlZm9yZSBjYWxsaW5nIF9f aTkxNV9wcmludGsgKi8KPiAtCWRldl9wcml2LT5kZXYgPSBkZXY7Cj4gKwlkZXZfcHJpdi0+ZHJt LnBkZXYgPSBwZGV2Owo+ICsJZGV2X3ByaXYtPmRybS5kZXZfcHJpdmF0ZSA9IGRldl9wcml2Owo+ ICsJZGV2X3ByaXYtPmRldiA9ICZkZXZfcHJpdi0+ZHJtOwo+ICAKPiAtCXJldCA9IGk5MTVfZHJp dmVyX2luaXRfZWFybHkoZGV2X3ByaXYsIGRldiwKPiAtCQkJCSAgICAgKHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqKWZsYWdzKTsKPiArCXJldCA9IHBjaV9lbmFibGVfZGV2aWNlKHBkZXYpOwo+ ICsJaWYgKHJldCkKPiArCQlnb3RvIG91dF9mcmVlX3ByaXY7Cj4gIAo+ICsJcGNpX3NldF9kcnZk YXRhKHBkZXYsICZkZXZfcHJpdi0+ZHJtKTsKPiArCj4gKwlyZXQgPSBpOTE1X2RyaXZlcl9pbml0 X2Vhcmx5KGRldl9wcml2LCBlbnQpOwo+ICAJaWYgKHJldCA8IDApCj4gLQkJZ290byBvdXRfZnJl ZV9wcml2Owo+ICsJCWdvdG8gb3V0X3BjaV9kaXNhYmxlOwo+ICAKPiAgCWludGVsX3J1bnRpbWVf cG1fZ2V0KGRldl9wcml2KTsKPiAgCj4gQEAgLTE0ODMsMTMgKzE1MDMsMTQgQEAgaW50IGk5MTVf ZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykK PiAgCSAqIG9mIHRoZSBpOTE1X2RyaXZlcl9pbml0Xy9pOTE1X2RyaXZlcl9yZWdpc3RlciBmdW5j dGlvbnMgYWNjb3JkaW5nCj4gIAkgKiB0byB0aGUgcm9sZS9lZmZlY3Qgb2YgdGhlIGdpdmVuIGlu aXQgc3RlcC4KPiAgCSAqLwo+IC0JaWYgKElOVEVMX0lORk8oZGV2KS0+bnVtX3BpcGVzKSB7Cj4g LQkJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgSU5URUxfSU5GTyhkZXYpLT5udW1fcGlwZXMp Owo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5udW1fcGlwZXMpIHsKPiArCQlyZXQgPSBk cm1fdmJsYW5rX2luaXQoZGV2X3ByaXYtPmRldiwKPiArCQkJCSAgICAgIElOVEVMX0lORk8oZGV2 X3ByaXYpLT5udW1fcGlwZXMpOwo+ICAJCWlmIChyZXQpCj4gIAkJCWdvdG8gb3V0X2NsZWFudXBf aHc7Cj4gIAl9Cj4gIAo+IC0JcmV0ID0gaTkxNV9sb2FkX21vZGVzZXRfaW5pdChkZXYpOwo+ICsJ cmV0ID0gaTkxNV9sb2FkX21vZGVzZXRfaW5pdChkZXZfcHJpdi0+ZGV2KTsKPiAgCWlmIChyZXQg PCAwKQo+ICAJCWdvdG8gb3V0X2NsZWFudXBfdmJsYW5rOwo+ICAKPiBAQCAtMTUwMiw3ICsxNTIz LDcgQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWdu ZWQgbG9uZyBmbGFncykKPiAgCXJldHVybiAwOwo+ICAKPiAgb3V0X2NsZWFudXBfdmJsYW5rOgo+ IC0JZHJtX3ZibGFua19jbGVhbnVwKGRldik7Cj4gKwlkcm1fdmJsYW5rX2NsZWFudXAoZGV2X3By aXYtPmRldik7Cj4gIG91dF9jbGVhbnVwX2h3Ogo+ICAJaTkxNV9kcml2ZXJfY2xlYW51cF9odyhk ZXZfcHJpdik7Cj4gIG91dF9jbGVhbnVwX21taW86Cj4gQEAgLTE1MTAsMTEgKzE1MzEsMTEgQEAg b3V0X2NsZWFudXBfbW1pbzoKPiAgb3V0X3J1bnRpbWVfcG1fcHV0Ogo+ICAJaW50ZWxfcnVudGlt ZV9wbV9wdXQoZGV2X3ByaXYpOwo+ICAJaTkxNV9kcml2ZXJfY2xlYW51cF9lYXJseShkZXZfcHJp dik7Cj4gK291dF9wY2lfZGlzYWJsZToKPiArCXBjaV9kaXNhYmxlX2RldmljZShwZGV2KTsKPiAg b3V0X2ZyZWVfcHJpdjoKPiAgCWk5MTVfbG9hZF9lcnJvcihkZXZfcHJpdiwgIkRldmljZSBpbml0 aWFsaXphdGlvbiBmYWlsZWQgKCVkKVxuIiwgcmV0KTsKPiAtCj4gLQlrZnJlZShkZXZfcHJpdik7 Cj4gLQo+ICsJZHJtX2Rldl91bnJlZigmZGV2X3ByaXYtPmRybSk7Cj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+IEBAIC0xNTc5LDcgKzE2MDAsNiBAQCBpbnQgaTkxNV9kcml2ZXJfdW5sb2FkKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJp diwgUE9XRVJfRE9NQUlOX0lOSVQpOwo+ICAKPiAgCWk5MTVfZHJpdmVyX2NsZWFudXBfZWFybHko ZGV2X3ByaXYpOwo+IC0Ja2ZyZWUoZGV2X3ByaXYpOwo+ICAKPiAgCXJldHVybiAwOwo+ICB9Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5kZXggM2VhMDliZDgzYTVhLi4xYTMzNWUxYThiNjIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtMTAzNCw3ICsxMDM0LDcgQEAgc3Rh dGljIGludCBpOTE1X3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0 IHBjaV9kZXZpY2VfaWQgKmVudCkKPiAgCWlmICh2Z2Ffc3dpdGNoZXJvb19jbGllbnRfcHJvYmVf ZGVmZXIocGRldikpCj4gIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gIAo+IC0JcmV0dXJuIGRy bV9nZXRfcGNpX2RldihwZGV2LCBlbnQsICZkcml2ZXIpOwo+ICsJcmV0dXJuIGk5MTVfZHJpdmVy X2xvYWQocGRldiwgZW50LCAmZHJpdmVyKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQKPiBAQCAt MTc0OCw3ICsxNzQ4LDYgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGRyaXZlciA9IHsKPiAg CS5kcml2ZXJfZmVhdHVyZXMgPQo+ICAJICAgIERSSVZFUl9IQVZFX0lSUSB8IERSSVZFUl9JUlFf U0hBUkVEIHwgRFJJVkVSX0dFTSB8IERSSVZFUl9QUklNRSB8Cj4gIAkgICAgRFJJVkVSX1JFTkRF UiB8IERSSVZFUl9NT0RFU0VULAo+IC0JLmxvYWQgPSBpOTE1X2RyaXZlcl9sb2FkLAo+ICAJLnVu bG9hZCA9IGk5MTVfZHJpdmVyX3VubG9hZCwKPiAgCS5vcGVuID0gaTkxNV9kcml2ZXJfb3BlbiwK PiAgCS5sYXN0Y2xvc2UgPSBpOTE1X2RyaXZlcl9sYXN0Y2xvc2UsCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gaW5kZXggNDRlNjcxNWQ4YjFkLi4yMGE4MmI2YTA1MGQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTczMiw2ICsxNzMyLDggQEAgc3RydWN0IGludGVsX3dtX2Nv bmZpZyB7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gKwlzdHJ1Y3Qg ZHJtX2RldmljZSBkcm07Cj4gKwo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldjsKPiAgCXN0cnVj dCBrbWVtX2NhY2hlICpvYmplY3RzOwo+ICAJc3RydWN0IGttZW1fY2FjaGUgKnZtYXM7Cj4gQEAg LTI5MDIsNyArMjkwNCw5IEBAIF9faTkxNV9wcmludGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCBjb25zdCBjaGFyICpsZXZlbCwKPiAgI2RlZmluZSBpOTE1X3JlcG9ydF9lcnJv cihkZXZfcHJpdiwgZm10LCAuLi4pCQkJCSAgIFwKPiAgCV9faTkxNV9wcmludGsoZGV2X3ByaXYs IEtFUk5fRVJSLCBmbXQsICMjX19WQV9BUkdTX18pCj4gIAo+IC1leHRlcm4gaW50IGk5MTVfZHJp dmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKiwgdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gK2V4 dGVybiBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgcGNpX2RldiAqcGRldiwKPiArCQkJICAg IGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICplbnQsCj4gKwkJCSAgICBzdHJ1Y3QgZHJtX2Ry aXZlciAqZHJpdmVyKTsKPiAgZXh0ZXJuIGludCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRy bV9kZXZpY2UgKik7Cj4gIGV4dGVybiBpbnQgaTkxNV9kcml2ZXJfb3BlbihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwo+ICBleHRlcm4gdm9pZCBpOTE1X2Ry aXZlcl9sYXN0Y2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKiBkZXYpOwo+IC0tIAo+IDIuOC4xCj4g CgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K aHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==