From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v3 2/5] drm/i915: add component support Date: Wed, 10 Dec 2014 10:22:56 +0200 Message-ID: <87vbljhq1r.fsf@intel.com> References: <1418118078-3676-2-git-send-email-imre.deak@intel.com> <1418141755-22672-2-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id B735F6E2B1 for ; Wed, 10 Dec 2014 00:23:09 -0800 (PST) In-Reply-To: <1418141755-22672-2-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak , intel-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org, Takashi Iwai Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAwOSBEZWMgMjAxNCwgSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPiB3cm90 ZToKPiBSZWdpc3RlciBhIGNvbXBvbmVudCB0byBiZSB1c2VkIHRvIGludGVyZmFjZSB3aXRoIHRo ZSBzbmRfaGRhX2ludGVsCj4gZHJpdmVyLiBUaGlzIGlzIG1lYW50IHRvIHJlcGxhY2UgdGhlIHNh bWUgaW50ZXJmYWNlIHRoYXQgaXMgY3VycmVudGx5Cj4gYmFzZWQgb24gbW9kdWxlIHN5bWJvbCBs b29rdXAuCj4KPiB2MjoKPiAtIGNoYW5nZSByb2xlcyBiZXR3ZWVuIHRoZSBoZGEgYW5kIGk5MTUg Y29tcG9uZW50cyAoRGFuaWVsKQo+IC0gYWRkIHRoZSBpbXBsZW1lbnRhdGlvbiB0byBhIG5ldyBm aWxlIChKYW5pKQo+IC0gdXNlIGJldHRlciBuYW1lc3BhY2luZyAoSmFuaSkKPiB2MzoKPiAtIG1v dmUgdGhlIGltcGxlbWVudGF0aW9uIHRvIGludGVsX2F1ZGlvLmMgKERhbmllbCkKPiAtIHJlbmFt ZSBkaXNwbGF5X2NvbXBvbmVudCB0byBhdWRpb19jb21wb25lbnQgKERhbmllbCkKPiAtIGFkZCBr ZXJuZWxkb2MgKERhbmllbCkKPgo+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFr QGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9jb21wb25lbnQu YyB8ICAyNyArKysrKysrKysKCk9vb3BzPwoKSi4KCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZG1hLmMgICAgICAgfCAgIDQgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICB8ICAgMyArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgICAg fCAxMTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgIHwgICAyICsKPiAgaW5jbHVkZS9kcm0vaTkxNV9jb21w b25lbnQuaCAgICAgICAgICB8ICAzOCArKysrKysrKysrKysKPiAgNiBmaWxlcyBjaGFuZ2VkLCAx ODQgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9jb21wb25lbnQuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9kcm0vaTkx NV9jb21wb25lbnQuaAo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Y29tcG9uZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2NvbXBvbmVudC5jCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi45NWRkMDg3Cj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY29tcG9uZW50LmMKPiBAQCAtMCww ICsxLDI3IEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE0IEludGVsIENvcnBvcmF0aW9u Cj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBh bmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAq IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3 aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg bWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxs IGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo ZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZv bGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBh cmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJ UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNT IE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhF IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERB TUFHRVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBD T05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFM SU5HUwo+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4 L2NvbXBvbmVudC5oPgo+ICsjaW5jbHVkZSA8ZHJtL2k5MTVfY29tcG9uZW50Lmg+Cj4gKyNpbmNs dWRlICJpbnRlbF9kcnYuaCIKPiArCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gaW5kZXggODg3 ZDg4Zi4uZjYzMzRkMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rt YS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+IEBAIC04MzAsNiAr ODMwLDggQEAgaW50IGk5MTVfZHJpdmVyX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5z aWduZWQgbG9uZyBmbGFncykKPiAgCj4gIAlpbnRlbF9ydW50aW1lX3BtX2VuYWJsZShkZXZfcHJp dik7Cj4gIAo+ICsJaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChkZXZfcHJpdik7Cj4gKwo+ICAJ cmV0dXJuIDA7Cj4gIAo+ICBvdXRfcG93ZXJfd2VsbDoKPiBAQCAtODcwLDYgKzg3Miw4IEBAIGlu dCBpOTE1X2RyaXZlcl91bmxvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlpbnQgcmV0 Owo+ICAKPiArCWk5MTVfYXVkaW9fY29tcG9uZW50X2NsZWFudXAoZGV2X3ByaXYpOwo+ICsKPiAg CXJldCA9IGk5MTVfZ2VtX3N1c3BlbmQoZGV2KTsKPiAgCWlmIChyZXQpIHsKPiAgCQlEUk1fRVJS T1IoImZhaWxlZCB0byBpZGxlIGhhcmR3YXJlOiAlZFxuIiwgcmV0KTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBpbmRleCAwOTYxZDdmLi4zYzJkOWM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gQEAgLTE3MTMsNiArMTcxMyw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsK PiAgCXN0cnVjdCBkcm1fcHJvcGVydHkgKmJyb2FkY2FzdF9yZ2JfcHJvcGVydHk7Cj4gIAlzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpmb3JjZV9hdWRpb19wcm9wZXJ0eTsKPiAgCj4gKwkvKiBoZGEvaTkx NSBhdWRpbyBjb21wb25lbnQgKi8KPiArCWJvb2wgYXVkaW9fY29tcG9uZW50X3JlZ2lzdGVyZWQ7 Cj4gKwo+ICAJdWludDMyX3QgaHdfY29udGV4dF9zaXplOwo+ICAJc3RydWN0IGxpc3RfaGVhZCBj b250ZXh0X2xpc3Q7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+IGluZGV4IDJj N2VkNWMuLmVlNDFiODggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf YXVkaW8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPiBAQCAt MjIsNiArMjIsOSBAQAo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiAr I2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgo+ICsjaW5jbHVkZSA8ZHJtL2k5MTVfY29tcG9u ZW50Lmg+Cj4gKyNpbmNsdWRlICJpbnRlbF9kcnYuaCIKPiAgCj4gICNpbmNsdWRlIDxkcm0vZHJt UC5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9lZGlkLmg+Cj4gQEAgLTQ2MSwzICs0NjQsMTEwIEBA IHZvaWQgaW50ZWxfaW5pdF9hdWRpbyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCWRldl9w cml2LT5kaXNwbGF5LmF1ZGlvX2NvZGVjX2Rpc2FibGUgPSBpbGtfYXVkaW9fY29kZWNfZGlzYWJs ZTsKPiAgCX0KPiAgfQo+ICsKPiArc3RhdGljIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0 X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmRldikKPiArewo+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3RvX2k5MTUoZGV2KSwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfcHV0X3Bvd2VyKHN0cnVjdCBkZXZpY2UgKmRl dikKPiArewo+ICsJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3RvX2k5MTUoZGV2KSwgUE9X RVJfRE9NQUlOX0FVRElPKTsKPiArfQo+ICsKPiArLyogR2V0IENEQ0xLIGluIGtIeiAgKi8KPiAr c3RhdGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfY2RjbGtfZnJlcShzdHJ1Y3QgZGV2 aWNlICpkZXYpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl dl90b19pOTE1KGRldik7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmIChXQVJOX09OX09OQ0UoIUhB U19EREkoZGV2X3ByaXYpKSkKPiArCQlyZXR1cm4gLUVOT0RFVjsKPiArCj4gKwlpbnRlbF9kaXNw bGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPiArCXJldCA9IGlu dGVsX2RkaV9nZXRfY2RjbGtfZnJlcShkZXZfcHJpdik7Cj4gKwlpbnRlbF9kaXNwbGF5X3Bvd2Vy X3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50X29wcyBp OTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMgPSB7Cj4gKwkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4g KwkuZ2V0X3Bvd2VyCT0gaTkxNV9hdWRpb19jb21wb25lbnRfZ2V0X3Bvd2VyLAo+ICsJLnB1dF9w b3dlcgk9IGk5MTVfYXVkaW9fY29tcG9uZW50X3B1dF9wb3dlciwKPiArCS5nZXRfY2RjbGtfZnJl cQk9IGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9jZGNsa19mcmVxLAo+ICt9Owo+ICsKPiArc3Rh dGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9iaW5kKHN0cnVjdCBkZXZpY2UgKmk5MTVfZGV2 LAo+ICsJCQkJICAgICBzdHJ1Y3QgZGV2aWNlICpoZGFfZGV2LCB2b2lkICpkYXRhKQo+ICt7Cj4g KwlzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgKmFjb21wID0gZGF0YTsKPiArCj4gKwlpZiAo V0FSTl9PTihhY29tcC0+b3BzIHx8IGFjb21wLT5kZXYpKQo+ICsJCXJldHVybiAtRUVYSVNUOwo+ ICsKPiArCWFjb21wLT5vcHMgPSAmaTkxNV9hdWRpb19jb21wb25lbnRfb3BzOwo+ICsJYWNvbXAt PmRldiA9IGk5MTVfZGV2Owo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBpOTE1X2F1ZGlvX2NvbXBvbmVudF91bmJpbmQoc3RydWN0IGRldmljZSAqaTkxNV9kZXYsCj4g KwkJCQkJc3RydWN0IGRldmljZSAqaGRhX2Rldiwgdm9pZCAqZGF0YSkKPiArewo+ICsJc3RydWN0 IGk5MTVfYXVkaW9fY29tcG9uZW50ICphY29tcCA9IGRhdGE7Cj4gKwo+ICsJYWNvbXAtPm9wcyA9 IE5VTEw7Cj4gKwlhY29tcC0+ZGV2ID0gTlVMTDsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0 cnVjdCBjb21wb25lbnRfb3BzIGk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzID0gewo+ICsJ LmJpbmQJPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9iaW5kLAo+ICsJLnVuYmluZAk9IGk5MTVfYXVk aW9fY29tcG9uZW50X3VuYmluZCwKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBpOTE1X2F1ZGlvX2Nv bXBvbmVudF9pbml0IC0gaW5pdGlhbGl6ZSBhbmQgcmVnaXN0ZXIgdGhlIGF1ZGlvIGNvbXBvbmVu dAo+ICsgKiBAZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNlCj4gKyAqCj4gKyAqIFRoaXMg d2lsbCByZWdpc3RlciB3aXRoIHRoZSBjb21wb25lbnQgZnJhbWV3b3JrIGEgY2hpbGQgY29tcG9u ZW50IHdoaWNoCj4gKyAqIHdpbGwgYmluZCBkeW5hbWljYWxseSB0byB0aGUgc25kX2hkYV9pbnRl bCBkcml2ZXIncyBjb3JyZXNwb25kaW5nIG1hc3Rlcgo+ICsgKiBjb21wb25lbnQgd2hlbiB0aGUg bGF0dGVyIGlzIHJlZ2lzdGVyZWQuIER1cmluZyBiaW5kaW5nIHRoZSBjaGlsZAo+ICsgKiBpbml0 aWFsaXplcyBhbiBpbnN0YW5jZSBvZiBzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgd2hpY2gg aXQgcmVjZWl2ZXMKPiArICogZnJvbSB0aGUgbWFzdGVyLiBUaGUgbWFzdGVyIGNhbiB0aGVuIHN0 YXJ0IHRvIHVzZSB0aGUgaW50ZXJmYWNlIGRlZmluZWQgYnkKPiArICogdGhpcyBzdHJ1Y3QuIEVh Y2ggc2lkZSBjYW4gYnJlYWsgdGhlIGJpbmRpbmcgYXQgYW55IHBvaW50IGJ5IGRlcmVnaXN0ZXJp bmcKPiArICogaXRzIG93biBjb21wb25lbnQgYWZ0ZXIgd2hpY2ggZWFjaCBzaWRlJ3MgY29tcG9u ZW50IHVuYmluZCBjYWxsYmFjayBpcwo+ICsgKiBjYWxsZWQuCj4gKyAqCj4gKyAqIFdlIGlnbm9y ZSBhbnkgZXJyb3IgZHVyaW5nIHJlZ2lzdHJhdGlvbiBhbmQgY29udGludWUgd2l0aCByZWR1Y2Vk Cj4gKyAqIGZ1bmN0aW9uYWxpdHkgKGkuZS4gd2l0aG91dCBIRE1JIGF1ZGlvKS4KPiArICovCj4g K3ZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gK3sKPiArCWludCByZXQ7Cj4gKwo+ICsJcmV0ID0gY29tcG9uZW50X2FkZChk ZXZfcHJpdi0+ZGV2LT5kZXYsICZpOTE1X2F1ZGlvX2NvbXBvbmVudF9iaW5kX29wcyk7Cj4gKwlp ZiAocmV0IDwgMCkgewo+ICsJCURSTV9FUlJPUigiZmFpbGVkIHRvIGFkZCBhdWRpbyBjb21wb25l bnQgKCVkKVxuIiwgcmV0KTsKPiArCQkvKiBjb250aW51ZSB3aXRoIHJlZHVjZWQgZnVuY3Rpb25h bGl0eSAqLwo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlkZXZfcHJpdi0+YXVkaW9fY29tcG9u ZW50X3JlZ2lzdGVyZWQgPSB0cnVlOwo+ICt9Cj4gKwo+ICsvKioKPiArICogaTkxNV9hdWRpb19j b21wb25lbnRfY2xlYW51cCAtIGRlcmVnaXN0ZXIgdGhlIGF1ZGlvIGNvbXBvbmVudAo+ICsgKiBA ZGV2X3ByaXY6IGk5MTUgZGV2aWNlIGluc3RhbmNlCj4gKyAqCj4gKyAqIERlcmVnaXN0ZXJzIHRo ZSBhdWRpbyBjb21wb25lbnQsIGJyZWFraW5nIGFueSBleGlzdGluZyBiaW5kaW5nIHRvIHRoZQo+ ICsgKiBjb3JyZXNwb25kaW5nIHNuZF9oZGFfaW50ZWwgZHJpdmVyJ3MgbWFzdGVyIGNvbXBvbmVu dC4KPiArICovCj4gK3ZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfY2xlYW51cChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWlmICghZGV2X3ByaXYtPmF1ZGlvX2Nv bXBvbmVudF9yZWdpc3RlcmVkKQo+ICsJCXJldHVybjsKPiArCj4gKwljb21wb25lbnRfZGVsKGRl dl9wcml2LT5kZXYtPmRldiwgJmk5MTVfYXVkaW9fY29tcG9uZW50X2JpbmRfb3BzKTsKPiArCWRl dl9wcml2LT5hdWRpb19jb21wb25lbnRfcmVnaXN0ZXJlZCA9IGZhbHNlOwo+ICt9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCA2MWE4OGZhLi42MTcwMWE2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtODczLDYgKzg3Myw4IEBAIHZvaWQgaW50ZWxfZmJfb2Jq X2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgcmV0aXJlKTsKPiAg dm9pZCBpbnRlbF9pbml0X2F1ZGlvKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGlu dGVsX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rlcik7Cj4g IHZvaWQgaW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5j b2Rlcik7Cj4gK3ZvaWQgaTkxNV9hdWRpb19jb21wb25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICt2b2lkIGk5MTVfYXVkaW9fY29tcG9uZW50X2NsZWFudXAo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgCj4gIC8qIGludGVsX2Rpc3Bs YXkuYyAqLwo+ICBib29sIGludGVsX2hhc19wZW5kaW5nX2ZiX3VucGluKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOwo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9pOTE1X2NvbXBvbmVudC5oIGIv aW5jbHVkZS9kcm0vaTkxNV9jb21wb25lbnQuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMC4uM2UyZjIyZQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2RybS9p OTE1X2NvbXBvbmVudC5oCj4gQEAgLTAsMCArMSwzOCBAQAo+ICsvKgo+ICsgKiBDb3B5cmlnaHQg wqkgMjAxNCBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ICsg KiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxl cyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0 IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAqIHRoZSByaWdo dHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJs aWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8g cGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoKPiArICog VGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgKGlu Y2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNvZnR3YXJlLgo+ ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICog RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElO IE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gKyAqIExJQUJJTElUWSwg V0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklT SU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJF IE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhFIFNPRlRXQVJFLgo+ICsg Ki8KPiArCj4gKyNpZm5kZWYgX0k5MTVfQ09NUE9ORU5UX0hfCj4gKyNkZWZpbmUgX0k5MTVfQ09N UE9ORU5UX0hfCj4gKwo+ICtzdHJ1Y3QgaTkxNV9hdWRpb19jb21wb25lbnQgewo+ICsJc3RydWN0 IGRldmljZSAqZGV2Owo+ICsKPiArCWNvbnN0IHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9v cHMgewo+ICsJCXN0cnVjdCBtb2R1bGUgKm93bmVyOwo+ICsJCXZvaWQgKCpnZXRfcG93ZXIpKHN0 cnVjdCBkZXZpY2UgKik7Cj4gKwkJdm9pZCAoKnB1dF9wb3dlcikoc3RydWN0IGRldmljZSAqKTsK PiArCQlpbnQgKCpnZXRfY2RjbGtfZnJlcSkoc3RydWN0IGRldmljZSAqKTsKPiArCX0gKm9wczsK PiArfTsKPiArCj4gKyNlbmRpZiAvKiBfSTkxNV9DT01QT05FTlRfSF8gKi8KPiAtLSAKPiAxLjgu NAo+CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==