From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: Re: [PATCH 05/21] drm/msm/dsi: adjust dsi timing for dual dsi mode Date: Mon, 16 Jul 2018 19:47:40 +0530 Message-ID: <11208439-2452-7644-c7b5-ba291852917b@codeaurora.org> References: <20180709173200.238457-1-seanpaul@chromium.org> <20180709173200.238457-6-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180709173200.238457-6-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Sean Paul , abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, chandanu-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, skolluku-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, dovizu-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org Cc: Daniel Vetter , Lloyd Atkinson , Daniel Mack , Stefan Agner , Neil Armstrong List-Id: linux-arm-msm@vger.kernel.org CgpPbiBNb25kYXkgMDkgSnVseSAyMDE4IDExOjAxIFBNLCBTZWFuIFBhdWwgd3JvdGU6Cj4gRnJv bTogQ2hhbmRhbiBVZGRhcmFqdSA8Y2hhbmRhbnVAY29kZWF1cm9yYS5vcmc+Cj4gCj4gRm9yIGR1 YWwgZHNpIG1vZGUsIHRoZSBob3Jpem9udGFsIHRpbWluZyBuZWVkcwo+IHRvIGJlIGRpdmlkZWQg YnkgaGFsZiBzaW5jZSBib3RoIHRoZSBkc2kgY29udHJvbGxlcnMKPiB3aWxsIGJlIGRyaXZpbmcg dGhpcyBwYW5lbC4gQWRqdXN0IHRoZSBwaXhlbCBjbG9jayBhbmQKPiBEU0kgdGltaW5nIGFjY29y ZGluZ2x5LgoKUmV2aWV3ZWQtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5v cmc+Cgo+IAo+IENoYW5nZXMgaW4gVjI6Cj4gLS1SZW1vdmVkIENoYW5nZS1JZCBmcm9tIHRoZSBj b21taXQgdGV4dCB0YWdzLgo+IAo+IENoYW5nZXMgaW4gVjM6Cj4gLS1JbnN0ZWFkIG9mIGFkanVz dGluZyB0aGUgRFJNIG1vZGUgc3RydWN0dXJlLCBkaXZpZGUKPiAgICB0aGUgY2xvY2tzIGFuZCBo b3Jpem9udGFsIHRpbWluZ3MgaW4gRFNJIGhvc3QganVzdAo+ICAgIGJlZm9yZSBjb25maWd1cmlu ZyB0aGUgdmFsdWVzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENoYW5kYW4gVWRkYXJhanUgPGNoYW5k YW51QGNvZGVhdXJvcmEub3JnPgo+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxA Y2hyb21pdW0ub3JnPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmggICAg ICAgICB8ICA2ICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYyAgICB8 IDU1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvZHNpX21hbmFnZXIuYyB8ICA3ICsrLS0KPiAgIDMgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL2RzaS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKPiBpbmRleCA3 MGQ5YTlhNDdhY2QuLjAxYzM4ZjY3ZDY5OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9kc2kuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5oCj4gQEAg LTE2Miw3ICsxNjIsOCBAQCB2b2lkIG1zbV9kc2lfaG9zdF9jbWRfeGZlcl9jb21taXQoc3RydWN0 IG1pcGlfZHNpX2hvc3QgKmhvc3QsCj4gICBpbnQgbXNtX2RzaV9ob3N0X2VuYWJsZShzdHJ1Y3Qg bWlwaV9kc2lfaG9zdCAqaG9zdCk7Cj4gICBpbnQgbXNtX2RzaV9ob3N0X2Rpc2FibGUoc3RydWN0 IG1pcGlfZHNpX2hvc3QgKmhvc3QpOwo+ICAgaW50IG1zbV9kc2lfaG9zdF9wb3dlcl9vbihzdHJ1 Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKPiAtCQkJc3RydWN0IG1zbV9kc2lfcGh5X3NoYXJlZF90 aW1pbmdzICpwaHlfc2hhcmVkX3RpbWluZ3MpOwo+ICsJCQlzdHJ1Y3QgbXNtX2RzaV9waHlfc2hh cmVkX3RpbWluZ3MgKnBoeV9zaGFyZWRfdGltaW5ncywKPiArCQkJYm9vbCBpc19kdWFsX2RzaSk7 Cj4gICBpbnQgbXNtX2RzaV9ob3N0X3Bvd2VyX29mZihzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9z dCk7Cj4gICBpbnQgbXNtX2RzaV9ob3N0X3NldF9kaXNwbGF5X21vZGUoc3RydWN0IG1pcGlfZHNp X2hvc3QgKmhvc3QsCj4gICAJCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiBA QCAtMTc1LDcgKzE3Niw4IEBAIGludCBtc21fZHNpX2hvc3Rfc2V0X3NyY19wbGwoc3RydWN0IG1p cGlfZHNpX2hvc3QgKmhvc3QsCj4gICAJCQlzdHJ1Y3QgbXNtX2RzaV9wbGwgKnNyY19wbGwpOwo+ ICAgdm9pZCBtc21fZHNpX2hvc3RfcmVzZXRfcGh5KHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0 KTsKPiAgIHZvaWQgbXNtX2RzaV9ob3N0X2dldF9waHlfY2xrX3JlcShzdHJ1Y3QgbWlwaV9kc2lf aG9zdCAqaG9zdCwKPiAtCXN0cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVxdWVzdCAqY2xrX3JlcSk7 Cj4gKwlzdHJ1Y3QgbXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNsa19yZXEsCj4gKwlib29sIGlz X2R1YWxfZHNpKTsKPiAgIHZvaWQgbXNtX2RzaV9ob3N0X2Rlc3Ryb3koc3RydWN0IG1pcGlfZHNp X2hvc3QgKmhvc3QpOwo+ICAgaW50IG1zbV9kc2lfaG9zdF9tb2Rlc2V0X2luaXQoc3RydWN0IG1p cGlfZHNpX2hvc3QgKmhvc3QsCj4gICAJCQkJCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYwo+IGluZGV4IDJmMWEyNzgwNjU4YS4uNjcxMDM5Yjdi NzViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCj4gQEAgLTExOCw2ICsxMTgs NyBAQCBzdHJ1Y3QgbXNtX2RzaV9ob3N0IHsKPiAgIAlzdHJ1Y3QgY2xrICpieXRlX2ludGZfY2xr Owo+ICAgCj4gICAJdTMyIGJ5dGVfY2xrX3JhdGU7Cj4gKwl1MzIgcGl4ZWxfY2xrX3JhdGU7Cj4g ICAJdTMyIGVzY19jbGtfcmF0ZTsKPiAgIAo+ICAgCS8qIERTSSB2MiBzcGVjaWZpYyBjbG9ja3Mg Ki8KPiBAQCAtNTExLDcgKzUxMiw3IEBAIHN0YXRpYyBpbnQgZHNpX2xpbmtfY2xrX2VuYWJsZV82 ZyhzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKPiAgIAkJZ290byBlcnJvcjsKPiAgIAl9 Cj4gICAKPiAtCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+cGl4ZWxfY2xrLCBtc21faG9z dC0+bW9kZS0+Y2xvY2sgKiAxMDAwKTsKPiArCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+ cGl4ZWxfY2xrLCBtc21faG9zdC0+cGl4ZWxfY2xrX3JhdGUpOwo+ICAgCWlmIChyZXQpIHsKPiAg IAkJcHJfZXJyKCIlczogRmFpbGVkIHRvIHNldCByYXRlIHBpeGVsIGNsaywgJWRcbiIsIF9fZnVu Y19fLCByZXQpOwo+ICAgCQlnb3RvIGVycm9yOwo+IEBAIC01OTIsNyArNTkzLDcgQEAgc3RhdGlj IGludCBkc2lfbGlua19jbGtfZW5hYmxlX3YyKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0 KQo+ICAgCQlnb3RvIGVycm9yOwo+ICAgCX0KPiAgIAo+IC0JcmV0ID0gY2xrX3NldF9yYXRlKG1z bV9ob3N0LT5waXhlbF9jbGssIG1zbV9ob3N0LT5tb2RlLT5jbG9jayAqIDEwMDApOwo+ICsJcmV0 ID0gY2xrX3NldF9yYXRlKG1zbV9ob3N0LT5waXhlbF9jbGssIG1zbV9ob3N0LT5waXhlbF9jbGtf cmF0ZSk7Cj4gICAJaWYgKHJldCkgewo+ICAgCQlwcl9lcnIoIiVzOiBGYWlsZWQgdG8gc2V0IHJh dGUgcGl4ZWwgY2xrLCAlZFxuIiwgX19mdW5jX18sIHJldCk7Cj4gICAJCWdvdG8gZXJyb3I7Cj4g QEAgLTY2Miw3ICs2NjMsNyBAQCBzdGF0aWMgdm9pZCBkc2lfbGlua19jbGtfZGlzYWJsZShzdHJ1 Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKPiAgIAl9Cj4gICB9Cj4gICAKPiAtc3RhdGljIGlu dCBkc2lfY2FsY19jbGtfcmF0ZShzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKPiArc3Rh dGljIGludCBkc2lfY2FsY19jbGtfcmF0ZShzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCwg Ym9vbCBpc19kdWFsX2RzaSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSA9IG1zbV9ob3N0LT5tb2RlOwo+ICAgCWNvbnN0IHN0cnVjdCBtc21fZHNpX2NmZ19oYW5kbGVy ICpjZmdfaG5kID0gbXNtX2hvc3QtPmNmZ19obmQ7Cj4gQEAgLTY3NiwxNCArNjc3LDI4IEBAIHN0 YXRpYyBpbnQgZHNpX2NhbGNfY2xrX3JhdGUoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3Qp Cj4gICAJfQo+ICAgCj4gICAJcGNsa19yYXRlID0gbW9kZS0+Y2xvY2sgKiAxMDAwOwo+ICsKPiAr CS8qCj4gKwkgKiBGb3IgZHVhbCBEU0kgbW9kZSwgdGhlIGN1cnJlbnQgRFJNIG1vZGUgaGFzCj4g KwkgKiB0aGUgY29tcGxldGUgd2lkdGggb2YgdGhlIHBhbmVsLiBTaW5jZSwgdGhlIGNvbXBsZXRl Cj4gKwkgKiBwYW5lbCBpcyBkcml2ZW4gYnkgdHdvIERTSSBjb250cm9sbGVycywgdGhlCj4gKwkg KiB0aGUgY2xvY2sgcmF0ZXMgaGF2ZSB0byBiZSBzcGxpdCBiZXR3ZWVuCj4gKwkgKiB0aGUgdHdv IGRzaSBjb250cm9sbGVycy4gQWRqdXN0IHRoZSBieXRlIGFuZAo+ICsJICogcGl4ZWwgY2xvY2sg cmF0ZXMgZm9yIGVhY2ggZHNpIGhvc3QgYWNjb3JkaW5nbHkuCj4gKwkgKi8KPiArCWlmIChpc19k dWFsX2RzaSkKPiArCQlwY2xrX3JhdGUgLz0gMjsKPiArCj4gICAJaWYgKGxhbmVzID4gMCkgewo+ ICAgCQltc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSA9IChwY2xrX3JhdGUgKiBicHApIC8gKDggKiBs YW5lcyk7Cj4gICAJfSBlbHNlIHsKPiAgIAkJcHJfZXJyKCIlczogZm9yY2luZyBtZHNzX2RzaSBs YW5lcyB0byAxXG4iLCBfX2Z1bmNfXyk7Cj4gICAJCW1zbV9ob3N0LT5ieXRlX2Nsa19yYXRlID0g KHBjbGtfcmF0ZSAqIGJwcCkgLyA4Owo+ICAgCX0KPiArCW1zbV9ob3N0LT5waXhlbF9jbGtfcmF0 ZSA9IHBjbGtfcmF0ZTsKPiAgIAo+IC0JREJHKCJwY2xrPSVkLCBiY2xrPSVkIiwgcGNsa19yYXRl LCBtc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSk7Cj4gKwlEQkcoInBjbGs9JWQsIGJjbGs9JWQiLCBt c21faG9zdC0+cGl4ZWxfY2xrX3JhdGUsCj4gKwkJCQltc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSk7 Cj4gICAKPiAgIAltc21faG9zdC0+ZXNjX2Nsa19yYXRlID0gY2xrX2dldF9yYXRlKG1zbV9ob3N0 LT5lc2NfY2xrKTsKPiAgIAo+IEBAIC04ODUsNyArOTAwLDcgQEAgc3RhdGljIHZvaWQgZHNpX2N0 cmxfY29uZmlnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0LCBib29sIGVuYWJsZSwKPiAg IAlkc2lfd3JpdGUobXNtX2hvc3QsIFJFR19EU0lfQ1RSTCwgZGF0YSk7Cj4gICB9Cj4gICAKPiAt c3RhdGljIHZvaWQgZHNpX3RpbWluZ19zZXR1cChzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9z dCkKPiArc3RhdGljIHZvaWQgZHNpX3RpbWluZ19zZXR1cChzdHJ1Y3QgbXNtX2RzaV9ob3N0ICpt c21faG9zdCwgYm9vbCBpc19kdWFsX2RzaSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSA9IG1zbV9ob3N0LT5tb2RlOwo+ICAgCXUzMiBoc19zdGFydCA9IDAsIHZzX3N0 YXJ0ID0gMDsgLyogdGFrZSBzeW5jIHN0YXJ0IGFzIDAgKi8KPiBAQCAtODk3LDEwICs5MTIsMjYg QEAgc3RhdGljIHZvaWQgZHNpX3RpbWluZ19zZXR1cChzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21f aG9zdCkKPiAgIAl1MzIgaGFfZW5kID0gaGFfc3RhcnQgKyBtb2RlLT5oZGlzcGxheTsKPiAgIAl1 MzIgdmFfc3RhcnQgPSB2X3RvdGFsIC0gbW9kZS0+dnN5bmNfc3RhcnQ7Cj4gICAJdTMyIHZhX2Vu ZCA9IHZhX3N0YXJ0ICsgbW9kZS0+dmRpc3BsYXk7Cj4gKwl1MzIgaGRpc3BsYXkgPSBtb2RlLT5o ZGlzcGxheTsKPiAgIAl1MzIgd2M7Cj4gICAKPiAgIAlEQkcoIiIpOwo+ICAgCj4gKwkvKgo+ICsJ ICogRm9yIGR1YWwgRFNJIG1vZGUsIHRoZSBjdXJyZW50IERSTSBtb2RlIGhhcwo+ICsJICogdGhl IGNvbXBsZXRlIHdpZHRoIG9mIHRoZSBwYW5lbC4gU2luY2UsIHRoZSBjb21wbGV0ZQo+ICsJICog cGFuZWwgaXMgZHJpdmVuIGJ5IHR3byBEU0kgY29udHJvbGxlcnMsIHRoZSBob3Jpem9udGFsCj4g KwkgKiB0aW1pbmdzIGhhdmUgdG8gYmUgc3BsaXQgYmV0d2VlbiB0aGUgdHdvIGRzaSBjb250cm9s bGVycy4KPiArCSAqIEFkanVzdCB0aGUgRFNJIGhvc3QgdGltaW5nIHZhbHVlcyBhY2NvcmRpbmds eS4KPiArCSAqLwo+ICsJaWYgKGlzX2R1YWxfZHNpKSB7Cj4gKwkJaF90b3RhbCAvPSAyOwo+ICsJ CWhzX2VuZCAvPSAyOwo+ICsJCWhhX3N0YXJ0IC89IDI7Cj4gKwkJaGFfZW5kIC89IDI7Cj4gKwkJ aGRpc3BsYXkgLz0gMjsKPiArCX0KPiArCj4gICAJaWYgKG1zbV9ob3N0LT5tb2RlX2ZsYWdzICYg TUlQSV9EU0lfTU9ERV9WSURFTykgewo+ICAgCQlkc2lfd3JpdGUobXNtX2hvc3QsIFJFR19EU0lf QUNUSVZFX0gsCj4gICAJCQlEU0lfQUNUSVZFX0hfU1RBUlQoaGFfc3RhcnQpIHwKPiBAQCAtOTIx LDcgKzk1Miw3IEBAIHN0YXRpYyB2b2lkIGRzaV90aW1pbmdfc2V0dXAoc3RydWN0IG1zbV9kc2lf aG9zdCAqbXNtX2hvc3QpCj4gICAJCQlEU0lfQUNUSVZFX1ZTWU5DX1ZQT1NfRU5EKHZzX2VuZCkp Owo+ICAgCX0gZWxzZSB7CQkvKiBjb21tYW5kIG1vZGUgKi8KPiAgIAkJLyogaW1hZ2UgZGF0YSBh bmQgMSBieXRlIHdyaXRlX21lbW9yeV9zdGFydCBjbWQgKi8KPiAtCQl3YyA9IG1vZGUtPmhkaXNw bGF5ICogZHNpX2dldF9icHAobXNtX2hvc3QtPmZvcm1hdCkgLyA4ICsgMTsKPiArCQl3YyA9IGhk aXNwbGF5ICogZHNpX2dldF9icHAobXNtX2hvc3QtPmZvcm1hdCkgLyA4ICsgMTsKPiAgIAo+ICAg CQlkc2lfd3JpdGUobXNtX2hvc3QsIFJFR19EU0lfQ01EX01EUF9TVFJFQU1fQ1RSTCwKPiAgIAkJ CURTSV9DTURfTURQX1NUUkVBTV9DVFJMX1dPUkRfQ09VTlQod2MpIHwKPiBAQCAtOTMxLDcgKzk2 Miw3IEBAIHN0YXRpYyB2b2lkIGRzaV90aW1pbmdfc2V0dXAoc3RydWN0IG1zbV9kc2lfaG9zdCAq bXNtX2hvc3QpCj4gICAJCQkJCU1JUElfRFNJX0RDU19MT05HX1dSSVRFKSk7Cj4gICAKPiAgIAkJ ZHNpX3dyaXRlKG1zbV9ob3N0LCBSRUdfRFNJX0NNRF9NRFBfU1RSRUFNX1RPVEFMLAo+IC0JCQlE U0lfQ01EX01EUF9TVFJFQU1fVE9UQUxfSF9UT1RBTChtb2RlLT5oZGlzcGxheSkgfAo+ICsJCQlE U0lfQ01EX01EUF9TVFJFQU1fVE9UQUxfSF9UT1RBTChoZGlzcGxheSkgfAo+ICAgCQkJRFNJX0NN RF9NRFBfU1RSRUFNX1RPVEFMX1ZfVE9UQUwobW9kZS0+dmRpc3BsYXkpKTsKPiAgIAl9Cj4gICB9 Cj4gQEAgLTIxODksMTIgKzIyMjAsMTMgQEAgdm9pZCBtc21fZHNpX2hvc3RfcmVzZXRfcGh5KHN0 cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0KQo+ICAgfQo+ICAgCj4gICB2b2lkIG1zbV9kc2lfaG9z dF9nZXRfcGh5X2Nsa19yZXEoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCj4gLQlzdHJ1Y3Qg bXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNsa19yZXEpCj4gKwkJCXN0cnVjdCBtc21fZHNpX3Bo eV9jbGtfcmVxdWVzdCAqY2xrX3JlcSwKPiArCQkJYm9vbCBpc19kdWFsX2RzaSkKPiAgIHsKPiAg IAlzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCA9IHRvX21zbV9kc2lfaG9zdChob3N0KTsK PiAgIAlpbnQgcmV0Owo+ICAgCj4gLQlyZXQgPSBkc2lfY2FsY19jbGtfcmF0ZShtc21faG9zdCk7 Cj4gKwlyZXQgPSBkc2lfY2FsY19jbGtfcmF0ZShtc21faG9zdCwgaXNfZHVhbF9kc2kpOwo+ICAg CWlmIChyZXQpIHsKPiAgIAkJcHJfZXJyKCIlczogdW5hYmxlIHRvIGNhbGMgY2xrIHJhdGUsICVk XG4iLCBfX2Z1bmNfXywgcmV0KTsKPiAgIAkJcmV0dXJuOwo+IEBAIC0yMjU2LDcgKzIyODgsOCBA QCBzdGF0aWMgdm9pZCBtc21fZHNpX3NmcGJfY29uZmlnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1z bV9ob3N0LCBib29sIGVuYWJsZSkKPiAgIH0KPiAgIAo+ICAgaW50IG1zbV9kc2lfaG9zdF9wb3dl cl9vbihzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKPiAtCQkJc3RydWN0IG1zbV9kc2lfcGh5 X3NoYXJlZF90aW1pbmdzICpwaHlfc2hhcmVkX3RpbWluZ3MpCj4gKwkJCXN0cnVjdCBtc21fZHNp X3BoeV9zaGFyZWRfdGltaW5ncyAqcGh5X3NoYXJlZF90aW1pbmdzLAo+ICsJCQlib29sIGlzX2R1 YWxfZHNpKQo+ICAgewo+ICAgCXN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0ID0gdG9fbXNt X2RzaV9ob3N0KGhvc3QpOwo+ICAgCWludCByZXQgPSAwOwo+IEBAIC0yMjkxLDcgKzIzMjQsNyBA QCBpbnQgbXNtX2RzaV9ob3N0X3Bvd2VyX29uKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAo+ ICAgCQlnb3RvIGZhaWxfZGlzYWJsZV9jbGs7Cj4gICAJfQo+ICAgCj4gLQlkc2lfdGltaW5nX3Nl dHVwKG1zbV9ob3N0KTsKPiArCWRzaV90aW1pbmdfc2V0dXAobXNtX2hvc3QsIGlzX2R1YWxfZHNp KTsKPiAgIAlkc2lfc3dfcmVzZXQobXNtX2hvc3QpOwo+ICAgCWRzaV9jdHJsX2NvbmZpZyhtc21f aG9zdCwgdHJ1ZSwgcGh5X3NoYXJlZF90aW1pbmdzKTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvZHNpX21hbmFnZXIuYwo+IGluZGV4IDRjYjFjYjY4ODc4Yi4uM2JiNTA2YjQ0YTRiIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCj4gQEAgLTEzNCw4ICsxMzQsOSBA QCBzdGF0aWMgaW50IGVuYWJsZV9waHkoc3RydWN0IG1zbV9kc2kgKm1zbV9kc2ksIGludCBzcmNf cGxsX2lkLAo+ICAgewo+ICAgCXN0cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVxdWVzdCBjbGtfcmVx Owo+ICAgCWludCByZXQ7Cj4gKwlib29sIGlzX2R1YWxfZHNpID0gSVNfRFVBTF9EU0koKTsKPiAg IAo+IC0JbXNtX2RzaV9ob3N0X2dldF9waHlfY2xrX3JlcShtc21fZHNpLT5ob3N0LCAmY2xrX3Jl cSk7Cj4gKwltc21fZHNpX2hvc3RfZ2V0X3BoeV9jbGtfcmVxKG1zbV9kc2ktPmhvc3QsICZjbGtf cmVxLCBpc19kdWFsX2RzaSk7Cj4gICAKPiAgIAlyZXQgPSBtc21fZHNpX3BoeV9lbmFibGUobXNt X2RzaS0+cGh5LCBzcmNfcGxsX2lkLCAmY2xrX3JlcSk7Cj4gICAJbXNtX2RzaV9waHlfZ2V0X3No YXJlZF90aW1pbmdzKG1zbV9kc2ktPnBoeSwgc2hhcmVkX3RpbWluZ3MpOwo+IEBAIC00NTgsNyAr NDU5LDcgQEAgc3RhdGljIHZvaWQgZHNpX21ncl9icmlkZ2VfcHJlX2VuYWJsZShzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlKQo+ICAgCWlmIChpc19kdWFsX2RzaSAmJiAoRFNJXzEgPT0gaWQpKQo+ ICAgCQlyZXR1cm47Cj4gICAKPiAtCXJldCA9IG1zbV9kc2lfaG9zdF9wb3dlcl9vbihob3N0LCAm cGh5X3NoYXJlZF90aW1pbmdzW2lkXSk7Cj4gKwlyZXQgPSBtc21fZHNpX2hvc3RfcG93ZXJfb24o aG9zdCwgJnBoeV9zaGFyZWRfdGltaW5nc1tpZF0sIGlzX2R1YWxfZHNpKTsKPiAgIAlpZiAocmV0 KSB7Cj4gICAJCXByX2VycigiJXM6IHBvd2VyIG9uIGhvc3QgJWQgZmFpbGVkLCAlZFxuIiwgX19m dW5jX18sIGlkLCByZXQpOwo+ICAgCQlnb3RvIGhvc3Rfb25fZmFpbDsKPiBAQCAtNDY2LDcgKzQ2 Nyw3IEBAIHN0YXRpYyB2b2lkIGRzaV9tZ3JfYnJpZGdlX3ByZV9lbmFibGUoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSkKPiAgIAo+ICAgCWlmIChpc19kdWFsX2RzaSAmJiBtc21fZHNpMSkgewo+ ICAgCQlyZXQgPSBtc21fZHNpX2hvc3RfcG93ZXJfb24obXNtX2RzaTEtPmhvc3QsCj4gLQkJCQkJ ICAgICZwaHlfc2hhcmVkX3RpbWluZ3NbRFNJXzFdKTsKPiArCQkJCSZwaHlfc2hhcmVkX3RpbWlu Z3NbRFNJXzFdLCBpc19kdWFsX2RzaSk7Cj4gICAJCWlmIChyZXQpIHsKPiAgIAkJCXByX2Vycigi JXM6IHBvd2VyIG9uIGhvc3QxIGZhaWxlZCwgJWRcbiIsCj4gICAJCQkJCQkJX19mdW5jX18sIHJl dCk7Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZy ZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=