From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [RFC 4/8] drm/i915: Group gen 10 display. Date: Fri, 19 Oct 2018 09:41:37 -0700 Message-ID: <20181019164137.GA3397@intel.com> References: <20181018233447.5187-1-rodrigo.vivi@intel.com> <20181018233447.5187-5-rodrigo.vivi@intel.com> <87r2gmgy6u.fsf@intel.com> <20181019083046.GW31561@phenom.ffwll.local> <20181019103307.GS9144@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id D4F106E4CD for ; Fri, 19 Oct 2018 16:41:59 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181019103307.GS9144@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org, lucas.demarchi@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMTksIDIwMTggYXQgMDE6MzM6MDhQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIEZyaSwgT2N0IDE5LCAyMDE4IGF0IDEwOjMwOjQ2QU0gKzAyMDAsIERhbmll bCBWZXR0ZXIgd3JvdGU6Cj4gPiBPbiBGcmksIE9jdCAxOSwgMjAxOCBhdCAxMTowMzo1M0FNICsw MzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiA+ID4gT24gVGh1LCAxOCBPY3QgMjAxOCwgUm9kcmln byBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPiB3cm90ZToKPiA+ID4gPiBDb250aW51aW5n IHdpdGggdGhlIGdvYWwgb2YgdXNlIGxlc3MgcGxhdGZvcm0gY29kZW5hbWVzOgo+ID4gPiA+IGxl dCdzIGdyb3VwIHBsYXRmb3JtcyB3aG8gaGFzIGdlbjEwIGRpc3BsYXkuCj4gPiA+IAo+ID4gPiBB aGFoLCBzbyB0aGlzIGFuc3dlcnMgbXkgcXVlc3Rpb24gaW4gdGhlIHByZXZpb3VzIHBhdGNoLiA7 KQo+ID4gPiAKPiA+ID4gU28gd2UgYWxyZWFkeSBoYXZlIEhBU19HTUNIX0RJU1BMQVkoKS4KPiA+ IAo+ID4gV2UgYWxzbyBoYXZlIEhBU19EREksIHdoaWNoIEkgZ3Vlc3MgeW91IGNvdWxkIGNhbGwg Z2VuOCBkaXNwbGF5IDotKQo+IAo+IFRoZXJlJ3MgYWxzbyB0aGVzZSBpbnRlcmVzdGluZyBnZW4g ZGVzaWduYXRpb25zIGluIHNvbWUgb2xkIGRvY3M6Cj4gY3RnL2VsayA9IGdlbjUuNQo+IGlsayA9 IGdlbjUuNzUKPiBJIGd1ZXNzIHdlIGNvdWxkIG1vcmUgb3IgbGVzcyBjYWxsIGFsbCBvZiB0aGF0 IGFzIGdlbjUgZGlzcGxheS4KPiAKPiBBbmQgb2YgY291cnNlIHdlIGhhdmUgdGhlIG90aGVyIG9k ZGJhbGxzIGxpa2Ugdmx2L2NodiB3aGljaCBhcmUKPiBzb3J0IG9mIG1pc21hc2ggb2YgaTk2NSwg Y3RnL2VsaywgaWJ4LCBhbmQgY3VzdG9tIHN0dWZmLiBBbHNvCj4gcG52IGlzIG1vc3RseSBnZW4z IGRpc3BsYXkgZXhjZXB0IGZvciBhIGZldyBiaXRzIHRoYXQgd2VyZQo+IHNuYXRjaGVkIGZyb20g aTk2NS4KPiAKPiBOb3Qgc3VyZSB3ZSBoYXZlIGVub3VnaCBudW1iZXJzIGZvciBhbGwgdGhhdCB3 aXRob3V0IHJlc290cmluZyB0bwo+IGZyYWN0aW9ucy4gQW5kIG5vIG9uZSBjb3VsZCBhbnl3YXkg cmVtZW1iZXIgd2hhdCBhbGwgdGhlIGRpZmZlcmVudAo+IG51bWJlcnMgbWVhbi4KClRoYW5rcyBm b3IgYWxsIHRoZSBjb21tZW50cy4gWWVhcCwgdGhlIGlkZWEgaXMgbm90IHRvIHVzZSB0aGlzIHNl cmllcwphcyBpcyBidXQganVzdCBzdGFydCB0aGUgZGlzY3Vzc2lvbiBhbmQgZXZvbHZlIGl0LgoK R2VuIG51bWJlciBieSBpdHNlbGYgZG9lc24ndCBmaXQgdG8gZGlzcGxheSBpbmRlZWQsIGJ1dCBu ZWl0aGVyCmRpc3BsYXktZ2VuLW51bWJlciBiZWNhdXNlIHdlIGhhdmUgdGhlIGZyYWN0aW9uIGFu ZCBjYXNlcyBsaWtlIGdsawp0aGF0IGlzIGdlbjEwLXN0cmlwcGVkLWRpc3BsYXkrYnh0IDovCgpB bHNvIHBsYXRmb3JtIG5hbWVzIGFyZSBub3QgZW5vdWdoIGJ5IGl0c2VsZiwgbGlrZSBjYW5ubm9u bGFrZS13aXRoLXBvcnQtZgpiZWNhdXNlIHRoZSBza3UgbGFja3Mgb24gaGF2aW5nIGEgZGlmZmVy ZW50IG5hbWUuIElmIHlvdSB0YWtlIGEgbG9vayB0byBvdXIKaW50ZXJuYWwgYnJhbmNoIHRoZSBz YW1lIGlzIGFib3V0IHRvIGhhcHBlbiB3aXRoIGljbCBzb29uLi4uLgoKU28gbXkgaWRlYSB3YXMg dGhhdCB3ZSBmaXJzdCB1c2UgZmVhdHVyZSB7bmFtZSwgb3IgbnVtYmVyIG9mIHNvbWV0aGluZ30K d2hlbmV2ZXIgcG9zc2libGUuIE9uIHRoZSBzZWNvbmRhcnkgY2FzZSB3ZSB1c2UgZ3JvdXBzIG9m IHRoaW5ncyBsaWtlCkhBU19HTUNIX0RJU1BMQVksIEhBU19HRU4xMF9ESVNQTEFZLCBIQVNfVkxW X0RJU1BMQVkuIEFuZCBvbiBsYXN0IGNhc2UKd2UgdXNlIGdlbiBudW1iZXJzLgoKTXkgaWRlYSBv ZiBwcmVmZXJyaW5nIGdlbiBvdmVyIHBsYXRmb3JtIG5hbWVzIGluIGdlbmVyYWwgd2FzIHRoYXQg Zm9yCnBsYXRmb3JtIG5hbWUgd2UgY2Fubm90IHVzZSA+PSBJQ0VMQUtFLi4uIDovCgpXZWxsLCBt YXliZSBoYXZpbmcgYXQgbGVhc3QgdGhlIGJhc2ljIGRpc3BsYXkgbnVtYmVyIHRvIHVzZSBpbiBj YXNlcwpsaWtlIHRoaXMgd291bGQgc29sdmUgdGhpcyBjYXNlLCBidXQgSSdtIGFmcmFpZCBpdCBj YW4gZ2V0IHRyaWNreQppbiBzb21lIGNvbW1vbiBhcmVhcyBhbmQgdGhlIHVzZSBvZiBJU19HRU54 IG9yIElTX0RJU1BMQVlfeCBjb3VsZCBiZWNvbWUKYmx1ciBhbmQgbWl4ZWQgdXAuCgpJIHdpbGwg cGxheSBtb3JlIHdpdGggdGhpcyBzZXJpZXMsIHJlbW92aW5nIHRoZSBjb250cm92ZXJzaWFsIHBh cnRzCmFuZCBzZWUgd2hhdCBJIGNhbiBkbyB3aXRoIGJvb2xlYW4gImhhc18iCgpidXQgZm9yIG5v dyBzdGlsbCB1c2luZyBnZW4gPj0gMTEgaW5zdGVhZCBvZiBpY2VsYWtlIHdoaWxlIHdlIGRvbid0 CmhhdmUgYSBiZXR0ZXIgc3VnZ2VzdGlvbiB0aGF0IGNvdmVycyB0aGF0Li4uCgpUaGFua3MsClJv ZHJpZ28uCgo+IAo+ID4gCj4gPiA+IElmIHdlJ3JlIGdvaW5nIHRvIG1ha2UgZ2VuMTAgZGlzcGxh eSBhIHRoaW5nLCBzaG91bGQgd2Ugbm90IGdlbmVyYWxpemUKPiA+ID4gdGhpcyB0byBoYXZlIGFu IGFjdHVhbCBkaXNwbGF5IGdlbiBpbiBkZXZpY2UgaW5mbz8gT2YgY291cnNlIGZvciBtb3N0Cj4g PiA+IHBsYXRmb3JtcyBpdCdzIGdvaW5nIHRvIGJlIGlkZW50aWNhbCB0byB0aGUgZ2VtIGdlbi4K PiA+ID4gCj4gPiA+IFRoZSBxdWVzdGlvbiBiZWNvbWVzLCBpcyBkaXNwbGF5IGdlbiBhY2N1cmF0 ZSBlbm91Z2g/IEl0J3Mgbm90IGVub3VnaCB0bwo+ID4gPiBjb3ZlciBhbGwgb2YgR2VtaW5pbGFr ZSBJIGJlbGlldmUuIFdoaWNoIG1ha2VzIG1lIHRoaW5rLCBzaG91bGQgd2UganVzdAo+ID4gPiBh ZGQgdG9ucyBtb3JlIGRldmljZSBpbmZvIGZsYWdzIHRvIGNvdmVyIGZlYXR1cmVzIGF0IGEgZGV0 YWlsZWQgbGV2ZWw/IEkKPiA+ID4gdGhpbmsgdGhhdCdzIHdoYXQgSm9vbmFzIGFkdm9jYXRlcy4g UGVyaGFwcyBpdCBibG9hdHMgdGhlIGRldmljZSBpbmZvLAo+ID4gPiBhbmQgY2F1c2VzIGluY3Jl YXNlIGluIHRoZSBudW1iZXIgb2YgZGV2aWNlIGluZm8gYmxvY2tzLiBCdXQgbXkgZ3V0Cj4gPiA+ IGZlZWxpbmcgc2F5cyB0b2dldGhlciB3aXRoIHRydWx5IGltbXV0YWJsZSBkZXZpY2UgaW5mbywg dGhlcmUgYXJlCj4gPiA+IGNvbXBpbGVyIG9wdGltaXphdGlvbiBiZW5lZml0cyB0byBiZSBoYWQu Cj4gPiA+IAo+ID4gPiBBbHNvLCBjdXJyZW50bHkgd2UgImluaGVyaXQiIGRldmljZSBpbmZvIHVz aW5nIHRydWx5IG9ibm94aW91cyBtYWNybwo+ID4gPiBsYXllcmluZyB3aGVyZSB5b3UgaGF2ZSB0 byB3b3JrIGhhcmQgdG8gdHJhY2UgdGhlIG1hY3JvcyB0byBmaW5kIG91dAo+ID4gPiB3aGF0IGlz IHNldCBmb3IgYSBnaXZlbiBwbGF0Zm9ybS4gSXQgZG9lc24ndCBoYXZlIHRvIGJlIHRoYXQgd2F5 LiBXZQo+ID4gPiBjb3VsZCBtb3ZlIHBhcnRzIG9mIGl0IHRvIHNlcGFyYXRlIGJ1dCBzaGFyZWQg ZmVhdHVyZXMgc3RydWN0cywgYW5kIGFkZAo+ID4gPiBwb2ludGVycyB0byB0aGVtLgo+ID4gPiAK PiA+ID4gQW55d2F5LCB0aGFua3MgZm9yIHJvbGxpbmcgdGhpcyBzZXJpZXMgYXMgYSBzdGFydGlu ZyBwb2ludCBmb3IKPiA+ID4gZGlzY3Vzc2lvbi4gRXZlbiBpZiBJJ20gbm90IGJ1eWluZyB0aGUg Y2hhbmdlcyBhcy1pcy4gOykKPiA+IAo+ID4gWWVhaCwgc3R1ZmZpbmcgdGhpcyBpbnRvIGludGVs X2luZm8gaW1vIG1ha2VzIHNlbnNlLiBBcyBsb25nIGFzIGl0J3MKPiA+IGJvb2xlYW5zIHRoZXkg c2hvdWxkIGJlIGZhaXJseSBjaGVhcC4KPiA+IC1EYW5pZWwKPiA+ID4gCj4gPiA+IAo+ID4gPiBC UiwKPiA+ID4gSmFuaS4KPiA+ID4gCj4gPiA+ID4KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSb2Ry aWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8IDIgKysKPiA+ID4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyAgIHwgMiArLQo+ID4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jICAgfCAyICstCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDQgKystLQo+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAyICstCj4gPiA+ID4gIDUgZmlsZXMgY2hhbmdlZCwgNyBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+ID4gPiA+Cj4gPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gPiA+ID4gaW5kZXggZDE5YjM4ZWYxNDViLi42NDM2ZmVkZmU1NjEgMTAwNjQ0 Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiBAQCAtMjYzNyw2ICsy NjM3LDggQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCj4gPiA+ID4gICNkZWZpbmUgU1VQUE9SVFNfVFYoZGV2X3ByaXYpCQkoKGRldl9wcml2KS0+ aW5mby5zdXBwb3J0c190dikKPiA+ID4gPiAgI2RlZmluZSBJOTE1X0hBU19IT1RQTFVHKGRldl9w cml2KQkoKGRldl9wcml2KS0+aW5mby5oYXNfaG90cGx1ZykKPiA+ID4gPiAgCj4gPiA+ID4gKyNk ZWZpbmUgSEFTX0RJU1BMQVlfMTAoZGV2X3ByaXYpIChJU19HRU4xMChkZXZfcHJpdikgfHwgSVNf R0VNSU5JTEFLRShkZXZfcHJpdikpCj4gPiA+ID4gKwo+ID4gPiA+ICAjZGVmaW5lIEhBU19GV19C TEMoZGV2X3ByaXYpIAkoSU5URUxfR0VOKGRldl9wcml2KSA+IDIpCj4gPiA+ID4gICNkZWZpbmUg SEFTX0ZCQyhkZXZfcHJpdikJKChkZXZfcHJpdiktPmluZm8uaGFzX2ZiYykKPiA+ID4gPiAgI2Rl ZmluZSBIQVNfQ1VSX0ZCQyhkZXZfcHJpdikJKCFIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2KSAm JiBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDcpCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j ZGNsay5jCj4gPiA+ID4gaW5kZXggNGFhNjUwMDYwNGNjLi5iMzE1YjcwZmQ0OWMgMTAwNjQ0Cj4g PiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ID4gPiBAQCAtMjE4MSw3 ICsyMTgxLDcgQEAgaW50IGludGVsX2NydGNfY29tcHV0ZV9taW5fY2RjbGsoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gPiA+ID4gIAkgICAgY3J0Y19zdGF0ZS0+ aGFzX2F1ZGlvICYmCj4gPiA+ID4gIAkgICAgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jayA+PSA1NDAw MDAgJiYKPiA+ID4gPiAgCSAgICBjcnRjX3N0YXRlLT5sYW5lX2NvdW50ID09IDQpIHsKPiA+ID4g PiAtCQlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwgSVNfR0VNSU5JTEFLRShkZXZfcHJp dikpIHsKPiA+ID4gPiArCQlpZiAoSEFTX0RJU1BMQVlfMTAoZGV2X3ByaXYpKSB7Cj4gPiA+ID4g IAkJCS8qIERpc3BsYXkgV0EgIzExNDU6IGdsayxjbmwgKi8KPiA+ID4gPiAgCQkJbWluX2NkY2xr ID0gbWF4KDMxNjgwMCwgbWluX2NkY2xrKTsKPiA+ID4gPiAgCQl9IGVsc2UgaWYgKElTX0dFTjko ZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsKPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yLmMKPiA+ID4gPiBpbmRleCA1MTI3ZGEyODZhMmIuLmQ1ZjY3YjljOTY5 OCAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5j Cj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwo+ID4gPiA+ IEBAIC02NTksNyArNjU5LDcgQEAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKPiA+ID4gPiAgCQkgICBJU19CUk9YVE9OKGRldl9wcml2KSkgewo+ID4gPiA+ICAJ CWRldl9wcml2LT5kaXNwbGF5LmxvYWRfY3NjX21hdHJpeCA9IGlsa19sb2FkX2NzY19tYXRyaXg7 Cj4gPiA+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gYnJvYWR3ZWxsX2xvYWRf bHV0czsKPiA+ID4gPiAtCX0gZWxzZSBpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNf Q0FOTk9OTEFLRShkZXZfcHJpdikpIHsKPiA+ID4gPiArCX0gZWxzZSBpZiAoSEFTX0RJU1BMQVlf MTAoZGV2X3ByaXYpKSB7Cj4gPiA+ID4gIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0 cml4ID0gaWxrX2xvYWRfY3NjX21hdHJpeDsKPiA+ID4gPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5s b2FkX2x1dHMgPSBnbGtfbG9hZF9sdXRzOwo+ID4gPiA+ICAJfSBlbHNlIHsKPiA+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ID4gaW5kZXggN2IwNGI4NDM2YjZkLi4x YWJmNzlhNGVlOTEgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gPiA+ID4gQEAgLTU3MzAsNyArNTczMCw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxf Y3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ID4gPiA+ ICAJaW50ZWxfY3J0Yy0+YWN0aXZlID0gdHJ1ZTsKPiA+ID4gPiAgCj4gPiA+ID4gIAkvKiBEaXNw bGF5IFdBICMxMTgwOiBXYURpc2FibGVTY2FsYXJDbG9ja0dhdGluZzogZ2xrLCBjbmwgKi8KPiA+ ID4gPiAtCXBzbF9jbGtnYXRlX3dhID0gKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpIHx8IElTX0NB Tk5PTkxBS0UoZGV2X3ByaXYpKSAmJgo+ID4gPiA+ICsJcHNsX2Nsa2dhdGVfd2EgPSAoSEFTX0RJ U1BMQVlfMTAoZGV2X3ByaXYpKSAmJgo+ID4gPiA+ICAJCQkgcGlwZV9jb25maWctPnBjaF9wZml0 LmVuYWJsZWQ7Cj4gPiA+ID4gIAlpZiAocHNsX2Nsa2dhdGVfd2EpCj4gPiA+ID4gIAkJZ2xrX3Bp cGVfc2NhbGVyX2Nsb2NrX2dhdGluZ193YShkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7Cj4gPiA+ID4g QEAgLTE1NTY1LDcgKzE1NTY1LDcgQEAgZ2V0X2VuY29kZXJfcG93ZXJfZG9tYWlucyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ID4gIHN0YXRpYyB2b2lkIGludGVsX2Vh cmx5X2Rpc3BsYXlfd2FzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4g PiAgewo+ID4gPiA+ICAJLyogRGlzcGxheSBXQSAjMTE4NSBXYURpc2FibGVEQVJCRkNsa0dhdGlu ZzpjbmwsZ2xrICovCj4gPiA+ID4gLQlpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikgfHwgSVNf R0VNSU5JTEFLRShkZXZfcHJpdikpCj4gPiA+ID4gKwlpZiAoSEFTX0RJU1BMQVlfMTAoZGV2X3By aXYpKQo+ID4gPiA+ICAJCUk5MTVfV1JJVEUoR0VOOV9DTEtHQVRFX0RJU18wLCBJOTE1X1JFQUQo R0VOOV9DTEtHQVRFX0RJU18wKSB8Cj4gPiA+ID4gIAkJCSAgIERBUkJGX0dBVElOR19ESVMpOwo+ ID4gPiA+ICAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf c3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+ID4gPiA+IGlu ZGV4IDdjZDU5ZWVlNWNhZC4uOTEyYWI3YjlkODlhIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKPiA+ID4gPiBAQCAtMTMzMCw3ICsxMzMwLDcgQEAgc3Rh dGljIGludCBza2xfcGxhbmVfY2hlY2tfZHN0X2Nvb3JkaW5hdGVzKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3MKPiA+ID4gPiAgCSAqIHRoYW4gdGhlIGN1cnNvciBlbmRpbmcg bGVzcyB0aGFuIDQgcGl4ZWxzIGZyb20gdGhlIGxlZnQgZWRnZSBvZiB0aGUKPiA+ID4gPiAgCSAq IHNjcmVlbiBtYXkgY2F1c2UgRklGTyB1bmRlcmZsb3cgYW5kIGRpc3BsYXkgY29ycnVwdGlvbi4K PiA+ID4gPiAgCSAqLwo+ID4gPiA+IC0JaWYgKChJU19HRU1JTklMQUtFKGRldl9wcml2KSB8fCBJ U19DQU5OT05MQUtFKGRldl9wcml2KSkgJiYKPiA+ID4gPiArCWlmIChIQVNfRElTUExBWV8xMChk ZXZfcHJpdikgJiYKPiA+ID4gPiAgCSAgICAoY3J0Y194ICsgY3J0Y193IDwgNCB8fCBjcnRjX3gg PiBwaXBlX3NyY193IC0gNCkpIHsKPiA+ID4gPiAgCQlEUk1fREVCVUdfS01TKCJyZXF1ZXN0ZWQg cGxhbmUgWCAlcyBwb3NpdGlvbiAlZCBpbnZhbGlkICh2YWxpZCByYW5nZSAlZC0lZClcbiIsCj4g PiA+ID4gIAkJCSAgICAgIGNydGNfeCArIGNydGNfdyA8IDQgPyAiZW5kIiA6ICJzdGFydCIsCj4g PiA+IAo+ID4gPiAtLSAKPiA+ID4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBo aWNzIENlbnRlcgo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IAo+ID4gLS0gCj4gPiBEYW5pZWwgVmV0dGVyCj4g PiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiA+IGh0dHA6Ly9ibG9nLmZm d2xsLmNoCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKPiAKPiAtLSAKPiBWaWxsZSBTeXJqw6Rsw6QKPiBJbnRlbApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK