From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 4/9] drm/i915/tgl: Add dkl phy programming sequences Date: Wed, 25 Sep 2019 17:26:41 +0300 Message-ID: <20190925142641.GC8958@ideak-desk.fi.intel.com> References: <20190923195513.207536-1-jose.souza@intel.com> <20190923195513.207536-5-jose.souza@intel.com> <20190924130006.GA25906@ideak-desk.fi.intel.com> <7ba6a25da0441df93c5d018f67fbbc4caad2465a.camel@intel.com> Reply-To: imre.deak@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 253966E04B for ; Wed, 25 Sep 2019 14:27:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <7ba6a25da0441df93c5d018f67fbbc4caad2465a.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBTZXAgMjUsIDIwMTkgYXQgMDI6MjE6NTJBTSArMDMwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gVHVlLCAyMDE5LTA5LTI0IGF0IDE2OjAwICswMzAwLCBJbXJlIERlYWsgd3JvdGU6 Cj4gPiBPbiBNb24sIFNlcCAyMywgMjAxOSBhdCAwMzowMjo1NFBNIC0wNzAwLCBMdWNhcyBEZSBN YXJjaGkgd3JvdGU6Cj4gPiA+IE9uIE1vbiwgU2VwIDIzLCAyMDE5IGF0IDEyOjU1IFBNIEpvc8Op IFJvYmVydG8gZGUgU291emEKPiA+ID4gPGpvc2Uuc291emFAaW50ZWwuY29tPiB3cm90ZToKPiA+ ID4gPiBbLi4uXQo+ID4gPiA+ICsgICAgICAgICAgICAgICBsbjEgJj0gfihES0xfRFBfTU9ERV9D RkdfRFBfWDFfTU9ERSB8Cj4gPiA+ID4gREtMX0RQX01PREVfQ0ZHX0RQX1gyX01PREUpOwo+ID4g PiA+ICsKPiA+ID4gPiArICAgICAgICAgICAgICAgbGFuZV9tYXNrID0KPiA+ID4gPiBpbnRlbF90 Y19wb3J0X2dldF9sYW5lX21hc2soaW50ZWxfZGlnX3BvcnQpOyAvKiBEUFg0VFhMQVRDICovCj4g PiA+ID4gKyAgICAgICAgICAgICAgIHBpbl9tYXNrID0KPiA+ID4gPiBpbnRlbF90Y19wb3J0X2dl dF9waW5fYXNzaWdubWVudF9tYXNrKGludGVsX2RpZ19wb3J0KTsgLyogRFBQQVRDCj4gPiA+ID4g Ki8KPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICAgICAgICAgIHN3aXRjaCAocGluX21hc2spIHsK PiA+ID4gCj4gPiA+IEZyb20gYSBxdWljayBsb29rIHRvIHRoZSB0YWJsZSwgd2UgZG9uJ3QgY2hh bmdlIGJhc2VkIG9uIHBpbl9tYXNrLAo+ID4gPiBidXQKPiA+ID4gcmF0aGVyIGJhc2VkIG9uIGxh bmVfbWFzaywganVzdCBsaWtlIGZvciBNRy4KPiA+IAo+ID4gVGhlcmUgYXJlIGRpZmZlcmVuY2Vz LCBmb3IgaW5zdGFuY2UgcGluX21hc2s9MHg0LDB4Ni9sYW5lX21hc2s9MHgzCj4gPiB2cy4KPiA+ IHBpbl9tYXNrPTB4Mi9sYW5lX21hc2s9MHgzLgo+ID4gCj4gPiA+IEJ0dywgbGFuZV9tYXNrIGlz IHVudXNlZCBpbiB0aGlzIGZ1bmN0aW9uIG5vdyBhbmQgd2UgZG9uJ3QgZ2V0IGEKPiA+ID4gd2Fy bmluZyBqdXN0IGJlY2F1c2UgaXQncyBtaXN1c2VkIGluIGEKPiA+ID4gTUlTU0lOR19DQVNFKCkg YmVsb3cuCj4gPiA+IAo+ID4gPiBUaGUgdmFsdWVzIGRvIGNoYW5nZSBiYXNlZCBvbiB3aWR0aCwg YnV0IEknbSBub3Qgc3VyZSB3aHkgTUcKPiA+ID4gZG9lc24ndAo+ID4gPiBuZWVkIHRvIHRha2Ug dGhhdCBpbnRvIGFjY291bnQuCj4gPiAKPiA+IFllcywgbG9va3MgbGlrZSBjcnRjX3N0YXRlLT5s YW5lX2NvdW50IHNob3VsZCBiZSBjb25zaWRlcmVkLiBOb3Qgc3VyZQo+ID4gd2h5IHRoZSBNRyB2 ZXJzaW9uIGRvZXNuJ3QgZG8gdGhhdCBlaXRoZXIsIEkgYXNzdW1lIGl0IHdhcyBhbgo+ID4gYWRk aXRpb24KPiA+IHRvIEJTcGVjIG9ubHkgYWZ0ZXIgdGhlIGZ1bmN0aW9uIHdhcyBhZGRlZC4gVGhl IHNhbWUgYXBwbGllcyB0bwo+ID4gcGluX21hc2suCj4gCj4gTG9va2luZyBtb3JlIGNhcmVmdWxs eSwgRklBIHRha2VzIGNhcmUgb2YgZmxpcC9yZXZlcnNhbCBsYW5lcywgc28gZm9yCj4gdXMganVz dCBtYXR0ZXIgd2hhdCBsYW5lcyBjYW4gYmUgdXNlZC4KCkkgdGhpbmsgYm90aCB0aGUgcGluIGFz c2lnbm1lbnQgYW5kIGNydGNfc3RhdGUtPmxhbmVfY291bnQgbXVzdCBiZSB0YWtlbgppbnRvIGFj Y291bnQsIHNlZSB0aGUgYWJvdmUgZXhhbXBsZSB3aXRoIGRpZmZlcmVudCBwaW4gYXNzaWdubWVu dCBidXQKc2FtZSBsYW5lIG1hc2ssIHdoZXJlIHlvdSBoYXZlIHRvIHByb2dyYW0gdGhlIERQX01P REUgcmVnaXN0ZXJzCmRpZmZlcmVudGx5LiBJQ0wgd291bGQgbmVlZCB0byBiZSBmaXhlZCBhbmQg aW4gdGhlIGVuZCBUR0wgYW5kIElDTCB3b3VsZApwcm9ncmFtIERQX01PREUgdGhlIHNhbWUgd2F5 LgoKPiAKPiBTbyBkcm9wcGluZyB0aGUgcGF0Y2ggYWRkaW5nIGludGVsX3RjX3BvcnRfZ2V0X3Bp bl9hc3NpZ25tZW50X21hc2soKSwKPiBkcm9wcGluZyB0Z2xfcHJvZ3JhbV9ka2xfZHBfbW9kZSBh bmQgdGdsX3BoeV9zZXRfY2xvY2tfZ2F0aW5nKCkgYW5kCj4gcmV1c2luZyBJQ0wgdmVyc2lvbnMg d2l0aCBhIGNvdXBsZSBvZiAiaWYgZ2VuID4gMTIiIHRvIGFjY2VzcyBka2wKPiByZWdpc3Rlci4K PiAKPiBPbmUgb2RkIHRoaW5nIHRoYXQgSSBub3RpY2UgaXMgdGhhdCB3ZSB1c2UgcG9ydCBpbnN0 ZWFkIG9mIHRjX3BvcnQgaW4KPiBtb3N0IE1HIHJlZ2lzdGVycywgdGhvc2UgTUcgcmVnaXN0ZXJz IHVzZXMgYSBtYWNybyB0aGF0IHN1YnRyYWN0IHBvcnQKPiBhbmQgUE9SVF9DIHRvIGdldCB0aGUg cmlnaHQgcmVnaXN0ZXIsIHRoaW5raW5nIGluIHNlbmQgYSBwYXRjaCBjaGFuZ2luZwo+IGFsbCBv ZiB0aG9zZSB0byByZWNlaXZlIGFzIHBhcmFtZXRlciB0Y19wb3J0IHRvIG1ha2UgaXQgY29uc2lz dGVudCwKPiB3aGF0IHlvdSBndXlzIHRoaW5rPwo+IAo+IAo+ID4gCj4gPiA+ICtJbXJlIERlYWsK PiA+ID4gCj4gPiA+IEx1Y2FzIERlIE1hcmNoaQo+ID4gPiAKPiA+ID4gPiArICAgICAgICAgICAg ICAgY2FzZSAweDA6Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bV9sYW5l cyA9PSAxKSB7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbjEgfD0K PiA+ID4gPiBES0xfRFBfTU9ERV9DRkdfRFBfWDFfTU9ERTsKPiA+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICB9IGVsc2Ugewo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbG4wIHw9Cj4gPiA+ID4gREtMX0RQX01PREVfQ0ZHX0RQX1gyX01PREU7Cj4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbjEgfD0KPiA+ID4gPiBES0xfRFBfTU9ERV9D RkdfRFBfWDJfTU9ERTsKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgIGNh c2UgMHgxOgo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1fbGFuZXMgPT0g NCkgewo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG4wIHw9Cj4gPiA+ ID4gREtMX0RQX01PREVfQ0ZHX0RQX1gyX01PREU7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsbjEgfD0KPiA+ID4gPiBES0xfRFBfTU9ERV9DRkdfRFBfWDJfTU9ERTsK PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICB9Cj4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgIGNhc2UgMHgyOgo+ID4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1fbGFuZXMgPT0gMikgewo+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG4wIHw9Cj4gPiA+ID4gREtMX0RQX01PREVf Q0ZHX0RQX1gyX01PREU7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs bjEgfD0KPiA+ID4gPiBES0xfRFBfTU9ERV9DRkdfRFBfWDJfTU9ERTsKPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICB9Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 Cj4gPiA+ID4gKyAgICAgICAgICAgICAgIGNhc2UgMHgzOgo+ID4gPiA+ICsgICAgICAgICAgICAg ICBjYXNlIDB4NToKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtX2xhbmVz ID09IDEpIHsKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxuMCB8PQo+ ID4gPiA+IERLTF9EUF9NT0RFX0NGR19EUF9YMV9NT0RFOwo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbG4xIHw9Cj4gPiA+ID4gREtMX0RQX01PREVfQ0ZHX0RQX1gxX01P REU7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKPiA+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxuMCB8PQo+ID4gPiA+IERLTF9EUF9NT0RFX0NG R19EUF9YMl9NT0RFOwo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG4x IHw9Cj4gPiA+ID4gREtMX0RQX01PREVfQ0ZHX0RQX1gyX01PREU7Cj4gPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgfQo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ ID4gPiA+ICsgICAgICAgICAgICAgICBjYXNlIDB4NDoKPiA+ID4gPiArICAgICAgICAgICAgICAg Y2FzZSAweDY6Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bV9sYW5lcyA9 PSAxKSB7Cj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbjAgfD0KPiA+ ID4gPiBES0xfRFBfTU9ERV9DRkdfRFBfWDFfTU9ERTsKPiA+ID4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxuMSB8PQo+ID4gPiA+IERLTF9EUF9NT0RFX0NGR19EUF9YMV9NT0RF Owo+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4gPiA+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsbjAgfD0KPiA+ID4gPiBES0xfRFBfTU9ERV9DRkdf RFBfWDJfTU9ERTsKPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxuMSB8 PQo+ID4gPiA+IERLTF9EUF9NT0RFX0NGR19EUF9YMl9NT0RFOwo+ID4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgIH0KPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ ID4gPiArICAgICAgICAgICAgICAgZGVmYXVsdDoKPiA+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgICBNSVNTSU5HX0NBU0UobGFuZV9tYXNrKTsKPiA+ID4gPiArICAgICAgICAgICAgICAgfQo+ ID4gPiA+ICsgICAgICAgICAgICAgICBicmVhazsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICBj YXNlIFRDX1BPUlRfTEVHQUNZOgo+ID4gPiA+ICsgICAgICAgICAgICAgICBsbjAgfD0gREtMX0RQ X01PREVfQ0ZHX0RQX1gxX01PREUgfAo+ID4gPiA+IERLTF9EUF9NT0RFX0NGR19EUF9YMl9NT0RF Owo+ID4gPiA+ICsgICAgICAgICAgICAgICBsbjEgfD0gREtMX0RQX01PREVfQ0ZHX0RQX1gxX01P REUgfAo+ID4gPiA+IERLTF9EUF9NT0RFX0NGR19EUF9YMl9NT0RFOwo+ID4gPiA+ICsgICAgICAg ICAgICAgICBicmVhazsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICBkZWZhdWx0Ogo+ID4gPiA+ ICsgICAgICAgICAgICAgICBNSVNTSU5HX0NBU0UoaW50ZWxfZGlnX3BvcnQtPnRjX21vZGUpOwo+ ID4gPiA+ICsgICAgICAgICAgICAgICByZXR1cm47Cj4gPiA+ID4gKyAgICAgICB9Cj4gPiA+ID4g Kwo+ID4gPiA+ICsgICAgICAgSTkxNV9XUklURShISVBfSU5ERVhfUkVHKHRjX3BvcnQpLCBISVBf SU5ERVhfVkFMKHRjX3BvcnQsCj4gPiA+ID4gMHgwKSk7Cj4gPiA+ID4gKyAgICAgICBJOTE1X1dS SVRFKERLTF9EUF9NT0RFKHRjX3BvcnQpLCBsbjApOwo+ID4gPiA+ICsgICAgICAgSTkxNV9XUklU RShISVBfSU5ERVhfUkVHKHRjX3BvcnQpLCBISVBfSU5ERVhfVkFMKHRjX3BvcnQsCj4gPiA+ID4g MHgxKSk7Cj4gPiA+ID4gKyAgICAgICBJOTE1X1dSSVRFKERLTF9EUF9NT0RFKHRjX3BvcnQpLCBs bjEpOwo+ID4gPiA+ICt9Cj4gPiA+ID4gKwo+ID4gPiA+ICBzdGF0aWMgdm9pZCBpbnRlbF9kcF9z aW5rX3NldF9mZWNfcmVhZHkoc3RydWN0IGludGVsX2RwCj4gPiA+ID4gKmludGVsX2RwLAo+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QK PiA+ID4gPiBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ID4gPiA+ICB7Cj4gPiA+ID4g QEAgLTMyMTgsNyArMzQzMSw3IEBAIHN0YXRpYyB2b2lkIHRnbF9kZGlfcHJlX2VuYWJsZV9kcChz dHJ1Y3QKPiA+ID4gPiBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWdfcG9ydC0KPiA+ID4gPiA+ZGRpX2lvX3Bv d2VyX2RvbWFpbik7Cj4gPiA+ID4gCj4gPiA+ID4gICAgICAgICAvKiA2LiAqLwo+ID4gPiA+IC0g ICAgICAgaWNsX3Byb2dyYW1fbWdfZHBfbW9kZShkaWdfcG9ydCk7Cj4gPiA+ID4gKyAgICAgICB0 Z2xfcHJvZ3JhbV9ka2xfZHBfbW9kZShkaWdfcG9ydCk7Cj4gPiA+ID4gCj4gPiA+ID4gICAgICAg ICAvKgo+ID4gPiA+ICAgICAgICAgICogNy5hIC0gU3RlcHMgaW4gdGhpcyBmdW5jdGlvbiBzaG91 bGQgb25seSBiZSBleGVjdXRlZAo+ID4gPiA+IG92wrRlciBNU1QKPiA+ID4gPiBAQCAtMzIzMSwx MCArMzQ0NCwxMCBAQCBzdGF0aWMgdm9pZCB0Z2xfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0Cj4g PiA+ID4gaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiAgICAgICAgIGludGVsX2RkaV9j b25maWdfdHJhbnNjb2Rlcl9mdW5jKGNydGNfc3RhdGUpOwo+ID4gPiA+IAo+ID4gPiA+ICAgICAg ICAgLyogNy5kICovCj4gPiA+ID4gLSAgICAgICBpY2xfcGh5X3NldF9jbG9ja19nYXRpbmcoZGln X3BvcnQsIGZhbHNlKTsKPiA+ID4gPiArICAgICAgIHRnbF9waHlfc2V0X2Nsb2NrX2dhdGluZyhk aWdfcG9ydCwgZmFsc2UpOwo+ID4gPiA+IAo+ID4gPiA+ICAgICAgICAgLyogNy5lICovCj4gPiA+ ID4gLSAgICAgICBpY2xfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBjcnRjX3N0YXRlLT5w b3J0X2Nsb2NrLAo+ID4gPiA+IGxldmVsLAo+ID4gPiA+ICsgICAgICAgdGdsX2RkaV92c3dpbmdf c2VxdWVuY2UoZW5jb2RlciwgY3J0Y19zdGF0ZS0+cG9ydF9jbG9jaywKPiA+ID4gPiBsZXZlbCwK PiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuY29kZXItPnR5cGUpOwo+ ID4gPiA+IAo+ID4gPiA+ICAgICAgICAgLyogNy5mICovCj4gPiA+ID4gQEAgLTMyNjYsNiArMzQ3 OSwxNSBAQCBzdGF0aWMgdm9pZCB0Z2xfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0Cj4gPiA+ID4g aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiAgICAgICAgIC8qIDcuayAqLwo+ID4gPiA+ ICAgICAgICAgaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsKPiA+ID4gPiAKPiA+ ID4gPiArICAgICAgIC8qCj4gPiA+ID4gKyAgICAgICAgKiBUT0RPOiBlbmFibGUgY2xvY2sgZ2F0 aW5nCj4gPiA+ID4gKyAgICAgICAgKgo+ID4gPiA+ICsgICAgICAgICogSXQgaXMgbm90IHdyaXR0 ZW4gaW4gRFAgZW5hYmxpbmcgc2VxdWVuY2UgYnV0ICJQSFkKPiA+ID4gPiBDbG9ja2dhdGluZwo+ ID4gPiA+ICsgICAgICAgICogcHJvZ3JhbW1pbmciIHN0YXRlcyB0aGF0IGNsb2NrIGdhdGluZyBz aG91bGQgYmUKPiA+ID4gPiBlbmFibGVkIGFmdGVyIHRoZQo+ID4gPiA+ICsgICAgICAgICogbGlu ayB0cmFpbmluZyBidXQgZG9pbmcgc28gY2F1c2VzIGFsbCB0aGUgZm9sbG93aW5nCj4gPiA+ID4g dHJhaW5pbmdzIHRvIGZhaWwKPiA+ID4gPiArICAgICAgICAqIHNvIG5vdCBlbmFibGluZyBpdCBm b3Igbm93Lgo+ID4gPiA+ICsgICAgICAgICovCj4gPiA+ID4gKwo+ID4gPiA+ICAgICAgICAgLyog Ny5sICovCj4gPiA+ID4gICAgICAgICBpbnRlbF9kZGlfZW5hYmxlX2ZlYyhlbmNvZGVyLCBjcnRj X3N0YXRlKTsKPiA+ID4gPiAgICAgICAgIGludGVsX2RzY19lbmFibGUoZW5jb2RlciwgY3J0Y19z dGF0ZSk7Cj4gPiA+ID4gQEAgLTMzNzEsOSArMzU5MywxNSBAQCBzdGF0aWMgdm9pZAo+ID4gPiA+ IGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gPiA+ID4gICAgICAgICBpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgZGlnX3Bv cnQtCj4gPiA+ID4gPmRkaV9pb19wb3dlcl9kb21haW4pOwo+ID4gPiA+IAo+ID4gPiA+ICAgICAg ICAgaWNsX3Byb2dyYW1fbWdfZHBfbW9kZShkaWdfcG9ydCk7Cj4gPiA+ID4gLSAgICAgICBpY2xf cGh5X3NldF9jbG9ja19nYXRpbmcoZGlnX3BvcnQsIGZhbHNlKTsKPiA+ID4gPiArICAgICAgIGlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEyKQo+ID4gPiA+ICsgICAgICAgICAgICAgICB0Z2xf cGh5X3NldF9jbG9ja19nYXRpbmcoZGlnX3BvcnQsIGZhbHNlKTsKPiA+ID4gPiArICAgICAgIGVs c2UKPiA+ID4gPiArICAgICAgICAgICAgICAgaWNsX3BoeV9zZXRfY2xvY2tfZ2F0aW5nKGRpZ19w b3J0LCBmYWxzZSk7Cj4gPiA+ID4gCj4gPiA+ID4gLSAgICAgICBpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSAxMSkKPiA+ID4gPiArICAgICAgIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEy KQo+ID4gPiA+ICsgICAgICAgICAgICAgICB0Z2xfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVy LCBjcnRjX3N0YXRlLQo+ID4gPiA+ID5wb3J0X2Nsb2NrLAo+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCwKPiA+ID4gPiBJTlRFTF9PVVRQVVRfSERN SSk7Cj4gPiA+ID4gKyAgICAgICBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID09IDExKQo+ ID4gPiA+ICAgICAgICAgICAgICAgICBpY2xfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBj cnRjX3N0YXRlLQo+ID4gPiA+ID5wb3J0X2Nsb2NrLAo+ID4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsZXZlbCwKPiA+ID4gPiBJTlRFTF9PVVRQVVRfSERNSSk7 Cj4gPiA+ID4gICAgICAgICBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKPiA+ID4g PiBAQCAtMzM4Myw3ICszNjExLDEwIEBAIHN0YXRpYyB2b2lkCj4gPiA+ID4gaW50ZWxfZGRpX3By ZV9lbmFibGVfaGRtaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ID4gPiAgICAg ICAgIGVsc2UKPiA+ID4gPiAgICAgICAgICAgICAgICAgaW50ZWxfcHJlcGFyZV9oZG1pX2RkaV9i dWZmZXJzKGVuY29kZXIsIGxldmVsKTsKPiA+ID4gPiAKPiA+ID4gPiAtICAgICAgIGljbF9waHlf c2V0X2Nsb2NrX2dhdGluZyhkaWdfcG9ydCwgdHJ1ZSk7Cj4gPiA+ID4gKyAgICAgICBpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMikKPiA+ID4gPiArICAgICAgICAgICAgICAgdGdsX3BoeV9z ZXRfY2xvY2tfZ2F0aW5nKGRpZ19wb3J0LCB0cnVlKTsKPiA+ID4gPiArICAgICAgIGVsc2UKPiA+ ID4gPiArICAgICAgICAgICAgICAgaWNsX3BoeV9zZXRfY2xvY2tfZ2F0aW5nKGRpZ19wb3J0LCB0 cnVlKTsKPiA+ID4gPiAKPiA+ID4gPiAgICAgICAgIGlmIChJU19HRU45X0JDKGRldl9wcml2KSkK PiA+ID4gPiAgICAgICAgICAgICAgICAgc2tsX2RkaV9zZXRfaWJvb3N0KGVuY29kZXIsIGxldmVs LAo+ID4gPiA+IElOVEVMX09VVFBVVF9IRE1JKTsKPiA+ID4gPiAtLQo+ID4gPiA+IDIuMjMuMAo+ ID4gPiA+IAo+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiA+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiAKPiA+ID4gCj4gPiA+IC0tIAo+ID4g PiBMdWNhcyBEZSBNYXJjaGkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4