From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 2/5] drm/i915: add component support Date: Wed, 10 Dec 2014 15:18:54 +0200 Message-ID: <1418217534.27205.0.camel@intelbox> References: <1418118078-3676-2-git-send-email-imre.deak@intel.com> <1418141755-22672-2-git-send-email-imre.deak@intel.com> <87vbljhq1r.fsf@intel.com> Reply-To: imre.deak@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 ESMTP id EA1986E59A for ; Wed, 10 Dec 2014 05:20:43 -0800 (PST) In-Reply-To: <87vbljhq1r.fsf@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 Cc: Takashi Iwai , Daniel Vetter , intel-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE0LTEyLTEwIGF0IDEwOjIyICswMjAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBP biBUdWUsIDA5IERlYyAyMDE0LCBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+IHdyb3Rl Ogo+ID4gUmVnaXN0ZXIgYSBjb21wb25lbnQgdG8gYmUgdXNlZCB0byBpbnRlcmZhY2Ugd2l0aCB0 aGUgc25kX2hkYV9pbnRlbAo+ID4gZHJpdmVyLiBUaGlzIGlzIG1lYW50IHRvIHJlcGxhY2UgdGhl IHNhbWUgaW50ZXJmYWNlIHRoYXQgaXMgY3VycmVudGx5Cj4gPiBiYXNlZCBvbiBtb2R1bGUgc3lt Ym9sIGxvb2t1cC4KPiA+Cj4gPiB2MjoKPiA+IC0gY2hhbmdlIHJvbGVzIGJldHdlZW4gdGhlIGhk YSBhbmQgaTkxNSBjb21wb25lbnRzIChEYW5pZWwpCj4gPiAtIGFkZCB0aGUgaW1wbGVtZW50YXRp b24gdG8gYSBuZXcgZmlsZSAoSmFuaSkKPiA+IC0gdXNlIGJldHRlciBuYW1lc3BhY2luZyAoSmFu aSkKPiA+IHYzOgo+ID4gLSBtb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbiB0byBpbnRlbF9hdWRpby5j IChEYW5pZWwpCj4gPiAtIHJlbmFtZSBkaXNwbGF5X2NvbXBvbmVudCB0byBhdWRpb19jb21wb25l bnQgKERhbmllbCkKPiA+IC0gYWRkIGtlcm5lbGRvYyAoRGFuaWVsKQo+ID4KPiA+IFNpZ25lZC1v ZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfY29tcG9uZW50LmMgfCAgMjcgKysrKysrKysrCj4gCj4gT29v cHM/CgpZZXAsIG1pc3NlZCBnaXQgcm06LwoKPiAKPiBKLgo+IAo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZG1hLmMgICAgICAgfCAgIDQgKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oICAgICAgIHwgICAzICsKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdWRpby5jICAgIHwgMTEwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgIHwgICAyICsKPiA+ICBpbmNs dWRlL2RybS9pOTE1X2NvbXBvbmVudC5oICAgICAgICAgIHwgIDM4ICsrKysrKysrKysrKwo+ID4g IDYgZmlsZXMgY2hhbmdlZCwgMTg0IGluc2VydGlvbnMoKykKPiA+ICBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jb21wb25lbnQuYwo+ID4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBpbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oCj4gPgo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY29tcG9uZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2NvbXBvbmVudC5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXgg MDAwMDAwMC4uOTVkZDA4Nwo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9jb21wb25lbnQuYwo+ID4gQEAgLTAsMCArMSwyNyBAQAo+ID4gKy8qCj4g PiArICogQ29weXJpZ2h0IMKpIDIwMTQgSW50ZWwgQ29ycG9yYXRpb24KPiA+ICsgKgo+ID4gKyAq IFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVy c29uIG9idGFpbmluZyBhCj4gPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lh dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKPiA+ICsgKiB0byBkZWFs IGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs aW1pdGF0aW9uCj4gPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2Us IHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gPiArICogYW5kL29yIHNlbGwgY29w aWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCj4g PiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xs b3dpbmcgY29uZGl0aW9uczoKPiA+ICsgKgo+ID4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90 aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPiA+ICsg KiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRp YWwgcG9ydGlvbnMgb2YgdGhlCj4gPiArICogU29mdHdhcmUuCj4gPiArICoKPiA+ICsgKiBUSEUg U09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lO RCwgRVhQUkVTUyBPUgo+ID4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQg VE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ID4gKyAqIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBT SEFMTAo+ID4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBG T1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gPiArICogTElBQklMSVRZLCBXSEVUSEVS IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiA+ ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBU SEUgVVNFIE9SIE9USEVSIERFQUxJTkdTCj4gPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ID4gKyAq Lwo+ID4gKwo+ID4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KPiA+ICsjaW5jbHVkZSA8 ZHJtL2k5MTVfY29tcG9uZW50Lmg+Cj4gPiArI2luY2x1ZGUgImludGVsX2Rydi5oIgo+ID4gKwo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gPiBpbmRleCA4ODdkODhmLi5mNjMzNGQwIDEwMDY0 NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+ID4gQEAgLTgzMCw2ICs4MzAsOCBAQCBpbnQg aTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZs YWdzKQo+ID4gIAo+ID4gIAlpbnRlbF9ydW50aW1lX3BtX2VuYWJsZShkZXZfcHJpdik7Cj4gPiAg Cj4gPiArCWk5MTVfYXVkaW9fY29tcG9uZW50X2luaXQoZGV2X3ByaXYpOwo+ID4gKwo+ID4gIAly ZXR1cm4gMDsKPiA+ICAKPiA+ICBvdXRfcG93ZXJfd2VsbDoKPiA+IEBAIC04NzAsNiArODcyLDgg QEAgaW50IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4g IAlpbnQgcmV0Owo+ID4gIAo+ID4gKwlpOTE1X2F1ZGlvX2NvbXBvbmVudF9jbGVhbnVwKGRldl9w cml2KTsKPiA+ICsKPiA+ICAJcmV0ID0gaTkxNV9nZW1fc3VzcGVuZChkZXYpOwo+ID4gIAlpZiAo cmV0KSB7Cj4gPiAgCQlEUk1fRVJST1IoImZhaWxlZCB0byBpZGxlIGhhcmR3YXJlOiAlZFxuIiwg cmV0KTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gaW5kZXggMDk2MWQ3Zi4uM2MyZDlj NyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IEBAIC0xNzEzLDYgKzE3MTMs OSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkg KmJyb2FkY2FzdF9yZ2JfcHJvcGVydHk7Cj4gPiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKmZvcmNl X2F1ZGlvX3Byb3BlcnR5Owo+ID4gIAo+ID4gKwkvKiBoZGEvaTkxNSBhdWRpbyBjb21wb25lbnQg Ki8KPiA+ICsJYm9vbCBhdWRpb19jb21wb25lbnRfcmVnaXN0ZXJlZDsKPiA+ICsKPiA+ICAJdWlu dDMyX3QgaHdfY29udGV4dF9zaXplOwo+ID4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGNvbnRleHRfbGlz dDsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRp by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+ID4gaW5kZXggMmM3ZWQ1 Yy4uZWU0MWI4OCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1 ZGlvLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiA+IEBA IC0yMiw2ICsyMiw5IEBACj4gPiAgICovCj4gPiAgCj4gPiAgI2luY2x1ZGUgPGxpbnV4L2tlcm5l bC5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KPiA+ICsjaW5jbHVkZSA8ZHJt L2k5MTVfY29tcG9uZW50Lmg+Cj4gPiArI2luY2x1ZGUgImludGVsX2Rydi5oIgo+ID4gIAo+ID4g ICNpbmNsdWRlIDxkcm0vZHJtUC5oPgo+ID4gICNpbmNsdWRlIDxkcm0vZHJtX2VkaWQuaD4KPiA+ IEBAIC00NjEsMyArNDY0LDExMCBAQCB2b2lkIGludGVsX2luaXRfYXVkaW8oc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiA+ICAJCWRldl9wcml2LT5kaXNwbGF5LmF1ZGlvX2NvZGVjX2Rpc2FibGUg PSBpbGtfYXVkaW9fY29kZWNfZGlzYWJsZTsKPiA+ICAJfQo+ID4gIH0KPiA+ICsKPiA+ICtzdGF0 aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfcG93ZXIoc3RydWN0IGRldmljZSAqZGV2 KQo+ID4gK3sKPiA+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3RvX2k5MTUoZGV2KSwg UE9XRVJfRE9NQUlOX0FVRElPKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIHZvaWQgaTkxNV9h dWRpb19jb21wb25lbnRfcHV0X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmRldikKPiA+ICt7Cj4gPiAr CWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl90b19pOTE1KGRldiksIFBPV0VSX0RPTUFJTl9B VURJTyk7Cj4gPiArfQo+ID4gKwo+ID4gKy8qIEdldCBDRENMSyBpbiBrSHogICovCj4gPiArc3Rh dGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfY2RjbGtfZnJlcShzdHJ1Y3QgZGV2aWNl ICpkZXYpCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXZfdG9faTkxNShkZXYpOwo+ID4gKwlpbnQgcmV0Owo+ID4gKwo+ID4gKwlpZiAoV0FSTl9PTl9P TkNFKCFIQVNfRERJKGRldl9wcml2KSkpCj4gPiArCQlyZXR1cm4gLUVOT0RFVjsKPiA+ICsKPiA+ ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7 Cj4gPiArCXJldCA9IGludGVsX2RkaV9nZXRfY2RjbGtfZnJlcShkZXZfcHJpdik7Cj4gPiArCWlu dGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fQVVESU8pOwo+ID4g Kwo+ID4gKwlyZXR1cm4gcmV0Owo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0 IGk5MTVfYXVkaW9fY29tcG9uZW50X29wcyBpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMgPSB7Cj4g PiArCS5vd25lcgkJPSBUSElTX01PRFVMRSwKPiA+ICsJLmdldF9wb3dlcgk9IGk5MTVfYXVkaW9f Y29tcG9uZW50X2dldF9wb3dlciwKPiA+ICsJLnB1dF9wb3dlcgk9IGk5MTVfYXVkaW9fY29tcG9u ZW50X3B1dF9wb3dlciwKPiA+ICsJLmdldF9jZGNsa19mcmVxCT0gaTkxNV9hdWRpb19jb21wb25l bnRfZ2V0X2NkY2xrX2ZyZXEsCj4gPiArfTsKPiA+ICsKPiA+ICtzdGF0aWMgaW50IGk5MTVfYXVk aW9fY29tcG9uZW50X2JpbmQoc3RydWN0IGRldmljZSAqaTkxNV9kZXYsCj4gPiArCQkJCSAgICAg c3RydWN0IGRldmljZSAqaGRhX2Rldiwgdm9pZCAqZGF0YSkKPiA+ICt7Cj4gPiArCXN0cnVjdCBp OTE1X2F1ZGlvX2NvbXBvbmVudCAqYWNvbXAgPSBkYXRhOwo+ID4gKwo+ID4gKwlpZiAoV0FSTl9P TihhY29tcC0+b3BzIHx8IGFjb21wLT5kZXYpKQo+ID4gKwkJcmV0dXJuIC1FRVhJU1Q7Cj4gPiAr Cj4gPiArCWFjb21wLT5vcHMgPSAmaTkxNV9hdWRpb19jb21wb25lbnRfb3BzOwo+ID4gKwlhY29t cC0+ZGV2ID0gaTkxNV9kZXY7Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ ICtzdGF0aWMgdm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF91bmJpbmQoc3RydWN0IGRldmljZSAq aTkxNV9kZXYsCj4gPiArCQkJCQlzdHJ1Y3QgZGV2aWNlICpoZGFfZGV2LCB2b2lkICpkYXRhKQo+ ID4gK3sKPiA+ICsJc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRhdGE7Cj4g PiArCj4gPiArCWFjb21wLT5vcHMgPSBOVUxMOwo+ID4gKwlhY29tcC0+ZGV2ID0gTlVMTDsKPiA+ ICt9Cj4gPiArCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3BzIGk5MTVfYXVk aW9fY29tcG9uZW50X2JpbmRfb3BzID0gewo+ID4gKwkuYmluZAk9IGk5MTVfYXVkaW9fY29tcG9u ZW50X2JpbmQsCj4gPiArCS51bmJpbmQJPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF91bmJpbmQsCj4g PiArfTsKPiA+ICsKPiA+ICsvKioKPiA+ICsgKiBpOTE1X2F1ZGlvX2NvbXBvbmVudF9pbml0IC0g aW5pdGlhbGl6ZSBhbmQgcmVnaXN0ZXIgdGhlIGF1ZGlvIGNvbXBvbmVudAo+ID4gKyAqIEBkZXZf cHJpdjogaTkxNSBkZXZpY2UgaW5zdGFuY2UKPiA+ICsgKgo+ID4gKyAqIFRoaXMgd2lsbCByZWdp c3RlciB3aXRoIHRoZSBjb21wb25lbnQgZnJhbWV3b3JrIGEgY2hpbGQgY29tcG9uZW50IHdoaWNo Cj4gPiArICogd2lsbCBiaW5kIGR5bmFtaWNhbGx5IHRvIHRoZSBzbmRfaGRhX2ludGVsIGRyaXZl cidzIGNvcnJlc3BvbmRpbmcgbWFzdGVyCj4gPiArICogY29tcG9uZW50IHdoZW4gdGhlIGxhdHRl ciBpcyByZWdpc3RlcmVkLiBEdXJpbmcgYmluZGluZyB0aGUgY2hpbGQKPiA+ICsgKiBpbml0aWFs aXplcyBhbiBpbnN0YW5jZSBvZiBzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgd2hpY2ggaXQg cmVjZWl2ZXMKPiA+ICsgKiBmcm9tIHRoZSBtYXN0ZXIuIFRoZSBtYXN0ZXIgY2FuIHRoZW4gc3Rh cnQgdG8gdXNlIHRoZSBpbnRlcmZhY2UgZGVmaW5lZCBieQo+ID4gKyAqIHRoaXMgc3RydWN0LiBF YWNoIHNpZGUgY2FuIGJyZWFrIHRoZSBiaW5kaW5nIGF0IGFueSBwb2ludCBieSBkZXJlZ2lzdGVy aW5nCj4gPiArICogaXRzIG93biBjb21wb25lbnQgYWZ0ZXIgd2hpY2ggZWFjaCBzaWRlJ3MgY29t cG9uZW50IHVuYmluZCBjYWxsYmFjayBpcwo+ID4gKyAqIGNhbGxlZC4KPiA+ICsgKgo+ID4gKyAq IFdlIGlnbm9yZSBhbnkgZXJyb3IgZHVyaW5nIHJlZ2lzdHJhdGlvbiBhbmQgY29udGludWUgd2l0 aCByZWR1Y2VkCj4gPiArICogZnVuY3Rpb25hbGl0eSAoaS5lLiB3aXRob3V0IEhETUkgYXVkaW8p Lgo+ID4gKyAqLwo+ID4gK3ZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiArewo+ID4gKwlpbnQgcmV0Owo+ID4gKwo+ID4g KwlyZXQgPSBjb21wb25lbnRfYWRkKGRldl9wcml2LT5kZXYtPmRldiwgJmk5MTVfYXVkaW9fY29t cG9uZW50X2JpbmRfb3BzKTsKPiA+ICsJaWYgKHJldCA8IDApIHsKPiA+ICsJCURSTV9FUlJPUigi ZmFpbGVkIHRvIGFkZCBhdWRpbyBjb21wb25lbnQgKCVkKVxuIiwgcmV0KTsKPiA+ICsJCS8qIGNv bnRpbnVlIHdpdGggcmVkdWNlZCBmdW5jdGlvbmFsaXR5ICovCj4gPiArCQlyZXR1cm47Cj4gPiAr CX0KPiA+ICsKPiA+ICsJZGV2X3ByaXYtPmF1ZGlvX2NvbXBvbmVudF9yZWdpc3RlcmVkID0gdHJ1 ZTsKPiA+ICt9Cj4gPiArCj4gPiArLyoqCj4gPiArICogaTkxNV9hdWRpb19jb21wb25lbnRfY2xl YW51cCAtIGRlcmVnaXN0ZXIgdGhlIGF1ZGlvIGNvbXBvbmVudAo+ID4gKyAqIEBkZXZfcHJpdjog aTkxNSBkZXZpY2UgaW5zdGFuY2UKPiA+ICsgKgo+ID4gKyAqIERlcmVnaXN0ZXJzIHRoZSBhdWRp byBjb21wb25lbnQsIGJyZWFraW5nIGFueSBleGlzdGluZyBiaW5kaW5nIHRvIHRoZQo+ID4gKyAq IGNvcnJlc3BvbmRpbmcgc25kX2hkYV9pbnRlbCBkcml2ZXIncyBtYXN0ZXIgY29tcG9uZW50Lgo+ ID4gKyAqLwo+ID4gK3ZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfY2xlYW51cChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiArewo+ID4gKwlpZiAoIWRldl9wcml2LT5hdWRp b19jb21wb25lbnRfcmVnaXN0ZXJlZCkKPiA+ICsJCXJldHVybjsKPiA+ICsKPiA+ICsJY29tcG9u ZW50X2RlbChkZXZfcHJpdi0+ZGV2LT5kZXYsICZpOTE1X2F1ZGlvX2NvbXBvbmVudF9iaW5kX29w cyk7Cj4gPiArCWRldl9wcml2LT5hdWRpb19jb21wb25lbnRfcmVnaXN0ZXJlZCA9IGZhbHNlOwo+ ID4gK30KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBpbmRleCA2MWE4OGZhLi42MTcw MWE2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtODczLDYgKzg3 Myw4IEBAIHZvaWQgaW50ZWxfZmJfb2JqX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosIGJvb2wgcmV0aXJlKTsKPiA+ICB2b2lkIGludGVsX2luaXRfYXVkaW8oc3RydWN0IGRy bV9kZXZpY2UgKmRldik7Cj4gPiAgdm9pZCBpbnRlbF9hdWRpb19jb2RlY19lbmFibGUoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwo+ID4gIHZvaWQgaW50ZWxfYXVkaW9fY29kZWNfZGlz YWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7Cj4gPiArdm9pZCBpOTE1X2F1ZGlv X2NvbXBvbmVudF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiAr dm9pZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9jbGVhbnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7Cj4gPiAgCj4gPiAgLyogaW50ZWxfZGlzcGxheS5jICovCj4gPiAgYm9vbCBp bnRlbF9oYXNfcGVuZGluZ19mYl91bnBpbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oIGIvaW5jbHVkZS9kcm0vaTkx NV9jb21wb25lbnQuaAo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAwMDAwMDAu LjNlMmYyMmUKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2k5MTVfY29t cG9uZW50LmgKPiA+IEBAIC0wLDAgKzEsMzggQEAKPiA+ICsvKgo+ID4gKyAqIENvcHlyaWdodCDC qSAyMDE0IEludGVsIENvcnBvcmF0aW9uCj4gPiArICoKPiA+ICsgKiBQZXJtaXNzaW9uIGlzIGhl cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ ID4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gPiArICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUg d2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ID4gKyAq IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmli dXRlLCBzdWJsaWNlbnNlLAo+ID4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdh cmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ID4gKyAqIFNvZnR3YXJlIGlz IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6 Cj4gPiArICoKPiA+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt aXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gPiArICogcGFyYWdyYXBoKSBzaGFs bCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRo ZQo+ID4gKyAqIFNvZnR3YXJlLgo+ID4gKyAqCj4gPiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiA+ ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVT IE9GIE1FUkNIQU5UQUJJTElUWSwKPiA+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiA+ICsgKiBUSEUg QVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFN QUdFUyBPUiBPVEhFUgo+ID4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCj4gPiArICogRlJPTSwgT1VUIE9G IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBE RUFMSU5HUwo+ID4gKyAqIElOIFRIRSBTT0ZUV0FSRS4KPiA+ICsgKi8KPiA+ICsKPiA+ICsjaWZu ZGVmIF9JOTE1X0NPTVBPTkVOVF9IXwo+ID4gKyNkZWZpbmUgX0k5MTVfQ09NUE9ORU5UX0hfCj4g PiArCj4gPiArc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50IHsKPiA+ICsJc3RydWN0IGRldmlj ZSAqZGV2Owo+ID4gKwo+ID4gKwljb25zdCBzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnRfb3Bz IHsKPiA+ICsJCXN0cnVjdCBtb2R1bGUgKm93bmVyOwo+ID4gKwkJdm9pZCAoKmdldF9wb3dlciko c3RydWN0IGRldmljZSAqKTsKPiA+ICsJCXZvaWQgKCpwdXRfcG93ZXIpKHN0cnVjdCBkZXZpY2Ug Kik7Cj4gPiArCQlpbnQgKCpnZXRfY2RjbGtfZnJlcSkoc3RydWN0IGRldmljZSAqKTsKPiA+ICsJ fSAqb3BzOwo+ID4gK307Cj4gPiArCj4gPiArI2VuZGlmIC8qIF9JOTE1X0NPTVBPTkVOVF9IXyAq Lwo+ID4gLS0gCj4gPiAxLjguNAo+ID4KPiAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=