From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v5 1/6] drm/bridge/synopsys: dsi: driver-specific configuration of phy timings Date: Mon, 9 Dec 2019 15:31:25 +0100 Message-ID: <20191209143130.4553-2-heiko@sntech.de> References: <20191209143130.4553-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191209143130.4553-1-heiko@sntech.de> 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, xzy.xu@rock-chips.com, kuninori.morimoto.gx@renesas.com, jonas@kwiboo.se, sean@poorly.run, narmstrong@baylibre.com, philippe.cornu@st.com, dri-devel@lists.freedesktop.org, hjc@rock-chips.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, christoph.muellner@theobroma-systems.com List-Id: linux-rockchip.vger.kernel.org RnJvbTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvLnN0dWVibmVyQHRoZW9icm9tYS1zeXN0ZW1zLmNv bT4KClRoZSB0aW1pbmcgdmFsdWVzIGZvciBkdy1kc2kgYXJlIG9mdGVuIGRlcGVuZGVudCBvbiB0 aGUgdXNlZCBkaXNwbGF5IGFuZAphY2NvcmRpbmcgdG8gUGhpbGlwcGUgQ29ybnUgd2lsbCBtb3N0 IGxpa2VseSBhbHNvIGRlcGVuZCBvbiB0aGUgdXNlZCBwaHkKdGVjaG5vbG9neSBpbiB0aGUgc29j LXNwZWNpZmljIGltcGxlbWVudGF0aW9uLgoKVG8gc29sdmUgdGhpcyBhbmQgYWxsb3cgc3BlY2lm aWMgaW1wbGVtZW50YXRpb25zIHRvIGRlZmluZSB0aGVtIGFzIG5lZWRlZAphZGQgYSBuZXcgZ2V0 X3RpbWluZyBjYWxsYmFjayB0byBwaHlfb3BzIGFuZCBjYWxsIHRoaXMgZnJvbSB0aGUgZHBoeV90 aW1pbmcKZnVuY3Rpb24gdG8gcmV0cmlldmUgdGhlIG5lY2Vzc2FyeSB2YWx1ZXMgZm9yIHRoZSBz cGVjaWZpYyBtb2RlLgoKUmlnaHQgbm93IHRoaXMgaGFuZGxlcyB0aGUgaHMybHAgKyBscDJocyB3 aGVyZSBSb2NrY2hpcCBTb0NzIG5lZWQgaGFuZGxpbmcKYWNjb3JkaW5nIHRvIHRoZSBwaHkgc3Bl ZWQsIHdoaWxlIFNUTSBzZWVtcyB0byBiZSBvayB3aXRoIHN0YXRpYyB2YWx1ZXMuCgpjaGFuZ2Vz IGluIHY1OgotIHJlYmFzZSBvbiA1LjUtcmMxCi0gbWVyZ2UgaW50byBweDMwIGRzaSBzZXJpZXMg dG8gcHJldmVudCBvcmRlcmluZyBjb25mbGljdHMKCmNoYW5nZXMgaW4gdjQ6Ci0gcmViYXNlIHRv IG1ha2UgaXQgZGlyZWN0bHkgZml0IG9uIHRvcCBvZiBkcm0tbWlzYy1uZXh0IGFmdGVyIGFsbAoK Y2hhbmdlcyBpbiB2MzoKLSBjaGVjayBleGlzdGVuY2Ugb2YgcGh5X29wcy0+Z2V0X3RpbWluZyBp biBfX2R3X21pcGlfZHNpX3Byb2JlKCkKLSBlbWl0IGFjdHVhbCBlcnJvciB3aGVuIGdldF90aW1p bmcoKSBjYWxsIGZhaWxzCi0gYWRkIHRhZ3MgZnJvbSBQaGlsaXBwZSBhbmQgWWFubmljawoKY2hh bmdlcyBpbiB2MjoKLSBhZGQgZHJpdmVyLXNwZWNpZmljIGhhbmRsaW5nLCBkb24ndCBmb3JjZSBh bGwgYnJpZGdlIHVzZXJzIHRvIHVzZQogIHRoZSBzYW1lIHRpbWluZ3MsIGFzIHN1Z2dlc3RlZCBi eSBQaGlsaXBwZQoKU3VnZ2VzdGVkLWJ5OiBQaGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVA c3QuY29tPgpTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTdHVlYm5lciA8aGVpa28uc3R1ZWJuZXJAdGhl b2Jyb21hLXN5c3RlbXMuY29tPgpSZXZpZXdlZC1ieTogUGhpbGlwcGUgQ29ybnUgPHBoaWxpcHBl LmNvcm51QHN0LmNvbT4KVGVzdGVkLWJ5OiBZYW5uaWNrIEZlcnRyZSA8eWFubmljay5mZXJ0cmVA c3QuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2ku YyB8IDI3ICsrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnICAgICAgICAg ICAgICB8ICAxICsKIC4uLi9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLXJvY2tjaGlwLmMg ICB8IDc4ICsrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9zdG0vZHdfbWlwaV9k c2ktc3RtLmMgICAgICAgICB8IDEzICsrKysKIGluY2x1ZGUvZHJtL2JyaWRnZS9kd19taXBpX2Rz aS5oICAgICAgICAgICAgICB8ICA5ICsrKwogNSBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9u cygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdl L3N5bm9wc3lzL2R3LW1pcGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lz L2R3LW1pcGktZHNpLmMKaW5kZXggYjZlNzkzYmI2NTNjLi5iZmUwMDYxZTU0YTIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKQEAgLTcxOSw3ICs3 MTksMTUgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfdmVydGljYWxfdGltaW5nX2NvbmZpZyhz dHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwKIAogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZHBoeV90 aW1pbmdfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQogeworCWNvbnN0IHN0cnVjdCBk d19taXBpX2RzaV9waHlfb3BzICpwaHlfb3BzID0gZHNpLT5wbGF0X2RhdGEtPnBoeV9vcHM7CisJ c3RydWN0IGR3X21pcGlfZHNpX2RwaHlfdGltaW5nIHRpbWluZzsKIAl1MzIgaHdfdmVyc2lvbjsK KwlpbnQgcmV0OworCisJcmV0ID0gcGh5X29wcy0+Z2V0X3RpbWluZyhkc2ktPnBsYXRfZGF0YS0+ cHJpdl9kYXRhLAorCQkJCSAgZHNpLT5sYW5lX21icHMsICZ0aW1pbmcpOworCWlmIChyZXQpCisJ CURSTV9ERVZfRVJST1IoZHNpLT5kZXYsICJSZXRyaWV2aW5nIHBoeSB0aW1pbmdzIGZhaWxlZFxu Iik7CiAKIAkvKgogCSAqIFRPRE8gZHcgZHJ2IGltcHJvdmVtZW50cwpAQCAtNzMyLDE2ICs3NDAs MjAgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZHBoeV90aW1pbmdfY29uZmlnKHN0cnVjdCBk d19taXBpX2RzaSAqZHNpKQogCWh3X3ZlcnNpb24gPSBkc2lfcmVhZChkc2ksIERTSV9WRVJTSU9O KSAmIFZFUlNJT047CiAKIAlpZiAoaHdfdmVyc2lvbiA+PSBIV1ZFUl8xMzEpIHsKLQkJZHNpX3dy aXRlKGRzaSwgRFNJX1BIWV9UTVJfQ0ZHLCBQSFlfSFMyTFBfVElNRV9WMTMxKDB4NDApIHwKLQkJ CSAgUEhZX0xQMkhTX1RJTUVfVjEzMSgweDQwKSk7CisJCWRzaV93cml0ZShkc2ksIERTSV9QSFlf VE1SX0NGRywKKwkJCSAgUEhZX0hTMkxQX1RJTUVfVjEzMSh0aW1pbmcuZGF0YV9oczJscCkgfAor CQkJICBQSFlfTFAySFNfVElNRV9WMTMxKHRpbWluZy5kYXRhX2xwMmhzKSk7CiAJCWRzaV93cml0 ZShkc2ksIERTSV9QSFlfVE1SX1JEX0NGRywgTUFYX1JEX1RJTUVfVjEzMSgxMDAwMCkpOwogCX0g ZWxzZSB7Ci0JCWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0NGRywgUEhZX0hTMkxQX1RJTUUo MHg0MCkgfAotCQkJICBQSFlfTFAySFNfVElNRSgweDQwKSB8IE1BWF9SRF9USU1FKDEwMDAwKSk7 CisJCWRzaV93cml0ZShkc2ksIERTSV9QSFlfVE1SX0NGRywKKwkJCSAgUEhZX0hTMkxQX1RJTUUo dGltaW5nLmRhdGFfaHMybHApIHwKKwkJCSAgUEhZX0xQMkhTX1RJTUUodGltaW5nLmRhdGFfbHAy aHMpIHwKKwkJCSAgTUFYX1JEX1RJTUUoMTAwMDApKTsKIAl9CiAKLQlkc2lfd3JpdGUoZHNpLCBE U0lfUEhZX1RNUl9MUENMS19DRkcsIFBIWV9DTEtIUzJMUF9USU1FKDB4NDApCi0JCSAgfCBQSFlf Q0xLTFAySFNfVElNRSgweDQwKSk7CisJZHNpX3dyaXRlKGRzaSwgRFNJX1BIWV9UTVJfTFBDTEtf Q0ZHLAorCQkgIFBIWV9DTEtIUzJMUF9USU1FKHRpbWluZy5jbGtfaHMybHApIHwKKwkJICBQSFlf Q0xLTFAySFNfVElNRSh0aW1pbmcuY2xrX2xwMmhzKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGR3X21p cGlfZHNpX2RwaHlfaW50ZXJmYWNlX2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKQEAg LTk5MSw3ICsxMDAzLDggQEAgX19kd19taXBpX2RzaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LAogCWRzaS0+ZGV2ID0gZGV2OwogCWRzaS0+cGxhdF9kYXRhID0gcGxhdF9kYXRh OwogCi0JaWYgKCFwbGF0X2RhdGEtPnBoeV9vcHMtPmluaXQgfHwgIXBsYXRfZGF0YS0+cGh5X29w cy0+Z2V0X2xhbmVfbWJwcykgeworCWlmICghcGxhdF9kYXRhLT5waHlfb3BzLT5pbml0IHx8ICFw bGF0X2RhdGEtPnBoeV9vcHMtPmdldF9sYW5lX21icHMgfHwKKwkgICAgIXBsYXRfZGF0YS0+cGh5 X29wcy0+Z2V0X3RpbWluZykgewogCQlEUk1fRVJST1IoIlBoeSBub3QgcHJvcGVybHkgY29uZmln dXJlZFxuIik7CiAJCXJldHVybiBFUlJfUFRSKC1FTk9ERVYpOwogCX0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L0tjb25maWcKaW5kZXggNmY0MjIyZjhiZWViLi40YjdhMjc2OTk0Y2UgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9LY29uZmlnCkBAIC00Niw2ICs0Niw3IEBAIGNvbmZpZyBST0NLQ0hJUF9EV19IRE1JCiAK IGNvbmZpZyBST0NLQ0hJUF9EV19NSVBJX0RTSQogCWJvb2wgIlJvY2tjaGlwIHNwZWNpZmljIGV4 dGVuc2lvbnMgZm9yIFN5bm9wc3lzIERXIE1JUEkgRFNJIgorCXNlbGVjdCBHRU5FUklDX1BIWV9N SVBJX0RQSFkKIAloZWxwCiAJICBUaGlzIHNlbGVjdHMgc3VwcG9ydCBmb3IgUm9ja2NoaXAgU29D IHNwZWNpZmljIGV4dGVuc2lvbnMKIAkgIGZvciB0aGUgU3lub3BzeXMgRGVzaWduV2FyZSBIRE1J IGRyaXZlci4gSWYgeW91IHdhbnQgdG8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3 LW1pcGktZHNpLXJvY2tjaGlwLmMKaW5kZXggYmMwNzNlYzVjMTgzLi45NDA2ZWZmZTgwNzcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jCkBA IC01NTksOSArNTU5LDg3IEBAIGR3X21pcGlfZHNpX2dldF9sYW5lX21icHModm9pZCAqcHJpdl9k YXRhLCBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAlyZXR1cm4gMDsKIH0K IAorc3RydWN0IGhzdHQgeworCXVuc2lnbmVkIGludCBtYXhmcmVxOworCXN0cnVjdCBkd19taXBp X2RzaV9kcGh5X3RpbWluZyB0aW1pbmc7Cit9OworCisjZGVmaW5lIEhTVFQoX21heGZyZXEsIF9j X2xwMmhzLCBfY19oczJscCwgX2RfbHAyaHMsIF9kX2hzMmxwKQlcCit7CQkJCQlcCisJLm1heGZy ZXEgPSBfbWF4ZnJlcSwJCVwKKwkudGltaW5nID0gewkJCVwKKwkJLmNsa19scDJocyA9IF9jX2xw MmhzLAlcCisJCS5jbGtfaHMybHAgPSBfY19oczJscCwJXAorCQkuZGF0YV9scDJocyA9IF9kX2xw MmhzLAlcCisJCS5kYXRhX2hzMmxwID0gX2RfaHMybHAsCVwKKwl9CQkJCVwKK30KKworLyogVGFi bGUgQS0zIEhpZ2gtU3BlZWQgVHJhbnNpdGlvbiBUaW1lcyAqLworc3RydWN0IGhzdHQgaHN0dF90 YWJsZVtdID0geworCUhTVFQoICA5MCwgIDMyLCAyMCwgIDI2LCAxMyksCisJSFNUVCggMTAwLCAg MzUsIDIzLCAgMjgsIDE0KSwKKwlIU1RUKCAxMTAsICAzMiwgMjIsICAyNiwgMTMpLAorCUhTVFQo IDEzMCwgIDMxLCAyMCwgIDI3LCAxMyksCisJSFNUVCggMTQwLCAgMzMsIDIyLCAgMjYsIDE0KSwK KwlIU1RUKCAxNTAsICAzMywgMjEsICAyNiwgMTQpLAorCUhTVFQoIDE3MCwgIDMyLCAyMCwgIDI3 LCAxMyksCisJSFNUVCggMTgwLCAgMzYsIDIzLCAgMzAsIDE1KSwKKwlIU1RUKCAyMDAsICA0MCwg MjIsICAzMywgMTUpLAorCUhTVFQoIDIyMCwgIDQwLCAyMiwgIDMzLCAxNSksCisJSFNUVCggMjQw LCAgNDQsIDI0LCAgMzYsIDE2KSwKKwlIU1RUKCAyNTAsICA0OCwgMjQsICAzOCwgMTcpLAorCUhT VFQoIDI3MCwgIDQ4LCAyNCwgIDM4LCAxNyksCisJSFNUVCggMzAwLCAgNTAsIDI3LCAgNDEsIDE4 KSwKKwlIU1RUKCAzMzAsICA1NiwgMjgsICA0NSwgMTgpLAorCUhTVFQoIDM2MCwgIDU5LCAyOCwg IDQ4LCAxOSksCisJSFNUVCggNDAwLCAgNjEsIDMwLCAgNTAsIDIwKSwKKwlIU1RUKCA0NTAsICA2 NywgMzEsICA1NSwgMjEpLAorCUhTVFQoIDUwMCwgIDczLCAzMSwgIDU5LCAyMiksCisJSFNUVCgg NTUwLCAgNzksIDM2LCAgNjMsIDI0KSwKKwlIU1RUKCA2MDAsICA4MywgMzcsICA2OCwgMjUpLAor CUhTVFQoIDY1MCwgIDkwLCAzOCwgIDczLCAyNyksCisJSFNUVCggNzAwLCAgOTUsIDQwLCAgNzcs IDI4KSwKKwlIU1RUKCA3NTAsIDEwMiwgNDAsICA4NCwgMjgpLAorCUhTVFQoIDgwMCwgMTA2LCA0 MiwgIDg3LCAzMCksCisJSFNUVCggODUwLCAxMTMsIDQ0LCAgOTMsIDMxKSwKKwlIU1RUKCA5MDAs IDExOCwgNDcsICA5OCwgMzIpLAorCUhTVFQoIDk1MCwgMTI0LCA0NywgMTAyLCAzNCksCisJSFNU VCgxMDAwLCAxMzAsIDQ5LCAxMDcsIDM1KSwKKwlIU1RUKDEwNTAsIDEzNSwgNTEsIDExMSwgMzcp LAorCUhTVFQoMTEwMCwgMTM5LCA1MSwgMTE0LCAzOCksCisJSFNUVCgxMTUwLCAxNDYsIDU0LCAx MjAsIDQwKSwKKwlIU1RUKDEyMDAsIDE1MywgNTcsIDEyNSwgNDEpLAorCUhTVFQoMTI1MCwgMTU4 LCA1OCwgMTMwLCA0MiksCisJSFNUVCgxMzAwLCAxNjMsIDU4LCAxMzUsIDQ0KSwKKwlIU1RUKDEz NTAsIDE2OCwgNjAsIDE0MCwgNDUpLAorCUhTVFQoMTQwMCwgMTcyLCA2NCwgMTQ0LCA0NyksCisJ SFNUVCgxNDUwLCAxNzYsIDY1LCAxNDgsIDQ4KSwKKwlIU1RUKDE1MDAsIDE4MSwgNjYsIDE1Mywg NTApCit9OworCitzdGF0aWMgaW50Citkd19taXBpX2RzaV9waHlfZ2V0X3RpbWluZyh2b2lkICpw cml2X2RhdGEsIHVuc2lnbmVkIGludCBsYW5lX21icHMsCisJCQkgICBzdHJ1Y3QgZHdfbWlwaV9k c2lfZHBoeV90aW1pbmcgKnRpbWluZykKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBB UlJBWV9TSVpFKGhzdHRfdGFibGUpOyBpKyspCisJCWlmIChsYW5lX21icHMgPCBoc3R0X3RhYmxl W2ldLm1heGZyZXEpCisJCQlicmVhazsKKworCWlmIChpID09IEFSUkFZX1NJWkUoaHN0dF90YWJs ZSkpCisJCWktLTsKKworCSp0aW1pbmcgPSBoc3R0X3RhYmxlW2ldLnRpbWluZzsKKworCXJldHVy biAwOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGR3X21pcGlfZHNpX3BoeV9vcHMgZHdfbWlw aV9kc2lfcm9ja2NoaXBfcGh5X29wcyA9IHsKIAkuaW5pdCA9IGR3X21pcGlfZHNpX3BoeV9pbml0 LAogCS5nZXRfbGFuZV9tYnBzID0gZHdfbWlwaV9kc2lfZ2V0X2xhbmVfbWJwcywKKwkuZ2V0X3Rp bWluZyA9IGR3X21pcGlfZHNpX3BoeV9nZXRfdGltaW5nLAogfTsKIAogc3RhdGljIHZvaWQgZHdf bWlwaV9kc2lfcm9ja2NoaXBfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCAqZHNp LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9zdG0vZHdfbWlwaV9kc2ktc3RtLmMKaW5kZXggNTE0ZWZlZmIwMDE2Li40 YjE2NTYzNWIyZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdG0vZHdfbWlwaV9kc2kt c3RtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0uYwpAQCAtMzA5 LDExICszMDksMjQgQEAgZHdfbWlwaV9kc2lfZ2V0X2xhbmVfbWJwcyh2b2lkICpwcml2X2RhdGEs IGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAogCXJldHVybiAwOwogfQogCitz dGF0aWMgaW50Citkd19taXBpX2RzaV9waHlfZ2V0X3RpbWluZyh2b2lkICpwcml2X2RhdGEsIHVu c2lnbmVkIGludCBsYW5lX21icHMsCisJCQkgICBzdHJ1Y3QgZHdfbWlwaV9kc2lfZHBoeV90aW1p bmcgKnRpbWluZykKK3sKKwl0aW1pbmctPmNsa19oczJscCA9IDB4NDA7CisJdGltaW5nLT5jbGtf bHAyaHMgPSAweDQwOworCXRpbWluZy0+ZGF0YV9oczJscCA9IDB4NDA7CisJdGltaW5nLT5kYXRh X2xwMmhzID0gMHg0MDsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGR3 X21pcGlfZHNpX3BoeV9vcHMgZHdfbWlwaV9kc2lfc3RtX3BoeV9vcHMgPSB7CiAJLmluaXQgPSBk d19taXBpX2RzaV9waHlfaW5pdCwKIAkucG93ZXJfb24gPSBkd19taXBpX2RzaV9waHlfcG93ZXJf b24sCiAJLnBvd2VyX29mZiA9IGR3X21pcGlfZHNpX3BoeV9wb3dlcl9vZmYsCiAJLmdldF9sYW5l X21icHMgPSBkd19taXBpX2RzaV9nZXRfbGFuZV9tYnBzLAorCS5nZXRfdGltaW5nID0gZHdfbWlw aV9kc2lfcGh5X2dldF90aW1pbmcsCiB9OwogCiBzdGF0aWMgc3RydWN0IGR3X21pcGlfZHNpX3Bs YXRfZGF0YSBkd19taXBpX2RzaV9zdG1fcGxhdF9kYXRhID0gewpkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmggYi9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9k c2kuaAppbmRleCA5NGNjNjRhMzQyZTEuLmIwZTM5MGIzMjg4ZSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmgKKysrIGIvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X21p cGlfZHNpLmgKQEAgLTE5LDYgKzE5LDEzIEBAIHN0cnVjdCBkd19taXBpX2RzaTsKIHN0cnVjdCBt aXBpX2RzaV9kZXZpY2U7CiBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlOwogCitzdHJ1Y3QgZHdfbWlw aV9kc2lfZHBoeV90aW1pbmcgeworCXUxNiBkYXRhX2hzMmxwOworCXUxNiBkYXRhX2xwMmhzOwor CXUxNiBjbGtfaHMybHA7CisJdTE2IGNsa19scDJoczsKK307CisKIHN0cnVjdCBkd19taXBpX2Rz aV9waHlfb3BzIHsKIAlpbnQgKCppbml0KSh2b2lkICpwcml2X2RhdGEpOwogCXZvaWQgKCpwb3dl cl9vbikodm9pZCAqcHJpdl9kYXRhKTsKQEAgLTI3LDYgKzM0LDggQEAgc3RydWN0IGR3X21pcGlf ZHNpX3BoeV9vcHMgewogCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKIAkJCSAgICAgdW5zaWduZWQgbG9uZyBtb2RlX2ZsYWdzLCB1MzIgbGFuZXMsIHUzMiBmb3Jt YXQsCiAJCQkgICAgIHVuc2lnbmVkIGludCAqbGFuZV9tYnBzKTsKKwlpbnQgKCpnZXRfdGltaW5n KSh2b2lkICpwcml2X2RhdGEsIHVuc2lnbmVkIGludCBsYW5lX21icHMsCisJCQkgIHN0cnVjdCBk d19taXBpX2RzaV9kcGh5X3RpbWluZyAqdGltaW5nKTsKIH07CiAKIHN0cnVjdCBkd19taXBpX2Rz aV9ob3N0X29wcyB7Ci0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbA==