From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: Re: [PATCH 12/41] drm/bridge: analogix_dp: add fast link train for eDP Date: Thu, 16 Mar 2017 15:14:28 +0100 Message-ID: <3a7cc255-084f-7367-e9de-831a9bc96191@samsung.com> References: <20170310043305.17216-1-seanpaul@chromium.org> <20170310043305.17216-13-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <20170310043305.17216-13-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul , linux-rockchip@lists.infradead.org, dri-devel@lists.freedesktop.org Cc: zain wang , Lin Huang , Tomeu Vizoso , Douglas Anderson , Krzysztof Kozlowski , Yakir Yang List-Id: linux-rockchip.vger.kernel.org T24gMTAuMDMuMjAxNyAwNTozMiwgU2VhbiBQYXVsIHdyb3RlOgo+IEZyb206IHphaW4gd2FuZyA8 d3p6QHJvY2stY2hpcHMuY29tPgo+Cj4gV2Ugd291bGQgbWVldCBhIHNob3J0IGJsYWNrIHNjcmVl biB3aGVuIGV4aXQgUFNSIHdpdGggdGhlIGZ1bGwgbGluawo+IHRyYWluaW5nLCBJbiB0aGlzIGNh c2UsIHdlIHNob3VsZCB1c2UgZmFzdCBsaW5rIHRyYWluIGluc3RlYWQgb2YgZnVsbAo+IGxpbmsg dHJhaW5pbmcuCj4KPiBTaWduZWQtb2ZmLWJ5OiB6YWluIHdhbmcgPHd6ekByb2NrLWNoaXBzLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KPiAt LS0KPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMg fCAxNDIgKysrKysrKysrKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5h bG9naXgvYW5hbG9naXhfZHBfY29yZS5oIHwgICAzICsKPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMTQg aW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMgYi9kcml2ZXJzL2dwdS9k cm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwo+IGluZGV4IDY0ZDk0YTM0ODc0 ZC4uNWJjMTUxYjA5OTViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5h bG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9h bmFsb2dpeC9hbmFsb2dpeF9kcF9jb3JlLmMKPiBAQCAtMTAsMTcgKzEwLDE4IEBACj4gICogb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAgKi8KPiAgCj4gLSNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4KPiAtI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+IC0jaW5jbHVkZSA8 bGludXgvZXJyLmg+Cj4gICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KPiAtI2luY2x1ZGUgPGxpbnV4 L2lvLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KPiArI2luY2x1ZGUgPGxpbnV4 L2Vyci5oPgo+ICsjaW5jbHVkZSA8bGludXgvZ3Bpby5oPgo+ICAjaW5jbHVkZSA8bGludXgvaW50 ZXJydXB0Lmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pby5oPgo+ICsjaW5jbHVkZSA8bGludXgvaW9w b2xsLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29m Lmg+Cj4gICNpbmNsdWRlIDxsaW51eC9vZl9ncGlvLmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9ncGlv Lmg+Cj4gLSNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Bo eS9waHkuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+ICAKPiAgI2lu Y2x1ZGUgPGRybS9kcm1QLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4K PiBAQCAtMzUsNiArMzYsOCBAQAo+ICAKPiAgI2RlZmluZSB0b19kcChubSkJY29udGFpbmVyX29m KG5tLCBzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlLCBubSkKPiAgCj4gK3N0YXRpYyBjb25zdCBi b29sIHZlcmlmeV9mYXN0X3RyYWluaW5nOwo+ICsKClF1aXRlIG9kZCBkZWJ1ZyBzZW50aW5lbCwg SSBhbSBub3Qgc3VyZSBpZiBpdCBpcyBnb29kIHByYWN0aWNlIHRvIHVzZQpzdWNoIGNvbnN0cnVj dC4KCj4gIHN0cnVjdCBicmlkZ2VfaW5pdCB7Cj4gIAlzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 Owo+ICAJc3RydWN0IGRldmljZV9ub2RlICpub2RlOwo+IEBAIC01MzEsNyArNTM0LDcgQEAgc3Rh dGljIGludCBhbmFsb2dpeF9kcF9wcm9jZXNzX2VxdWFsaXplcl90cmFpbmluZyhzdHJ1Y3QgYW5h bG9naXhfZHBfZGV2aWNlICpkcCkKPiAgewo+ICAJaW50IGxhbmUsIGxhbmVfY291bnQsIHJldHZh bDsKPiAgCXUzMiByZWc7Cj4gLQl1OCBsaW5rX2FsaWduLCBsaW5rX3N0YXR1c1syXSwgYWRqdXN0 X3JlcXVlc3RbMl07Cj4gKwl1OCBsaW5rX2FsaWduLCBsaW5rX3N0YXR1c1syXSwgYWRqdXN0X3Jl cXVlc3RbMl0sIHNwcmVhZDsKPiAgCj4gIAl1c2xlZXBfcmFuZ2UoNDAwLCA0MDEpOwo+ICAKPiBA QCAtNTc0LDYgKzU3NywyMCBAQCBzdGF0aWMgaW50IGFuYWxvZ2l4X2RwX3Byb2Nlc3NfZXF1YWxp emVyX3RyYWluaW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICAJCWRldl9kYmco ZHAtPmRldiwgImZpbmFsIGxhbmUgY291bnQgPSAlLjJ4XG4iLAo+ICAJCQlkcC0+bGlua190cmFp bi5sYW5lX2NvdW50KTsKPiAgCj4gKwkJcmV0dmFsID0gZHJtX2RwX2RwY2RfcmVhZGIoJmRwLT5h dXgsIERQX01BWF9ET1dOU1BSRUFELAo+ICsJCQkJCSAgICZzcHJlYWQpOwo+ICsJCWlmIChyZXR2 YWwgIT0gMSkgewo+ICsJCQlkZXZfZXJyKGRwLT5kZXYsICJmYWlsZWQgdG8gcmVhZCBkb3duc3By ZWFkICVkXG4iLAoKY29tbWEgYmVmb3JlICVkID8KCj4gKwkJCQlyZXR2YWwpOwo+ICsJCQlkcC0+ ZmFzdF90cmFpbl9zdXBwb3J0ID0gZmFsc2U7Cj4gKwkJfSBlbHNlIHsKPiArCQkJZHAtPmZhc3Rf dHJhaW5fc3VwcG9ydCA9Cj4gKwkJCQkoc3ByZWFkICYgRFBfTk9fQVVYX0hBTkRTSEFLRV9MSU5L X1RSQUlOSU5HKSA/Cj4gKwkJCQkJdHJ1ZSA6IGZhbHNlOwoKZHAtPmZhc3RfdHJhaW5fc3VwcG9y dCA9ICEhKHNwcmVhZCAmIERQX05PX0FVWF9IQU5EU0hBS0VfTElOS19UUkFJTklORyk7Cm9yIGV2 ZW4KZHAtPmZhc3RfdHJhaW5fc3VwcG9ydCA9IHNwcmVhZCAmIERQX05PX0FVWF9IQU5EU0hBS0Vf TElOS19UUkFJTklORzsKaWYgZHAtPmZhc3RfdHJhaW5fc3VwcG9ydCBpcyBib29sCgo+ICsJCX0K PiArCQlkZXZfZGJnKGRwLT5kZXYsICJmYXN0IGxpbmsgdHJhaW5pbmcgJXNcbiIsCj4gKwkJCWRw LT5mYXN0X3RyYWluX3N1cHBvcnQgPyAic3VwcG9ydGVkIiA6ICJ1bnN1cHBvcnRlZCIpOwo+ICsK PiAgCQkvKiBzZXQgZW5oYW5jZWQgbW9kZSBpZiBhdmFpbGFibGUgKi8KPiAgCQlhbmFsb2dpeF9k cF9zZXRfZW5oYW5jZWRfbW9kZShkcCk7Cj4gIAkJZHAtPmxpbmtfdHJhaW4ubHRfc3RhdGUgPSBG SU5JU0hFRDsKPiBAQCAtNjMwLDEwICs2NDcsMTIgQEAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBf Z2V0X21heF9yeF9sYW5lX2NvdW50KHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwLAo+ICAJ KmxhbmVfY291bnQgPSBEUENEX01BWF9MQU5FX0NPVU5UKGRhdGEpOwo+ICB9Cj4gIAo+IC1zdGF0 aWMgdm9pZCBhbmFsb2dpeF9kcF9pbml0X3RyYWluaW5nKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZp Y2UgKmRwLAo+IC0JCQkJICAgICAgZW51bSBsaW5rX2xhbmVfY291bnRfdHlwZSBtYXhfbGFuZSwK PiAtCQkJCSAgICAgIGludCBtYXhfcmF0ZSkKPiArc3RhdGljIGludCBhbmFsb2dpeF9kcF9mdWxs X2xpbmtfdHJhaW4oc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gKwkJCQkgICAgICAg dTMyIG1heF9sYW5lcywgdTMyIG1heF9yYXRlKQo+ICB7Cj4gKwlpbnQgcmV0dmFsID0gMDsKPiAr CWJvb2wgdHJhaW5pbmdfZmluaXNoZWQgPSBmYWxzZTsKPiArCj4gIAkvKgo+ICAJICogTUFDUk9f UlNUIG11c3QgYmUgYXBwbGllZCBhZnRlciB0aGUgUExMX0xPQ0sgdG8gYXZvaWQKPiAgCSAqIHRo ZSBEUCBpbnRlciBwYWlyIHNrZXcgaXNzdWUgZm9yIGF0IGxlYXN0IDEwIHVzCj4gQEAgLTY1OSwx OCArNjc4LDEzIEBAIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2luaXRfdHJhaW5pbmcoc3RydWN0 IGFuYWxvZ2l4X2RwX2RldmljZSAqZHAsCj4gIAl9Cj4gIAo+ICAJLyogU2V0dXAgVFggbGFuZSBj b3VudCAmIHJhdGUgKi8KPiAtCWlmIChkcC0+bGlua190cmFpbi5sYW5lX2NvdW50ID4gbWF4X2xh bmUpCj4gLQkJZHAtPmxpbmtfdHJhaW4ubGFuZV9jb3VudCA9IG1heF9sYW5lOwo+ICsJaWYgKGRw LT5saW5rX3RyYWluLmxhbmVfY291bnQgPiBtYXhfbGFuZXMpCj4gKwkJZHAtPmxpbmtfdHJhaW4u bGFuZV9jb3VudCA9IG1heF9sYW5lczsKPiAgCWlmIChkcC0+bGlua190cmFpbi5saW5rX3JhdGUg PiBtYXhfcmF0ZSkKPiAgCQlkcC0+bGlua190cmFpbi5saW5rX3JhdGUgPSBtYXhfcmF0ZTsKPiAg Cj4gIAkvKiBBbGwgRFAgYW5hbG9nIG1vZHVsZSBwb3dlciB1cCAqLwo+ICAJYW5hbG9naXhfZHBf c2V0X2FuYWxvZ19wb3dlcl9kb3duKGRwLCBQT1dFUl9BTEwsIDApOwo+IC19Cj4gLQo+IC1zdGF0 aWMgaW50IGFuYWxvZ2l4X2RwX3N3X2xpbmtfdHJhaW5pbmcoc3RydWN0IGFuYWxvZ2l4X2RwX2Rl dmljZSAqZHApCj4gLXsKPiAtCWludCByZXR2YWwgPSAwLCB0cmFpbmluZ19maW5pc2hlZCA9IDA7 Cj4gIAo+ICAJZHAtPmxpbmtfdHJhaW4ubHRfc3RhdGUgPSBTVEFSVDsKPiAgCj4gQEAgLTcwNSwy MiArNzE5LDg4IEBAIHN0YXRpYyBpbnQgYW5hbG9naXhfZHBfc3dfbGlua190cmFpbmluZyhzdHJ1 Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkKPiAgCXJldHVybiByZXR2YWw7Cj4gIH0KPiAgCj4g LXN0YXRpYyBpbnQgYW5hbG9naXhfZHBfc2V0X2xpbmtfdHJhaW4oc3RydWN0IGFuYWxvZ2l4X2Rw X2RldmljZSAqZHAsCj4gLQkJCQkgICAgICB1MzIgY291bnQsIHUzMiBid3R5cGUpCj4gK3N0YXRp YyBpbnQgYW5hbG9naXhfZHBfZmFzdF9saW5rX3RyYWluKHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZp Y2UgKmRwKQo+ICB7Cj4gLQlpbnQgaTsKPiAtCWludCByZXR2YWw7Cj4gKwlpbnQgaSwgcmV0Owo+ ICsJdTggbGlua19hbGlnbiwgbGlua19zdGF0dXNbMl07Cj4gKwllbnVtIHBsbF9zdGF0dXMgc3Rh dHVzOwo+ICAKPiAtCWZvciAoaSA9IDA7IGkgPCBEUF9USU1FT1VUX0xPT1BfQ09VTlQ7IGkrKykg ewo+IC0JCWFuYWxvZ2l4X2RwX2luaXRfdHJhaW5pbmcoZHAsIGNvdW50LCBid3R5cGUpOwo+IC0J CXJldHZhbCA9IGFuYWxvZ2l4X2RwX3N3X2xpbmtfdHJhaW5pbmcoZHApOwo+IC0JCWlmIChyZXR2 YWwgPT0gMCkKPiAtCQkJYnJlYWs7Cj4gKwlhbmFsb2dpeF9kcF9yZXNldF9tYWNybyhkcCk7Cj4g IAo+IC0JCXVzbGVlcF9yYW5nZSgxMDAsIDExMCk7Cj4gKwlhbmFsb2dpeF9kcF9zZXRfbGlua19i YW5kd2lkdGgoZHAsIGRwLT5saW5rX3RyYWluLmxpbmtfcmF0ZSk7Cj4gKwlhbmFsb2dpeF9kcF9z ZXRfbGFuZV9jb3VudChkcCwgZHAtPmxpbmtfdHJhaW4ubGFuZV9jb3VudCk7Cj4gKwo+ICsJZm9y IChpID0gMDsgaSA8IGRwLT5saW5rX3RyYWluLmxhbmVfY291bnQ7IGkrKykgewo+ICsJCWFuYWxv Z2l4X2RwX3NldF9sYW5lX2xpbmtfdHJhaW5pbmcoZHAsCj4gKwkJCWRwLT5saW5rX3RyYWluLnRy YWluaW5nX2xhbmVbaV0sIGkpOwo+ICAJfQo+ICAKPiAtCXJldHVybiByZXR2YWw7Cj4gKwlyZXQg PSByZWFkeF9wb2xsX3RpbWVvdXQoYW5hbG9naXhfZHBfZ2V0X3BsbF9sb2NrX3N0YXR1cywgZHAs IHN0YXR1cywKPiArCQkJCSBzdGF0dXMgIT0gUExMX1VOTE9DS0VELCAxMjAsCj4gKwkJCQkgMTIw ICogRFBfVElNRU9VVF9MT09QX0NPVU5UKTsKPiArCWlmIChyZXQpIHsKPiArCQlEUk1fREVWX0VS Uk9SKGRwLT5kZXYsICJXYWl0IGZvciBwbGwgbG9jayBmYWlsZWQgJWRcbiIsIHJldCk7Cj4gKwkJ cmV0dXJuIHJldDsKPiArCX0KPiArCj4gKwkvKiBzb3VyY2UgU2V0IHRyYWluaW5nIHBhdHRlcm4g MSAqLwo+ICsJYW5hbG9naXhfZHBfc2V0X3RyYWluaW5nX3BhdHRlcm4oZHAsIFRSQUlOSU5HX1BU TjEpOwo+ICsJLyogRnJvbSBEUCBzcGVjLCBwYXR0ZXJuIG11c3QgYmUgb24tc2NyZWVuIGZvciBh IG1pbmltdW0gNTAwdXMgKi8KPiArCXVzbGVlcF9yYW5nZSg1MDAsIDYwMCk7Cj4gKwo+ICsJYW5h bG9naXhfZHBfc2V0X3RyYWluaW5nX3BhdHRlcm4oZHAsIFRSQUlOSU5HX1BUTjIpOwo+ICsJLyog RnJvbSBEUCBzcGVjLCBwYXR0ZXJuIG11c3QgYmUgb24tc2NyZWVuIGZvciBhIG1pbmltdW0gNTAw dXMgKi8KPiArCXVzbGVlcF9yYW5nZSg1MDAsIDYwMCk7Cj4gKwo+ICsJLyogVE9ETzogZW5oYW5j ZWRfbW9kZT8qLwo+ICsJYW5hbG9naXhfZHBfc2V0X3RyYWluaW5nX3BhdHRlcm4oZHAsIERQX05P TkUpOwo+ICsKPiArCS8qCj4gKwkgKiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBpc3N1ZXMgd2l0aCBm YXN0IGxpbmsgdHJhaW5pbmcsIGRpc2FibGUgZm9yIG1vcmUKPiArCSAqIHNwZWVkCj4gKwkgKi8K PiArCWlmICh2ZXJpZnlfZmFzdF90cmFpbmluZykgewogWW91IGNhbiBtb3ZlIGRlZmluaXRpb25z IG9mIGxpbmtfc3RhdHVzIGFuZCBvdGhlciBsb2NhbCB2YXJpYWJsZXMgaGVyZS4KPiArCQlyZXQg PSBkcm1fZHBfZHBjZF9yZWFkYigmZHAtPmF1eCwgRFBfTEFORV9BTElHTl9TVEFUVVNfVVBEQVRF RCwKPiArCQkJCQkmbGlua19hbGlnbik7Cj4gKwkJaWYgKHJldCA8IDApIHsKPiArCQkJRFJNX0RF Vl9FUlJPUihkcC0+ZGV2LCAiUmVhZCBhbGlnbiBzdGF0dXMgZmFpbGVkICVkXG4iLAo+ICsJCQkJ ICAgICAgcmV0KTsKPiArCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gKwo+ICsJCXJldCA9IGRybV9k cF9kcGNkX3JlYWQoJmRwLT5hdXgsIERQX0xBTkUwXzFfU1RBVFVTLCBsaW5rX3N0YXR1cywKPiAr CQkJCSAgICAgICAyKTsKPiArCQlpZiAocmV0IDwgMCkgewo+ICsJCQlEUk1fREVWX0VSUk9SKGRw LT5kZXYsICJSZWFkIGxpbmsgc3RhdHVzIGZhaWxlZCAlZFxuIiwKPiArCQkJCSAgICAgIHJldCk7 Cj4gKwkJCXJldHVybiByZXQ7Cj4gKwkJfQo+ICsKPiArCQlpZiAoYW5hbG9naXhfZHBfY2xvY2tf cmVjb3Zlcnlfb2sobGlua19zdGF0dXMsCj4gKwkJCQkJCSAgZHAtPmxpbmtfdHJhaW4ubGFuZV9j b3VudCkpIHsKPiArCQkJRFJNX0RFVl9FUlJPUihkcC0+ZGV2LCAiQ2xvY2sgcmVjb3ZlcnkgZmFp bGVkXG4iKTsKPiArCQkJYW5hbG9naXhfZHBfcmVkdWNlX2xpbmtfcmF0ZShkcCk7Cj4gKwkJCXJl dHVybiAtRUlPOwo+ICsJCX0KPiArCj4gKwkJaWYgKGFuYWxvZ2l4X2RwX2NoYW5uZWxfZXFfb2so bGlua19zdGF0dXMsIGxpbmtfYWxpZ24sCj4gKwkJCQkJICAgICAgZHAtPmxpbmtfdHJhaW4ubGFu ZV9jb3VudCkpIHsKPiArCQkJRFJNX0RFVl9FUlJPUihkcC0+ZGV2LCAiQ2hhbm5lbCBFUSBmYWls ZWRcbiIpOwo+ICsJCQlhbmFsb2dpeF9kcF9yZWR1Y2VfbGlua19yYXRlKGRwKTsKPiArCQkJcmV0 dXJuIC1FSU87Cj4gKwkJfQo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW50IGFuYWxvZ2l4X2RwX3RyYWluX2xpbmsoc3RydWN0IGFuYWxvZ2l4X2RwX2RldmljZSAq ZHApCj4gK3sKPiArCWlmIChkcC0+ZmFzdF90cmFpbl9zdXBwb3J0KQo+ICsJCXJldHVybiBhbmFs b2dpeF9kcF9mYXN0X2xpbmtfdHJhaW4oZHApOwo+ICsKPiArCXJldHVybiBhbmFsb2dpeF9kcF9m dWxsX2xpbmtfdHJhaW4oZHAsIGRwLT52aWRlb19pbmZvLm1heF9sYW5lX2NvdW50LAo+ICsJCQkJ CSAgIGRwLT52aWRlb19pbmZvLm1heF9saW5rX3JhdGUpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50 IGFuYWxvZ2l4X2RwX2NvbmZpZ192aWRlbyhzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpkcCkK PiBAQCAtODUzLDEwICs5MzMsMTAgQEAgc3RhdGljIHZvaWQgYW5hbG9naXhfZHBfY29tbWl0KHN0 cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2UgKmRwKQo+ICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byBk aXNhYmxlIHRoZSBwYW5lbFxuIik7Cj4gIAl9Cj4gIAo+IC0JcmV0ID0gYW5hbG9naXhfZHBfc2V0 X2xpbmtfdHJhaW4oZHAsIGRwLT52aWRlb19pbmZvLm1heF9sYW5lX2NvdW50LAo+IC0JCQkJCSBk cC0+dmlkZW9faW5mby5tYXhfbGlua19yYXRlKTsKPiArCXJldCA9IHJlYWR4X3BvbGxfdGltZW91 dChhbmFsb2dpeF9kcF90cmFpbl9saW5rLCBkcCwgcmV0LCAhcmV0LCAxMDAsCj4gKwkJCQkgRFBf VElNRU9VVF9UUkFJTklOR19VUyAqIDUpOwo+ICAJaWYgKHJldCkgewo+IC0JCWRldl9lcnIoZHAt PmRldiwgInVuYWJsZSB0byBkbyBsaW5rIHRyYWluXG4iKTsKPiArCQlkZXZfZXJyKGRwLT5kZXYs ICJ1bmFibGUgdG8gZG8gbGluayB0cmFpbiwgcmV0PSVkXG4iLCByZXQpOwoKQW5kIGhlcmUgd2Ug aGF2ZSAiLCByZXQ9JWRcbiIuIE1heWJlIGl0IHdvdWxkIGJlIGdvb2QgdG8gbWFrZSBpdApjb25z aXN0ZW50IGFjcm9zcyB3aG9sZSBkcml2ZXIuCkFub3RoZXIgaXNzdWUgd2l0aCBjb25zaXN0ZW5j eSBpbiBEUk1fREVWX0VSUk9SIHZzIGRldl9lcnIuCgpSZWdhcmRzCkFuZHJ6ZWoKCj4gIAkJcmV0 dXJuOwo+ICAJfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC9hbmFsb2dpeF9kcF9jb3JlLmggYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4 L2FuYWxvZ2l4X2RwX2NvcmUuaAo+IGluZGV4IGUxMzVhNDJjYjE5ZS4uOTIwNjA3ZDdlYjNlIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBf Y29yZS5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9hbmFsb2dpeF9k cF9jb3JlLmgKPiBAQCAtMjAsNiArMjAsOCBAQAo+ICAjZGVmaW5lIE1BWF9DUl9MT09QIDUKPiAg I2RlZmluZSBNQVhfRVFfTE9PUCA1Cj4gIAo+ICsvKiBUcmFpbmluZyB0YWtlcyAyMm1zIGlmIEFV WCBjaGFubmVsIGNvbW0gZmFpbHMuIFVzZSB0aGlzIGFzIHJldHJ5IGludGVydmFsICovCj4gKyNk ZWZpbmUgRFBfVElNRU9VVF9UUkFJTklOR19VUwkJCTIyMDAwCj4gICNkZWZpbmUgRFBfVElNRU9V VF9QU1JfTE9PUF9NUwkJCTMwMAo+ICAKPiAgLyogRFBfTUFYX0xBTkVfQ09VTlQgKi8KPiBAQCAt MTcxLDYgKzE3Myw3IEBAIHN0cnVjdCBhbmFsb2dpeF9kcF9kZXZpY2Ugewo+ICAJaW50CQkJaHBk X2dwaW87Cj4gIAlib29sICAgICAgICAgICAgICAgICAgICBmb3JjZV9ocGQ7Cj4gIAlib29sCQkJ cHNyX2VuYWJsZTsKPiArCWJvb2wJCQlmYXN0X3RyYWluX3N1cHBvcnQ7Cj4gIAo+ICAJc3RydWN0 IG11dGV4CQlwYW5lbF9sb2NrOwo+ICAJYm9vbAkJCXBhbmVsX2lzX21vZGVzZXQ7CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==