From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH v2 2/2] drm/i915/icl: Implement voltage swing programming sequence for MG PHY DDI Date: Mon, 16 Jul 2018 16:48:33 -0700 Message-ID: <1531784913.2503.33.camel@intel.com> References: <1530225344-20373-1-git-send-email-manasi.d.navare@intel.com> <1530225344-20373-2-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3DD486E02A for ; Mon, 16 Jul 2018 23:48:36 +0000 (UTC) In-Reply-To: <1530225344-20373-2-git-send-email-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Manasi Navare , intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RW0gUXVpLCAyMDE4LTA2LTI4IMOgcyAxNTozNSAtMDcwMCwgTWFuYXNpIE5hdmFyZSBlc2NyZXZl dToKPiBUaGlzIHNlcXVlbmNlIGlzIHVzZWQgdG8gc2V0dXAgdm9sdGFnZSBzd2luZyBiZWZvcmUg ZW5hYmxpbmcgTUcgUEhZCj4gRERJCj4gYXMgd2VsbCBhcyBmb3IgY2hhbmdpbmcgdGhlIHZvbHRh Z2UgZHVyaW5nIERpc3BsYXlQb3J0IExpbmsgdHJhaW5pbmcuCj4gCj4gRm9yIElDTCwgdGhlcmUg YXJlIHR3byB0eXBlcyBvZiBERElzLiBUaGlzIHNlcXVlbmNlIG5lZWRzIHRvIGJlIHVzZWQKPiBm b3IgTUcgUEhZIERESSB3aGljaCBpcyBwb3J0cyBDLUYuCgpBbmQgb3VyIHNwZWMgaXMgc3RpbGwg aW5jb21wbGV0ZS4uLgoKUmV2aWV3ZWQtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlA aW50ZWwuY29tPgoKPiAKPiB2NiAoRnJvbSBNYW5hc2kpOgo+ICogQWRkIHByb2dyYW1taW5nIGZv ciBNR19DTEtIVUIgYW5kIE1HX1RYX0RDQyBhcyBwZXIgdGhlCj4gc3BlYyB1cGRhdGVzCj4gCj4g djUgKGZyb20gUGF1bG8pOgo+ICogQ2hlY2twYXRjaC4KPiB2NCAoZnJvbSBQYXVsbyk6Cj4gKiBG aXggYm9ndXMgZXJyb3IgbWVzc2FnZQo+ICogRml4IGNvcHkrcGFzdGUgYnVncyAobWlzc2luZyBz L1RYMS9UWDIvIGFmdGVyIGNvcHkrcGFzdGUpCj4gKiBVc2UgdGhlIG5ldyBtYXNrIG5hbWVzCj4g KiBTdGF5IHVuZGVyIDgwIGNvbHVtbnMKPiAqIEFkZCBzb21lIGJsYW5rIGxpbmVzCj4gdjM6Cj4g KiBDbGVhciB0aGUgcmVncyBiZWZvcmUgd3JpdGluZyAoUGF1bG8pCj4gdjI6Cj4gKiBSZW5hbWUg dG8gTUcgUEhZIGluIHRoZSBmdW5jdGlvbiBkZWYgKEphbmkgTmlrdWxhKQo+ICogUmViYXNlIG9u IHRvcCBvZiBuZXcgcmV2aXNpb24gb2Ygb3RoZXIgcGF0Y2hlcyBpbiBzZXJpZXMKPiAKPiBDYzog Um9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IENjOiBKYW5pIE5pa3VsYSA8 amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IE1hbmFzaSBOYXZh cmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFu b25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jIHwgMTM1Cj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMjkgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gaW5kZXggMDMxOTgyNS4uYzkxZTk2 ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTI0NTksNyArMjQ1OSwxMjgg QEAgc3RhdGljIHZvaWQKPiBpY2xfY29tYm9fcGh5X2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0 IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlJOTE1X1dSSVRFKElDTF9QT1JUX1RYX0RXNV9H UlAocG9ydCksIHZhbCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGljbF9kZGlfdnN3aW5nX3Nl cXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+IHUzMiBsZXZlbCwKPiArc3Rh dGljIHZvaWQgaWNsX21nX3BoeV9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNv ZGVyCj4gKmVuY29kZXIsCj4gKwkJCQkJICAgaW50IGxpbmtfY2xvY2ssCj4gKwkJCQkJICAgdTMy IGxldmVsKQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGVuY29kZXItCj4gPmJhc2UuZGV2KTsKPiArCWVudW0gcG9ydCBwb3J0ID0gZW5jb2Rlci0+ cG9ydDsKPiArCWNvbnN0IHN0cnVjdCBpY2xfbWdfcGh5X2RkaV9idWZfdHJhbnMgKmRkaV90cmFu c2xhdGlvbnM7Cj4gKwl1MzIgbl9lbnRyaWVzLCB2YWw7Cj4gKwlpbnQgbG47Cj4gKwo+ICsJbl9l bnRyaWVzID0gQVJSQVlfU0laRShpY2xfbWdfcGh5X2RkaV90cmFuc2xhdGlvbnMpOwo+ICsJZGRp X3RyYW5zbGF0aW9ucyA9IGljbF9tZ19waHlfZGRpX3RyYW5zbGF0aW9uczsKPiArCS8qIFRoZSB0 YWJsZSBkb2VzIG5vdCBoYXZlIHZhbHVlcyBmb3IgbGV2ZWwgMyBhbmQgbGV2ZWwgOS4KPiAqLwo+ ICsJaWYgKGxldmVsID49IG5fZW50cmllcyB8fCBsZXZlbCA9PSAzIHx8IGxldmVsID09IDkpIHsK PiArCQlEUk1fREVCVUdfS01TKCJEREkgdHJhbnNsYXRpb24gbm90IGZvdW5kIGZvciBsZXZlbAo+ ICVkLiBVc2luZyAlZCBpbnN0ZWFkLiIsCj4gKwkJCSAgICAgIGxldmVsLCBuX2VudHJpZXMgLSAy KTsKPiArCQlsZXZlbCA9IG5fZW50cmllcyAtIDI7Cj4gKwl9Cj4gKwo+ICsJLyogU2V0IE1HX1RY X0xJTktfUEFSQU1TIGNyaV91c2VfZnMzMiB0byAwLiAqLwo+ICsJZm9yIChsbiA9IDA7IGxuIDwg MjsgbG4rKykgewo+ICsJCXZhbCA9IEk5MTVfUkVBRChNR19UWDFfTElOS19QQVJBTVMocG9ydCwg bG4pKTsKPiArCQl2YWwgJj0gfkNSSV9VU0VfRlMzMjsKPiArCQlJOTE1X1dSSVRFKE1HX1RYMV9M SU5LX1BBUkFNUyhwb3J0LCBsbiksIHZhbCk7Cj4gKwo+ICsJCXZhbCA9IEk5MTVfUkVBRChNR19U WDJfTElOS19QQVJBTVMocG9ydCwgbG4pKTsKPiArCQl2YWwgJj0gfkNSSV9VU0VfRlMzMjsKPiAr CQlJOTE1X1dSSVRFKE1HX1RYMl9MSU5LX1BBUkFNUyhwb3J0LCBsbiksIHZhbCk7Cj4gKwl9Cj4g Kwo+ICsJLyogUHJvZ3JhbSBNR19UWF9TV0lOR0NUUkwgd2l0aCB2YWx1ZXMgZnJvbSB2c3dpbmcg dGFibGUgKi8KPiArCWZvciAobG4gPSAwOyBsbiA8IDI7IGxuKyspIHsKPiArCQl2YWwgPSBJOTE1 X1JFQUQoTUdfVFgxX1NXSU5HQ1RSTChwb3J0LCBsbikpOwo+ICsJCXZhbCAmPSB+Q1JJX1RYREVF TVBIX09WRVJSSURFXzE3XzEyX01BU0s7Cj4gKwkJdmFsIHw9IENSSV9UWERFRU1QSF9PVkVSUklE RV8xN18xMigKPiArCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZlbF0uY3JpX3R4ZGVlbXBoX292ZXJy aWQKPiBlXzE3XzEyKTsKPiArCQlJOTE1X1dSSVRFKE1HX1RYMV9TV0lOR0NUUkwocG9ydCwgbG4p LCB2YWwpOwo+ICsKPiArCQl2YWwgPSBJOTE1X1JFQUQoTUdfVFgyX1NXSU5HQ1RSTChwb3J0LCBs bikpOwo+ICsJCXZhbCAmPSB+Q1JJX1RYREVFTVBIX09WRVJSSURFXzE3XzEyX01BU0s7Cj4gKwkJ dmFsIHw9IENSSV9UWERFRU1QSF9PVkVSUklERV8xN18xMigKPiArCQkJZGRpX3RyYW5zbGF0aW9u c1tsZXZlbF0uY3JpX3R4ZGVlbXBoX292ZXJyaWQKPiBlXzE3XzEyKTsKPiArCQlJOTE1X1dSSVRF KE1HX1RYMl9TV0lOR0NUUkwocG9ydCwgbG4pLCB2YWwpOwo+ICsJfQo+ICsKPiArCS8qIFByb2dy YW0gTUdfVFhfRFJWQ1RSTCB3aXRoIHZhbHVlcyBmcm9tIHZzd2luZyB0YWJsZSAqLwo+ICsJZm9y IChsbiA9IDA7IGxuIDwgMjsgbG4rKykgewo+ICsJCXZhbCA9IEk5MTVfUkVBRChNR19UWDFfRFJW Q1RSTChwb3J0LCBsbikpOwo+ICsJCXZhbCAmPSB+KENSSV9UWERFRU1QSF9PVkVSUklERV8xMV82 X01BU0sgfAo+ICsJCQkgQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMF9NQVNLKTsKPiArCQl2YWwg fD0gQ1JJX1RYREVFTVBIX09WRVJSSURFXzVfMCgKPiArCQkJZGRpX3RyYW5zbGF0aW9uc1tsZXZl bF0uY3JpX3R4ZGVlbXBoX292ZXJyaWQKPiBlXzVfMCkgfAo+ICsJCQlDUklfVFhERUVNUEhfT1ZF UlJJREVfMTFfNigKPiArCQkJCWRkaV90cmFuc2xhdGlvbnNbbGV2ZWxdLmNyaV90eGRlZW1waAo+ IF9vdmVycmlkZV8xMV82KSB8Cj4gKwkJCUNSSV9UWERFRU1QSF9PVkVSUklERV9FTjsKPiArCQlJ OTE1X1dSSVRFKE1HX1RYMV9EUlZDVFJMKHBvcnQsIGxuKSwgdmFsKTsKPiArCj4gKwkJdmFsID0g STkxNV9SRUFEKE1HX1RYMl9EUlZDVFJMKHBvcnQsIGxuKSk7Cj4gKwkJdmFsICY9IH4oQ1JJX1RY REVFTVBIX09WRVJSSURFXzExXzZfTUFTSyB8Cj4gKwkJCSBDUklfVFhERUVNUEhfT1ZFUlJJREVf NV8wX01BU0spOwo+ICsJCXZhbCB8PSBDUklfVFhERUVNUEhfT1ZFUlJJREVfNV8wKAo+ICsJCQlk ZGlfdHJhbnNsYXRpb25zW2xldmVsXS5jcmlfdHhkZWVtcGhfb3ZlcnJpZAo+IGVfNV8wKSB8Cj4g KwkJCUNSSV9UWERFRU1QSF9PVkVSUklERV8xMV82KAo+ICsJCQkJZGRpX3RyYW5zbGF0aW9uc1ts ZXZlbF0uY3JpX3R4ZGVlbXBoCj4gX292ZXJyaWRlXzExXzYpIHwKPiArCQkJQ1JJX1RYREVFTVBI X09WRVJSSURFX0VOOwo+ICsJCUk5MTVfV1JJVEUoTUdfVFgyX0RSVkNUUkwocG9ydCwgbG4pLCB2 YWwpOwo+ICsKPiArCQkvKiBGSVhNRTogUHJvZ3JhbSBDUklfTE9BREdFTl9TRUwgYWZ0ZXIgdGhl IHNwZWMgaXMKPiB1cGRhdGVkICovCj4gKwl9Cj4gKwo+ICsJLyoKPiArCSAqIFByb2dyYW0gTUdf Q0xLSFVCPExOLCBwb3J0IGJlaW5nIHVzZWQ+IHdpdGggdmFsdWUgZnJvbQo+IGZyZXF1ZW5jeSB0 YWJsZQo+ICsJICogSW4gY2FzZSBvZiBMZWdhY3kgbW9kZSBvbiBNRyBQSFksIGJvdGggVFgxIGFu ZCBUWDIKPiBlbmFibGVkIHNvIHVzZSB0aGUKPiArCSAqIHZhbHVlcyBmcm9tIHRhYmxlIGZvciB3 aGljaCBUWDEgYW5kIFRYMiBlbmFibGVkLgo+ICsJICovCj4gKwlmb3IgKGxuID0gMDsgbG4gPCAy OyBsbisrKSB7Cj4gKwkJdmFsID0gSTkxNV9SRUFEKE1HX0NMS0hVQihwb3J0LCBsbikpOwo+ICsJ CWlmIChsaW5rX2Nsb2NrIDwgMzAwMDAwKQo+ICsJCQl2YWwgfD0gQ0ZHX0xPV19SQVRFX0xLUkVO X0VOOwo+ICsJCWVsc2UKPiArCQkJdmFsICY9IH5DRkdfTE9XX1JBVEVfTEtSRU5fRU47Cj4gKwkJ STkxNV9XUklURShNR19DTEtIVUIocG9ydCwgbG4pLCB2YWwpOwo+ICsJfQo+ICsKPiArCS8qIFBy b2dyYW0gdGhlIE1HX1RYX0RDQzxMTiwgcG9ydCBiZWluZyB1c2VkPiBiYXNlZCBvbiB0aGUKPiBs aW5rIGZyZXF1ZW5jeSAqLwo+ICsJZm9yIChsbiA9IDA7IGxuIDwgMjsgbG4rKykgewo+ICsJCXZh bCA9IEk5MTVfUkVBRChNR19UWDFfRENDKHBvcnQsIGxuKSk7Cj4gKwkJdmFsICY9IH5DRkdfQU1J X0NLX0RJVl9PVkVSUklERV9WQUxfTUFTSzsKPiArCQlpZiAobGlua19jbG9jayA8PSA1MDAwMDAp IHsKPiArCQkJdmFsICY9IH5DRkdfQU1JX0NLX0RJVl9PVkVSUklERV9FTjsKPiArCQl9IGVsc2Ug ewo+ICsJCQl2YWwgfD0gQ0ZHX0FNSV9DS19ESVZfT1ZFUlJJREVfRU4gfAo+ICsJCQkJQ0ZHX0FN SV9DS19ESVZfT1ZFUlJJREVfVkFMKDEpOwo+ICsJCX0KPiArCQlJOTE1X1dSSVRFKE1HX1RYMV9E Q0MocG9ydCwgbG4pLCB2YWwpOwo+ICsKPiArCQl2YWwgPSBJOTE1X1JFQUQoTUdfVFgyX0RDQyhw b3J0LCBsbikpOwo+ICsJCXZhbCAmPSB+Q0ZHX0FNSV9DS19ESVZfT1ZFUlJJREVfVkFMX01BU0s7 Cj4gKwkJaWYgKGxpbmtfY2xvY2sgPD0gNTAwMDAwKSB7Cj4gKwkJCXZhbCAmPSB+Q0ZHX0FNSV9D S19ESVZfT1ZFUlJJREVfRU47Cj4gKwkJfSBlbHNlIHsKPiArCQkJdmFsIHw9IENGR19BTUlfQ0tf RElWX09WRVJSSURFX0VOIHwKPiArCQkJCUNGR19BTUlfQ0tfRElWX09WRVJSSURFX1ZBTCgxKTsK PiArCQl9Cj4gKwkJSTkxNV9XUklURShNR19UWDJfRENDKHBvcnQsIGxuKSwgdmFsKTsKPiArCX0K PiArCj4gKwkvKiBQcm9ncmFtIE1HX1RYX1BJU09fUkVBRExPQUQgd2l0aCB2YWx1ZXMgZnJvbSB2 c3dpbmcgdGFibGUKPiAqLwo+ICsJZm9yIChsbiA9IDA7IGxuIDwgMjsgbG4rKykgewo+ICsJCXZh bCA9IEk5MTVfUkVBRChNR19UWDFfUElTT19SRUFETE9BRChwb3J0LCBsbikpOwo+ICsJCXZhbCB8 PSBDUklfQ0FMQ0lOSVQ7Cj4gKwkJSTkxNV9XUklURShNR19UWDFfUElTT19SRUFETE9BRChwb3J0 LCBsbiksIHZhbCk7Cj4gKwo+ICsJCXZhbCA9IEk5MTVfUkVBRChNR19UWDJfUElTT19SRUFETE9B RChwb3J0LCBsbikpOwo+ICsJCXZhbCB8PSBDUklfQ0FMQ0lOSVQ7Cj4gKwkJSTkxNV9XUklURShN R19UWDJfUElTT19SRUFETE9BRChwb3J0LCBsbiksIHZhbCk7Cj4gKwl9Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIGljbF9kZGlfdnN3aW5nX3NlcXVlbmNlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICsJCQkJICAgIGludCBsaW5rX2Nsb2NrLAo+ICsJCQkJICAgIHUzMiBsZXZlbCwK PiAgCQkJCSAgICBlbnVtIGludGVsX291dHB1dF90eXBlIHR5cGUpCj4gIHsKPiAgCWVudW0gcG9y dCBwb3J0ID0gZW5jb2Rlci0+cG9ydDsKPiBAQCAtMjQ2Nyw4ICsyNTg4LDcgQEAgc3RhdGljIHZv aWQgaWNsX2RkaV92c3dpbmdfc2VxdWVuY2Uoc3RydWN0Cj4gaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwgdTMyIGxldmVsLAo+ICAJaWYgKHBvcnQgPT0gUE9SVF9BIHx8IHBvcnQgPT0gUE9SVF9CKQo+ ICAJCWljbF9jb21ib19waHlfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBsZXZlbCwKPiB0 eXBlKTsKPiAgCWVsc2UKPiAtCQkvKiBOb3QgSW1wbGVtZW50ZWQgWWV0ICovCj4gLQkJV0FSTl9P TigxKTsKPiArCQlpY2xfbWdfcGh5X2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgbGlua19j bG9jaywKPiBsZXZlbCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB1aW50MzJfdCB0cmFuc2xhdGVfc2ln bmFsX2xldmVsKGludCBzaWduYWxfbGV2ZWxzKQo+IEBAIC0yNTAzLDcgKzI2MjMsOCBAQCB1MzIg Ynh0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwCj4gKmludGVsX2RwKQo+ICAJaW50IGxl dmVsID0gaW50ZWxfZGRpX2RwX2xldmVsKGludGVsX2RwKTsKPiAgCj4gIAlpZiAoSVNfSUNFTEFL RShkZXZfcHJpdikpCj4gLQkJaWNsX2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgbGV2ZWws IGVuY29kZXItCj4gPnR5cGUpOwo+ICsJCWljbF9kZGlfdnN3aW5nX3NlcXVlbmNlKGVuY29kZXIs IGludGVsX2RwLQo+ID5saW5rX3JhdGUsCj4gKwkJCQkJbGV2ZWwsIGVuY29kZXItPnR5cGUpOwo+ ICAJZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCj4gIAkJY25sX2RkaV92c3dpbmdf c2VxdWVuY2UoZW5jb2RlciwgbGV2ZWwsIGVuY29kZXItCj4gPnR5cGUpOwo+ICAJZWxzZQo+IEBA IC0yNjg0LDcgKzI4MDUsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChz dHJ1Y3QKPiBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ICAJaW50ZWxfZGlzcGxheV9wb3dlcl9n ZXQoZGV2X3ByaXYsIGRpZ19wb3J0LQo+ID5kZGlfaW9fcG93ZXJfZG9tYWluKTsKPiAgCj4gIAlp ZiAoSVNfSUNFTEFLRShkZXZfcHJpdikpCj4gLQkJaWNsX2RkaV92c3dpbmdfc2VxdWVuY2UoZW5j b2RlciwgbGV2ZWwsIGVuY29kZXItCj4gPnR5cGUpOwo+ICsJCWljbF9kZGlfdnN3aW5nX3NlcXVl bmNlKGVuY29kZXIsIGNydGNfc3RhdGUtCj4gPnBvcnRfY2xvY2ssCj4gKwkJCQkJbGV2ZWwsIGVu Y29kZXItPnR5cGUpOwo+ICAJZWxzZSBpZiAoSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikpCj4gIAkJ Y25sX2RkaV92c3dpbmdfc2VxdWVuY2UoZW5jb2RlciwgbGV2ZWwsIGVuY29kZXItCj4gPnR5cGUp Owo+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCj4gQEAgLTI3MTksNyArMjg0MSw4 IEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0Cj4gaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKPiAgCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBk aWdfcG9ydC0KPiA+ZGRpX2lvX3Bvd2VyX2RvbWFpbik7Cj4gIAo+ICAJaWYgKElTX0lDRUxBS0Uo ZGV2X3ByaXYpKQo+IC0JCWljbF9kZGlfdnN3aW5nX3NlcXVlbmNlKGVuY29kZXIsIGxldmVsLAo+ IElOVEVMX09VVFBVVF9IRE1JKTsKPiArCQlpY2xfZGRpX3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVy LCBjcnRjX3N0YXRlLQo+ID5wb3J0X2Nsb2NrLAo+ICsJCQkJCWxldmVsLCBJTlRFTF9PVVRQVVRf SERNSSk7Cj4gIAllbHNlIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkKPiAgCQljbmxfZGRp X3Zzd2luZ19zZXF1ZW5jZShlbmNvZGVyLCBsZXZlbCwKPiBJTlRFTF9PVVRQVVRfSERNSSk7Cj4g IAllbHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==