From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Goel, Akash" Subject: Re: [PATCH] drm/i915: Support to enable TRTT on GEN9 Date: Mon, 11 Jan 2016 13:09:50 +0530 Message-ID: <56935C46.4040309@intel.com> References: <1452339021-3177-1-git-send-email-akash.goel@intel.com> <20160110173913.GI652@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id B5DFD6E205 for ; Sun, 10 Jan 2016 23:39:53 -0800 (PST) In-Reply-To: <20160110173913.GI652@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: akash.goel@intel.com List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxLzEwLzIwMTYgMTE6MDkgUE0sIENocmlzIFdpbHNvbiB3cm90ZToKPiBPbiBTYXQsIEph biAwOSwgMjAxNiBhdCAwNTowMDoyMVBNICswNTMwLCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90 ZToKPj4gRnJvbTogQWthc2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+Cj4+Cj4+IEdlbjkg aGFzIGFuIGFkZGl0aW9uYWwgYWRkcmVzcyB0cmFuc2xhdGlvbiBoYXJkd2FyZSBzdXBwb3J0IGlu IGZvcm0gb2YKPj4gVGlsZWQgUmVzb3VyY2UgVHJhbnNsYXRpb24gVGFibGUgKFRSLVRUKSB3aGlj aCBwcm92aWRlcyBhbiBleHRyYSBsZXZlbAo+PiBvZiBhYnN0cmFjdGlvbiBvdmVyIFBQR1RULgo+ PiBUaGlzIGlzIHVzZWZ1bCBmb3IgbWFwcGluZyBTcGFyc2UvVGlsZWQgdGV4dHVyZSByZXNvdXJj ZXMuCj4+IFNwYXJzZSByZXNvdXJjZXMgYXJlIGNyZWF0ZWQgYXMgdmlydHVhbC1vbmx5IGFsbG9j YXRpb25zLiBSZWdpb25zIG9mIHRoZQo+PiByZXNvdXJjZSB0aGF0IHRoZSBhcHBsaWNhdGlvbiBp bnRlbmRzIHRvIHVzZSBpcyBib3VuZCB0byB0aGUgcGh5c2ljYWwgbWVtb3J5Cj4+IG9uIHRoZSBm bHkgYW5kIGNhbiBiZSByZS1ib3VuZCB0byBkaWZmZXJlbnQgbWVtb3J5IGFsbG9jYXRpb25zIG92 ZXIgdGhlCj4+IGxpZmV0aW1lIG9mIHRoZSByZXNvdXJjZS4KPj4KPj4gVFItVFQgaXMgdGlnaHRs eSBjb3VwbGVkIHdpdGggUFBHVFQsIGEgbmV3IGluc3RhbmNlIG9mIFRSLVRUIHdpbGwgYmUgcmVx dWlyZWQKPj4gZm9yIGEgbmV3IFBQR1RUIGluc3RhbmNlLCBidXQgVFItVFQgbWF5IG5vdCBlbmFi bGVkIGZvciBldmVyeSBjb250ZXh0Lgo+PiAxLzE2dGggb2YgdGhlIDQ4Yml0IFBQR1RUIHNwYWNl IGlzIGVhcm1hcmtlZCBmb3IgdGhlIHRyYW5zbGF0aW9uIGJ5IFRSLVRULAo+PiB3aGljaCBzdWNo IGNodW5rIHRvIHVzZSBpcyBjb252ZXllZCB0byBIVyB0aHJvdWdoIGEgcmVnaXN0ZXIuCj4+IEFu eSBHRlggYWRkcmVzcywgd2hpY2ggbGllcyBpbiB0aGF0IHJlc2VydmVkIDQ0IGJpdCByYW5nZSB3 aWxsIGJlIHRyYW5zbGF0ZWQKPj4gdGhyb3VnaCBUUi1UVCBmaXJzdCBhbmQgdGhlbiB0aHJvdWdo IFBQR1RUIHRvIGdldCB0aGUgYWN0dWFsIHBoeXNpY2FsIGFkZHJlc3MsCj4+IHNvIHRoZSBvdXRw dXQgb2YgdHJhbnNsYXRpb24gZnJvbSBUUi1UVCB3aWxsIGJlIGEgUFBHVFQgb2Zmc2V0Lgo+Pgo+ PiBUUlRUIGlzIGNvbnN0cnVjdGVkIGFzIGEgMyBsZXZlbCB0aWxlIFRhYmxlLiBFYWNoIHRpbGUg aXMgNjRLQiBpcyBzaXplIHdoaWNoCj4+IGxlYXZlcyBiZWhpbmQgNDQtMTY9MjggYWRkcmVzcyBi aXRzLiAyOGJpdHMgYXJlIHBhcnRpdGlvbmVkIGFzIDkrOSsxMCwgYW5kCj4+IGVhY2ggbGV2ZWwg aXMgY29udGFpbmVkIHdpdGhpbiBhIDRLQiBwYWdlIGhlbmNlIEwzIGFuZCBMMiBpcyBjb21wb3Nl ZCBvZgo+PiA1MTIgNjRiIGVudHJpZXMgYW5kIEwxIGlzIGNvbXBvc2VkIG9mIDEwMjQgMzJiIGVu dHJpZXMuCj4+Cj4+IFRoZXJlIGlzIGEgcHJvdmlzaW9uIHRvIGtlZXAgVFItVFQgVGFibGVzIGlu IHZpcnR1YWwgc3BhY2UsIHdoZXJlIHRoZSBwYWdlcyBvZgo+PiBUUlRUIHRhYmxlcyB3aWxsIGJl IG1hcHBlZCB0byBQUEdUVC4KPj4gQ3VycmVudGx5IHRoaXMgaXMgdGhlIHN1cHBvcnRlZCBtb2Rl LCBpbiB0aGlzIG1vZGUgVU1EIHdpbGwgaGF2ZSBhIGZ1bGwgY29udHJvbAo+PiBvbiBUUi1UVCBt YW5hZ2VtZW50LCB3aXRoIGJhcmUgbWluaW11bSBzdXBwb3J0IGZyb20gS01ELgo+PiBTbyB0aGUg ZW50cmllcyBvZiBMMyB0YWJsZSB3aWxsIGNvbnRhaW4gdGhlIFBQR1RUIG9mZnNldCBvZiBMMiBU YWJsZSBwYWdlcywKPj4gc2ltaWxhcmx5IGVudHJpZXMgb2YgTDIgdGFibGUgd2lsbCBjb250YWlu IHRoZSBQUEdUVCBvZmZzZXQgb2YgTDEgVGFibGUgcGFnZXMuCj4+IFRoZSBlbnRyaWVzIG9mIEwx IHRhYmxlIHdpbGwgY29udGFpbiB0aGUgUFBHVFQgb2Zmc2V0IG9mIEJPcyBhY3R1YWxseSBiYWNr aW5nCj4+IHRoZSBTcGFyc2UgcmVzb3VyY2VzLgo+Cj4+IFRoZSBhc3N1bXB0aW9uIGhlcmUgaXMg dGhhdCBVTUQgb25seSB3aWxsIGRvIHRoZSBjb21wbGV0ZSBQUEdUVCBhZGRyZXNzIHNwYWNlCj4+ IG1hbmFnZW1lbnQgYW5kIHVzZSB0aGUgU29mdCBQaW4gQVBJIGZvciBhbGwgdGhlIGJ1ZmZlciBv YmplY3RzIGFzc29jaWF0ZWQgd2l0aAo+PiBhIGdpdmVuIENvbnRleHQuCj4KPiBUaGF0IGlzIGEg cG9vciBhc3N1bXB0aW9uLCBhbmQgbm90IG9uZSByZXF1aXJlZCBmb3IgdGhpcyB0byB3b3JrLgo+ ClRoaXMgaXMgbm90IGEgc3RyaWN0IHJlcXVpcmVtZW50LgpCdXQgSSB0aG91Z2h0IHRoYXQgY29u ZmxpY3RzIHdpbGwgYmUgbWluaW1pemVkIGlmIFVNRCBpdHNlbGYgY2FuIGRvIHRoZSAKZnVsbCBh ZGRyZXNzIHNwYWNlIG1hbmFnZW1lbnQuCkF0IGxlYXN0IFVNRCBoYXMgdG8gZW5zdXJlIHRoYXQg UFBHVFQgb2Zmc2V0IG9mIEwzIHRhYmxlIHJlbWFpbnMgc2FtZSAKdGhyb3VnaG91dC4KCj4+IFNv IFVNRCB3aWxsIGFsc28gaGF2ZSB0byBhbGxvY2F0ZSB0aGUgTDMvTDIvTDEgdGFibGUgcGFnZXMK Pj4gYXMgYSByZWd1bGFyIEdFTSBCTyBvbmx5ICYgYXNzaWduIHRoZW0gYSBQUEdUVCBhZGRyZXNz IHRocm91Z2ggdGhlIFNvZnQgUGluIEFQSS4KPj4gVU1EIHdvdWxkIGhhdmUgdG8gZW1pdCB0aGUg TUlfU1RPUkVfREFUQV9JTU0gY29tbWFuZHMgaW4gdGhlIGJhdGNoIGJ1ZmZlciB0bwo+PiBwcm9n cmFtIHRoZSByZWxldmFudCBlbnRyaWVzIG9mIEwzL0wyL0wxIHRhYmxlcy4KPgo+IFRoaXMgb25s eSBhcHBsaWVzIHRvIHRlIFRSLVRUIEwxLUwzIGNhY2hlLCByaWdodD8KPgpZZXMgYXBwbGllcyBv bmx5IHRvIHRoZSBUUi1UVCBMMS1MMyB0YWJsZXMuClRoZSBiYWNraW5nIHBhZ2VzIG9mIEwzL0wy L0wxIHRhYmxlcyBzaGFsbCBiZSBhbGxvY2F0ZWQgYXMgYSBCTywgd2hpY2ggCnNob3VsZCBiZSBh c3NpZ25lZCBhIFBQR1RUIGFkZHJlc3MuClRoZSB0YWJsZSBlbnRyaWVzIGNvdWxkIGJlIHdyaXR0 ZW4gZGlyZWN0bHkgYWxzbyBieSBVTUQgYnkgbW1hcHBpbmcgdGhlIAp0YWJsZSBCT3MsIGJ1dCBh ZGRpbmcgTUlfU1RPUkVfREFUQV9JTU0gY29tbWFuZHMgaW4gdGhlIGJhdGNoIGJ1ZmZlciAKaXRz ZWxmIHdvdWxkIGhlbHAgdG8gYWNoaWV2ZSBzZXJpYWxpemF0aW9uIChpbXBsaWNpdGx5KS4KCj4+ IEFueSBzcGFjZSBpbiBUUi1UVCBzZWdtZW50IG5vdCBib3VuZCB0byBhbnkgU3BhcnNlIHRleHR1 cmUsIHdpbGwgYmUgaGFuZGxlZAo+PiB0aHJvdWdoIEludmFsaWQgdGlsZSwgVXNlciBpcyBleHBl Y3RlZCB0byBpbml0aWFsaXplIHRoZSBlbnRyaWVzIG9mIGEgbmV3Cj4+IEwzL0wyL0wxIHRhYmxl IHBhZ2Ugd2l0aCB0aGUgSW52YWxpZCB0aWxlIHBhdHRlcm4uIFRoZSBlbnRyaWVzIGNvcnJlc3Bv bmRpbmcgdG8KPj4gdGhlIGhvbGVzIGluIHRoZSBTcGFyc2UgdGV4dHVyZSByZXNvdXJjZSB3aWxs IGJlIHNldCB3aXRoIHRoZSBOdWxsIHRpbGUgcGF0dGVybgo+PiBUaGUgaW1wcm9wZXIgcHJvZ3Jh bW1pbmcgb2YgVFJUVCBzaG91bGQgb25seSBsZWFkIHRvIGEgcmVjb3ZlcmFibGUgR1BVIGhhbmcs Cj4+IGV2ZW50dWFsbHkgbGVhZGluZyB0byBiYW5uaW5nIG9mIHRoZSBjdWxwcml0IGNvbnRleHQg d2l0aG91dCB2aWN0aW1pemluZyBvdGhlcnMuCj4+Cj4+IFRoZSBhc3NvY2lhdGlvbiBvZiBhbnkg U3BhcnNlIHJlc291cmNlIHdpdGggdGhlIEJPcyB3aWxsIGJlIGtub3duIG9ubHkgdG8gVU1ELAo+ PiBhbmQgb25seSB0aGUgU3BhcnNlIHJlc291cmNlcyBzaGFsbCBiZSBhc3NpZ25lZCBhbiBvZmZz ZXQgZnJvbSB0aGUgVFItVFQgc2VnbWVudAo+PiBieSBVTUQuIFRoZSB1c2Ugb2YgVFItVFQgc2Vn bWVudCBvciBtYXBwaW5nIG9mIFNwYXJzZSByZXNvdXJjZXMgd2lsbCBiZQo+PiBhYnN0cmFjdGVk IGZyb20gdGhlIEtNRCwKPgo+IHMvYWJzdHJhY3RlZCBmcm9tL3RyYW5zcGFyZW50IHRvLyBzLywv Oy8KPgpPayB3aWxsIHJlcGhyYXNlIGFzICd0cmFuc3BhcmVudCB0byBLTUQ7Jwo+PiBVTUQgY2Fu IGRvIHRoZSBhZGRyZXNzIGFzc2lnbm1lbnQgZnJvbSBUUi1UVCBzZWdtZW50Cj4KPiBzL2Nhbi93 aWxsLwo+Ck9rCgo+PiBhdXRvbm9tb3VzbHkgYW5kIEtNRCB3aWxsIGJlIG9ibGl2aW91cyBvZiBp dC4KPj4gVGhlIEJPcyBtdXN0IG5vdCBiZSBhc3NpZ25lZCBhbiBhZGRyZXNzIGZyb20gVFItVFQg c2VnbWVudCwgdGhleSB3aWxsIGJlIG1hcHBlZAo+Cj4gcy9UaGUgQk9zL0FueSBvYmplY3QvCj4K T2sgd2lsbCB1c2UgJ0FueSBvYmplY3QnCj4+IHRvIFBQR1RUIGluIGEgcmVndWxhciB3YXkgYnkg S01ECj4KPiBzL3VzaW5nIHRoZSBTb2Z0IFBpbiBvZmZzZXQgcHJvdmlkZWQgYnkgVU1ELy8gYXMg dGhpcyBpcyBpcnJlbGV2YW50Lgo+CllvdSBtZWFuIHRvIHNheSB0aGF0IGl0IGlzIG5lZWRsZXNz IG9yIGluYXBwcm9wcmlhdGUgdG8gc3RhdGUgdGhhdCBLTUQgCndpbGwgdXNlIHRoZSBTb2Z0IFBJ TiBvZmZzZXQgcHJvdmlkZWQgYnkgVU1ELCBpdCBkb2Vzbid0IG1hdHRlciB0aGF0IAp3aGV0aGVy IHRoZSBTb2Z0IFBJTiBvZmZzZXQgaXMgdXNlZCBvciBLTUQgaXRzZWxmIGFzc2lnbnMgYW4gYWRk cmVzcy4KCj4+IFRoaXMgcGF0Y2ggcHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRocm91Z2ggd2hpY2gg VU1EIGNhbiBjb252ZXkgS01EIHRvIGVuYWJsZQo+PiBUUi1UVCBmb3IgYSBnaXZlbiBjb250ZXh0 LiBBIG5ldyBJOTE1X0NPTlRFWFRfUEFSQU1fRU5BQkxFX1RSVFQgcGFyYW0gaGFzIGJlZW4KPj4g YWRkZWQgdG8gSTkxNV9HRU1fQ09OVEVYVF9TRVRQQVJBTSBpb2N0bCBmb3IgdGhhdCBwdXJwb3Nl Lgo+PiBVTUQgd2lsbCBoYXZlIHRvIHBhc3MgdGhlIEdGWCBhZGRyZXNzIG9mIEwzIHRhYmxlIHBh Z2UsCj4KPiArYWxvbmcgd2l0aCB0aGUKPgpPay4KCj4+IHBhdHRlcm4gdmFsdWUgZm9yIHRoZQo+ PiBOdWxsICYgaW52YWxpZCBUaWxlIHJlZ2lzdGVycy4KPj4KPj4gVGVzdGNhc2U6IGlndC9nZW1f dHJ0dAo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBBa2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVsLmNv bT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAgICAgICAgIHwg IDMgKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAxMiAr KysrKysrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgNDUg KysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYyAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgfCAgNiArKysrCj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgIHwgMTkgKysrKysrKysrKysK Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCA0MSArKysrKysr KysrKysrKysrKysrKysrKysKPj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAg ICAgICAgfCAgOCArKysrKwo+PiAgIDggZmlsZXMgY2hhbmdlZCwgMTkxIGluc2VydGlvbnMoKykK Pj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jCj4+IGluZGV4IDk4OGEzODAuLmMyNDdjMjUgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+PiBAQCAtMTcyLDYgKzE3Miw5IEBAIHN0YXRp YyBpbnQgaTkxNV9nZXRwYXJhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ PiAgIAljYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfU09GVFBJTjoKPj4gICAJCXZhbHVlID0gMTsK Pj4gICAJCWJyZWFrOwo+PiArCWNhc2UgSTkxNV9QQVJBTV9IQVNfVFJUVDoKPj4gKwkJdmFsdWUg PSBIQVNfVFJUVChkZXYpOwo+PiArCQlicmVhazsKPgo+IFNob3VsZCB3ZSBkbyB0aGlzIGhlcmUs IG9yIGp1c3QgcXVlcnkgdGhlIGNvbnRleHQ/IEluIGZhY3QgeW91IGFyZQo+IG1pc3NpbmcgdGhl IGNvbnRleHQgZ2V0cGFyYW0gcGF0aCBhbnkgd2F5Lgo+ClNvcnJ5LCBkbyB5b3UgbWVhbiB0byBz YXkgdGhhdCB3aXRoIC1FTk9ERVYgZXJyb3IgYWxzbywgb24gY29udGV4dCAKc2V0cGFyYW0sIFVz ZXIgY2FuIG1ha2Ugb3V0IHRoZSBUUi1UVCBzdXBwb3J0LCBzbyBubyBuZWVkIHRvIGhhdmUgYW4g CmV4cGxpY2l0IGdldHBhcmFtIGNhc2UuCgpXb3VsZCB0aGUgY29udGV4dCBnZXRwYXJhbSBwYXRo IGJlIHJlYWxseSB1c2VmdWwgZm9yIFRSLVRUPy4KSWYgaXRzIG5lZWRlZCwgdGhlbiB3b3VsZCBi ZSBiZXR0ZXIgdG8gcmVuYW1lIApJOTE1X0NPTlRFWFRfUEFSQU1fRU5BQkxFX1RSVFQgdG8gSTkx NV9DT05URVhUX1BBUkFNX1RSVFRfSU5GTyA/CgoKPj4gICAJZGVmYXVsdDoKPj4gICAJCURSTV9E RUJVRygiVW5rbm93biBwYXJhbWV0ZXIgJWRcbiIsIHBhcmFtLT5wYXJhbSk7Cj4+ICAgCQlyZXR1 cm4gLUVJTlZBTDsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IGluZGV4IGM2ZGQ0ZGIuLjEy YzYxMmUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBAQCAtODM5LDYgKzgzOSw3 IEBAIHN0cnVjdCBpOTE1X2N0eF9oYW5nX3N0YXRzIHsKPj4gICAjZGVmaW5lIERFRkFVTFRfQ09O VEVYVF9IQU5ETEUgMAo+Pgo+PiAgICNkZWZpbmUgQ09OVEVYVF9OT19aRVJPTUFQICgxPDwwKQo+ PiArI2RlZmluZSBDT05URVhUX1VTRV9UUlRUICAgKDE8PDEpCj4KPiBNYWtlIGZsYWdzIHVuc2ln bmVkIHdoaWxzdCB5b3UgYXJlIGhlcmUsIGFuZCBmaXggdGhlIGhvbGVzIQo+CgpPayB3aWxsIGNo YW5nZSB0aGUgdHlwZSBvZiAnZmxhZ3MnIGZpZWxkIGluc2lkZSAnaW50ZWxfY29udGV4dCcgdG8g dW5zaWduZWQuClNvcnJ5LCBidXQgYXBhcnQgZnJvbSB0aGlzIGFueXRoaW5nIGVsc2UgcmVxdWly ZWQgaGVyZSA/Cgo+PiAgIC8qKgo+PiAgICAqIHN0cnVjdCBpbnRlbF9jb250ZXh0IC0gYXMgdGhl IG5hbWUgaW1wbGllcywgcmVwcmVzZW50cyBhIGNvbnRleHQuCj4+ICAgICogQHJlZjogcmVmZXJl bmNlIGNvdW50Lgo+PiBAQCAtODgxLDYgKzg4MiwxNSBAQCBzdHJ1Y3QgaW50ZWxfY29udGV4dCB7 Cj4+ICAgCQlpbnQgcGluX2NvdW50Owo+PiAgIAl9IGVuZ2luZVtJOTE1X05VTV9SSU5HU107Cj4+ Cj4+ICsJLyogVFJUVCBpbmZvICovCj4+ICsJc3RydWN0IHsKPgo+IEdpdmUgdGhpcyBhIG5hbWUg bm93LCB3ZSB3aWxsIGJlIHRoYW5rZnVsIGluIHRoZSBmdXR1cmUuCj4KV291bGQgY3R4X3RydHRf cGFyYW1zIGJlIGZpbmUgPwoKPj4gKwkJdWludDMyX3QgaW52ZF90aWxlX3ZhbDsKPj4gKwkJdWlu dDMyX3QgbnVsbF90aWxlX3ZhbDsKPj4gKwkJdWludDY0X3QgbDNfdGFibGVfYWRkcmVzczsKPj4g KwkJc3RydWN0IGk5MTVfdm1hICp2bWE7Cj4+ICsJCWJvb2wgdXBkYXRlX3RydHRfcGFyYW1zOwo+ PiArCX0gdHJ0dF9pbmZvOwo+PiArCj4+ICAgCXN0cnVjdCBsaXN0X2hlYWQgbGluazsKPj4gICB9 Owo+Pgo+PiBAQCAtMjYyNiw2ICsyNjM2LDggQEAgc3RydWN0IGRybV9pOTE1X2NtZF90YWJsZSB7 Cj4+ICAgCQkJCSAhSVNfVkFMTEVZVklFVyhkZXYpICYmICFJU19DSEVSUllWSUVXKGRldikgJiYg XAo+PiAgIAkJCQkgIUlTX0JST1hUT04oZGV2KSkKPj4KPj4gKyNkZWZpbmUgSEFTX1RSVFQoZGV2 KQkJKElTX0dFTjkoZGV2KSkKPj4gKwo+PiAgICNkZWZpbmUgSU5URUxfUENIX0RFVklDRV9JRF9N QVNLCQkweGZmMDAKPj4gICAjZGVmaW5lIElOVEVMX1BDSF9JQlhfREVWSUNFX0lEX1RZUEUJCTB4 M2IwMAo+PiAgICNkZWZpbmUgSU5URUxfUENIX0NQVF9ERVZJQ0VfSURfVFlQRQkJMHgxYzAwCj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPj4gaW5kZXggOTAwZmZkMC4u YWU5ZmMzNCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+ PiBAQCAtMTQ2LDYgKzE0Niw5IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfY2xlYW4o c3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKPj4gICAJCWlmIChXQVJOX09OKF9faTkxNV92bWFf dW5iaW5kX25vX3dhaXQodm1hKSkpCj4+ICAgCQkJYnJlYWs7Cj4+ICAgCX0KPj4gKwo+PiArCWlm IChjdHgtPmZsYWdzICYgQ09OVEVYVF9VU0VfVFJUVCkKPj4gKwkJaTkxNV9nZW1fZGVzdHJveV90 cnR0X3ZtYShjdHgtPnRydHRfaW5mby52bWEpOwo+Cj4gU291bGQgYmUgaW4gY29udGV4dCBmcmVl LgoKRmluZSwgd2lsbCBtb3ZlIGl0IHRvIHRoZSBnZW1fY29udGV4dF9mcmVlKCkKCj4KPj4gICB9 Cj4+Cj4+ICAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGtyZWYgKmN0eF9yZWYp Cj4+IEBAIC01MTIsNiArNTE1LDM1IEBAIGk5MTVfZ2VtX2NvbnRleHRfZ2V0KHN0cnVjdCBkcm1f aTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiwgdTMyIGlkKQo+PiAgIAlyZXR1cm4gY3R4Owo+ PiAgIH0KPj4KPj4gK3N0YXRpYyBpbnQKPj4gK2k5MTVfc2V0dXBfdHJ0dF9jdHgoc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCwKPj4gKwkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF90 cnR0X3BhcmFtICp0cnR0X3BhcmFtcykKPj4gK3sKPj4gKwlpZiAoY3R4LT5mbGFncyAmIENPTlRF WFRfVVNFX1RSVFQpCj4+ICsJCXJldHVybiAtRUVYSVNUOwo+PiArCj4+ICsJLyogYmFzaWMgc2Fu aXR5IGNoZWNrcyBmb3IgdGhlIGwzIHRhYmxlIHBvaW50ZXIgKi8KPj4gKwlpZiAoKGN0eC0+dHJ0 dF9pbmZvLmwzX3RhYmxlX2FkZHJlc3MgPj0gR0VOOV9UUlRUX1NFR01FTlRfU1RBUlQpICYmCj4+ ICsJICAgIChjdHgtPnRydHRfaW5mby5sM190YWJsZV9hZGRyZXNzIDwKPj4gKwkJCShHRU45X1RS VFRfU0VHTUVOVF9TVEFSVCArIEdFTjlfVFJUVF9TRUdNRU5UX1NJWkUpKSkKPgo+IFByZXN1bWFi bHkgbDNfdGFibGUgaGFzIGFuIGFjdHVhbCBzaXplIGFuZCB5b3Ugd2FudCB0byBkbyBhIHJhbmdl Cj4gb3ZlcmxhcCB0ZXN0LCBub3QganVzdCB0aGUgc3RhcnQgYWRkcmVzcy4KPgpZZXMgaW50ZW5k IHRvIGRvIGEgcmFuZ2Ugb3ZlcmxhcCB0ZXN0IG9ubHkuIEJ1dCBzaW5jZSBMMyB0YWJsZSBzaXpl IGlzIApmaXhlZCBhcyA0S0IsIHRob3VnaHQgdGhlcmUgaXMgbm8gcmVhbCBuZWVkIHRvIGFsc28g aW5jbHVkZSB0aGUgc2l6ZSBpbiAKdGhlIHJhbmdlIGNoZWNrLCBjb25zaWRlcmluZyB0aGUgYWxs b2NhdGlvbnMgYXJlIGFsd2F5cyBpbiBtdWx0aXBsZSBvZiA0S0IuCgo+PiArCQlyZXR1cm4gLUVJ TlZBTDsKPj4gKwo+PiArCWlmIChjdHgtPnRydHRfaW5mby5sM190YWJsZV9hZGRyZXNzICYgfkdF TjlfVFJUVF9MM19HRlhBRERSX01BU0spCj4+ICsJCXJldHVybiAtRUlOVkFMOwo+Cj4gVGhlc2Ug YXJlIHdvcnRoIGFkZGluZyBEUk1fREVCVUcoKSBvciBldmVuIGJldHRlciBzdGFydCB1c2luZyBk ZXZfZGVidWcoKQo+IHNvIHRoYXQgd2UgY2FuIGRlYnVnIHVzZXJzcGFjZSBzdGFydHVwIGlzc3Vl cy4KPgpGaW5lLCBJIHRoaW5rIERSTV9ERUJVR19EUklWRVIgd2lsbCBiZSBtb3JlIGFwcHJvcHJp YXRlIGNvbXBhcmVkIHRvIApEUk1fREVCVUcuCk9yCglkZXZfZGJnKGRldi0+ZGV2LCAiaW52YWxp ZCBsMyB0YWJsZSBhZGRyZXNzXG4iKTsKCj4+IEBAIC05NTIsNiArOTg0LDcgQEAgaW50IGk5MTVf Z2VtX2NvbnRleHRfc2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKPj4gICB7Cj4+ICAgCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJp diA9IGZpbGUtPmRyaXZlcl9wcml2Owo+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRf cGFyYW0gKmFyZ3MgPSBkYXRhOwo+PiArCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF90cnR0 X3BhcmFtIHRydHRfcGFyYW1zOwo+PiAgIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4Owo+PiAg IAlpbnQgcmV0Owo+Pgo+PiBAQCAtOTgzLDYgKzEwMTYsMTggQEAgaW50IGk5MTVfZ2VtX2NvbnRl eHRfc2V0cGFyYW1faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPj4g ICAJCQljdHgtPmZsYWdzIHw9IGFyZ3MtPnZhbHVlID8gQ09OVEVYVF9OT19aRVJPTUFQIDogMDsK Pj4gICAJCX0KPj4gICAJCWJyZWFrOwo+PiArCWNhc2UgSTkxNV9DT05URVhUX1BBUkFNX0VOQUJM RV9UUlRUOgo+Cj4gQnVtcCB0aGlzIGNhc2UgdG8gaTkxNV9zZXR1cF90cnR0X2N0eC4KPiBpLmUu IGp1c3QgaGF2ZQo+IAlyZXQgPSBpOTE1X3NldHVwX3RydHRfY3R4KGN0eCwgYXJncyk7Cj4gCWJy ZWFrOwo+Cj4gT3RoZXJ3aXNlIHRoaXMgZnVuY3Rpb24gd2lsbCBiZWNvbWUgdmVyeSB1bndpZWxk bHkgdmVyeSBxdWlja2x5Lgo+CkZpbmUsIHRoaXMgd2lsbCBiZSBtdWNoIGJldHRlci4KCj4+ICAg aW50IGk5MTVfcHBndHRfaW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgIHsKPj4g KwlpZiAoSEFTX1RSVFQoZGV2KSAmJiBVU0VTX0ZVTExfNDhCSVRfUFBHVFQoZGV2KSkgewo+PiAr CQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ PiArCj4+ICsJCUk5MTVfV1JJVEUoR0VOOV9UUl9DSElDS0VOX0JJVF9WRUNUT1IsCj4+ICsJCQkg ICBHRU45X1RSVFRfQllQQVNTX0RJU0FCTEUpOwo+Cj4gU2hvdWxkbid0IHRoaXMgYmUgYSBjb250 ZXh0IHNwZWNpZmljIHJlZ2lzdGVyPyBJbiB3aGljaCBjYXNlIHlvdSBuZWVkIHRvCj4gc2V0IGl0 IGluIHRoZSBjb250ZXh0IGltYWdlIGluc3RlYWQuCj4KPiBIbW0uIGdpdmVuIHlvdSBhbHJlYWR5 IGRvIHRoZSBjb250ZXh0IGltYWdlIHR3ZWFrcywgaG93IGRvZXMgd29yayB3aXRoCj4gbm9uLXRy dHQgY29udGV4dHM/Cj4KCkdFTjlfVFJfQ0hJQ0tFTl9CSVRfVkVDVE9SIGlzIG5vdCBhIGNvbnRl eHQgc3BlY2lmaWMgcmVnaXN0ZXIuCkl0IGdsb2JhbGx5IGVuYWJsZXMgVFItVFQgc3VwcG9ydCBp biBIdy4gU3RpbGwgVFItVFQgZW5hYmxpbmcgb24gcGVyIApjb250ZXh0IGJhc2lzIGlzIHJlcXVp cmVkLgpOb24tdHJ0dCBjb250ZXh0cyBhcmUgbm90IGFmZmVjdGVkIGJ5IHRoaXMgc2V0dGluZy4K Cj4+ICtzdHJ1Y3QgaTkxNV92bWEgKgo+PiAraTkxNV9nZW1fc2V0dXBfdHJ0dF92bWEoc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCj4+ICt7Cj4+ICsJc3RydWN0IGk5MTVfdm1hICp2bWE7 Cj4+ICsJaW50IHJldDsKPj4gKwo+PiArCXZtYSA9IGttZW1fY2FjaGVfemFsbG9jKHRvX2k5MTUo dm0tPmRldiktPnZtYXMsIEdGUF9LRVJORUwpOwo+PiArCWlmICh2bWEgPT0gTlVMTCkKPj4gKwkJ cmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4+ICsKPj4gKwlJTklUX0xJU1RfSEVBRCgmdm1hLT52 bWFfbGluayk7Cj4+ICsJSU5JVF9MSVNUX0hFQUQoJnZtYS0+bW1fbGlzdCk7Cj4+ICsJSU5JVF9M SVNUX0hFQUQoJnZtYS0+ZXhlY19saXN0KTsKPj4gKwl2bWEtPnZtID0gdm07Cj4+ICsJaTkxNV9w cGd0dF9nZXQoaTkxNV92bV90b19wcGd0dCh2bSkpOwo+Cj4gVGVtcHRlZCB0byB3cml0ZSBhIHBh dGNoIHRvIGFsbG93Cj4KPiAJdm1hLT52bSA9IGk5MTVfcHBnZ3R0X2dldChpOTE1X3ZtX3RvX3Bw Z3R0KHZtKSk7Cj4gPwo+Cj4+ICsJLyogTWFyayB0aGUgdm1hIGFzIHBlcmVubmlhbGx5IHBpbm5l ZCAqLwo+Cj4gcy9wZXJlbm5pYWxseS9wZXJtYW5lbnRseS8KPgoKVGhhbmtzLCB3aWxsIHJlcGhy YXNlIGFzICdwZXJtYW5lbnRseSBwaW5uZWQnLgo+IFdlIGRvbid0IHdhbnQgdG8gbG9zZSB0aGUg cmVzZXJ2YXRpb24gYXMgb3Bwb3NlZCB0byBoYXZpbmcgaXQgZ3JvdyBiYWNrCj4gbmV4dCB5ZWFy Lgo+Cj4+ICsJdm1hLT5waW5fY291bnQgPSAxOwo+PiArCj4+ICsJLyogUmVzZXJ2ZSBmcm9tIHRo ZSA0OCBiaXQgUFBHVFQgc3BhY2UgKi8KPj4gKwl2bWEtPm5vZGUuc3RhcnQgPSBHRU45X1RSVFRf U0VHTUVOVF9TVEFSVDsKPj4gKwl2bWEtPm5vZGUuc2l6ZSA9IEdFTjlfVFJUVF9TRUdNRU5UX1NJ WkU7Cj4+ICsJcmV0ID0gZHJtX21tX3Jlc2VydmVfbm9kZSgmdm0tPm1tLCAmdm1hLT5ub2RlKTsK Pj4gKwlpZiAocmV0KSB7Cj4+ICsJCXJldCA9IGk5MTVfZ2VtX2V2aWN0X2Zvcl92bWEodm1hKTsK Pj4gKwkJaWYgKHJldCA9PSAwKQo+PiArCQkJcmV0ID0gZHJtX21tX3Jlc2VydmVfbm9kZSgmdm0t Pm1tLCAmdm1hLT5ub2RlKTsKPgo+IEdvb2QuIEkgdGhpbmsgd2Ugd2FudCBpOTE1X3ZtX3Jlc2Vy dmVfbm9kZSh2bSwgU1RBUlQsIFNJWkUsICZ2bWEpIC0gYnV0Cj4gaGF2ZSBhIGxvb2sgYXQgdGhl IG90aGVyIGNhbGxzaXRlcyB0byBzZWUgaWYgd2UgaGF2ZSBhIGNvbW1vbiBpbnRlcmZhY2UuCj4g TG9va3MgbGlrZSB0aGlzIHdvdWxkIGltcHJvdmUgaTkxNV92Z3B1Lgo+CgpPayBzbyBuZWVkIHRv IGRlZmluZSBhIG5ldyB3cmFwcGVyIGZ1bmN0aW9uLAoJaTkxNV92bV9yZXNlcnZlX25vZGUodm0s IFNUQVJULCBTSVpFLCAmdm1hKS4KCkFmdGVyIGxvb2tpbmcgYXQgdGhlIG90aGVyIGNhbGxzaXRl cyBvZiBkcm1fbW1fcmVzZXJ2ZV9ub2RlLCBpbmNsdWRpbmcgCmk5MTVfdmdwdSwgSSB0aGluayBp dCB3b3VsZCBiZSBiZXR0ZXIgdG8gaGF2ZSB0aGUgcHJvdG90eXBlIGFzLAogICAgaTkxNV92bV9y ZXNlcnZlX25vZGUodm0sICZub2RlKTsKCkhvd2V2ZXIgdGhpcyBzaG91bGQgYmUgZG9uZSBhcyBh IHNlcGFyYXRlIHBhdGNoID8KCj4+ICtzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfdHJ0dF9w YXJhbSB7Cj4+ICsJX191NjQgbDNfdGFibGVfYWRkcmVzczsKPj4gKwlfX3UzMiBpbnZkX3RpbGVf dmFsOwo+PiArCV9fdTMyIG51bGxfdGlsZV92YWw7Cj4+ICt9Owo+Cj4gUGFzc2VzIHRoZSBBQkkg c3RydWN0dXJlIHNhbml0eSBjaGVja3MuCgpTaG91bGQgd2UgYWxsb3cgVXNlciB0byBhbHNvIGNo b29zZSB0aGUgbG9jYXRpb24gb2YgVFItVFQgc2VnbWVudCAoc2l6ZSAKaXMgYW55d2F5cyBmaXhl ZCBhcyAxPDw0NCkuCgpCZXN0IHJlZ2FyZHMKQWthc2gKPiAtQ2hyaXMKPgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=