From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v3 RESEND] drm/bridge/synopsys: dsi: driver-specific configuration of phy timings Date: Mon, 25 Nov 2019 10:31:51 +0100 Message-ID: <20191125093151.22706-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from gloria.sntech.de (gloria.sntech.de [185.11.138.130]) by gabe.freedesktop.org (Postfix) with ESMTPS id CA03289DAB for ; Mon, 25 Nov 2019 09:32:32 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: a.hajda@samsung.com Cc: bivvy.bi@rock-chips.com, jernej.skrabec@siol.net, briannorris@chromium.org, kuninori.morimoto.gx@renesas.com, jonas@kwiboo.se, sean@poorly.run, narmstrong@baylibre.com, dianders@chromium.org, dri-devel@lists.freedesktop.org, philippe.cornu@st.com, yannick.fertre@st.com, linux-rockchip@lists.infradead.org, nickey.yang@rock-chips.com, eddie.cai@rock-chips.com, Laurent.pinchart@ideasonboard.com, Heiko Stuebner , sam@ravnborg.org, xzy.xu@rock-chips.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvLnN0dWVibmVyQHRoZW9icm9tYS1zeXN0ZW1zLmNv bT4KClRoZSB0aW1pbmcgdmFsdWVzIGZvciBkdy1kc2kgYXJlIG9mdGVuIGRlcGVuZGVudCBvbiB0 aGUgdXNlZCBkaXNwbGF5IGFuZAphY2NvcmRpbmcgdG8gUGhpbGlwcGUgQ29ybnUgd2lsbCBtb3N0 IGxpa2VseSBhbHNvIGRlcGVuZCBvbiB0aGUgdXNlZCBwaHkKdGVjaG5vbG9neSBpbiB0aGUgc29j LXNwZWNpZmljIGltcGxlbWVudGF0aW9uLgoKVG8gc29sdmUgdGhpcyBhbmQgYWxsb3cgc3BlY2lm aWMgaW1wbGVtZW50YXRpb25zIHRvIGRlZmluZSB0aGVtIGFzIG5lZWRlZAphZGQgYSBuZXcgZ2V0 X3RpbWluZyBjYWxsYmFjayB0byBwaHlfb3BzIGFuZCBjYWxsIHRoaXMgZnJvbSB0aGUgZHBoeV90 aW1pbmcKZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIG5lY2Vzc2FyeSB2YWx1ZXMgZm9yIHRoZSBz cGVjaWZpYyBtb2RlLgoKUmlnaHQgbm93IHRoaXMgaGFuZGxlcyB0aGUgaHMybHAgKyBscDJocyB3 aGVyZSBSb2NrY2hpcCBTb0NzIG5lZWQgaGFuZGxpbmcKYWNjb3JkaW5nIHRvIHRoZSBwaHkgc3Bl ZWQsIHdoaWxlIFNUTSBzZWVtcyB0byBiZSBvayB3aXRoIHN0YXRpYyB2YWx1ZXMuCgpjaGFuZ2Vz IGluIHYzOgotIGNoZWNrIGV4aXN0ZW5jZSBvZiBwaHlfb3BzLT5nZXRfdGltaW5nIGluIF9fZHdf bWlwaV9kc2lfcHJvYmUoKQotIGVtaXQgYWN0dWFsIGVycm9yIHdoZW4gZ2V0X3RpbWluZygpIGNh bGwgZmFpbHMKLSBhZGQgdGFncyBmcm9tIFBoaWxpcHBlIGFuZCBZYW5uaWNrCgpjaGFuZ2VzIGlu IHYyOgotIGFkZCBkcml2ZXItc3BlY2lmaWMgaGFuZGxpbmcsIGRvbid0IGZvcmNlIGFsbCBicmlk Z2UgdXNlcnMgdG8gdXNlCiAgdGhlIHNhbWUgdGltaW5ncywgYXMgc3VnZ2VzdGVkIGJ5IFBoaWxp cHBlCgpTdWdnZXN0ZWQtYnk6IFBoaWxpcHBlIENvcm51IDxwaGlsaXBwZS5jb3JudUBzdC5jb20+ ClNpZ25lZC1vZmYtYnk6IEhlaWtvIFN0dWVibmVyIDxoZWlrby5zdHVlYm5lckB0aGVvYnJvbWEt c3lzdGVtcy5jb20+ClJldmlld2VkLWJ5OiBQaGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVA c3QuY29tPgpUZXN0ZWQtYnk6IFlhbm5pY2sgRmVydHJlIDx5YW5uaWNrLmZlcnRyZUBzdC5jb20+ Ci0tLQpSZXNlbmQgYmVjYXVzZSBJIHNlZW0gdG8gaGF2ZSBmb3Jnb3R0ZW4gdG8gQ2MgbWFpbGlu ZyBsaXN0cwoKIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYyB8 IDI3ICsrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnICAgICAgICAgICAg ICB8ICAxICsKIC4uLi9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLXJvY2tjaGlwLmMgICB8 IDc4ICsrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9zdG0vZHdfbWlwaV9kc2kt c3RtLmMgICAgICAgICB8IDEzICsrKysKIGluY2x1ZGUvZHJtL2JyaWRnZS9kd19taXBpX2RzaS5o ICAgICAgICAgICAgICB8ICA5ICsrKwogNSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygr KSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LW1pcGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3 LW1pcGktZHNpLmMKaW5kZXggYzIxNGM2Mzg5OTE4Li5iOGIxMTIyNzg2OTAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKQEAgLTcyNyw3ICs3Mjcs MTUgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfdmVydGljYWxfdGltaW5nX2NvbmZpZyhzdHJ1 Y3QgZHdfbWlwaV9kc2kgKmRzaSwKIAogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZHBoeV90aW1p bmdfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQogeworCWNvbnN0IHN0cnVjdCBkd19t aXBpX2RzaV9waHlfb3BzICpwaHlfb3BzID0gZHNpLT5wbGF0X2RhdGEtPnBoeV9vcHM7CisJc3Ry dWN0IGR3X21pcGlfZHNpX2RwaHlfdGltaW5nIHRpbWluZzsKIAl1MzIgaHdfdmVyc2lvbjsKKwlp bnQgcmV0OworCisJcmV0ID0gcGh5X29wcy0+Z2V0X3RpbWluZyhkc2ktPnBsYXRfZGF0YS0+cHJp dl9kYXRhLAorCQkJCSAgZHNpLT5sYW5lX21icHMsICZ0aW1pbmcpOworCWlmIChyZXQpCisJCURS TV9ERVZfRVJST1IoZHNpLT5kZXYsICJSZXRyaWV2aW5nIHBoeSB0aW1pbmdzIGZhaWxlZFxuIik7 CiAKIAkvKgogCSAqIFRPRE8gZHcgZHJ2IGltcHJvdmVtZW50cwpAQCAtNzQwLDE2ICs3NDgsMjAg QEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZHBoeV90aW1pbmdfY29uZmlnKHN0cnVjdCBkd19t aXBpX2RzaSAqZHNpKQogCWh3X3ZlcnNpb24gPSBkc2lfcmVhZChkc2ksIERTSV9WRVJTSU9OKSAm IFZFUlNJT047CiAKIAlpZiAoaHdfdmVyc2lvbiA+PSBIV1ZFUl8xMzEpIHsKLQkJZHNpX3dyaXRl KGRzaSwgRFNJX1BIWV9UTVJfQ0ZHLCBQSFlfSFMyTFBfVElNRV9WMTMxKDB4NDApIHwKLQkJCSAg UEhZX0xQMkhTX1RJTUVfVjEzMSgweDQwKSk7CisJCWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1S X0NGRywKKwkJCSAgUEhZX0hTMkxQX1RJTUVfVjEzMSh0aW1pbmcuZGF0YV9oczJscCkgfAorCQkJ ICBQSFlfTFAySFNfVElNRV9WMTMxKHRpbWluZy5kYXRhX2xwMmhzKSk7CiAJCWRzaV93cml0ZShk c2ksIERTSV9QSFlfVE1SX1JEX0NGRywgTUFYX1JEX1RJTUVfVjEzMSgxMDAwMCkpOwogCX0gZWxz ZSB7Ci0JCWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0NGRywgUEhZX0hTMkxQX1RJTUUoMHg0 MCkgfAotCQkJICBQSFlfTFAySFNfVElNRSgweDQwKSB8IE1BWF9SRF9USU1FKDEwMDAwKSk7CisJ CWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0NGRywKKwkJCSAgUEhZX0hTMkxQX1RJTUUodGlt aW5nLmRhdGFfaHMybHApIHwKKwkJCSAgUEhZX0xQMkhTX1RJTUUodGltaW5nLmRhdGFfbHAyaHMp IHwKKwkJCSAgTUFYX1JEX1RJTUUoMTAwMDApKTsKIAl9CiAKLQlkc2lfd3JpdGUoZHNpLCBEU0lf UEhZX1RNUl9MUENMS19DRkcsIFBIWV9DTEtIUzJMUF9USU1FKDB4NDApCi0JCSAgfCBQSFlfQ0xL TFAySFNfVElNRSgweDQwKSk7CisJZHNpX3dyaXRlKGRzaSwgRFNJX1BIWV9UTVJfTFBDTEtfQ0ZH LAorCQkgIFBIWV9DTEtIUzJMUF9USU1FKHRpbWluZy5jbGtfaHMybHApIHwKKwkJICBQSFlfQ0xL TFAySFNfVElNRSh0aW1pbmcuY2xrX2xwMmhzKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGR3X21pcGlf ZHNpX2RwaHlfaW50ZXJmYWNlX2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKQEAgLTk5 OSw3ICsxMDExLDggQEAgX19kd19taXBpX2RzaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2LAogCWRzaS0+ZGV2ID0gZGV2OwogCWRzaS0+cGxhdF9kYXRhID0gcGxhdF9kYXRhOwog Ci0JaWYgKCFwbGF0X2RhdGEtPnBoeV9vcHMtPmluaXQgfHwgIXBsYXRfZGF0YS0+cGh5X29wcy0+ Z2V0X2xhbmVfbWJwcykgeworCWlmICghcGxhdF9kYXRhLT5waHlfb3BzLT5pbml0IHx8ICFwbGF0 X2RhdGEtPnBoeV9vcHMtPmdldF9sYW5lX21icHMgfHwKKwkgICAgIXBsYXRfZGF0YS0+cGh5X29w cy0+Z2V0X3RpbWluZykgewogCQlEUk1fRVJST1IoIlBoeSBub3QgcHJvcGVybHkgY29uZmlndXJl ZFxuIik7CiAJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL0tj b25maWcKaW5kZXggNmY0MjIyZjhiZWViLi40YjdhMjc2OTk0Y2UgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9LY29uZmlnCkBAIC00Niw2ICs0Niw3IEBAIGNvbmZpZyBST0NLQ0hJUF9EV19IRE1JCiAKIGNv bmZpZyBST0NLQ0hJUF9EV19NSVBJX0RTSQogCWJvb2wgIlJvY2tjaGlwIHNwZWNpZmljIGV4dGVu c2lvbnMgZm9yIFN5bm9wc3lzIERXIE1JUEkgRFNJIgorCXNlbGVjdCBHRU5FUklDX1BIWV9NSVBJ X0RQSFkKIAloZWxwCiAJICBUaGlzIHNlbGVjdHMgc3VwcG9ydCBmb3IgUm9ja2NoaXAgU29DIHNw ZWNpZmljIGV4dGVuc2lvbnMKIAkgIGZvciB0aGUgU3lub3BzeXMgRGVzaWduV2FyZSBIRE1JIGRy aXZlci4gSWYgeW91IHdhbnQgdG8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1p cGktZHNpLXJvY2tjaGlwLmMKaW5kZXggMTM4NThmMzc3YTBjLi5mMDRiNTA2NDk3NGQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jCkBAIC02 MDYsMTEgKzYwNiw4OSBAQCBkd19taXBpX2RzaV9nZXRfbGFuZV9tYnBzKHZvaWQgKnByaXZfZGF0 YSwgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJcmV0dXJuIDA7CiB9CiAK K3N0cnVjdCBoc3R0IHsKKwl1bnNpZ25lZCBpbnQgbWF4ZnJlcTsKKwlzdHJ1Y3QgZHdfbWlwaV9k c2lfZHBoeV90aW1pbmcgdGltaW5nOworfTsKKworI2RlZmluZSBIU1RUKF9tYXhmcmVxLCBfY19s cDJocywgX2NfaHMybHAsIF9kX2xwMmhzLCBfZF9oczJscCkJXAorewkJCQkJXAorCS5tYXhmcmVx ID0gX21heGZyZXEsCQlcCisJLnRpbWluZyA9IHsJCQlcCisJCS5jbGtfbHAyaHMgPSBfY19scDJo cywJXAorCQkuY2xrX2hzMmxwID0gX2NfaHMybHAsCVwKKwkJLmRhdGFfbHAyaHMgPSBfZF9scDJo cywJXAorCQkuZGF0YV9oczJscCA9IF9kX2hzMmxwLAlcCisJfQkJCQlcCit9CisKKy8qIFRhYmxl IEEtMyBIaWdoLVNwZWVkIFRyYW5zaXRpb24gVGltZXMgKi8KK3N0cnVjdCBoc3R0IGhzdHRfdGFi bGVbXSA9IHsKKwlIU1RUKCAgOTAsICAzMiwgMjAsICAyNiwgMTMpLAorCUhTVFQoIDEwMCwgIDM1 LCAyMywgIDI4LCAxNCksCisJSFNUVCggMTEwLCAgMzIsIDIyLCAgMjYsIDEzKSwKKwlIU1RUKCAx MzAsICAzMSwgMjAsICAyNywgMTMpLAorCUhTVFQoIDE0MCwgIDMzLCAyMiwgIDI2LCAxNCksCisJ SFNUVCggMTUwLCAgMzMsIDIxLCAgMjYsIDE0KSwKKwlIU1RUKCAxNzAsICAzMiwgMjAsICAyNywg MTMpLAorCUhTVFQoIDE4MCwgIDM2LCAyMywgIDMwLCAxNSksCisJSFNUVCggMjAwLCAgNDAsIDIy LCAgMzMsIDE1KSwKKwlIU1RUKCAyMjAsICA0MCwgMjIsICAzMywgMTUpLAorCUhTVFQoIDI0MCwg IDQ0LCAyNCwgIDM2LCAxNiksCisJSFNUVCggMjUwLCAgNDgsIDI0LCAgMzgsIDE3KSwKKwlIU1RU KCAyNzAsICA0OCwgMjQsICAzOCwgMTcpLAorCUhTVFQoIDMwMCwgIDUwLCAyNywgIDQxLCAxOCks CisJSFNUVCggMzMwLCAgNTYsIDI4LCAgNDUsIDE4KSwKKwlIU1RUKCAzNjAsICA1OSwgMjgsICA0 OCwgMTkpLAorCUhTVFQoIDQwMCwgIDYxLCAzMCwgIDUwLCAyMCksCisJSFNUVCggNDUwLCAgNjcs IDMxLCAgNTUsIDIxKSwKKwlIU1RUKCA1MDAsICA3MywgMzEsICA1OSwgMjIpLAorCUhTVFQoIDU1 MCwgIDc5LCAzNiwgIDYzLCAyNCksCisJSFNUVCggNjAwLCAgODMsIDM3LCAgNjgsIDI1KSwKKwlI U1RUKCA2NTAsICA5MCwgMzgsICA3MywgMjcpLAorCUhTVFQoIDcwMCwgIDk1LCA0MCwgIDc3LCAy OCksCisJSFNUVCggNzUwLCAxMDIsIDQwLCAgODQsIDI4KSwKKwlIU1RUKCA4MDAsIDEwNiwgNDIs ICA4NywgMzApLAorCUhTVFQoIDg1MCwgMTEzLCA0NCwgIDkzLCAzMSksCisJSFNUVCggOTAwLCAx MTgsIDQ3LCAgOTgsIDMyKSwKKwlIU1RUKCA5NTAsIDEyNCwgNDcsIDEwMiwgMzQpLAorCUhTVFQo MTAwMCwgMTMwLCA0OSwgMTA3LCAzNSksCisJSFNUVCgxMDUwLCAxMzUsIDUxLCAxMTEsIDM3KSwK KwlIU1RUKDExMDAsIDEzOSwgNTEsIDExNCwgMzgpLAorCUhTVFQoMTE1MCwgMTQ2LCA1NCwgMTIw LCA0MCksCisJSFNUVCgxMjAwLCAxNTMsIDU3LCAxMjUsIDQxKSwKKwlIU1RUKDEyNTAsIDE1OCwg NTgsIDEzMCwgNDIpLAorCUhTVFQoMTMwMCwgMTYzLCA1OCwgMTM1LCA0NCksCisJSFNUVCgxMzUw LCAxNjgsIDYwLCAxNDAsIDQ1KSwKKwlIU1RUKDE0MDAsIDE3MiwgNjQsIDE0NCwgNDcpLAorCUhT VFQoMTQ1MCwgMTc2LCA2NSwgMTQ4LCA0OCksCisJSFNUVCgxNTAwLCAxODEsIDY2LCAxNTMsIDUw KQorfTsKKworc3RhdGljIGludAorZHdfbWlwaV9kc2lfcGh5X2dldF90aW1pbmcodm9pZCAqcHJp dl9kYXRhLCB1bnNpZ25lZCBpbnQgbGFuZV9tYnBzLAorCQkJICAgc3RydWN0IGR3X21pcGlfZHNp X2RwaHlfdGltaW5nICp0aW1pbmcpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShoc3R0X3RhYmxlKTsgaSsrKQorCQlpZiAobGFuZV9tYnBzIDwgaHN0dF90YWJsZVtp XS5tYXhmcmVxKQorCQkJYnJlYWs7CisKKwlpZiAoaSA9PSBBUlJBWV9TSVpFKGhzdHRfdGFibGUp KQorCQlpLS07CisKKwkqdGltaW5nID0gaHN0dF90YWJsZVtpXS50aW1pbmc7CisKKwlyZXR1cm4g MDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBkd19taXBpX2RzaV9waHlfb3BzIGR3X21pcGlf ZHNpX3JvY2tjaGlwX3BoeV9vcHMgPSB7CiAJLmluaXQgPSBkd19taXBpX2RzaV9waHlfaW5pdCwK IAkucG93ZXJfb24gPSBkd19taXBpX2RzaV9waHlfcG93ZXJfb24sCiAJLnBvd2VyX29mZiA9IGR3 X21pcGlfZHNpX3BoeV9wb3dlcl9vZmYsCiAJLmdldF9sYW5lX21icHMgPSBkd19taXBpX2RzaV9n ZXRfbGFuZV9tYnBzLAorCS5nZXRfdGltaW5nID0gZHdfbWlwaV9kc2lfcGh5X2dldF90aW1pbmcs CiB9OwogCiBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9yb2NrY2hpcF9jb25maWcoc3RydWN0IGR3 X21pcGlfZHNpX3JvY2tjaGlwICpkc2ksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3Rt L2R3X21pcGlfZHNpLXN0bS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0u YwppbmRleCBhMDNhNjQyYzE0N2MuLjVjOTdlMDliYmZhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RtL2R3 X21pcGlfZHNpLXN0bS5jCkBAIC0zMDYsMTEgKzMwNiwyNCBAQCBkd19taXBpX2RzaV9nZXRfbGFu ZV9tYnBzKHZvaWQgKnByaXZfZGF0YSwgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQKK2R3X21pcGlfZHNpX3BoeV9nZXRfdGlt aW5nKHZvaWQgKnByaXZfZGF0YSwgdW5zaWduZWQgaW50IGxhbmVfbWJwcywKKwkJCSAgIHN0cnVj dCBkd19taXBpX2RzaV9kcGh5X3RpbWluZyAqdGltaW5nKQoreworCXRpbWluZy0+Y2xrX2hzMmxw ID0gMHg0MDsKKwl0aW1pbmctPmNsa19scDJocyA9IDB4NDA7CisJdGltaW5nLT5kYXRhX2hzMmxw ID0gMHg0MDsKKwl0aW1pbmctPmRhdGFfbHAyaHMgPSAweDQwOworCisJcmV0dXJuIDA7Cit9CisK IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGh5X29wcyBkd19taXBpX2RzaV9zdG1f cGh5X29wcyA9IHsKIAkuaW5pdCA9IGR3X21pcGlfZHNpX3BoeV9pbml0LAogCS5wb3dlcl9vbiA9 IGR3X21pcGlfZHNpX3BoeV9wb3dlcl9vbiwKIAkucG93ZXJfb2ZmID0gZHdfbWlwaV9kc2lfcGh5 X3Bvd2VyX29mZiwKIAkuZ2V0X2xhbmVfbWJwcyA9IGR3X21pcGlfZHNpX2dldF9sYW5lX21icHMs CisJLmdldF90aW1pbmcgPSBkd19taXBpX2RzaV9waHlfZ2V0X3RpbWluZywKIH07CiAKIHN0YXRp YyBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGxhdF9kYXRhIGR3X21pcGlfZHNpX3N0bV9wbGF0X2RhdGEg PSB7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaCBiL2luY2x1 ZGUvZHJtL2JyaWRnZS9kd19taXBpX2RzaS5oCmluZGV4IDk0Y2M2NGEzNDJlMS4uYjBlMzkwYjMy ODhlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaAorKysgYi9p bmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaApAQCAtMTksNiArMTksMTMgQEAgc3RydWN0 IGR3X21pcGlfZHNpOwogc3RydWN0IG1pcGlfZHNpX2RldmljZTsKIHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2U7CiAKK3N0cnVjdCBkd19taXBpX2RzaV9kcGh5X3RpbWluZyB7CisJdTE2IGRhdGFfaHMy bHA7CisJdTE2IGRhdGFfbHAyaHM7CisJdTE2IGNsa19oczJscDsKKwl1MTYgY2xrX2xwMmhzOwor fTsKKwogc3RydWN0IGR3X21pcGlfZHNpX3BoeV9vcHMgewogCWludCAoKmluaXQpKHZvaWQgKnBy aXZfZGF0YSk7CiAJdm9pZCAoKnBvd2VyX29uKSh2b2lkICpwcml2X2RhdGEpOwpAQCAtMjcsNiAr MzQsOCBAQCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGh5X29wcyB7CiAJCQkgICAgIGNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAogCQkJICAgICB1bnNpZ25lZCBsb25nIG1vZGVfZmxh Z3MsIHUzMiBsYW5lcywgdTMyIGZvcm1hdCwKIAkJCSAgICAgdW5zaWduZWQgaW50ICpsYW5lX21i cHMpOworCWludCAoKmdldF90aW1pbmcpKHZvaWQgKnByaXZfZGF0YSwgdW5zaWduZWQgaW50IGxh bmVfbWJwcywKKwkJCSAgc3RydWN0IGR3X21pcGlfZHNpX2RwaHlfdGltaW5nICp0aW1pbmcpOwog fTsKIAogc3RydWN0IGR3X21pcGlfZHNpX2hvc3Rfb3BzIHsKLS0gCjIuMjQuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs