From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH] drm/amdgpu: Add sysfs file for VBIOS Date: Fri, 25 Aug 2017 14:56:37 +0200 Message-ID: <0a3d4d07-e3cd-6216-466b-30bc60c8a26a@vodafone.de> References: <1503511940-645-1-git-send-email-kent.russell@amd.com> <1e64a642-411e-ea58-1639-390e4c3cd75d@vodafone.de> <4cec0dad-502e-68f2-68c9-b5d0103d7093@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Russell, Kent" , "StDenis, Tom" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" SGkgS2VudCwKCmFncmVlIG9uIHRoZSBWQklPUyBkdW1wIGZpbGUsIHRoYXQgY2xlYXJseSBiZWxv bmdzIHRvIGRlYnVnc2YuCgpUaGUgcG93ZXIgdXNhZ2Ugc3R1ZmYgSSBjYW4ndCBzYXkgbXVjaCBh Ym91dCBjYXVzZSBJJ20gbm90IGRlZXBseSBpbnRvIAp0aGlzLCBidXQga2VlcCBpbiBtaW5kIHRo ZSByZXN0cmljdGlvbiBmb3Igc3lzZnM6CjEuIEl0J3MgYSBzdGFibGUgaW50ZXJmYWNlLiBTbyBp dCBtdXN0IGJlIHZlcnkgd2VsbCBkZXNpZ25lZC4KMi4gT25seSBvbmUgdmFsdWUgcGVyIGZpbGUu IEkgdGhpbmsgdGhlIHBvd2VyIHN0dWZmIGRvZXNuJ3QgZnVsZmlsbCB0aGF0IApyZXF1aXJlbWVu dCBhdCB0aGUgbW9tZW50LgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoKQW0gMjUuMDguMjAxNyB1bSAx NDo0MCBzY2hyaWViIFJ1c3NlbGwsIEtlbnQ6Cj4gVGhlIGRlY2lzaW9uIHRvIG1vdmUgdGhlIFZC SU9TIHZlcnNpb24gdG8gc3lzZnMgaGFzIGJlZW4gZGVjaWRlZC4gSSBkaWRuJ3QgZ2V0IGFueSBj b25maXJtYXRpb24gcmVnYXJkaW5nIG1vdmluZyB0aGUgR1BVIHBvd2VyIHVzYWdlLCBvciB0aGUg YWN0dWFsIFZCSU9TIGR1bXAsIGFzIHRoZSBkdW1wIHNlZW1zIHRvIG1ha2UgbW9yZSBzZW5zZSBp biBkZWJ1Z2ZzLiBJJ2QgbGlrZSB0byBtb3ZlIHBvd2VyIHVzYWdlIHRvIHN5c2ZzIGFzIHRoZSBT TUkgdG9vbCBuZWVkcyByb290IHByaXZpbGVnZXMganVzdCB0byByZWFkIHRoZSB2YWx1ZSwgd2hp Y2ggbWFrZXMgcGVvcGxlIGNyYW5reS4gSSBqdXN0IHdhbnQgdG8gbWFrZSBzdXJlIHRoYXQgaXQn cyBhbHJpZ2h0IHRvIGRvIHNvIGZyb20gdGhlIHBvd2Vycy10aGF0LWJlLgo+Cj4gICBLZW50Cj4K PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+IEZyb206IGFtZC1nZnggW21haWx0bzphbWQt Z2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnXSBPbiBCZWhhbGYgT2YgVG9tIFN0IERl bmlzCj4gU2VudDogRnJpZGF5LCBBdWd1c3QgMjUsIDIwMTcgODozNyBBTQo+IFRvOiBhbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRybS9hbWRncHU6 IEFkZCBzeXNmcyBmaWxlIGZvciBWQklPUwo+Cj4gSGkgS2VudCwKPgo+IExvb3NlbHkgZm9sbG93 aW5nIHRoaXMgdGhyZWFkLiAgV2FzIHRoZXJlIGEgZGVjaXNpb24gb24gd2hldGhlciB0byBsZWF2 ZSB0aGlzIGluIGRlYnVnZnMgb3Igc3lzZnM/Cj4KPiBJJ2QgbGlrZSB0byB0aHJvdyB0aGUgdmVy c2lvbiBzdHJpbmcgaW4gdW1yJ3MgY29uZmlnIG91dHB1dCAodW1yIC1jKSA6LSkKPgo+IENoZWVy cywKPiBUb20KPgo+IE9uIDI0LzA4LzE3IDA1OjMwIFBNLCBSdXNzZWxsLCBLZW50IHdyb3RlOgo+ PiBUaGUgcGxhbiBpcyBmb3IgdGhlIHZiaW9zIHZlcnNpb24gdG8gYmUgYXZhaWxhYmxlIHRocm91 Z2ggdGhlIFJPQ00tU01JCj4+IHV0aWxpdHkuIFdlIGhhdmUgdGhlIEdQVSBwb3dlciB1c2FnZSBs aXN0ZWQgaW4gdGhlIGRlYnVnZnMgY3VycmVudGx5Lgo+PiBJZiB0aGV5IGFyZSBib3RoIHRvIGJl IHVzZWQgZm9yIGEgdXNlcnNwYWNlIHV0aWxpdHksIHNob3VsZCB3ZSBiZQo+PiBtb3ZpbmcgYm90 aCBvZiB0aG9zZSB0byBzeXNmcyBpbnN0ZWFkPwo+Pgo+PiBLZW50Cj4+Cj4+IEtFTlQgUlVTU0VM TAo+PiBTb2Z0d2FyZSBFbmdpbmVlciB8IFZlcnRpY2FsIFdvcmtzdGF0aW9uL0NvbXB1dGUKPj4g MSBDb21tZXJjZSBWYWxsZXkgRHJpdmUgRWFzdAo+PiBNYXJraGFtLCBPTiBMM1QgN1g2Cj4+IENh bmFkYQo+PiBPICsoMSkgMjg5LTY5NS0yMTIyICAgfCBFeHQgeDcyMTIyCj4+Cj4+Cj4+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KPj4gLS0KPj4gKkZyb206KiBDaHJpc3RpYW4gS8O2bmlnIDxkZWF0aHNpbXBsZUB2 b2RhZm9uZS5kZT4KPj4gKlNlbnQ6KiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDI6MTA6MzUg UE0KPj4gKlRvOiogUnVzc2VsbCwgS2VudDsgQWxleCBEZXVjaGVyOyBLdWVobGluZywgRmVsaXgK Pj4gKkNjOiogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gKlN1YmplY3Q6KiBSZTog W1BBVENIXSBkcm0vYW1kZ3B1OiBBZGQgc3lzZnMgZmlsZSBmb3IgVkJJT1MgQWN0dWFsbHkKPj4g dGhlIG1haW4gZGlmZmVyZW5jZSBpcyBub3Qgcm9vdCB2cy4gdXNlciwgYnV0IHJhdGhlciB1bnN0 YWJsZSB2cwo+PiBzdGFibGUgaW50ZXJmYWNlLgo+Pgo+PiBJZiB5b3Ugd2FudCBhIHN0YWJsZSBp bnRlcmZhY2UgZm9yIGFuIHVzZXJzcGFjZSB0b29sIHlvdSBzaG91bGQgdXNlCj4+IHN5c2ZzLCBp ZiB5b3UgZG9uJ3QgY2FyZSBhYm91dCB0aGF0IHlvdSBzaG91bGQgdXNlIGRlYnVnZnMuCj4+Cj4+ IENocmlzdGlhbi4KPj4KPj4gQW0gMjQuMDguMjAxNyB1bSAxODozNyBzY2hyaWViIFJ1c3NlbGws IEtlbnQ6Cj4+PiBXZSBhbHJlYWR5IGFjY2VzcyB0aGUgR1BVIFBvd2VyIHVzYWdlIHZpYSBkZWJ1 Z2ZzLCB3aGljaCBpcyB3aHkgSSBkaWRuJ3QgdGhpbmsgaXQgd2FzIGEgaHVnZSBkZWFsIHRvIHN3 aXRjaCBpdCBvdmVyLCBzaW5jZSB3ZSBhbHJlYWR5IG5lZWQgcm9vdCBhY2Nlc3MgZm9yIHRoZSBT TUkgZHVlIHRvIHRoYXQuCj4+Pgo+Pj4gICAgS2VudAo+Pj4KPj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tCj4+PiBGcm9tOiBBbGV4IERldWNoZXIgW21haWx0bzphbGV4ZGV1Y2hlckBnbWFp bC5jb21dCj4+PiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDExOjM5IEFNCj4+PiBU bzogS3VlaGxpbmcsIEZlbGl4Cj4+PiBDYzogUnVzc2VsbCwgS2VudDsgQ2hyaXN0aWFuIEvDtm5p ZzsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hd IGRybS9hbWRncHU6IEFkZCBzeXNmcyBmaWxlIGZvciBWQklPUwo+Pj4KPj4+IE9uIFRodSwgQXVn IDI0LCAyMDE3IGF0IDExOjM1IEFNLCBLdWVobGluZywgRmVsaXggPEZlbGl4Lkt1ZWhsaW5nQGFt ZC5jb20+IHdyb3RlOgo+Pj4+IERlYnVnZnMgaXMgb25seSBhY2Nlc3NpYmxlIGJ5IFJvb3QuIFRo ZSBCSU9TIHZlcnNpb24gaXMgYWxyZWFkeSByZXBvcnRlZCBpbiB0aGUga2VybmVsIGxvZywgd2hp Y2ggaXMgdmlzaWJsZSB0byBldmVyeW9uZS4gU28gd2h5IGhpZGUgdGhpcyBhd2F5IGluIGRlYnVn ZnM/Cj4+Pj4KPj4+PiBJIHRoaW5rIEtlbnQncyBpbnRlbnRpb24gaXMgdG8gYWRkIFZCSU9TIHZl cnNpb24gcmVwb3J0aW5nIHRvIHRoZSByb2NtLXNtaSB0b29sLiBJJ2QgcHJlZmVyIHVzaW5nIGEg c3RhYmxlIGludGVyZmFjZSBsaWtlIHN5c2ZzLCBhbmQgb25lIHRoYXQgZG9lc24ndCByZXF1aXJl IHJvb3QgYWNjZXNzIGluIGEgdG9vbCBsaWtlIHJvY20tc21pLgo+Pj4+Cj4+PiBBaCwgb2ssIHN5 c2ZzIGlzIGZpbmUgaW4gdGhhdCBjYXNlLiAgSSB0aG91Z2h0IHRoaXMgd2FzIGp1c3QgZ2VuZXJh bCBkZWJ1Z2dpbmcgc3R1ZmYuCj4+Pgo+Pj4gQWxleAo+Pj4KPj4+PiBSZWdhcmRzLAo+Pj4+ICAg ICBGZWxpeAo+Pj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+ PiBGcm9tOiBhbWQtZ2Z4IDxhbWQtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBv biBiZWhhbGYgb2YKPj4+PiBSdXNzZWxsLCBLZW50IDxLZW50LlJ1c3NlbGxAYW1kLmNvbT4KPj4+ PiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDk6MDY6MjIgQU0KPj4+PiBUbzogQWxl eCBEZXVjaGVyCj4+Pj4gQ2M6IENocmlzdGlhbiBLw7ZuaWc7IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4+Pj4gU3ViamVjdDogUkU6IFtQQVRDSF0gZHJtL2FtZGdwdTogQWRkIHN5c2Zz IGZpbGUgZm9yIFZCSU9TCj4+Pj4KPj4+PiBJIGNhbiBkZWZpbml0ZWx5IGFkZCB0aGF0IGFzIHdl bGwuCj4+Pj4KPj4+PiAgICBLZW50Cj4+Pj4KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQo+Pj4+IEZyb206IEFsZXggRGV1Y2hlciBbbWFpbHRvOmFsZXhkZXVjaGVyQGdtYWlsLmNvbV0K Pj4+PiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDI0LCAyMDE3IDg6NTYgQU0KPj4+PiBUbzogUnVz c2VsbCwgS2VudAo+Pj4+IENjOiBDaHJpc3RpYW4gS8O2bmlnOyBhbWQtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+Pj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIGRybS9hbWRncHU6IEFkZCBzeXNm cyBmaWxlIGZvciBWQklPUwo+Pj4+Cj4+Pj4gT24gVGh1LCBBdWcgMjQsIDIwMTcgYXQgNTo1OCBB TSwgUnVzc2VsbCwgS2VudCA8S2VudC5SdXNzZWxsQGFtZC5jb20+IHdyb3RlOgo+Pj4+PiBObyBy ZWFsIHJlYXNvbiBmb3Igc3lzZnMgaW5zdGVhZCBvZiBkZWJ1Z2ZzLCBJIGp1c3QgcGlja2VkIHRo ZSBvbmUgdGhhdCB3YXMgbW9yZSBmYW1pbGlhciB3aXRoLiBJIGNhbiBkZWZpbml0ZWx5IG1vdmUg aXQgdG8gZGVidWdmcyBpbnN0ZWFkLiBJIHdpbGwgYWxzbyBjbGVhbiB1cCB0aGUgY29tbWl0IG1l c3NhZ2UgcGVyIE1pY2hlbCdzIGNvbW1lbnRzLiBUaGFuayB5b3UhCj4+Pj4+Cj4+Pj4gV2hpbGUg eW91IGFyZSBhdCBpdCwgY2FuIHlvdSBleHBvc2UgdGhlIHZiaW9zIGJpbmFyeSBpdHNlbGYgdmlh IGRlYnVnZnM/ICBUaGF0J3MgYmVlbiBvbiBieSB0b2RvIGxpc3QgZm9yIGEgd2hpbGUuCj4+Pj4K Pj4+PiBBbGV4Cj4+Pj4KPj4+Pj4gICAgS2VudAo+Pj4+Pgo+Pj4+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQo+Pj4+PiBGcm9tOiBDaHJpc3RpYW4gS8O2bmlnIFttYWlsdG86ZGVhdGhzaW1w bGVAdm9kYWZvbmUuZGVdCj4+Pj4+IFNlbnQ6IFRodXJzZGF5LCBBdWd1c3QgMjQsIDIwMTcgMjoy MiBBTQo+Pj4+PiBUbzogUnVzc2VsbCwgS2VudDsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPj4+Pj4gU3ViamVjdDogUmU6IFtQQVRDSF0gZHJtL2FtZGdwdTogQWRkIHN5c2ZzIGZpbGUg Zm9yIFZCSU9TCj4+Pj4+Cj4+Pj4+IEFtIDIzLjA4LjIwMTcgdW0gMjA6MTIgc2NocmllYiBLZW50 IFJ1c3NlbGw6Cj4+Pj4+PiBUaGlzIHdvbid0IGNoYW5nZSBhZnRlciBpbml0aWFsaXphdGlvbiwg c28gd2UgY2FuIGFkZCB0aGUKPj4+Pj4+IGluZm9ybWF0aW9uIHdoZW4gd2UgcGFyc2UgdGhlIGF0 b21iaW9zIGluZm9ybWF0aW9uLiBUaGlzIGVuc3VyZXMKPj4+Pj4+IHRoYXQgd2UgY2FuIGZpbmQg b3V0IHRoZSBWQklPUywgZXZlbiB3aGVuIHRoZSBkbWVzZyBidWZmZXIgZmlsbHMKPj4+Pj4+IHVw LCBhbmQgbWFrZXMgaXQgZWFzaWVyIHRvIGFzc29jaWF0ZSB3aGljaCBWQklPUyBpcyBmb3Igd2hp Y2ggR1BVCj4+Pj4+PiBvbiBtR1BVIGNvbmZpZ3VyYXRpb25zLiBTZXQgdGhlIHNpemUgdG8gMjAg Y2hhcmFjdGVycyBpbiBjYXNlIG9mCj4+Pj4+PiBzb21lIHdlaXJkIFZCSU9TIHN1ZmZpeCB0aGF0 IGV4Y2VlZHMgdGhlIGV4cGVjdGVkIDE3IGNoYXJhY3Rlcgo+Pj4+Pj4gZm9ybWF0Cj4+Pj4+PiAo My04LTNcMCkKPj4+Pj4gSXMgdGhlcmUgYW55IHJlYXNvbiB0aGF0IG5lZWRzIHRvIGJlIHN5c2Zz PyBTb3VuZHMgbW9yZSBsaWtlIGFuIHVzZSBjYXNlIGZvciBkZWJ1Z2ZzLgo+Pj4+Pgo+Pj4+PiBD aHJpc3RpYW4uCj4+Pj4+Cj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBLZW50IFJ1c3NlbGwgPGtlbnQu cnVzc2VsbEBhbWQuY29tPgo+Pj4+Pj4gLS0tCj4+Pj4+PiAgICAgZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKPj4+ Pj4+ICAgICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tLmMgICAgICAgICAgfCAgNSAr KysrLQo+Pj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2F0b20uaCAgICAgICAg ICB8ICAxICsKPj4+Pj4+ICAgICAzIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKPj4+Pj4+Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4+Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9kZXZpY2UuYwo+Pj4+Pj4gaW5kZXggYTFmOTQyNC4uZjQwYmU3MSAxMDA2NDQK Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwo+ Pj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCj4+ Pj4+PiBAQCAtODg4LDYgKzg4OCwyMCBAQCBzdGF0aWMgdWludDMyX3QgY2FpbF9pb3JlZ19yZWFk KHN0cnVjdCBjYXJkX2luZm8gKmluZm8sIHVpbnQzMl90IHJlZykKPj4+Pj4+ICAgICAgICAgcmV0 dXJuIHI7Cj4+Pj4+PiAgICAgfQo+Pj4+Pj4KPj4+Pj4+ICtzdGF0aWMgc3NpemVfdCBhbWRncHVf YXRvbWJpb3NfZ2V0X3ZiaW9zX3ZlcnNpb24oc3RydWN0IGRldmljZSAqZGV2LAo+Pj4+Pj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNl X2F0dHJpYnV0ZSAqYXR0ciwKPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY2hhciAqYnVmKSB7Cj4+Pj4+PiArICAgICBzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGRldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+Pj4+Pj4gKyAgICAgc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKPj4+Pj4+ICsgICAgIHN0cnVjdCBh dG9tX2NvbnRleHQgKmN0eCA9IGFkZXYtPm1vZGVfaW5mby5hdG9tX2NvbnRleHQ7Cj4+Pj4+PiAr Cj4+Pj4+PiArICAgICByZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIlc1xuIiwgY3R4 LT52Ymlvc192ZXJzaW9uKTsKPj4+Pj4+ICsgfQo+Pj4+Pj4gKwo+Pj4+Pj4gK3N0YXRpYyBERVZJ Q0VfQVRUUih2Ymlvc192ZXJzaW9uLCAwNDQ0LCBhbWRncHVfYXRvbWJpb3NfZ2V0X3ZiaW9zX3Zl cnNpb24sCj4+Pj4+PiArICAgICAgICAgICAgICAgIE5VTEwpOwo+Pj4+Pj4gKwo+Pj4+Pj4gICAg IC8qKgo+Pj4+Pj4gICAgICAqIGFtZGdwdV9hdG9tYmlvc19maW5pIC0gZnJlZSB0aGUgZHJpdmVy IGluZm8gYW5kIGNhbGxiYWNrcyBmb3IgYXRvbWJpb3MKPj4+Pj4+ICAgICAgKgo+Pj4+Pj4gQEAg LTkwNyw2ICs5MjEsNyBAQCBzdGF0aWMgdm9pZCBhbWRncHVfYXRvbWJpb3NfZmluaShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKPj4+Pj4+ICAgICAgICAgYWRldi0+bW9kZV9pbmZvLmF0b21f Y29udGV4dCA9IE5VTEw7Cj4+Pj4+PiAgICAgICAgIGtmcmVlKGFkZXYtPm1vZGVfaW5mby5hdG9t X2NhcmRfaW5mbyk7Cj4+Pj4+PiAgICAgICAgIGFkZXYtPm1vZGVfaW5mby5hdG9tX2NhcmRfaW5m byA9IE5VTEw7Cj4+Pj4+PiArICAgICBkZXZpY2VfcmVtb3ZlX2ZpbGUoYWRldi0+ZGV2LCAmZGV2 X2F0dHJfdmJpb3NfdmVyc2lvbik7Cj4+Pj4+PiAgICAgfQo+Pj4+Pj4KPj4+Pj4+ICAgICAvKioK Pj4+Pj4+IEBAIC05MjMsNiArOTM4LDcgQEAgc3RhdGljIGludCBhbWRncHVfYXRvbWJpb3NfaW5p dChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPj4+Pj4+ICAgICB7Cj4+Pj4+PiAgICAgICAg IHN0cnVjdCBjYXJkX2luZm8gKmF0b21fY2FyZF9pbmZvID0KPj4+Pj4+ICAgICAgICAgICAgIGt6 YWxsb2Moc2l6ZW9mKHN0cnVjdCBjYXJkX2luZm8pLCBHRlBfS0VSTkVMKTsKPj4+Pj4+ICsgICAg IGludCByZXQ7Cj4+Pj4+Pgo+Pj4+Pj4gICAgICAgICBpZiAoIWF0b21fY2FyZF9pbmZvKQo+Pj4+ Pj4gICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+Pj4+Pj4gQEAgLTk1OSw2ICs5NzUs MTMgQEAgc3RhdGljIGludCBhbWRncHVfYXRvbWJpb3NfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKPj4+Pj4+ICAgICAgICAgICAgICAgICBhbWRncHVfYXRvbWJpb3Nfc2NyYXRjaF9y ZWdzX2luaXQoYWRldik7Cj4+Pj4+PiAgICAgICAgICAgICAgICAgYW1kZ3B1X2F0b21iaW9zX2Fs bG9jYXRlX2ZiX3NjcmF0Y2goYWRldik7Cj4+Pj4+PiAgICAgICAgIH0KPj4+Pj4+ICsKPj4+Pj4+ ICsgICAgIHJldCA9IGRldmljZV9jcmVhdGVfZmlsZShhZGV2LT5kZXYsICZkZXZfYXR0cl92Ymlv c192ZXJzaW9uKTsKPj4+Pj4+ICsgICAgIGlmIChyZXQpIHsKPj4+Pj4+ICsgICAgICAgICAgICAg RFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRldmljZSBmaWxlIGZvciBWQklPUyB2ZXJzaW9u XG4iKTsKPj4+Pj4+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsKPj4+Pj4+ICsgICAgIH0KPj4+ Pj4+ICsKPj4+Pj4+ICAgICAgICAgcmV0dXJuIDA7Cj4+Pj4+PiAgICAgfQo+Pj4+Pj4KPj4+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tLmMKPj4+Pj4+IGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbS5jCj4+Pj4+PiBpbmRleCBkNjlhYTJlLi42 OTUwMGE4IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRv bS5jCj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tLmMKPj4+Pj4+ IEBAIC0xMzQzLDggKzEzNDMsMTEgQEAgc3RydWN0IGF0b21fY29udGV4dCAqYW1kZ3B1X2F0b21f cGFyc2Uoc3RydWN0IGNhcmRfaW5mbyAqY2FyZCwgdm9pZCAqYmlvcykKPj4+Pj4+ICAgICAgICAg ICAgICAgICBpZHggPSAweDgwOwo+Pj4+Pj4KPj4+Pj4+ICAgICAgICAgc3RyID0gQ1NUUihpZHgp Owo+Pj4+Pj4gLSAgICAgaWYgKCpzdHIgIT0gJ1wwJykKPj4+Pj4+ICsgICAgIGlmICgqc3RyICE9 ICdcMCcpIHsKPj4+Pj4+ICAgICAgICAgICAgICAgICBwcl9pbmZvKCJBVE9NIEJJT1M6ICVzXG4i LCBzdHIpOwo+Pj4+Pj4gKyAgICAgICAgICAgICBzdHJsY3B5KGN0eC0+dmJpb3NfdmVyc2lvbiwg c3RyLCBzaXplb2YoY3R4LT52Ymlvc192ZXJzaW9uKSk7Cj4+Pj4+PiArICAgICB9Cj4+Pj4+PiAr Cj4+Pj4+Pgo+Pj4+Pj4gICAgICAgICByZXR1cm4gY3R4Owo+Pj4+Pj4gICAgIH0KPj4+Pj4+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tLmgKPj4+Pj4+IGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbS5oCj4+Pj4+PiBpbmRleCBkZGQ4MDQ1Li5hMzkx NzA5IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYXRvbS5o Cj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tLmgKPj4+Pj4+IEBA IC0xNDAsNiArMTQwLDcgQEAgc3RydWN0IGF0b21fY29udGV4dCB7Cj4+Pj4+PiAgICAgICAgIGlu dCBpb19tb2RlOwo+Pj4+Pj4gICAgICAgICB1aW50MzJfdCAqc2NyYXRjaDsKPj4+Pj4+ICAgICAg ICAgaW50IHNjcmF0Y2hfc2l6ZV9ieXRlczsKPj4+Pj4+ICsgICAgIGNoYXIgdmJpb3NfdmVyc2lv blsyMF07Cj4+Pj4+PiAgICAgfTsKPj4+Pj4+Cj4+Pj4+PiAgICAgZXh0ZXJuIGludCBhbWRncHVf YXRvbV9kZWJ1ZzsKPj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPj4+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4+Pj4gYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPj4+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbWQtZ2Z4Cj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPj4+PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4+IGFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9hbWQtZ2Z4Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+Pj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4+IGFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngKPj4KPj4KPj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPj4gYW1kLWdmeCBtYWlsaW5nIGxpc3QKPj4gYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cj4+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9hbWQtZ2Z4Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPiBhbWQtZ2Z4IG1haWxpbmcgbGlzdAo+IGFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9hbWQtZ2Z4CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==