From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko =?ISO-8859-1?Q?St=FCbner?= Subject: Re: [PATCH v3 RESEND] drm/bridge/synopsys: dsi: driver-specific configuration of phy timings Date: Mon, 25 Nov 2019 12:00:13 +0100 Message-ID: <3077457.Fc6fr38Rbs@diego> References: <20191125093151.22706-1-heiko@sntech.de> <695294b9-8105-4be0-15a5-73243b227cb1@baylibre.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <695294b9-8105-4be0-15a5-73243b227cb1@baylibre.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Neil Armstrong Cc: bivvy.bi@rock-chips.com, jernej.skrabec@siol.net, xzy.xu@rock-chips.com, kuninori.morimoto.gx@renesas.com, jonas@kwiboo.se, sean@poorly.run, briannorris@chromium.org, dianders@chromium.org, dri-devel@lists.freedesktop.org, philippe.cornu@st.com, yannick.fertre@st.com, nickey.yang@rock-chips.com, eddie.cai@rock-chips.com, Laurent.pinchart@ideasonboard.com, Heiko Stuebner , linux-rockchip@lists.infradead.org, sam@ravnborg.org List-Id: linux-rockchip.vger.kernel.org QW0gTW9udGFnLCAyNS4gTm92ZW1iZXIgMjAxOSwgMTE6MDk6MzkgQ0VUIHNjaHJpZWIgTmVpbCBB cm1zdHJvbmc6Cj4gSGksCj4gCj4gT24gMjUvMTEvMjAxOSAxMDozMSwgSGVpa28gU3R1ZWJuZXIg d3JvdGU6Cj4gPiBGcm9tOiBIZWlrbyBTdHVlYm5lciA8aGVpa28uc3R1ZWJuZXJAdGhlb2Jyb21h LXN5c3RlbXMuY29tPgo+ID4gCj4gPiBUaGUgdGltaW5nIHZhbHVlcyBmb3IgZHctZHNpIGFyZSBv ZnRlbiBkZXBlbmRlbnQgb24gdGhlIHVzZWQgZGlzcGxheSBhbmQKPiA+IGFjY29yZGluZyB0byBQ aGlsaXBwZSBDb3JudSB3aWxsIG1vc3QgbGlrZWx5IGFsc28gZGVwZW5kIG9uIHRoZSB1c2VkIHBo eQo+ID4gdGVjaG5vbG9neSBpbiB0aGUgc29jLXNwZWNpZmljIGltcGxlbWVudGF0aW9uLgo+ID4g Cj4gPiBUbyBzb2x2ZSB0aGlzIGFuZCBhbGxvdyBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbnMgdG8g ZGVmaW5lIHRoZW0gYXMgbmVlZGVkCj4gPiBhZGQgYSBuZXcgZ2V0X3RpbWluZyBjYWxsYmFjayB0 byBwaHlfb3BzIGFuZCBjYWxsIHRoaXMgZnJvbSB0aGUgZHBoeV90aW1pbmcKPiA+IGZ1bmN0aW9u IHRvIHJldHJpZXZlIHRoZSBuZWNlc3NhcnkgdmFsdWVzIGZvciB0aGUgc3BlY2lmaWMgbW9kZS4K PiA+IAo+ID4gUmlnaHQgbm93IHRoaXMgaGFuZGxlcyB0aGUgaHMybHAgKyBscDJocyB3aGVyZSBS b2NrY2hpcCBTb0NzIG5lZWQgaGFuZGxpbmcKPiA+IGFjY29yZGluZyB0byB0aGUgcGh5IHNwZWVk LCB3aGlsZSBTVE0gc2VlbXMgdG8gYmUgb2sgd2l0aCBzdGF0aWMgdmFsdWVzLgo+ID4gCj4gPiBj aGFuZ2VzIGluIHYzOgo+ID4gLSBjaGVjayBleGlzdGVuY2Ugb2YgcGh5X29wcy0+Z2V0X3RpbWlu ZyBpbiBfX2R3X21pcGlfZHNpX3Byb2JlKCkKPiA+IC0gZW1pdCBhY3R1YWwgZXJyb3Igd2hlbiBn ZXRfdGltaW5nKCkgY2FsbCBmYWlscwo+ID4gLSBhZGQgdGFncyBmcm9tIFBoaWxpcHBlIGFuZCBZ YW5uaWNrCj4gPiAKPiA+IGNoYW5nZXMgaW4gdjI6Cj4gPiAtIGFkZCBkcml2ZXItc3BlY2lmaWMg aGFuZGxpbmcsIGRvbid0IGZvcmNlIGFsbCBicmlkZ2UgdXNlcnMgdG8gdXNlCj4gPiAgIHRoZSBz YW1lIHRpbWluZ3MsIGFzIHN1Z2dlc3RlZCBieSBQaGlsaXBwZQo+ID4gCj4gPiBTdWdnZXN0ZWQt Ynk6IFBoaWxpcHBlIENvcm51IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+Cj4gPiBTaWduZWQtb2Zm LWJ5OiBIZWlrbyBTdHVlYm5lciA8aGVpa28uc3R1ZWJuZXJAdGhlb2Jyb21hLXN5c3RlbXMuY29t Pgo+ID4gUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIENvcm51IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+ Cj4gPiBUZXN0ZWQtYnk6IFlhbm5pY2sgRmVydHJlIDx5YW5uaWNrLmZlcnRyZUBzdC5jb20+Cj4g PiAtLS0KPiA+IFJlc2VuZCBiZWNhdXNlIEkgc2VlbSB0byBoYXZlIGZvcmdvdHRlbiB0byBDYyBt YWlsaW5nIGxpc3RzCj4gPiAKPiA+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3 LW1pcGktZHNpLmMgfCAyNyArKysrKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL0tj b25maWcgICAgICAgICAgICAgIHwgIDEgKwo+ID4gIC4uLi9ncHUvZHJtL3JvY2tjaGlwL2R3LW1p cGktZHNpLXJvY2tjaGlwLmMgICB8IDc4ICsrKysrKysrKysrKysrKysrKysKPiA+ICBkcml2ZXJz L2dwdS9kcm0vc3RtL2R3X21pcGlfZHNpLXN0bS5jICAgICAgICAgfCAxMyArKysrCj4gPiAgaW5j bHVkZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmggICAgICAgICAgICAgIHwgIDkgKysrCj4gPiAg NSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPiA+IAo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1k c2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYwo+ID4g aW5kZXggYzIxNGM2Mzg5OTE4Li5iOGIxMTIyNzg2OTAgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYwo+ID4gQEAgLTcyNyw3ICs3Mjcs MTUgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfdmVydGljYWxfdGltaW5nX2NvbmZpZyhzdHJ1 Y3QgZHdfbWlwaV9kc2kgKmRzaSwKPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9k cGh5X3RpbWluZ19jb25maWcoc3RydWN0IGR3X21pcGlfZHNpICpkc2kpCj4gPiAgewo+ID4gKwlj b25zdCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGh5X29wcyAqcGh5X29wcyA9IGRzaS0+cGxhdF9kYXRh LT5waHlfb3BzOwo+ID4gKwlzdHJ1Y3QgZHdfbWlwaV9kc2lfZHBoeV90aW1pbmcgdGltaW5nOwo+ ID4gIAl1MzIgaHdfdmVyc2lvbjsKPiA+ICsJaW50IHJldDsKPiA+ICsKPiA+ICsJcmV0ID0gcGh5 X29wcy0+Z2V0X3RpbWluZyhkc2ktPnBsYXRfZGF0YS0+cHJpdl9kYXRhLAo+ID4gKwkJCQkgIGRz aS0+bGFuZV9tYnBzLCAmdGltaW5nKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCURSTV9ERVZfRVJS T1IoZHNpLT5kZXYsICJSZXRyaWV2aW5nIHBoeSB0aW1pbmdzIGZhaWxlZFxuIik7Cj4gPiAgCj4g PiAgCS8qCj4gPiAgCSAqIFRPRE8gZHcgZHJ2IGltcHJvdmVtZW50cwo+ID4gQEAgLTc0MCwxNiAr NzQ4LDIwIEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2RwaHlfdGltaW5nX2NvbmZpZyhzdHJ1 Y3QgZHdfbWlwaV9kc2kgKmRzaSkKPiA+ICAJaHdfdmVyc2lvbiA9IGRzaV9yZWFkKGRzaSwgRFNJ X1ZFUlNJT04pICYgVkVSU0lPTjsKPiA+ICAKPiA+ICAJaWYgKGh3X3ZlcnNpb24gPj0gSFdWRVJf MTMxKSB7Cj4gPiAtCQlkc2lfd3JpdGUoZHNpLCBEU0lfUEhZX1RNUl9DRkcsIFBIWV9IUzJMUF9U SU1FX1YxMzEoMHg0MCkgfAo+ID4gLQkJCSAgUEhZX0xQMkhTX1RJTUVfVjEzMSgweDQwKSk7Cj4g PiArCQlkc2lfd3JpdGUoZHNpLCBEU0lfUEhZX1RNUl9DRkcsCj4gPiArCQkJICBQSFlfSFMyTFBf VElNRV9WMTMxKHRpbWluZy5kYXRhX2hzMmxwKSB8Cj4gPiArCQkJICBQSFlfTFAySFNfVElNRV9W MTMxKHRpbWluZy5kYXRhX2xwMmhzKSk7Cj4gPiAgCQlkc2lfd3JpdGUoZHNpLCBEU0lfUEhZX1RN Ul9SRF9DRkcsIE1BWF9SRF9USU1FX1YxMzEoMTAwMDApKTsKPiA+ICAJfSBlbHNlIHsKPiA+IC0J CWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0NGRywgUEhZX0hTMkxQX1RJTUUoMHg0MCkgfAo+ ID4gLQkJCSAgUEhZX0xQMkhTX1RJTUUoMHg0MCkgfCBNQVhfUkRfVElNRSgxMDAwMCkpOwo+ID4g KwkJZHNpX3dyaXRlKGRzaSwgRFNJX1BIWV9UTVJfQ0ZHLAo+ID4gKwkJCSAgUEhZX0hTMkxQX1RJ TUUodGltaW5nLmRhdGFfaHMybHApIHwKPiA+ICsJCQkgIFBIWV9MUDJIU19USU1FKHRpbWluZy5k YXRhX2xwMmhzKSB8Cj4gPiArCQkJICBNQVhfUkRfVElNRSgxMDAwMCkpOwo+ID4gIAl9Cj4gPiAg Cj4gPiAtCWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0xQQ0xLX0NGRywgUEhZX0NMS0hTMkxQ X1RJTUUoMHg0MCkKPiA+IC0JCSAgfCBQSFlfQ0xLTFAySFNfVElNRSgweDQwKSk7Cj4gPiArCWRz aV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0xQQ0xLX0NGRywKPiA+ICsJCSAgUEhZX0NMS0hTMkxQ X1RJTUUodGltaW5nLmNsa19oczJscCkgfAo+ID4gKwkJICBQSFlfQ0xLTFAySFNfVElNRSh0aW1p bmcuY2xrX2xwMmhzKSk7Cj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNp X2RwaHlfaW50ZXJmYWNlX2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKPiA+IEBAIC05 OTksNyArMTAxMSw4IEBAIF9fZHdfbWlwaV9kc2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldiwKPiA+ICAJZHNpLT5kZXYgPSBkZXY7Cj4gPiAgCWRzaS0+cGxhdF9kYXRhID0gcGxh dF9kYXRhOwo+ID4gIAo+ID4gLQlpZiAoIXBsYXRfZGF0YS0+cGh5X29wcy0+aW5pdCB8fCAhcGxh dF9kYXRhLT5waHlfb3BzLT5nZXRfbGFuZV9tYnBzKSB7Cj4gPiArCWlmICghcGxhdF9kYXRhLT5w aHlfb3BzLT5pbml0IHx8ICFwbGF0X2RhdGEtPnBoeV9vcHMtPmdldF9sYW5lX21icHMgfHwKPiA+ ICsJICAgICFwbGF0X2RhdGEtPnBoeV9vcHMtPmdldF90aW1pbmcpIHsKPiA+ICAJCURSTV9FUlJP UigiUGh5IG5vdCBwcm9wZXJseSBjb25maWd1cmVkXG4iKTsKPiA+ICAJCXJldHVybiBFUlJfUFRS KC1FTk9ERVYpOwo+ID4gIAl9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvS2NvbmZpZwo+ID4gaW5kZXgg NmY0MjIyZjhiZWViLi40YjdhMjc2OTk0Y2UgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvS2NvbmZpZwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL0tj b25maWcKPiA+IEBAIC00Niw2ICs0Niw3IEBAIGNvbmZpZyBST0NLQ0hJUF9EV19IRE1JCj4gPiAg Cj4gPiAgY29uZmlnIFJPQ0tDSElQX0RXX01JUElfRFNJCj4gPiAgCWJvb2wgIlJvY2tjaGlwIHNw ZWNpZmljIGV4dGVuc2lvbnMgZm9yIFN5bm9wc3lzIERXIE1JUEkgRFNJIgo+ID4gKwlzZWxlY3Qg R0VORVJJQ19QSFlfTUlQSV9EUEhZCj4gPiAgCWhlbHAKPiA+ICAJICBUaGlzIHNlbGVjdHMgc3Vw cG9ydCBmb3IgUm9ja2NoaXAgU29DIHNwZWNpZmljIGV4dGVuc2lvbnMKPiA+ICAJICBmb3IgdGhl IFN5bm9wc3lzIERlc2lnbldhcmUgSERNSSBkcml2ZXIuIElmIHlvdSB3YW50IHRvCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLXJvY2tjaGlwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2ktcm9ja2NoaXAuYwo+ID4gaW5k ZXggMTM4NThmMzc3YTBjLi5mMDRiNTA2NDk3NGQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2ktcm9ja2NoaXAuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLXJvY2tjaGlwLmMKPiA+IEBAIC02MDYsMTEgKzYw Niw4OSBAQCBkd19taXBpX2RzaV9nZXRfbGFuZV9tYnBzKHZvaWQgKnByaXZfZGF0YSwgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiAgCXJldHVybiAwOwo+ID4gIH0KPiA+ ICAKPiA+ICtzdHJ1Y3QgaHN0dCB7Cj4gPiArCXVuc2lnbmVkIGludCBtYXhmcmVxOwo+ID4gKwlz dHJ1Y3QgZHdfbWlwaV9kc2lfZHBoeV90aW1pbmcgdGltaW5nOwo+ID4gK307Cj4gPiArCj4gPiAr I2RlZmluZSBIU1RUKF9tYXhmcmVxLCBfY19scDJocywgX2NfaHMybHAsIF9kX2xwMmhzLCBfZF9o czJscCkJXAo+ID4gK3sJCQkJCVwKPiA+ICsJLm1heGZyZXEgPSBfbWF4ZnJlcSwJCVwKPiA+ICsJ LnRpbWluZyA9IHsJCQlcCj4gPiArCQkuY2xrX2xwMmhzID0gX2NfbHAyaHMsCVwKPiA+ICsJCS5j bGtfaHMybHAgPSBfY19oczJscCwJXAo+ID4gKwkJLmRhdGFfbHAyaHMgPSBfZF9scDJocywJXAo+ ID4gKwkJLmRhdGFfaHMybHAgPSBfZF9oczJscCwJXAo+ID4gKwl9CQkJCVwKPiA+ICt9Cj4gPiAr Cj4gPiArLyogVGFibGUgQS0zIEhpZ2gtU3BlZWQgVHJhbnNpdGlvbiBUaW1lcyAqLwo+ID4gK3N0 cnVjdCBoc3R0IGhzdHRfdGFibGVbXSA9IHsKPiA+ICsJSFNUVCggIDkwLCAgMzIsIDIwLCAgMjYs IDEzKSwKPiA+ICsJSFNUVCggMTAwLCAgMzUsIDIzLCAgMjgsIDE0KSwKPiA+ICsJSFNUVCggMTEw LCAgMzIsIDIyLCAgMjYsIDEzKSwKPiA+ICsJSFNUVCggMTMwLCAgMzEsIDIwLCAgMjcsIDEzKSwK PiA+ICsJSFNUVCggMTQwLCAgMzMsIDIyLCAgMjYsIDE0KSwKPiA+ICsJSFNUVCggMTUwLCAgMzMs IDIxLCAgMjYsIDE0KSwKPiA+ICsJSFNUVCggMTcwLCAgMzIsIDIwLCAgMjcsIDEzKSwKPiA+ICsJ SFNUVCggMTgwLCAgMzYsIDIzLCAgMzAsIDE1KSwKPiA+ICsJSFNUVCggMjAwLCAgNDAsIDIyLCAg MzMsIDE1KSwKPiA+ICsJSFNUVCggMjIwLCAgNDAsIDIyLCAgMzMsIDE1KSwKPiA+ICsJSFNUVCgg MjQwLCAgNDQsIDI0LCAgMzYsIDE2KSwKPiA+ICsJSFNUVCggMjUwLCAgNDgsIDI0LCAgMzgsIDE3 KSwKPiA+ICsJSFNUVCggMjcwLCAgNDgsIDI0LCAgMzgsIDE3KSwKPiA+ICsJSFNUVCggMzAwLCAg NTAsIDI3LCAgNDEsIDE4KSwKPiA+ICsJSFNUVCggMzMwLCAgNTYsIDI4LCAgNDUsIDE4KSwKPiA+ ICsJSFNUVCggMzYwLCAgNTksIDI4LCAgNDgsIDE5KSwKPiA+ICsJSFNUVCggNDAwLCAgNjEsIDMw LCAgNTAsIDIwKSwKPiA+ICsJSFNUVCggNDUwLCAgNjcsIDMxLCAgNTUsIDIxKSwKPiA+ICsJSFNU VCggNTAwLCAgNzMsIDMxLCAgNTksIDIyKSwKPiA+ICsJSFNUVCggNTUwLCAgNzksIDM2LCAgNjMs IDI0KSwKPiA+ICsJSFNUVCggNjAwLCAgODMsIDM3LCAgNjgsIDI1KSwKPiA+ICsJSFNUVCggNjUw LCAgOTAsIDM4LCAgNzMsIDI3KSwKPiA+ICsJSFNUVCggNzAwLCAgOTUsIDQwLCAgNzcsIDI4KSwK PiA+ICsJSFNUVCggNzUwLCAxMDIsIDQwLCAgODQsIDI4KSwKPiA+ICsJSFNUVCggODAwLCAxMDYs IDQyLCAgODcsIDMwKSwKPiA+ICsJSFNUVCggODUwLCAxMTMsIDQ0LCAgOTMsIDMxKSwKPiA+ICsJ SFNUVCggOTAwLCAxMTgsIDQ3LCAgOTgsIDMyKSwKPiA+ICsJSFNUVCggOTUwLCAxMjQsIDQ3LCAx MDIsIDM0KSwKPiA+ICsJSFNUVCgxMDAwLCAxMzAsIDQ5LCAxMDcsIDM1KSwKPiA+ICsJSFNUVCgx MDUwLCAxMzUsIDUxLCAxMTEsIDM3KSwKPiA+ICsJSFNUVCgxMTAwLCAxMzksIDUxLCAxMTQsIDM4 KSwKPiA+ICsJSFNUVCgxMTUwLCAxNDYsIDU0LCAxMjAsIDQwKSwKPiA+ICsJSFNUVCgxMjAwLCAx NTMsIDU3LCAxMjUsIDQxKSwKPiA+ICsJSFNUVCgxMjUwLCAxNTgsIDU4LCAxMzAsIDQyKSwKPiA+ ICsJSFNUVCgxMzAwLCAxNjMsIDU4LCAxMzUsIDQ0KSwKPiA+ICsJSFNUVCgxMzUwLCAxNjgsIDYw LCAxNDAsIDQ1KSwKPiA+ICsJSFNUVCgxNDAwLCAxNzIsIDY0LCAxNDQsIDQ3KSwKPiA+ICsJSFNU VCgxNDUwLCAxNzYsIDY1LCAxNDgsIDQ4KSwKPiA+ICsJSFNUVCgxNTAwLCAxODEsIDY2LCAxNTMs IDUwKQo+ID4gK307Cj4gPiArCj4gPiArc3RhdGljIGludAo+ID4gK2R3X21pcGlfZHNpX3BoeV9n ZXRfdGltaW5nKHZvaWQgKnByaXZfZGF0YSwgdW5zaWduZWQgaW50IGxhbmVfbWJwcywKPiA+ICsJ CQkgICBzdHJ1Y3QgZHdfbWlwaV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZykKPiA+ICt7Cj4gPiAr CWludCBpOwo+ID4gKwo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShoc3R0X3RhYmxl KTsgaSsrKQo+ID4gKwkJaWYgKGxhbmVfbWJwcyA8IGhzdHRfdGFibGVbaV0ubWF4ZnJlcSkKPiA+ ICsJCQlicmVhazsKPiA+ICsKPiA+ICsJaWYgKGkgPT0gQVJSQVlfU0laRShoc3R0X3RhYmxlKSkK PiA+ICsJCWktLTsKPiA+ICsKPiA+ICsJKnRpbWluZyA9IGhzdHRfdGFibGVbaV0udGltaW5nOwo+ ID4gKwo+ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBkd19taXBpX2RzaV9waHlfb3BzIGR3X21pcGlfZHNpX3JvY2tjaGlwX3BoeV9vcHMgPSB7Cj4g PiAgCS5pbml0ID0gZHdfbWlwaV9kc2lfcGh5X2luaXQsCj4gPiAgCS5wb3dlcl9vbiA9IGR3X21p cGlfZHNpX3BoeV9wb3dlcl9vbiwKPiA+ICAJLnBvd2VyX29mZiA9IGR3X21pcGlfZHNpX3BoeV9w b3dlcl9vZmYsCj4gPiAgCS5nZXRfbGFuZV9tYnBzID0gZHdfbWlwaV9kc2lfZ2V0X2xhbmVfbWJw cywKPiA+ICsJLmdldF90aW1pbmcgPSBkd19taXBpX2RzaV9waHlfZ2V0X3RpbWluZywKPiA+ICB9 Owo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX3JvY2tjaGlwX2NvbmZpZyhzdHJ1 Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgKmRzaSwKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vc3RtL2R3X21pcGlfZHNpLXN0bS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBp X2RzaS1zdG0uYwo+ID4gaW5kZXggYTAzYTY0MmMxNDdjLi41Yzk3ZTA5YmJmYTAgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2R3X21pcGlfZHNpLXN0bS5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vc3RtL2R3X21pcGlfZHNpLXN0bS5jCj4gPiBAQCAtMzA2LDExICszMDYs MjQgQEAgZHdfbWlwaV9kc2lfZ2V0X2xhbmVfbWJwcyh2b2lkICpwcml2X2RhdGEsIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4gIAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiAg Cj4gPiArc3RhdGljIGludAo+ID4gK2R3X21pcGlfZHNpX3BoeV9nZXRfdGltaW5nKHZvaWQgKnBy aXZfZGF0YSwgdW5zaWduZWQgaW50IGxhbmVfbWJwcywKPiA+ICsJCQkgICBzdHJ1Y3QgZHdfbWlw aV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZykKPiA+ICt7Cj4gPiArCXRpbWluZy0+Y2xrX2hzMmxw ID0gMHg0MDsKPiA+ICsJdGltaW5nLT5jbGtfbHAyaHMgPSAweDQwOwo+ID4gKwl0aW1pbmctPmRh dGFfaHMybHAgPSAweDQwOwo+ID4gKwl0aW1pbmctPmRhdGFfbHAyaHMgPSAweDQwOwo+ID4gKwo+ ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkd19t aXBpX2RzaV9waHlfb3BzIGR3X21pcGlfZHNpX3N0bV9waHlfb3BzID0gewo+ID4gIAkuaW5pdCA9 IGR3X21pcGlfZHNpX3BoeV9pbml0LAo+ID4gIAkucG93ZXJfb24gPSBkd19taXBpX2RzaV9waHlf cG93ZXJfb24sCj4gPiAgCS5wb3dlcl9vZmYgPSBkd19taXBpX2RzaV9waHlfcG93ZXJfb2ZmLAo+ IAo+IEl0IGRvZXNuJ3QgYXBwbHkgYXQgYWxsIG9uIGRybS1taXNjLW5leHQgZHVlIHRvIG1pc3Np bmcgImR3LW1pcGktZHNpIHN1cHBvcnQgZm9yIFJvY2tjaGlwIHB4MzAiIHNlcmllLgoKZnVuIHdp dGggaW4tZmxpZ2h0IHBhdGNoZXMgSSBndWVzcyAuLi4gc29ycnkgYWJvdXQgdGhhdC4KCkkndmUg cHJlcGFyZWQgYSB2NCwgd2l0aCBjb3JyZWN0IG9yZGVyaW5nIGFuZCByZS1kaWQgYW5vdGhlciBj b21waWxlLWNoZWNrCm9uIGRybS1taXNjLW5leHQgZm9yIGdvb2QgbWVhc3VyZS4KCkhlaWtvCgoK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=