From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Ripard Subject: [PATCH 07/18] drm/sun4i: tcon: Don't rely on encoders to set the TCON mode Date: Thu, 13 Jul 2017 16:13:02 +0200 Message-ID: <31e3fd8540d85c8f4637af1083c5c2a436403cd2.1499955058.git-series.maxime.ripard@free-electrons.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.free-electrons.com (mail.free-electrons.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id DAD8C6E623 for ; Thu, 13 Jul 2017 14:13:19 +0000 (UTC) In-Reply-To: In-Reply-To: References: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Brown , Thierry Reding , Laurent Pinchart , Chen-Yu Tsai , Maxime Ripard Cc: Mark Rutland , devicetree@vger.kernel.org, Boris Brezillon , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rob Herring , Daniel Vetter , Thomas Petazzoni , linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org SnVzdCBsaWtlIHdlIGRpZCBmb3IgdGhlIFRDT04gZW5hYmxlIGFuZCBkaXNhYmxlLCBmb3IgaGlz dG9yaWNhbCByZWFzb25zIHdlCnVzZWQgdG8gcmVseSBvbiB0aGUgZW5jb2RlcnMgY2FsbGluZyB0 aGUgVENPTiBtb2RlX3NldCBmdW5jdGlvbiwgd2hpbGUgdGhlCkNSVEMgaGFzIGEgY2FsbGJhY2sg Zm9yIHRoYXQuCgpMZXQncyBpbXBsZW1lbnQgaXQgaW4gb3JkZXIgdG8gcmVkdWNlIHRoZSBib2ls ZXJwbGF0ZSBjb2RlLgoKU2lnbmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFy ZEBmcmVlLWVsZWN0cm9ucy5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Ny dGMuYyAgICAgICAgICB8IDExICsrKystCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfaGRt aV9kZGNfY2xrLmMgIHwgIDEgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2Vu Yy5jICAgICAgfCAgNyArLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfaGRtaV90bWRz X2Nsay5jIHwgIDEgKy0KIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9yZ2IuYyAgICAgICAg ICAgfCAxNSArLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5jICAgICAg ICAgIHwgNTYgKysrKysrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjRpX3Rjb24uaCAgICAgICAgICB8IDEwICstLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3Vu NGlfdHYuYyAgICAgICAgICAgIHwgIDYgKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlv bnMoKyksIDY3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW40aV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfY3J0Yy5jCmluZGV4 IDMwYzc1NjhkZGU1Yy4uODg2NTk1ZjU3OWFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v c3VuNGkvc3VuNGlfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9jcnRj LmMKQEAgLTExMywxMSArMTEzLDIyIEBAIHN0YXRpYyB2b2lkIHN1bjRpX2NydGNfZW5hYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlzdW40aV90Y29uX3NldF9zdGF0dXMoc2NydGMtPnRjb24s IGVuY29kZXIsIHRydWUpOwogfQogCitzdGF0aWMgdm9pZCBzdW40aV9jcnRjX21vZGVfc2V0X25v ZmIoc3RydWN0IGRybV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlID0gJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOworCXN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciA9IHN1bjRpX2NydGNfZ2V0X2VuY29kZXIoY3J0Yyk7CisJc3RydWN0IHN1bjRpX2Ny dGMgKnNjcnRjID0gZHJtX2NydGNfdG9fc3VuNGlfY3J0YyhjcnRjKTsKKworCXN1bjRpX3Rjb25f bW9kZV9zZXQoc2NydGMtPnRjb24sIGVuY29kZXIsIG1vZGUpOworfQorCisKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIHN1bjRpX2NydGNfaGVscGVyX2Z1bmNzID0g ewogCS5hdG9taWNfYmVnaW4JPSBzdW40aV9jcnRjX2F0b21pY19iZWdpbiwKIAkuYXRvbWljX2Zs dXNoCT0gc3VuNGlfY3J0Y19hdG9taWNfZmx1c2gsCiAJLmRpc2FibGUJPSBzdW40aV9jcnRjX2Rp c2FibGUsCiAJLmVuYWJsZQkJPSBzdW40aV9jcnRjX2VuYWJsZSwKKwkubW9kZV9zZXRfbm9mYgk9 IHN1bjRpX2NydGNfbW9kZV9zZXRfbm9mYiwKIH07CiAKIHN0YXRpYyBpbnQgc3VuNGlfY3J0Y19l bmFibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2RkY19jbGsuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW40aV9oZG1pX2RkY19jbGsuYwppbmRleCA0NjkyZThjMzQ1ZWQuLjczNDhiZGJhYTgwMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlfZGRjX2Nsay5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2RkY19jbGsuYwpAQCAtMTIsNyAr MTIsNiBAQAogCiAjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+CiAKLSNpbmNsdWRlICJz dW40aV90Y29uLmgiCiAjaW5jbHVkZSAic3VuNGlfaGRtaS5oIgogCiBzdHJ1Y3Qgc3VuNGlfZGRj IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2VuYy5jIGIv ZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2hkbWlfZW5jLmMKaW5kZXggMDZhZjJmNmQwYjMx Li42N2VmOGFjZGI0MzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9o ZG1pX2VuYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX2VuYy5jCkBA IC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAic3VuNGlfY3J0Yy5oIgogI2luY2x1ZGUgInN1bjRp X2Rydi5oIgogI2luY2x1ZGUgInN1bjRpX2hkbWkuaCIKLSNpbmNsdWRlICJzdW40aV90Y29uLmgi CiAKICNkZWZpbmUgRERDX1NFR01FTlRfQUREUgkweDMwCiAKQEAgLTExOSwxNSArMTE4LDkgQEAg c3RhdGljIHZvaWQgc3VuNGlfaGRtaV9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCiAJCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCiB7CiAJc3Ry dWN0IHN1bjRpX2hkbWkgKmhkbWkgPSBkcm1fZW5jb2Rlcl90b19zdW40aV9oZG1pKGVuY29kZXIp OwotCXN0cnVjdCBzdW40aV9jcnRjICpjcnRjID0gZHJtX2NydGNfdG9fc3VuNGlfY3J0YyhlbmNv ZGVyLT5jcnRjKTsKLQlzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiA9IGNydGMtPnRjb247CiAJdW5z aWduZWQgaW50IHgsIHk7CiAJdTMyIHZhbDsKIAotCXN1bjRpX3Rjb24xX21vZGVfc2V0KHRjb24s IG1vZGUpOwotCXN1bjRpX3Rjb25fc2V0X211eCh0Y29uLCAxLCBlbmNvZGVyKTsKLQotCWNsa19z ZXRfcmF0ZSh0Y29uLT5zY2xrMSwgbW9kZS0+Y3J0Y19jbG9jayAqIDEwMDApOwogCWNsa19zZXRf cmF0ZShoZG1pLT5tb2RfY2xrLCBtb2RlLT5jcnRjX2Nsb2NrICogMTAwMCk7CiAJY2xrX3NldF9y YXRlKGhkbWktPnRtZHNfY2xrLCBtb2RlLT5jcnRjX2Nsb2NrICogMTAwMCk7CiAKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX3RtZHNfY2xrLmMgYi9kcml2ZXJz L2dwdS9kcm0vc3VuNGkvc3VuNGlfaGRtaV90bWRzX2Nsay5jCmluZGV4IDVjZjI1MjdiZmZjOC4u NWI2NzI3NjIzMDM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfaGRt aV90bWRzX2Nsay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9oZG1pX3RtZHNf Y2xrLmMKQEAgLTEyLDcgKzEyLDYgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5o PgogCi0jaW5jbHVkZSAic3VuNGlfdGNvbi5oIgogI2luY2x1ZGUgInN1bjRpX2hkbWkuaCIKIAog c3RydWN0IHN1bjRpX3RtZHMgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1 bjRpX3JnYi5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3JnYi5jCmluZGV4IGVjY2Ux ZjViNTBhYi4uOTA2MWUxNmUzMDg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNGlfcmdiLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3JnYi5jCkBAIC0x NTQsMjIgKzE1NCw3IEBAIHN0YXRpYyB2b2lkIHN1bjRpX3JnYl9lbmNvZGVyX2Rpc2FibGUoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCX0KIH0KIAotc3RhdGljIHZvaWQgc3VuNGlfcmdi X2VuY29kZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAotCQkJCSAgICAg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKLQkJCQkgICAgICAgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCi17Ci0Jc3RydWN0IHN1bjRpX3JnYiAqcmdiID0g ZHJtX2VuY29kZXJfdG9fc3VuNGlfcmdiKGVuY29kZXIpOwotCXN0cnVjdCBzdW40aV90Y29uICp0 Y29uID0gcmdiLT50Y29uOwotCi0Jc3VuNGlfdGNvbjBfbW9kZV9zZXQodGNvbiwgbW9kZSk7Ci0J c3VuNGlfdGNvbl9zZXRfbXV4KHRjb24sIDAsIGVuY29kZXIpOwotCi0JLyogRklYTUU6IFRoaXMg c2VlbXMgdG8gYmUgYm9hcmQgc3BlY2lmaWMgKi8KLQljbGtfc2V0X3BoYXNlKHRjb24tPmRjbGss IDEyMCk7Ci19Ci0KIHN0YXRpYyBzdHJ1Y3QgZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzIHN1bjRp X3JnYl9lbmNfaGVscGVyX2Z1bmNzID0gewotCS5tb2RlX3NldAk9IHN1bjRpX3JnYl9lbmNvZGVy X21vZGVfc2V0LAogCS5kaXNhYmxlCT0gc3VuNGlfcmdiX2VuY29kZXJfZGlzYWJsZSwKIAkuZW5h YmxlCQk9IHN1bjRpX3JnYl9lbmNvZGVyX2VuYWJsZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRp X3Rjb24uYwppbmRleCBkYzcwYmMyYTQyYTUuLmM0NDA3OTEwZGZhZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3Vu NGkvc3VuNGlfdGNvbi5jCkBAIC0xMDYsMjkgKzEwNiw2IEBAIHZvaWQgc3VuNGlfdGNvbl9lbmFi bGVfdmJsYW5rKHN0cnVjdCBzdW40aV90Y29uICp0Y29uLCBib29sIGVuYWJsZSkKIH0KIEVYUE9S VF9TWU1CT0woc3VuNGlfdGNvbl9lbmFibGVfdmJsYW5rKTsKIAotdm9pZCBzdW40aV90Y29uX3Nl dF9tdXgoc3RydWN0IHN1bjRpX3Rjb24gKnRjb24sIGludCBjaGFubmVsLAotCQkJc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyKQotewotCXUzMiB2YWw7Ci0KLQlpZiAoIXRjb24tPnF1aXJrcy0+ aGFzX3Vua25vd25fbXV4KQotCQlyZXR1cm47Ci0KLQlpZiAoY2hhbm5lbCAhPSAxKQotCQlyZXR1 cm47Ci0KLQlpZiAoZW5jb2Rlci0+ZW5jb2Rlcl90eXBlID09IERSTV9NT0RFX0VOQ09ERVJfVFZE QUMpCi0JCXZhbCA9IDE7Ci0JZWxzZQotCQl2YWwgPSAwOwotCi0JLyoKLQkgKiBGSVhNRTogVW5k b2N1bWVudGVkIGJpdHMKLQkgKi8KLQlyZWdtYXBfd3JpdGUodGNvbi0+cmVncywgU1VONElfVENP Tl9NVVhfQ1RSTF9SRUcsIHZhbCk7Ci19Ci1FWFBPUlRfU1lNQk9MKHN1bjRpX3Rjb25fc2V0X211 eCk7Ci0KIHN0YXRpYyBpbnQgc3VuNGlfdGNvbl9nZXRfY2xrX2RlbGF5KHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlLAogCQkJCSAgICBpbnQgY2hhbm5lbCkKIHsKQEAgLTE0Nyw4ICsxMjQs OCBAQCBzdGF0aWMgaW50IHN1bjRpX3Rjb25fZ2V0X2Nsa19kZWxheShzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKIAlyZXR1cm4gZGVsYXk7CiB9CiAKLXZvaWQgc3VuNGlfdGNvbjBfbW9k ZV9zZXQoc3RydWN0IHN1bjRpX3Rjb24gKnRjb24sCi0JCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlKQorc3RhdGljIHZvaWQgc3VuNGlfdGNvbjBfbW9kZV9zZXQoc3RydWN0IHN1bjRp X3Rjb24gKnRjb24sCisJCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQogewogCXVu c2lnbmVkIGludCBicCwgaHN5bmMsIHZzeW5jOwogCXU4IGNsa19kZWxheTsKQEAgLTIyMSwxMCAr MTk4LDkgQEAgdm9pZCBzdW40aV90Y29uMF9tb2RlX3NldChzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNv biwKIAkvKiBFbmFibGUgdGhlIG91dHB1dCBvbiB0aGUgcGlucyAqLwogCXJlZ21hcF93cml0ZSh0 Y29uLT5yZWdzLCBTVU40SV9UQ09OMF9JT19UUklfUkVHLCAwKTsKIH0KLUVYUE9SVF9TWU1CT0wo c3VuNGlfdGNvbjBfbW9kZV9zZXQpOwogCi12b2lkIHN1bjRpX3Rjb24xX21vZGVfc2V0KHN0cnVj dCBzdW40aV90Y29uICp0Y29uLAotCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkK K3N0YXRpYyB2b2lkIHN1bjRpX3Rjb24xX21vZGVfc2V0KHN0cnVjdCBzdW40aV90Y29uICp0Y29u LAorCQkJCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKIAl1bnNpZ25lZCBpbnQg YnAsIGhzeW5jLCB2c3luYywgdnRvdGFsOwogCXU4IGNsa19kZWxheTsKQEAgLTMxMiw3ICsyODgs MjkgQEAgdm9pZCBzdW40aV90Y29uMV9tb2RlX3NldChzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwK IAkJCSAgIFNVTjRJX1RDT05fR0NUTF9JT01BUF9NQVNLLAogCQkJICAgU1VONElfVENPTl9HQ1RM X0lPTUFQX1RDT04xKTsKIH0KLUVYUE9SVF9TWU1CT0woc3VuNGlfdGNvbjFfbW9kZV9zZXQpOwor Cit2b2lkIHN1bjRpX3Rjb25fbW9kZV9zZXQoc3RydWN0IHN1bjRpX3Rjb24gKnRjb24sIHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwkJCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKK3sKKwlzd2l0Y2ggKGVuY29kZXItPmVuY29kZXJfdHlwZSkgeworCWNhc2UgRFJNX01PREVf RU5DT0RFUl9OT05FOgorCQlzdW40aV90Y29uMF9tb2RlX3NldCh0Y29uLCBtb2RlKTsKKwkJYnJl YWs7CisJY2FzZSBEUk1fTU9ERV9FTkNPREVSX1RWREFDOgorCQkvKgorCQkgKiBGSVhNRTogVW5k b2N1bWVudGVkIGJpdHMKKwkJICovCisJCWlmICh0Y29uLT5xdWlya3MtPmhhc191bmtub3duX211 eCkKKwkJCXJlZ21hcF93cml0ZSh0Y29uLT5yZWdzLCBTVU40SV9UQ09OX01VWF9DVFJMX1JFRywg MSk7CisJCS8qIEZhbGx0aHJvdWdoICovCisJY2FzZSBEUk1fTU9ERV9FTkNPREVSX1RNRFM6CisJ CXN1bjRpX3Rjb24xX21vZGVfc2V0KHRjb24sIG1vZGUpOworCQlicmVhazsKKwlkZWZhdWx0Ogor CQlEUk1fREVCVUdfRFJJVkVSKCJVbmtub3duIGVuY29kZXIgdHlwZSwgZG9pbmcgbm90aGluZy4u LlxuIik7CisJfQorfQorRVhQT1JUX1NZTUJPTChzdW40aV90Y29uX21vZGVfc2V0KTsKIAogc3Rh dGljIHZvaWQgc3VuNGlfdGNvbl9maW5pc2hfcGFnZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJCQkJCXN0cnVjdCBzdW40aV9jcnRjICpzY3J0YykKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9zdW40aS9zdW40aV90Y29uLmggYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlf dGNvbi5oCmluZGV4IDgyNDczMmM5MGEyYS4uYTMxOGU1Y2NiNjEyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW40aV90Y29uLmgKQEAgLTE4NCwxNSArMTg0LDkgQEAgc3RydWN0IGRybV9icmlkZ2UgKnN1 bjRpX3Rjb25fZmluZF9icmlkZ2Uoc3RydWN0IGRldmljZV9ub2RlICpub2RlKTsKIHN0cnVjdCBk cm1fcGFuZWwgKnN1bjRpX3Rjb25fZmluZF9wYW5lbChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUp OwogCiB2b2lkIHN1bjRpX3Rjb25fZW5hYmxlX3ZibGFuayhzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNv biwgYm9vbCBlbmFibGUpOwordm9pZCBzdW40aV90Y29uX21vZGVfc2V0KHN0cnVjdCBzdW40aV90 Y29uICp0Y29uLCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJCQkgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUpOwogdm9pZCBzdW40aV90Y29uX3NldF9zdGF0dXMoc3RydWN0IHN1 bjRpX3Rjb24gKmNydGMsIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgIGJvb2wg ZW5hYmxlKTsKIAotLyogTW9kZSBSZWxhdGVkIENvbnRyb2xzICovCi12b2lkIHN1bjRpX3Rjb25f c2V0X211eChzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwgaW50IGNoYW5uZWwsCi0JCQlzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIpOwotdm9pZCBzdW40aV90Y29uMF9tb2RlX3NldChzdHJ1Y3Qg c3VuNGlfdGNvbiAqdGNvbiwKLQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwot dm9pZCBzdW40aV90Y29uMV9tb2RlX3NldChzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwKLQkJCSAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwotCiAjZW5kaWYgLyogX19TVU40SV9UQ09O X0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3R2LmMgYi9k cml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdHYuYwppbmRleCA3OGQ2Y2Y3N2ZkZDMuLjY5Yjlm OGQ5OGExMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3R2LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3R2LmMKQEAgLTI0LDcgKzI0LDYgQEAKIAog I2luY2x1ZGUgInN1bjRpX2NydGMuaCIKICNpbmNsdWRlICJzdW40aV9kcnYuaCIKLSNpbmNsdWRl ICJzdW40aV90Y29uLmgiCiAjaW5jbHVkZSAic3VueGlfZW5naW5lLmgiCiAKICNkZWZpbmUgU1VO NElfVFZFX0VOX1JFRwkJMHgwMDAKQEAgLTM3NCwxMyArMzczLDggQEAgc3RhdGljIHZvaWQgc3Vu NGlfdHZfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCiB7CiAJc3RydWN0IHN1bjRpX3R2 ICp0diA9IGRybV9lbmNvZGVyX3RvX3N1bjRpX3R2KGVuY29kZXIpOwotCXN0cnVjdCBzdW40aV9j cnRjICpjcnRjID0gZHJtX2NydGNfdG9fc3VuNGlfY3J0YyhlbmNvZGVyLT5jcnRjKTsKLQlzdHJ1 Y3Qgc3VuNGlfdGNvbiAqdGNvbiA9IGNydGMtPnRjb247CiAJY29uc3Qgc3RydWN0IHR2X21vZGUg KnR2X21vZGUgPSBzdW40aV90dl9maW5kX3R2X2J5X21vZGUobW9kZSk7CiAKLQlzdW40aV90Y29u MV9tb2RlX3NldCh0Y29uLCBtb2RlKTsKLQlzdW40aV90Y29uX3NldF9tdXgodGNvbiwgMSwgZW5j b2Rlcik7Ci0KIAkvKiBFbmFibGUgYW5kIG1hcCB0aGUgREFDIHRvIHRoZSBvdXRwdXQgKi8KIAly ZWdtYXBfdXBkYXRlX2JpdHModHYtPnJlZ3MsIFNVTjRJX1RWRV9FTl9SRUcsCiAJCQkgICBTVU40 SV9UVkVfRU5fREFDX01BUF9NQVNLLAotLSAKZ2l0LXNlcmllcyAwLjkuMQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK