From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v5 1/8] drm/i915/skl: Add support to load SKL CSR firmware. Date: Mon, 4 May 2015 14:54:35 +0200 Message-ID: <20150504125435.GV30184@phenom.ffwll.local> References: <1430232306.19128.30.camel@intel.com> <1430328560-24117-1-git-send-email-animesh.manna@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f47.google.com (mail-wg0-f47.google.com [74.125.82.47]) by gabe.freedesktop.org (Postfix) with ESMTP id E4F1C6E3AF for ; Mon, 4 May 2015 05:52:16 -0700 (PDT) Received: by wgso17 with SMTP id o17so149144470wgs.1 for ; Mon, 04 May 2015 05:52:16 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1430328560-24117-1-git-send-email-animesh.manna@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMjksIDIwMTUgYXQgMTA6NTk6MjBQTSArMDUzMCwgQW5pbWVzaCBNYW5uYSB3 cm90ZToKPiBGcm9tOiAiQS5TdW5pbCBLYW1hdGgiIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+ IAo+IERpc3BsYXkgQ29udGV4dCBTYXZlIGFuZCBSZXN0b3JlIHN1cHBvcnQgaXMgbmVlZGVkIGZv cgo+IHZhcmlvdXMgU0tMIERpc3BsYXkgQyBzdGF0ZXMgbGlrZSBEQzUsIERDNi4KPiAKPiBUaGlz IGltcGxlbWVudGF0aW9uIGlzIGFkZGVkIGJhc2VkIG9uIGZpcnN0IHZlcnNpb24gb2YgRE1DIENT UiBwcm9ncmFtCj4gdGhhdCB3ZSByZWNlaXZlZCBmcm9tIGgvdyB0ZWFtLgo+IAo+IEhlcmUgd2Ug YXJlIHVzaW5nIHJlcXVlc3RfZmlybXdhcmUgYmFzZWQgZGVzaWduLgo+IEZpbmFsbHkgdGhpcyBm aXJtd2FyZSBzaG91bGQgZW5kIHVwIGluIGxpbnV4LWZpcm13YXJlIHRyZWUuCj4gCj4gRm9yIFNL TCBwbGF0Zm9ybSBpdHMgbWFuZGF0b3J5IHRvIGVuc3VyZSB0aGF0IHdlIGxvYWQgdGhpcwo+IGNz ciBwcm9ncmFtIGJlZm9yZSBlbmFibGluZyBEQyBzdGF0ZXMgbGlrZSBEQzUvREM2Lgo+IAo+IEFz IENTUiBwcm9ncmFtIGdldHMgcmVzZXQgb24gdmFyaW91cyBjb25kaXRpb25zLCB3ZSBzaG91bGQg ZW5zdXJlCj4gdG8gbG9hZCBpdCBkdXJpbmcgYm9vdCBhbmQgaW4gZnV0dXJlIGNoYW5nZSB0byBi ZSBhZGRlZCB0byBsb2FkCj4gdGhpcyBzeXN0ZW0gcmVzdW1lIHNlcXVlbmNlIHRvby4KPiAKPiB2 MTogSW5pdGlhbCByZWxlc2UgYXMgUkZDIHBhdGNoCj4gCj4gdjI6IERlc2lnbiBjaGFuZ2UgYXMg cGVyIERhbmllbCwgRGFtaWVuIGFuZCBTaG9iaXQncyByZXZpZXcgY29tbWVudHMKPiByZXF1ZXN0 IGZpcm13YXJlIG1ldGhvZCBmb2xsb3dlZC4KPiAKPiB2MzogU29tZSBvcHRpbWl6YXRpb24gYW5k IGZ1bmN0aW9uYWwgY2hhbmdlcy4KPiBQdWxsZWQgcmVnaXN0ZXIgZGVmaW5lcyBpbnRvIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBVc2VkIGttZW1kdXAgdG8gYWxsb2NhdGUgYW5k IGR1cGxpY2F0ZSBmaXJtd2FyZSBjb250ZW50Lgo+IEVuc3VyZWQgdG8gZnJlZSBhbGxvY2F0ZWQg YnVmZmVyLgo+IAo+IHY0OiBNb2RpZmllZCBhcyBwZXIgcmV2aWV3IGNvbW1lbnRzIGZyb20gU2F0 aGVlc2ggYW5kIERhbmllbAo+IFJlbW92ZWQgdGVtcG9yYXJ5IGJ1ZmZlci4KPiBPcHRpbWl6ZWQg bnVtYmVyIG9mIHdyaXRlcyBieSByZXBsYWNpbmcgSTkxNV9XUklURSB3aXRoIEk5MTVfV1JJVEU2 NC4KPiAKPiB2NToKPiBNb2RpZmllZCBhcyBwZXIgcmV2aWV3IGNvbWVtbnRzIGZyb20gRGFtaWVu Lgo+IC0gQ2hhbmdlZCBuYW1lIGZvciBmdW5jdGlvbnMgYW5kIGZpcm13YXJlLgo+IC0gSW50cm9k dWNlZCBIQVNfQ1NSLgo+IC0gUmV2ZXJ0ZWQgYmFjayBwcmV2aW91cyBjaGFuZ2UgYW5kIHVzZWQg Y3NyX2J1ZiB3aXRoIHU4IHNpemUuCj4gLSBVc2luZyBjcHVfdG9fYmU2NCBmb3IgZW5kaWFubmVz cyBjaGFuZ2UuCj4gCj4gTW9kaWZpZWQgYXMgcGVyIHJldmlldyBjb21tZW50cyBmcm9tIEltcmUu Cj4gLSBNb2RpZmllZCByZWdpc3RlcnMgYW5kIG1hY3JvIG5hbWVzIHRvIGJlIGEgYml0IGNsb3Nl ciB0byBic3BlYyB0ZXJtaW5vbG9neQo+IGFuZCB0aGUgZXhpc3RpbmcgcmVnaXN0ZXIgbmFtaW5n IGluIHRoZSBkcml2ZXIuCj4gLSBFYXJseSByZXR1cm4gZm9yIG5vbiBTS0wgcGxhdGZvcm1zIGlu IGludGVsX2xvYWRfY3NyX3Byb2dyYW0gZnVuY3Rpb24uCj4gLSBBZGRlZCBsb2NraW5nIGFyb3Vu ZCBDU1IgcHJvZ3JhbSBsb2FkIGZ1bmN0aW9uIGFzIGl0IG1heSBiZSBjYWxsZWQKPiBjb25jdXJy ZW50bHkgZHVyaW5nIHN5c3RlbS9ydW50aW1lIHJlc3VtZS4KPiAtIFJlbGVhc2luZyB0aGUgZncg YmVmb3JlIGxvYWRpbmcgdGhlIHByb2dyYW0gZm9yIGNvbnNpc3RlbmN5Cj4gLSBIYW5kbGVkIGVy cm9yIHBhdGggZHVyaW5nIGYvdyBsb2FkLgo+IAo+IHY2OiBNb2RpZmllZCBhcyBwZXIgcmV2aWV3 IGNvbW1lbnRzIGZyb20gSW1yZS4KPiAtIENvcnJlY3RlZCBvdXRfZnJlZWNzciBzZXF1ZW5jZS4K PiAKPiB2NzogTW9kaWZpZWQgYXMgcGVyIHJldmlldyBjb21tZW50cyBmcm9tIEltcmUuCj4gRmFp bCBsb2FkaW5nIGZ3IGlmIGZ3LT5zaXplJTghPTAuCj4gCj4gdjg6IFJlYmFzZSB0byBsYXRlc3Qu Cj4gCj4gdjk6IFJlYmFzZSBvbiB0b3Agb2YgLW5pZ2h0bHkgKERhbWllbikKPiAKPiB2MTA6IEVu YWJsZWQgc3VwcG9ydCBmb3IgZG1jIGZpcm13YXJlIHZlciAxLjAuCj4gQWNjb3JkaW5nIHRvIHZl ciAxLjAgaW4gYSBzaW5nbGUgYmluYXJ5IHBhY2thZ2UgYWxsIHRoZSBmaXJtd2FyZSdzIHRoYXQg YXJlCj4gcmVxdWlyZWQgZm9yIGRpZmZlcmVudCBzdGVwcGluZydzIG9mIHRoZSBwcm9kdWN0IHdp bGwgYmUgc3RvcmVkLiBUaGUgcGFja2FnZQo+IGNvbnRhaW5zIHRoZSBjc3MgaGVhZGVyLCBmb2xs b3dlZCBieSB0aGUgcGFja2FnZSBoZWFkZXIgYW5kIHRoZSBhY3R1YWwgZG1jCj4gZmlybXdhcmVz LiBQYWNrYWdlIGhlYWRlciBjb250YWlucyB0aGUgZmlybXdhcmUvc3RlcHBpbmcgbWFwcGluZyB0 YWJsZSBhbmQKPiB0aGUgY29ycmVzcG9uZGluZyBmaXJtd2FyZSBvZmZzZXRzIHRvIHRoZSBpbmRp dmlkdWFsIGJpbmFyaWVzLCB3aXRoaW4gdGhlCj4gcGFja2FnZS4gRWFjaCBpbmRpdmlkdWFsIHBy b2dyYW0gYmluYXJ5IGNvbnRhaW5zIHRoZSBoZWFkZXIgYW5kIHRoZSBwYXlsb2FkCj4gc2VjdGlv bnMgd2hvc2Ugc2l6ZSBpc8Kgc3BlY2lmaWVkIGluIHRoZSBoZWFkZXIgc2VjdGlvbi4gVGhpcyBj aGFuZ2VzIGFyZSBkb25lCj4gdG8gZXh0cmFjdCB0aGUgc3BlY2lmaWMgZmlybWF3YXJlIGZyb20g dGhlIHBhY2thZ2UuIChBbmltZXNoKQo+IAo+IHYxMTogTW9kaWZpZWQgYXMgcGVyIHJldmlldyBj b21lbW50cyBmcm9tIEltcmUuCj4gLSBBZGRlZCBjb2RlIGNvbW1lbnQgZnJvbSBicGVjIGZvciBo ZWFkZXIgc3RydWN0dXJlIGVsZW1lbnRzLgo+IC0gQWRkZWQgX19wYWNrZWQgdG8gYXZvaWQgc3Ry dWN0dXJlIHBhZGRpbmcuCj4gLSBBZGRlZCBoZWxwZXIgZnVuY3Rpb25zIGZvciBzdGVwcGluZyBh bmQgc3Vic3RlcHBpbmcgaW5mby4KPiAtIEFkZGVkIGNvZGUgY29tbWVudCBmb3IgQ1NSX01BWF9G V19TSVpFLgo+IC0gRGlzYWJsZWQgQlhUIGZpcm13YXJlIGxvYWRpbmcsIHdpbGwgYmUgZW5hYmxl ZCB3aXRoIGRtYyAxLjAgc3VwcG9ydC4KPiAtIENoYW5nZWQgc2tsX3N0ZXBwaW5nX2luZm8gYmFz ZWQgb24gYnNwZWMsIGVhcmxpZXIgdXNlZCBmcm9tIGNvbmZpZyBEQi4KPiAtIFJlbW92ZWQgZHVw bGljYXRlIGNhbGwgb2YgY3B1X3RvX2JlKiBmcm9tIGludGVsX2Nzcl9sb2FkX3Byb2dyYW0gZnVu Y3Rpb24uCj4gLSBVc2VkIGNwdV90b19iZTMyIGluc3RlYWQgb2YgY3B1X3RvX2JlNjQgYXMgZmly bXdhcmUgYmluYXJ5IGluIGR3b3JkIGFsaWduZWQuCj4gLSBBZGRlZCBzYW5pdHkgY2hlY2sgZm9y IGhlYWRlciBsZW5ndGguCj4gLSBBZGRlZCBzYW5pdHkgY2hlY2sgZm9yIG1taW8gYWRkcmVzcyBn b3QgZnJvbSBmaXJtd2FyZSBiaW5hcnkuCj4gLSBrbWFsbG9jIGRvbmUgc2VwYXJhdGVseSBmb3Ig ZG1jIGhlYWRlciBhbmQgZG1jIGZpcm13YXJlLiAoQW5pbWVzaCkKPiAKPiB2MTI6IE1vZGlmaWVk IGFzIHBlciByZXZpZXcgY29tZW1udHMgZnJvbSBJbXJlLgo+IC0gQ29ycmVjdGVkIHRoZSB0eXBv IGVycm9yIGluIHNrbCBzdGVwcGluZyBpbmZvIHN0cnVjdHVyZS4KPiAtIEFkZGVkIG91dC1vZi1i b3VuZCBhY2Nlc3MgZm9yIHNrbF9zdGVwcGluZ19pbmZvLgo+IC0gU2FuaXR5IGNoZWNrIGZvciBt bWlvIGFkZHJlc3MgbW9kaWZpZWQuCj4gLSBTYW5pdHkgY2hlY2sgYWRkZWQgZm9yIHN0ZXBwaW5n IGFuZCBzdWJzdGVwcGlnLgo+IC0gTW9kaWZpZWQgdGhlIGludGVsX2RtY19pbmZvIHN0cnVjdHVy ZSwgY2FjaGUgb25seSB0aGUgcmVxdWlyZWQgaGVhZGVyIGluZm8uIChBbmltZXNoKQo+IAo+IHYx MzogY2xhcmlmeSBmaXJtd2FyZSBsb2FkIGVycm9yIG1lc3NhZ2UuCj4gVGhlIHJlYXNvbiBmb3Ig YSBmaXJtd2FyZSBsb2FkaW5nIGZhaWx1cmUgY2FuIGJlIG9ic2N1cmUgaWYgdGhlIGRyaXZlcgo+ IGlzIGJ1aWx0LWluLiBQcm92aWRlIGFuIGV4cGxhbmF0aW9uIHRvIHRoZSB1c2VyIGFib3V0IHRo ZSBsaWtlbHkgcmVhc29uIGZvcgo+IHRoZSBmYWlsdXJlIGFuZCBob3cgdG8gcmVzb2x2ZSBpdC4g KEltcmUpCj4gCj4gdjE0OiBTdWdnZXN0ZWQgYnkgSmFuaS4KPiAtIGZpeCBzL0k5MTUvQ09ORklH X0RSTV9JOTE1LyB0eXBvCj4gLSBhZGQgZndfcGF0aCB0byB0aGUgZmlybXdhcmUgb2JqZWN0IGlu c3RlYWQgb2YgdXNpbmcgYSBzdGF0aWMgcHRyIChKYW5pKQo+IAo+IHYxNToKPiAxKSBDaGFuZ2Vk IHRoZSBmaXJtd2FyZSBuYW1lIGFzIGRtY19nZW45LmJpbiwgZXZlcnl0aW1lIGZvciBhIG5ldyBm aXJtd2FyZSB2ZXJzaW9uIGEgc3ltYm9saWMgbGluawo+IHdpdGggc2FtZSBuYW1lIHdpbGwgaGVs cCBub3QgdG8gYnVpbGQga2VybmVsIGFnYWluLgo+IDIpIENoYW5nZXMgZG9uZSBhcyBwZXIgcmV2 aWV3IGNvbW1lbnRzIGZyb20gSW1yZS4KPiAtIEVycm9yIGNoZWNrIHJlbW92ZWQgZm9yIGludGVs X2Nzcl91Y29kZV9pbml0Lgo+IC0gTW92ZWQgY3NyLXNwZWNpZmljIGRhdGEgc3RydWN0dXJlIHRv IGludGVsX2Nzci5oIGFuZCBvcHRpbWl6YXRpb24gZG9uZSBvbiBzdHJ1Y3R1cmUgZGVmaW5pdGlv bi4KPiAtIGZ3LT5kYXRhIHVzZWQgZGlyZWN0bHkgZm9yIHBhcnNpbmcgdGhlIGhlYWRlciBpbmZv ICYgbWVtb3J5IGFsbG9jYXRpb24KPiBvbmx5IGRvbmUgc2VwYXJhdGVseSBmb3IgcGF5bG9hZC4g KEFuaW1lc2gpCj4gCj4gdjE2Ogo+IC0gTm8gbmVlZCBmb3Igb3V0X3JlZ3MgbGFiZWwgaW4gaTkx NV9kcml2ZXJfbG9hZCgpLCBzbyByZW1vdmVkIGl0Lgo+IC0gQ2hhbmdlZCB0aGUgZmlybXdhcmUg bmFtZSBhcyBza2xfZG1jX3ZlcjEuYmluLCBmb2xsb3dlZCBuYW1pbmcgY29udmVudGlvbiA8cGxh dGZvcm0+X2RtY188YXBpLXZlcnNpb24+LmJpbiAoQW5pbWVzaCkKPiAKPiBJc3N1ZTogVklaLTI1 NjkKPiBTaWduZWQtb2ZmLWJ5OiBBLlN1bmlsIEthbWF0aCA8c3VuaWwua2FtYXRoQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50ZWwu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IEFuaW1lc2ggTWFubmEgPGFuaW1lc2gubWFubmFAaW50ZWwu Y29tPgo+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgfCAgIDMgKy0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAgfCAgMTEgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYyAgfCAgMjAgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggIHwgIDE3ICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Nzci5jIHwgMzY3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCB8ICAgNSArCj4gIDYgZmlsZXMgY2hhbmdlZCwgNDIwIGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jc3IuYwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gaW5kZXggYTY5MDAy ZS4uNTIzOGRlYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gQEAgLTEyLDcgKzEyLDggQEAg aTkxNS15IDo9IGk5MTVfZHJ2Lm8gXAo+ICAgICAgICAgICAgaTkxNV9zdXNwZW5kLm8gXAo+ICAJ ICBpOTE1X3N5c2ZzLm8gXAo+ICAJICBpbnRlbF9wbS5vIFwKPiAtCSAgaW50ZWxfcnVudGltZV9w bS5vCj4gKwkgIGludGVsX3J1bnRpbWVfcG0ubyBcCj4gKwkgIGludGVsX2Nzci5vCj4gIAo+ICBp OTE1LSQoQ09ORklHX0NPTVBBVCkgICArPSBpOTE1X2lvYzMyLm8KPiAgaTkxNS0kKENPTkZJR19E RUJVR19GUykgKz0gaTkxNV9kZWJ1Z2ZzLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPiBpbmRl eCBlNDQxMTZmLi5hMjM4ODg5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZG1hLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4gQEAgLTgx Niw2ICs4MTYsNyBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB1bnNpZ25lZCBsb25nIGZsYWdzKQo+ICAJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5tbWlv X2ZsaXBfbG9jayk7Cj4gIAltdXRleF9pbml0KCZkZXZfcHJpdi0+ZHBpb19sb2NrKTsKPiAgCW11 dGV4X2luaXQoJmRldl9wcml2LT5tb2Rlc2V0X3Jlc3RvcmVfbG9jayk7Cj4gKwltdXRleF9pbml0 KCZkZXZfcHJpdi0+Y3NyX2xvY2spOwo+ICAKPiAgCWludGVsX3BtX3NldHVwKGRldik7Cj4gIAo+ IEBAIC04NjEsOSArODYyLDEyIEBAIGludCBpOTE1X2RyaXZlcl9sb2FkKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCj4gIAo+ICAJaW50ZWxfdW5jb3JlX2luaXQo ZGV2KTsKPiAgCj4gKwkvKiBMb2FkIENTUiBGaXJtd2FyZSBmb3IgU0tMICovCj4gKwlpbnRlbF9j c3JfdWNvZGVfaW5pdChkZXYpOwo+ICsKPiAgCXJldCA9IGk5MTVfZ2VtX2d0dF9pbml0KGRldik7 Cj4gIAlpZiAocmV0KQo+IC0JCWdvdG8gb3V0X3JlZ3M7Cj4gKwkJZ290byBvdXRfZnJlZWNzcjsK PiAgCj4gIAkvKiBXQVJOSU5HOiBBcHBhcmVudGx5IHdlIG11c3Qga2ljayBmYmRldiBkcml2ZXJz IGJlZm9yZSB2Z2Fjb24sCj4gIAkgKiBvdGhlcndpc2UgdGhlIHZnYSBmYmRldiBkcml2ZXIgZmFs bHMgb3Zlci4gKi8KPiBAQCAtMTAzMyw3ICsxMDM3LDggQEAgb3V0X210cnJmcmVlOgo+ICAJaW9f bWFwcGluZ19mcmVlKGRldl9wcml2LT5ndHQubWFwcGFibGUpOwo+ICBvdXRfZ3R0Ogo+ICAJaTkx NV9nbG9iYWxfZ3R0X2NsZWFudXAoZGV2KTsKPiAtb3V0X3JlZ3M6Cj4gK291dF9mcmVlY3NyOgo+ ICsJaW50ZWxfY3NyX3Vjb2RlX2ZpbmkoZGV2KTsKPiAgCWludGVsX3VuY29yZV9maW5pKGRldik7 Cj4gIAlwY2lfaW91bm1hcChkZXYtPnBkZXYsIGRldl9wcml2LT5yZWdzKTsKPiAgcHV0X2JyaWRn ZToKPiBAQCAtMTExMyw2ICsxMTE4LDggQEAgaW50IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4g IAlpOTE1X2dlbV9jbGVhbnVwX3N0b2xlbihkZXYpOwo+ICAKPiArCWludGVsX2Nzcl91Y29kZV9m aW5pKGRldik7Cj4gKwo+ICAJaW50ZWxfdGVhcmRvd25fZ21idXMoZGV2KTsKPiAgCWludGVsX3Rl YXJkb3duX21jaGJhcihkZXYpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBpbmRleCBj M2ZkYmIwLi5hY2QwZTJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gQEAgLTU1Niw2 ICs1NTYsMjYgQEAgdm9pZCBpbnRlbF9ocGRfY2FuY2VsX3dvcmsoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+ aG90cGx1Z19yZWVuYWJsZV93b3JrKTsKPiAgfQo+ICAKPiArdm9pZCBpOTE1X2Zpcm13YXJlX2xv YWRfZXJyb3JfcHJpbnQoY29uc3QgY2hhciAqZndfcGF0aCwgaW50IGVycikKPiArewo+ICsJRFJN X0VSUk9SKCJmYWlsZWQgdG8gbG9hZCBmaXJtd2FyZSAlcyAoJWQpXG4iLCBmd19wYXRoLCBlcnIp Owo+ICsKPiArCS8qCj4gKwkgKiBJZiB0aGUgcmVhc29uIGlzIG5vdCBrbm93biBhc3N1bWUgLUVO T0VOVCBzaW5jZSB0aGF0J3MgdGhlIG1vc3QKPiArCSAqIHVzdWFsIGZhaWx1cmUgbW9kZS4KPiAr CSAqLwo+ICsJaWYgKCFlcnIpCj4gKwkJZXJyID0gLUVOT0VOVDsKPiArCj4gKwlpZiAoIShJU19C VUlMVElOKENPTkZJR19EUk1fSTkxNSkgJiYgZXJyID09IC1FTk9FTlQpKQo+ICsJCXJldHVybjsK PiArCj4gKwlEUk1fRVJST1IoCj4gKwkgICJUaGUgZHJpdmVyIGlzIGJ1aWx0LWluLCBzbyB0byBs b2FkIHRoZSBmaXJtd2FyZSB5b3UgbmVlZCB0b1xuIgo+ICsJICAiaW5jbHVkZSBpdCBlaXRoZXIg aW4gdGhlIGtlcm5lbCAoc2VlIENPTkZJR19FWFRSQV9GSVJNV0FSRSkgb3JcbiIKPiArCSAgImlu IHlvdXIgaW5pdHJkL2luaXRyYW1mcyBpbWFnZS5cbiIpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9p ZCBpbnRlbF9zdXNwZW5kX2VuY29kZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggNDdiZTRhNS4uOTBlNDdhOSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IEBAIC02NjcsNiArNjY3LDE1IEBAIHN0cnVjdCBpbnRlbF91bmNv cmUgewo+ICAjZGVmaW5lIGZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW5fXywgZGV2X3ByaXZfXywg aV9fKSBcCj4gIAlmb3JfZWFjaF9md19kb21haW5fbWFzayhkb21haW5fXywgRk9SQ0VXQUtFX0FM TCwgZGV2X3ByaXZfXywgaV9fKQo+ICAKPiArc3RydWN0IGludGVsX2NzciB7Cj4gKwljb25zdCBj aGFyICpmd19wYXRoOwo+ICsJX19iZTMyICpkbWNfcGF5bG9hZDsKPiArCXVpbnQzMl90IGRtY19m d19zaXplOwo+ICsJdWludDMyX3QgbW1pb19jb3VudDsKPiArCXVpbnQzMl90IG1taW9hZGRyWzhd Owo+ICsJdWludDMyX3QgbW1pb2RhdGFbOF07Cj4gK307Cj4gKwo+ICAjZGVmaW5lIERFVl9JTkZP X0ZPUl9FQUNIX0ZMQUcoZnVuYywgc2VwKSBcCj4gIAlmdW5jKGlzX21vYmlsZSkgc2VwIFwKPiAg CWZ1bmMoaXNfaTg1eCkgc2VwIFwKPiBAQCAtMTU3Myw2ICsxNTgyLDExIEBAIHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlIHsKPiAgCj4gIAlzdHJ1Y3QgaTkxNV92aXJ0dWFsX2dwdSB2Z3B1Owo+ICAK PiArCXN0cnVjdCBpbnRlbF9jc3IgY3NyOwo+ICsKPiArCS8qIERpc3BsYXkgQ1NSLXJlbGF0ZWQg cHJvdGVjdGlvbiAqLwo+ICsJc3RydWN0IG11dGV4IGNzcl9sb2NrOwoKQW5vdGhlciBzbWFsbCBv bmU6IElmIHdlIGhhdmUgYSBzdWJzdHJ1Y3Qgd2UgcHV0IHRoZSBsb2NrIHdpdGhpbmcgdGhhdApz dWJzdHJ1Y3QsIGUuZy4gZGV2X3ByaXYtPnBzci5sb2NrLiBDYW4geW91IHBscyBkbyBhbm90aGVy IHBhdGNoIG9uIHRvcCB0bwptb3ZlIHRoYXQ/CgpUaGFua3MsIERhbmllbAotLSAKRGFuaWVsIFZl dHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3 bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK