From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shobhit Kumar Subject: Re: [PATCH v2] drm/i915/dsi: switch to drm_panel interface Date: Thu, 29 Jan 2015 10:22:18 +0530 Message-ID: <54C9BC82.7080905@linux.intel.com> References: <1422019856-7640-1-git-send-email-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 6F62E6E648 for ; Wed, 28 Jan 2015 20:53:11 -0800 (PST) In-Reply-To: <1422019856-7640-1-git-send-email-jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , intel-gfx@lists.freedesktop.org Cc: Shobhit Kumar , Thierry Reding List-Id: intel-gfx@lists.freedesktop.org T24gMDEvMjMvMjAxNSAwNzowMCBQTSwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4gUmVwbGFjZSBpbnRl bF9kc2lfZGV2aWNlIGFuZCBpbnRlbF9kc2lfZGV2X29wcyB3aXRoIGRybV9wYW5lbCBhbmQKPiBk cm1fcGFuZWxfZnVuY3MuIFRoZXkgYXJlIGFkZXF1YXRlIGZvciB3aGF0IHdlIGhhdmUgbm93LCBh bmQgaWYgd2UgZW5kCj4gdXAgbmVlZGluZyBtb3JlIHRoYW4gdGhpcyB3ZSBzaG91bGQgaW1wcm92 ZSBkcm1fcGFuZWwuIFRoaXMgd2lsbCBrZWVwIHVzCj4gYmV0dGVyIGFsaWduZWQgd2l0aCB0aGUg ZHJtIGNvcmUgaW5mcmFzdHJ1Y3R1cmUuCj4KPiBUaGUgcGFuZWwgZHJpdmVyIGluaXRpYWxpemF0 aW9uIGNoYW5nZXMgYSBiaXQuIEl0IHN0aWxsIHJlbWFpbnMgaGlkZW91cywKPiBidXQgZml4aW5n IHRoYXQgaXMgYmV5b25kIHRoZSBzY29wZSBoZXJlLgo+Cj4gdjI6IGV4dGVuZCBtb2RlIGNvbmZp ZyBtdXRleCB0byBjb3ZlciBkcm1fcGFuZWxfZ2V0X21vZGVzIChTaG9iaGl0KQo+ICAgICAgdmJ0 X3BhbmVsLT5pbnRlbF9kc2kgPSBpbnRlbF9kc2kgaW4gdmJ0IHBhbmVsIGluaXQgKFNob2JoaXQp Cj4KPiBTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoK UmV2aWV3ZWQtQnk6IFNob2JoaXQgS3VtYXIgPHNob2JoaXQua3VtYXJAaW50ZWwuY29tPgoKPiAt LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcgICAgICAgICAgICAgICB8ICAgMSAr Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgICAgICAgICAgfCAgNjggKysr KysrKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oICAgICAgICAgICB8 ICAyNyArLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5j IHwgMTgwICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gICA0IGZpbGVzIGNoYW5nZWQs IDE1NyBpbnNlcnRpb25zKCspLCAxMTkgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvS2NvbmZpZyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcK PiBpbmRleCA0ZTM5YWIzNGViMWMuLmRhMTk2Y2QwNzI2MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvS2NvbmZp Zwo+IEBAIC0xMSw2ICsxMSw3IEBAIGNvbmZpZyBEUk1fSTkxNQo+ICAgCXNlbGVjdCBTSE1FTQo+ ICAgCXNlbGVjdCBUTVBGUwo+ICAgCXNlbGVjdCBEUk1fS01TX0hFTFBFUgo+ICsJc2VsZWN0IERS TV9QQU5FTAo+ICAgCSMgaTkxNSBkZXBlbmRzIG9uIEFDUElfVklERU8gd2hlbiBBQ1BJIGlzIGVu YWJsZWQKPiAgIAkjIGJ1dCBmb3Igc2VsZWN0IHRvIHdvcmssIG5lZWQgdG8gc2VsZWN0IEFDUElf VklERU8ncyBkZXBlbmRlbmNpZXMsIGljawo+ICAgCXNlbGVjdCBCQUNLTElHSFRfTENEX1NVUFBP UlQgaWYgQUNQSQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2ku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCj4gaW5kZXggYzU2YzQxNTBmYzEz Li41MmM1ZmFiZTI4NGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwo+IEBAIC0yNywx OCArMjcsMjAgQEAKPiAgICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiAgICNpbmNsdWRlIDxk cm0vZHJtX2VkaWQuaD4KPiAgICNpbmNsdWRlIDxkcm0vaTkxNV9kcm0uaD4KPiArI2luY2x1ZGUg PGRybS9kcm1fcGFuZWwuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gICAjaW5jbHVk ZSAiaTkxNV9kcnYuaCIKPiAgICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiAgICNpbmNsdWRlICJp bnRlbF9kc2kuaCIKPiAgICNpbmNsdWRlICJpbnRlbF9kc2lfY21kLmgiCj4KPiAtLyogdGhlIHN1 Yi1lbmNvZGVycyBha2EgcGFuZWwgZHJpdmVycyAqLwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGlu dGVsX2RzaV9kZXZpY2UgaW50ZWxfZHNpX2RldmljZXNbXSA9IHsKPiArc3RhdGljIGNvbnN0IHN0 cnVjdCB7Cj4gKwl1MTYgcGFuZWxfaWQ7Cj4gKwlzdHJ1Y3QgZHJtX3BhbmVsICogKCppbml0KShz dHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCk7Cj4gK30gaW50ZWxfZHNp X2RyaXZlcnNbXSA9IHsKPiAgIAl7Cj4gICAJCS5wYW5lbF9pZCA9IE1JUElfRFNJX0dFTkVSSUNf UEFORUxfSUQsCj4gLQkJLm5hbWUgPSAidmJ0LWdlbmVyaWMtZHNpLXZpZC1tb2RlLWRpc3BsYXki LAo+IC0JCS5kZXZfb3BzID0gJnZidF9nZW5lcmljX2RzaV9kaXNwbGF5X29wcywKPiArCQkuaW5p dCA9IHZidF9wYW5lbF9pbml0LAo+ICAgCX0sCj4gICB9Owo+Cj4gQEAgLTIxNCw4ICsyMTYsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQo+ICAgCQkJZHBpX3NlbmRfY21kKGludGVsX2RzaSwgVFVSTl9PTiwgRFBJX0xQX01PREVf RU4sIHBvcnQpOwo+ICAgCQltc2xlZXAoMTAwKTsKPgo+IC0JCWlmIChpbnRlbF9kc2ktPmRldi5k ZXZfb3BzLT5lbmFibGUpCj4gLQkJCWludGVsX2RzaS0+ZGV2LmRldl9vcHMtPmVuYWJsZSgmaW50 ZWxfZHNpLT5kZXYpOwo+ICsJCWRybV9wYW5lbF9lbmFibGUoaW50ZWxfZHNpLT5wYW5lbCk7Cj4K PiAgIAkJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxfZHNpLT5wb3J0cykKPiAgIAkJCXdh aXRfZm9yX2RzaV9maWZvX2VtcHR5KGludGVsX2RzaSwgcG9ydCk7Cj4gQEAgLTI1NSw4ICsyNTYs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqZW5jb2RlcikKPgo+ICAgCW1zbGVlcChpbnRlbF9kc2ktPnBhbmVsX29uX2RlbGF5KTsKPgo+ IC0JaWYgKGludGVsX2RzaS0+ZGV2LmRldl9vcHMtPnBhbmVsX3Jlc2V0KQo+IC0JCWludGVsX2Rz aS0+ZGV2LmRldl9vcHMtPnBhbmVsX3Jlc2V0KCZpbnRlbF9kc2ktPmRldik7Cj4gKwlkcm1fcGFu ZWxfcHJlcGFyZShpbnRlbF9kc2ktPnBhbmVsKTsKPgo+ICAgCWZvcl9lYWNoX2RzaV9wb3J0KHBv cnQsIGludGVsX2RzaS0+cG9ydHMpCj4gICAJCXdhaXRfZm9yX2RzaV9maWZvX2VtcHR5KGludGVs X2RzaSwgcG9ydCk7Cj4gQEAgLTMyOSw4ICszMjksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lf ZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAgIAl9Cj4gICAJLyogaWYg ZGlzYWJsZSBwYWNrZXRzIGFyZSBzZW50IGJlZm9yZSBzZW5kaW5nIHNodXRkb3duIHBhY2tldCB0 aGVuIGluCj4gICAJICogc29tZSBuZXh0IGVuYWJsZSBzZXF1ZW5jZSBzZW5kIHR1cm4gb24gcGFj a2V0IGVycm9yIGlzIG9ic2VydmVkICovCj4gLQlpZiAoaW50ZWxfZHNpLT5kZXYuZGV2X29wcy0+ ZGlzYWJsZSkKPiAtCQlpbnRlbF9kc2ktPmRldi5kZXZfb3BzLT5kaXNhYmxlKCZpbnRlbF9kc2kt PmRldik7Cj4gKwlkcm1fcGFuZWxfZGlzYWJsZShpbnRlbF9kc2ktPnBhbmVsKTsKPgo+ICAgCWZv cl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpCj4gICAJCXdhaXRfZm9yX2Rz aV9maWZvX2VtcHR5KGludGVsX2RzaSwgcG9ydCk7Cj4gQEAgLTM5NSw4ICszOTQsNyBAQCBzdGF0 aWMgdm9pZCBpbnRlbF9kc2lfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQo+ICAgCXZhbCAmPSB+RFBPVU5JVF9DTE9DS19HQVRFX0RJU0FCTEU7Cj4gICAJSTkxNV9X UklURShEU1BDTEtfR0FURV9ELCB2YWwpOwo+Cj4gLQlpZiAoaW50ZWxfZHNpLT5kZXYuZGV2X29w cy0+ZGlzYWJsZV9wYW5lbF9wb3dlcikKPiAtCQlpbnRlbF9kc2ktPmRldi5kZXZfb3BzLT5kaXNh YmxlX3BhbmVsX3Bvd2VyKCZpbnRlbF9kc2ktPmRldik7Cj4gKwlkcm1fcGFuZWxfdW5wcmVwYXJl KGludGVsX2RzaS0+cGFuZWwpOwo+Cj4gICAJbXNsZWVwKGludGVsX2RzaS0+cGFuZWxfb2ZmX2Rl bGF5KTsKPiAgIAltc2xlZXAoaW50ZWxfZHNpLT5wYW5lbF9wd3JfY3ljbGVfZGVsYXkpOwo+IEBA IC03NjAsNyArNzU4LDcgQEAgc3RhdGljIGludCBpbnRlbF9kc2lfZ2V0X21vZGVzKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gICAJcmV0dXJuIDE7Cj4gICB9Cj4KPiAtc3RhdGlj IHZvaWQgaW50ZWxfZHNpX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiArc3RhdGljIHZvaWQgaW50ZWxfZHNpX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCj4gICB7Cj4gICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50 ZWxfY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4KPiBAQCAtNzcw LDggKzc2OCwyMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kc2lfZGVzdHJveShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yKQo+ICAgCWtmcmVlKGNvbm5lY3Rvcik7Cj4gICB9Cj4KPiArc3Rh dGljIHZvaWQgaW50ZWxfZHNpX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVuY190b19pbnRl bF9kc2koZW5jb2Rlcik7Cj4gKwo+ICsJaWYgKGludGVsX2RzaS0+cGFuZWwpIHsKPiArCQlkcm1f cGFuZWxfZGV0YWNoKGludGVsX2RzaS0+cGFuZWwpOwo+ICsJCS8qIFhYWDogTG9naWNhbGx5IHRo aXMgY2FsbCBiZWxvbmdzIGluIHRoZSBwYW5lbCBkcml2ZXIuICovCj4gKwkJZHJtX3BhbmVsX3Jl bW92ZShpbnRlbF9kc2ktPnBhbmVsKTsKPiArCX0KPiArCWludGVsX2VuY29kZXJfZGVzdHJveShl bmNvZGVyKTsKPiArfQo+ICsKPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVu Y3MgaW50ZWxfZHNpX2Z1bmNzID0gewo+IC0JLmRlc3Ryb3kgPSBpbnRlbF9lbmNvZGVyX2Rlc3Ry b3ksCj4gKwkuZGVzdHJveSA9IGludGVsX2RzaV9lbmNvZGVyX2Rlc3Ryb3ksCj4gICB9Owo+Cj4g ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIGludGVsX2Rz aV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzID0gewo+IEBAIC03ODMsNyArNzkzLDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBpbnRlbF9kc2lfY29ubmVj dG9yX2hlbHBlcl9mdW5jcwo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1 bmNzIGludGVsX2RzaV9jb25uZWN0b3JfZnVuY3MgPSB7Cj4gICAJLmRwbXMgPSBpbnRlbF9jb25u ZWN0b3JfZHBtcywKPiAgIAkuZGV0ZWN0ID0gaW50ZWxfZHNpX2RldGVjdCwKPiAtCS5kZXN0cm95 ID0gaW50ZWxfZHNpX2Rlc3Ryb3ksCj4gKwkuZGVzdHJveSA9IGludGVsX2RzaV9jb25uZWN0b3Jf ZGVzdHJveSwKPiAgIAkuZmlsbF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5l Y3Rvcl9tb2RlcywKPiAgIH07Cj4KPiBAQCAtNzk0LDkgKzgwNCw4IEBAIHZvaWQgaW50ZWxfZHNp X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXI7Cj4gICAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yOwo+ICAg CXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Cj4gLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqZml4ZWRfbW9kZSA9IE5VTEw7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqc2Nh biwgKmZpeGVkX21vZGUgPSBOVUxMOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQljb25zdCBzdHJ1Y3QgaW50ZWxfZHNpX2Rldmlj ZSAqZHNpOwo+ICAgCXVuc2lnbmVkIGludCBpOwo+Cj4gICAJRFJNX0RFQlVHX0tNUygiXG4iKTsK PiBAQCAtODUzLDE1ICs4NjIsMTQgQEAgdm9pZCBpbnRlbF9kc2lfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAgCQlpbnRlbF9kc2ktPnBvcnRzID0gKDEgPDwgUE9SVF9DKTsKPiAgIAl9 Cj4KPiAtCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGludGVsX2RzaV9kZXZpY2VzKTsgaSsr KSB7Cj4gLQkJZHNpID0gJmludGVsX2RzaV9kZXZpY2VzW2ldOwo+IC0JCWludGVsX2RzaS0+ZGV2 ID0gKmRzaTsKPiAtCj4gLQkJaWYgKGRzaS0+ZGV2X29wcy0+aW5pdCgmaW50ZWxfZHNpLT5kZXYp KQo+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW50ZWxfZHNpX2RyaXZlcnMpOyBpKysp IHsKPiArCQlpbnRlbF9kc2ktPnBhbmVsID0gaW50ZWxfZHNpX2RyaXZlcnNbaV0uaW5pdChpbnRl bF9kc2ksCj4gKwkJCQkJCQkgICAgIGludGVsX2RzaV9kcml2ZXJzW2ldLnBhbmVsX2lkKTsKPiAr CQlpZiAoaW50ZWxfZHNpLT5wYW5lbCkKPiAgIAkJCWJyZWFrOwo+ICAgCX0KPgo+IC0JaWYgKGkg PT0gQVJSQVlfU0laRShpbnRlbF9kc2lfZGV2aWNlcykpIHsKPiArCWlmICghaW50ZWxfZHNpLT5w YW5lbCkgewo+ICAgCQlEUk1fREVCVUdfS01TKCJubyBkZXZpY2UgZm91bmRcbiIpOwo+ICAgCQln b3RvIGVycjsKPiAgIAl9Cj4gQEAgLTg4MSwxMyArODg5LDIzIEBAIHZvaWQgaW50ZWxfZHNpX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPgo+ICAgCWRybV9jb25uZWN0b3JfcmVnaXN0ZXIo Y29ubmVjdG9yKTsKPgo+IC0JZml4ZWRfbW9kZSA9IGRzaS0+ZGV2X29wcy0+Z2V0X21vZGVzKCZp bnRlbF9kc2ktPmRldik7Cj4gKwlkcm1fcGFuZWxfYXR0YWNoKGludGVsX2RzaS0+cGFuZWwsIGNv bm5lY3Rvcik7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4g Kwlkcm1fcGFuZWxfZ2V0X21vZGVzKGludGVsX2RzaS0+cGFuZWwpOwo+ICsJbGlzdF9mb3JfZWFj aF9lbnRyeShzY2FuLCAmY29ubmVjdG9yLT5wcm9iZWRfbW9kZXMsIGhlYWQpIHsKPiArCQlpZiAo KHNjYW4tPnR5cGUgJiBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRCkpIHsKPiArCQkJZml4ZWRfbW9k ZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsIHNjYW4pOwo+ICsJCQlicmVhazsKPiArCQl9Cj4g Kwl9Cj4gKwltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ICsKPiAgIAlp ZiAoIWZpeGVkX21vZGUpIHsKPiAgIAkJRFJNX0RFQlVHX0tNUygibm8gZml4ZWQgbW9kZVxuIik7 Cj4gICAJCWdvdG8gZXJyOwo+ICAgCX0KPgo+IC0JZml4ZWRfbW9kZS0+dHlwZSB8PSBEUk1fTU9E RV9UWVBFX1BSRUZFUlJFRDsKPiAgIAlpbnRlbF9wYW5lbF9pbml0KCZpbnRlbF9jb25uZWN0b3It PnBhbmVsLCBmaXhlZF9tb2RlLCBOVUxMKTsKPgo+ICAgCXJldHVybjsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kc2kuaAo+IGluZGV4IDIyZjg3MDM2YTI1Ni4uZmMwYjJiOGQ5MGYxIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpLmgKPiBAQCAtMzMsMzMgKzMzLDEwIEBACj4gICAjZGVmaW5lIERT SV9EVUFMX0xJTktfRlJPTlRfQkFDSwkxCj4gICAjZGVmaW5lIERTSV9EVUFMX0xJTktfUElYRUxf QUxUCQkyCj4KPiAtc3RydWN0IGludGVsX2RzaV9kZXZpY2Ugewo+IC0JdW5zaWduZWQgaW50IHBh bmVsX2lkOwo+IC0JY29uc3QgY2hhciAqbmFtZTsKPiAtCWNvbnN0IHN0cnVjdCBpbnRlbF9kc2lf ZGV2X29wcyAqZGV2X29wczsKPiAtCXZvaWQgKmRldl9wcml2Owo+IC19Owo+IC0KPiAtc3RydWN0 IGludGVsX2RzaV9kZXZfb3BzIHsKPiAtCWJvb2wgKCppbml0KShzdHJ1Y3QgaW50ZWxfZHNpX2Rl dmljZSAqZHNpKTsKPiAtCj4gLQl2b2lkICgqcGFuZWxfcmVzZXQpKHN0cnVjdCBpbnRlbF9kc2lf ZGV2aWNlICpkc2kpOwo+IC0KPiAtCXZvaWQgKCpkaXNhYmxlX3BhbmVsX3Bvd2VyKShzdHJ1Y3Qg aW50ZWxfZHNpX2RldmljZSAqZHNpKTsKPiAtCj4gLQkvKiBUaGlzIGNhbGxiYWNrIG11c3QgYmUg YWJsZSB0byBhc3N1bWUgRFNJIGNvbW1hbmRzIGNhbiBiZSBzZW50ICovCj4gLQl2b2lkICgqZW5h YmxlKShzdHJ1Y3QgaW50ZWxfZHNpX2RldmljZSAqZHNpKTsKPiAtCj4gLQkvKiBUaGlzIGNhbGxi YWNrIG11c3QgYmUgYWJsZSB0byBhc3N1bWUgRFNJIGNvbW1hbmRzIGNhbiBiZSBzZW50ICovCj4g LQl2b2lkICgqZGlzYWJsZSkoc3RydWN0IGludGVsX2RzaV9kZXZpY2UgKmRzaSk7Cj4gLQo+IC0J c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKigqZ2V0X21vZGVzKShzdHJ1Y3QgaW50ZWxfZHNpX2Rl dmljZSAqZHNpKTsKPiAtfTsKPiAtCj4gICBzdHJ1Y3QgaW50ZWxfZHNpIHsKPiAgIAlzdHJ1Y3Qg aW50ZWxfZW5jb2RlciBiYXNlOwo+Cj4gLQlzdHJ1Y3QgaW50ZWxfZHNpX2RldmljZSBkZXY7Cj4g KwlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbDsKPgo+ICAgCXN0cnVjdCBpbnRlbF9jb25uZWN0b3Ig KmF0dGFjaGVkX2Nvbm5lY3RvcjsKPgo+IEBAIC0xMzAsNiArMTA3LDYgQEAgZXh0ZXJuIHZvaWQg dmx2X2VuYWJsZV9kc2lfcGxsKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsKPiAgIGV4 dGVybiB2b2lkIHZsdl9kaXNhYmxlX2RzaV9wbGwoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIpOwo+ICAgZXh0ZXJuIHUzMiB2bHZfZ2V0X2RzaV9wY2xrKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLCBpbnQgcGlwZV9icHApOwo+Cj4gLWV4dGVybiBzdHJ1Y3QgaW50ZWxfZHNpX2Rl dl9vcHMgdmJ0X2dlbmVyaWNfZHNpX2Rpc3BsYXlfb3BzOwo+ICtzdHJ1Y3QgZHJtX3BhbmVsICp2 YnRfcGFuZWxfaW5pdChzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCk7 Cj4KPiAgICNlbmRpZiAvKiBfSU5URUxfRFNJX0ggKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHNpX3BhbmVsX3ZidC5jCj4gaW5kZXggNTYxZWMyOTgxZGZkLi5hYzdhMjRkY2Y3Zjcg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jCj4gQEAg LTI4LDYgKzI4LDcgQEAKPiAgICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KPiAgICNpbmNsdWRl IDxkcm0vZHJtX2VkaWQuaD4KPiAgICNpbmNsdWRlIDxkcm0vaTkxNV9kcm0uaD4KPiArI2luY2x1 ZGUgPGRybS9kcm1fcGFuZWwuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+Cj4gICAjaW5j bHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+Cj4gICAjaW5jbHVkZSA8YXNtL2ludGVsLW1pZC5o Pgo+IEBAIC0zNyw2ICszOCwxNiBAQAo+ICAgI2luY2x1ZGUgImludGVsX2RzaS5oIgo+ICAgI2lu Y2x1ZGUgImludGVsX2RzaV9jbWQuaCIKPgo+ICtzdHJ1Y3QgdmJ0X3BhbmVsIHsKPiArCXN0cnVj dCBkcm1fcGFuZWwgcGFuZWw7Cj4gKwlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2k7Cj4gK307 Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCB2YnRfcGFuZWwgKnRvX3ZidF9wYW5lbChzdHJ1 Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArewo+ICsJcmV0dXJuIGNvbnRhaW5lcl9vZihwYW5lbCwg c3RydWN0IHZidF9wYW5lbCwgcGFuZWwpOwo+ICt9Cj4gKwo+ICAgI2RlZmluZSBNSVBJX1RSQU5T RkVSX01PREVfU0hJRlQJMAo+ICAgI2RlZmluZSBNSVBJX1ZJUlRVQUxfQ0hBTk5FTF9TSElGVAkx Cj4gICAjZGVmaW5lIE1JUElfUE9SVF9TSElGVAkJCTMKPiBAQCAtMjcyLDE0ICsyODMsMTAzIEBA IHN0YXRpYyB2b2lkIGdlbmVyaWNfZXhlY19zZXF1ZW5jZShzdHJ1Y3QgaW50ZWxfZHNpICppbnRl bF9kc2ksIGNvbnN0IHU4ICpkYXRhKQo+ICAgCX0KPiAgIH0KPgo+IC1zdGF0aWMgYm9vbCBnZW5l cmljX2luaXQoc3RydWN0IGludGVsX2RzaV9kZXZpY2UgKmRzaSkKPiArc3RhdGljIGludCB2YnRf cGFuZWxfcHJlcGFyZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKPiArewo+ICsJc3RydWN0IHZi dF9wYW5lbCAqdmJ0X3BhbmVsID0gdG9fdmJ0X3BhbmVsKHBhbmVsKTsKPiArCXN0cnVjdCBpbnRl bF9kc2kgKmludGVsX2RzaSA9IHZidF9wYW5lbC0+aW50ZWxfZHNpOwo+ICsJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFzZS5iYXNlLmRldjsKPiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwljb25zdCB1OCAqc2Vx dWVuY2U7Cj4gKwo+ICsJc2VxdWVuY2UgPSBkZXZfcHJpdi0+dmJ0LmRzaS5zZXF1ZW5jZVtNSVBJ X1NFUV9BU1NFUlRfUkVTRVRdOwo+ICsJZ2VuZXJpY19leGVjX3NlcXVlbmNlKGludGVsX2RzaSwg c2VxdWVuY2UpOwo+ICsKPiArCXNlcXVlbmNlID0gZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2Vb TUlQSV9TRVFfSU5JVF9PVFBdOwo+ICsJZ2VuZXJpY19leGVjX3NlcXVlbmNlKGludGVsX2RzaSwg c2VxdWVuY2UpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZidF9w YW5lbF91bnByZXBhcmUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3sKPiArCXN0cnVjdCB2 YnRfcGFuZWwgKnZidF9wYW5lbCA9IHRvX3ZidF9wYW5lbChwYW5lbCk7Cj4gKwlzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2kgPSB2YnRfcGFuZWwtPmludGVsX2RzaTsKPiArCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJY29uc3QgdTggKnNl cXVlbmNlOwo+ICsKPiArCXNlcXVlbmNlID0gZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQ SV9TRVFfREVBU1NFUlRfUkVTRVRdOwo+ICsJZ2VuZXJpY19leGVjX3NlcXVlbmNlKGludGVsX2Rz aSwgc2VxdWVuY2UpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZi dF9wYW5lbF9lbmFibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3sKPiArCXN0cnVjdCB2 YnRfcGFuZWwgKnZidF9wYW5lbCA9IHRvX3ZidF9wYW5lbChwYW5lbCk7Cj4gKwlzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2kgPSB2YnRfcGFuZWwtPmludGVsX2RzaTsKPiArCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJY29uc3QgdTggKnNl cXVlbmNlOwo+ICsKPiArCXNlcXVlbmNlID0gZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQ SV9TRVFfRElTUExBWV9PTl07Cj4gKwlnZW5lcmljX2V4ZWNfc2VxdWVuY2UoaW50ZWxfZHNpLCBz ZXF1ZW5jZSk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmJ0X3Bh bmVsX2Rpc2FibGUoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3sKPiArCXN0cnVjdCB2YnRf cGFuZWwgKnZidF9wYW5lbCA9IHRvX3ZidF9wYW5lbChwYW5lbCk7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSB2YnRfcGFuZWwtPmludGVsX2RzaTsKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJY29uc3QgdTggKnNlcXVl bmNlOwo+ICsKPiArCXNlcXVlbmNlID0gZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9T RVFfRElTUExBWV9PRkZdOwo+ICsJZ2VuZXJpY19leGVjX3NlcXVlbmNlKGludGVsX2RzaSwgc2Vx dWVuY2UpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZidF9wYW5l bF9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCj4gK3sKPiArCXN0cnVjdCB2YnRf cGFuZWwgKnZidF9wYW5lbCA9IHRvX3ZidF9wYW5lbChwYW5lbCk7Cj4gKwlzdHJ1Y3QgaW50ZWxf ZHNpICppbnRlbF9kc2kgPSB2YnRfcGFuZWwtPmludGVsX2RzaTsKPiArCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGU7Cj4gKwo+ICsJaWYgKCFwYW5lbC0+Y29ubmVjdG9yKQo+ICsJCXJldHVy biAwOwo+ICsKPiArCW1vZGUgPSBkcm1fbW9kZV9kdXBsaWNhdGUoZGV2LCBkZXZfcHJpdi0+dmJ0 LmxmcF9sdmRzX3ZidF9tb2RlKTsKPiArCWlmICghbW9kZSkKPiArCQlyZXR1cm4gMDsKPiArCj4g Kwltb2RlLT50eXBlIHw9IERSTV9NT0RFX1RZUEVfUFJFRkVSUkVEOwo+ICsKPiArCWRybV9tb2Rl X3Byb2JlZF9hZGQocGFuZWwtPmNvbm5lY3RvciwgbW9kZSk7Cj4gKwo+ICsJcmV0dXJuIDE7Cj4g K30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHZidF9wYW5lbF9m dW5jcyA9IHsKPiArCS5kaXNhYmxlID0gdmJ0X3BhbmVsX2Rpc2FibGUsCj4gKwkudW5wcmVwYXJl ID0gdmJ0X3BhbmVsX3VucHJlcGFyZSwKPiArCS5wcmVwYXJlID0gdmJ0X3BhbmVsX3ByZXBhcmUs Cj4gKwkuZW5hYmxlID0gdmJ0X3BhbmVsX2VuYWJsZSwKPiArCS5nZXRfbW9kZXMgPSB2YnRfcGFu ZWxfZ2V0X21vZGVzLAo+ICt9Owo+ICsKPiArc3RydWN0IGRybV9wYW5lbCAqdmJ0X3BhbmVsX2lu aXQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCB1MTYgcGFuZWxfaWQpCj4gICB7Cj4gLQlz dHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBjb250YWluZXJfb2YoZHNpLCBzdHJ1Y3QgaW50 ZWxfZHNpLCBkZXYpOwo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJh c2UuYmFzZS5kZXY7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiAgIAlzdHJ1Y3QgbWlwaV9jb25maWcgKm1pcGlfY29uZmlnID0gZGV2 X3ByaXYtPnZidC5kc2kuY29uZmlnOwo+ICAgCXN0cnVjdCBtaXBpX3Bwc19kYXRhICpwcHMgPSBk ZXZfcHJpdi0+dmJ0LmRzaS5wcHM7Cj4gICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUg PSBkZXZfcHJpdi0+dmJ0LmxmcF9sdmRzX3ZidF9tb2RlOwo+ICsJc3RydWN0IHZidF9wYW5lbCAq dmJ0X3BhbmVsOwo+ICAgCXUzMiBiaXRzX3Blcl9waXhlbCA9IDI0Owo+ICAgCXUzMiB0bHB4X25z LCBleHRyYV9ieXRlX2NvdW50LCBiaXRyYXRlLCB0bHB4X3VpOwo+ICAgCXUzMiB1aV9udW0sIHVp X2RlbjsKPiBAQCAtMzQ2LDcgKzQ0Niw3IEBAIHN0YXRpYyBib29sIGdlbmVyaWNfaW5pdChzdHJ1 Y3QgaW50ZWxfZHNpX2RldmljZSAqZHNpKQo+ICAgCQkJaWYgKG1pcGlfY29uZmlnLT50YXJnZXRf YnVyc3RfbW9kZV9mcmVxIDwKPiAgIAkJCQkJCQkJY29tcHV0ZWRfZGRyKSB7Cj4gICAJCQkJRFJN X0VSUk9SKCJCdXJzdCBtb2RlIGZyZXEgaXMgbGVzcyB0aGFuIGNvbXB1dGVkXG4iKTsKPiAtCQkJ CXJldHVybiBmYWxzZTsKPiArCQkJCXJldHVybiBOVUxMOwo+ICAgCQkJfQo+Cj4gICAJCQlidXJz dF9tb2RlX3JhdGlvID0gRElWX1JPVU5EX1VQKAo+IEBAIC0zNTYsNyArNDU2LDcgQEAgc3RhdGlj IGJvb2wgZ2VuZXJpY19pbml0KHN0cnVjdCBpbnRlbF9kc2lfZGV2aWNlICpkc2kpCj4gICAJCQlw Y2xrID0gRElWX1JPVU5EX1VQKHBjbGsgKiBidXJzdF9tb2RlX3JhdGlvLCAxMDApOwo+ICAgCQl9 IGVsc2Ugewo+ICAgCQkJRFJNX0VSUk9SKCJCdXJzdCBtb2RlIHRhcmdldCBpcyBub3Qgc2V0XG4i KTsKPiAtCQkJcmV0dXJuIGZhbHNlOwo+ICsJCQlyZXR1cm4gTlVMTDsKPiAgIAkJfQo+ICAgCX0g ZWxzZQo+ICAgCQlidXJzdF9tb2RlX3JhdGlvID0gMTAwOwo+IEBAIC01NTcsNzEgKzY1NywxMyBA QCBzdGF0aWMgYm9vbCBnZW5lcmljX2luaXQoc3RydWN0IGludGVsX2RzaV9kZXZpY2UgKmRzaSkK PiAgIAlpbnRlbF9kc2ktPnBhbmVsX29mZl9kZWxheSA9IHBwcy0+cGFuZWxfb2ZmX2RlbGF5IC8g MTA7Cj4gICAJaW50ZWxfZHNpLT5wYW5lbF9wd3JfY3ljbGVfZGVsYXkgPSBwcHMtPnBhbmVsX3Bv d2VyX2N5Y2xlX2RlbGF5IC8gMTA7Cj4KPiAtCXJldHVybiB0cnVlOwo+IC19Cj4gLQo+IC1zdGF0 aWMgdm9pZCBnZW5lcmljX3BhbmVsX3Jlc2V0KHN0cnVjdCBpbnRlbF9kc2lfZGV2aWNlICpkc2kp Cj4gLXsKPiAtCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGNvbnRhaW5lcl9vZihkc2ks IHN0cnVjdCBpbnRlbF9kc2ksIGRldik7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50 ZWxfZHNpLT5iYXNlLmJhc2UuZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCj4gLQljaGFyICpzZXF1ZW5jZSA9IGRldl9wcml2 LT52YnQuZHNpLnNlcXVlbmNlW01JUElfU0VRX0FTU0VSVF9SRVNFVF07Cj4gLQo+IC0JZ2VuZXJp Y19leGVjX3NlcXVlbmNlKGludGVsX2RzaSwgc2VxdWVuY2UpOwo+IC0KPiAtCXNlcXVlbmNlID0g ZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfSU5JVF9PVFBdOwo+IC0JZ2VuZXJp Y19leGVjX3NlcXVlbmNlKGludGVsX2RzaSwgc2VxdWVuY2UpOwo+IC19Cj4gLQo+IC1zdGF0aWMg dm9pZCBnZW5lcmljX2Rpc2FibGVfcGFuZWxfcG93ZXIoc3RydWN0IGludGVsX2RzaV9kZXZpY2Ug KmRzaSkKPiAtewo+IC0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gY29udGFpbmVyX29m KGRzaSwgc3RydWN0IGludGVsX2RzaSwgZGV2KTsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0KPiAtCWNoYXIgKnNlcXVlbmNlID0gZGV2 X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfREVBU1NFUlRfUkVTRVRdOwo+IC0KPiAt CWdlbmVyaWNfZXhlY19zZXF1ZW5jZShpbnRlbF9kc2ksIHNlcXVlbmNlKTsKPiAtfQo+IC0KPiAt c3RhdGljIHZvaWQgZ2VuZXJpY19lbmFibGUoc3RydWN0IGludGVsX2RzaV9kZXZpY2UgKmRzaSkK PiAtewo+IC0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0gY29udGFpbmVyX29mKGRzaSwg c3RydWN0IGludGVsX2RzaSwgZGV2KTsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRl bF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJLyogVGhpcyBpcyBjaGVhdGluZyBhIGJpdCB3aXRo IHRoZSBjbGVhbnVwLiAqLwo+ICsJdmJ0X3BhbmVsID0gZGV2bV9remFsbG9jKGRldi0+ZGV2LCBz aXplb2YoKnZidF9wYW5lbCksIEdGUF9LRVJORUwpOwo+Cj4gLQljaGFyICpzZXF1ZW5jZSA9IGRl dl9wcml2LT52YnQuZHNpLnNlcXVlbmNlW01JUElfU0VRX0RJU1BMQVlfT05dOwo+ICsJdmJ0X3Bh bmVsLT5pbnRlbF9kc2kgPSBpbnRlbF9kc2k7Cj4gKwlkcm1fcGFuZWxfaW5pdCgmdmJ0X3BhbmVs LT5wYW5lbCk7Cj4gKwl2YnRfcGFuZWwtPnBhbmVsLmZ1bmNzID0gJnZidF9wYW5lbF9mdW5jczsK PiArCWRybV9wYW5lbF9hZGQoJnZidF9wYW5lbC0+cGFuZWwpOwo+Cj4gLQlnZW5lcmljX2V4ZWNf c2VxdWVuY2UoaW50ZWxfZHNpLCBzZXF1ZW5jZSk7Cj4gKwlyZXR1cm4gJnZidF9wYW5lbC0+cGFu ZWw7Cj4gICB9Cj4gLQo+IC1zdGF0aWMgdm9pZCBnZW5lcmljX2Rpc2FibGUoc3RydWN0IGludGVs X2RzaV9kZXZpY2UgKmRzaSkKPiAtewo+IC0Jc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpID0g Y29udGFpbmVyX29mKGRzaSwgc3RydWN0IGludGVsX2RzaSwgZGV2KTsKPiAtCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0KPiAtCWNoYXIgKnNl cXVlbmNlID0gZGV2X3ByaXYtPnZidC5kc2kuc2VxdWVuY2VbTUlQSV9TRVFfRElTUExBWV9PRkZd Owo+IC0KPiAtCWdlbmVyaWNfZXhlY19zZXF1ZW5jZShpbnRlbF9kc2ksIHNlcXVlbmNlKTsKPiAt fQo+IC0KPiAtc3RhdGljIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpnZW5lcmljX2dldF9tb2Rl cyhzdHJ1Y3QgaW50ZWxfZHNpX2RldmljZSAqZHNpKQo+IC17Cj4gLQlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBjb250YWluZXJfb2YoZHNpLCBzdHJ1Y3QgaW50ZWxfZHNpLCBkZXYpOwo+ IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFzZS5iYXNlLmRldjsKPiAt CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g LQo+IC0JZGV2X3ByaXYtPnZidC5sZnBfbHZkc192YnRfbW9kZS0+dHlwZSB8PSBEUk1fTU9ERV9U WVBFX1BSRUZFUlJFRDsKPiAtCXJldHVybiBkZXZfcHJpdi0+dmJ0LmxmcF9sdmRzX3ZidF9tb2Rl Owo+IC19Cj4gLQo+IC1zdHJ1Y3QgaW50ZWxfZHNpX2Rldl9vcHMgdmJ0X2dlbmVyaWNfZHNpX2Rp c3BsYXlfb3BzID0gewo+IC0JLmluaXQgPSBnZW5lcmljX2luaXQsCj4gLQkucGFuZWxfcmVzZXQg PSBnZW5lcmljX3BhbmVsX3Jlc2V0LAo+IC0JLmRpc2FibGVfcGFuZWxfcG93ZXIgPSBnZW5lcmlj X2Rpc2FibGVfcGFuZWxfcG93ZXIsCj4gLQkuZW5hYmxlID0gZ2VuZXJpY19lbmFibGUsCj4gLQku ZGlzYWJsZSA9IGdlbmVyaWNfZGlzYWJsZSwKPiAtCS5nZXRfbW9kZXMgPSBnZW5lcmljX2dldF9t b2RlcywKPiAtfTsKPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=