From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v3 04/19] drm/msm/dsi: adjust dsi timing for dual dsi mode Date: Fri, 20 Jul 2018 16:42:55 -0400 Message-ID: <20180720204315.19054-5-seanpaul@chromium.org> References: <20180720204315.19054-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180720204315.19054-1-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: abhinavk@codeaurora.org, architt@codeaurora.org, chandanu@codeaurora.org, jsanka@codeaurora.org, jcrouse@codeaurora.org, ryadav@codeaurora.org, seanpaul@chromium.org, skolluku@codeaurora.org, dri-devel@lists.freedesktop.org, robdclark@gmail.com, airlied@linux.ie, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, nganji@codeaurora.org, hoegsberg@chromium.org, dovizu@chromium.org, robh+dt@kernel.org Cc: Neil Armstrong , Daniel Vetter , Lloyd Atkinson , Sibi Sankar , Daniel Mack List-Id: linux-arm-msm@vger.kernel.org RnJvbTogQ2hhbmRhbiBVZGRhcmFqdSA8Y2hhbmRhbnVAY29kZWF1cm9yYS5vcmc+CgpGb3IgZHVh bCBkc2kgbW9kZSwgdGhlIGhvcml6b250YWwgdGltaW5nIG5lZWRzCnRvIGJlIGRpdmlkZWQgYnkg aGFsZiBzaW5jZSBib3RoIHRoZSBkc2kgY29udHJvbGxlcnMKd2lsbCBiZSBkcml2aW5nIHRoaXMg cGFuZWwuIEFkanVzdCB0aGUgcGl4ZWwgY2xvY2sgYW5kCkRTSSB0aW1pbmcgYWNjb3JkaW5nbHku CgpDaGFuZ2VzIGluIHYzOgotIEFkZGVkIEFyY2hpdCdzIFItYgotIFJlYmFzZSBvbiBkc2kgY2xl YW51cCBzZXQgaW4gbXNtLW5leHQKCkNjOiBTaWJpIFNhbmthciA8c2liaXNAY29kZWF1cm9yYS5v cmc+ClJldmlld2VkLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEub3JnPgpT aWduZWQtb2ZmLWJ5OiBDaGFuZGFuIFVkZGFyYWp1IDxjaGFuZGFudUBjb2RlYXVyb3JhLm9yZz4K U2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Ci0tLQogZHJp dmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmggICAgICAgICB8IDEwICsrKy0tCiBkcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9kc2lfY2ZnLmggICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20v ZHNpL2RzaV9ob3N0LmMgICAgfCA2NSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMgfCAgNyArLS0KIDQgZmlsZXMgY2hhbmdl ZCwgNjQgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuaApp bmRleCBkZmEwNDlkODc2YmQuLmQzZjYxM2M3NmZmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvZHNpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKQEAg LTE2Myw3ICsxNjMsOCBAQCB2b2lkIG1zbV9kc2lfaG9zdF9jbWRfeGZlcl9jb21taXQoc3RydWN0 IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiBpbnQgbXNtX2RzaV9ob3N0X2VuYWJsZShzdHJ1Y3QgbWlw aV9kc2lfaG9zdCAqaG9zdCk7CiBpbnQgbXNtX2RzaV9ob3N0X2Rpc2FibGUoc3RydWN0IG1pcGlf ZHNpX2hvc3QgKmhvc3QpOwogaW50IG1zbV9kc2lfaG9zdF9wb3dlcl9vbihzdHJ1Y3QgbWlwaV9k c2lfaG9zdCAqaG9zdCwKLQkJCXN0cnVjdCBtc21fZHNpX3BoeV9zaGFyZWRfdGltaW5ncyAqcGh5 X3NoYXJlZF90aW1pbmdzKTsKKwkJCXN0cnVjdCBtc21fZHNpX3BoeV9zaGFyZWRfdGltaW5ncyAq cGh5X3NoYXJlZF90aW1pbmdzLAorCQkJYm9vbCBpc19kdWFsX2RzaSk7CiBpbnQgbXNtX2RzaV9o b3N0X3Bvd2VyX29mZihzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCk7CiBpbnQgbXNtX2RzaV9o b3N0X3NldF9kaXNwbGF5X21vZGUoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiAJCQkJCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKQEAgLTE3Niw3ICsxNzcsOCBAQCBpbnQgbXNt X2RzaV9ob3N0X3NldF9zcmNfcGxsKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCQkJc3Ry dWN0IG1zbV9kc2lfcGxsICpzcmNfcGxsKTsKIHZvaWQgbXNtX2RzaV9ob3N0X3Jlc2V0X3BoeShz dHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCk7CiB2b2lkIG1zbV9kc2lfaG9zdF9nZXRfcGh5X2Ns a19yZXEoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCi0Jc3RydWN0IG1zbV9kc2lfcGh5X2Ns a19yZXF1ZXN0ICpjbGtfcmVxKTsKKwlzdHJ1Y3QgbXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNs a19yZXEsCisJYm9vbCBpc19kdWFsX2RzaSk7CiB2b2lkIG1zbV9kc2lfaG9zdF9kZXN0cm95KHN0 cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0KTsKIGludCBtc21fZHNpX2hvc3RfbW9kZXNldF9pbml0 KHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCQkJCQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KTsKQEAgLTE5Niw4ICsxOTgsOCBAQCBpbnQgZHNpX2RtYV9iYXNlX2dldF82ZyhzdHJ1Y3QgbXNt X2RzaV9ob3N0ICptc21faG9zdCwgdWludDY0X3QgKmlvdmEpOwogaW50IGRzaV9kbWFfYmFzZV9n ZXRfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIHVpbnQ2NF90ICppb3ZhKTsKIGlu dCBkc2lfY2xrX2luaXRfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpOwogaW50IGRz aV9jbGtfaW5pdF82Z192MihzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCk7Ci1pbnQgZHNp X2NhbGNfY2xrX3JhdGVfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpOwotaW50IGRz aV9jYWxjX2Nsa19yYXRlXzZnKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0KTsKK2ludCBk c2lfY2FsY19jbGtfcmF0ZV92MihzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCwgYm9vbCBp c19kdWFsX2RzaSk7CitpbnQgZHNpX2NhbGNfY2xrX3JhdGVfNmcoc3RydWN0IG1zbV9kc2lfaG9z dCAqbXNtX2hvc3QsIGJvb2wgaXNfZHVhbF9kc2kpOwogCiAvKiBkc2kgcGh5ICovCiBzdHJ1Y3Qg bXNtX2RzaV9waHk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfY2Zn LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfY2ZnLmgKaW5kZXggYTc5NWEwNjJiNzc5 Li4xNmM1MDc5MTExMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9j ZmcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfY2ZnLmgKQEAgLTQ4LDcgKzQ4 LDcgQEAgc3RydWN0IG1zbV9kc2lfaG9zdF9jZmdfb3BzIHsKIAl2b2lkKiAoKnR4X2J1Zl9nZXQp KHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0KTsKIAl2b2lkICgqdHhfYnVmX3B1dCkoc3Ry dWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpOwogCWludCAoKmRtYV9iYXNlX2dldCkoc3RydWN0 IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIHVpbnQ2NF90ICppb3ZhKTsKLQlpbnQgKCpjYWxjX2Ns a19yYXRlKShzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCk7CisJaW50ICgqY2FsY19jbGtf cmF0ZSkoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIGJvb2wgaXNfZHVhbF9kc2kpOwog fTsKIAogc3RydWN0IG1zbV9kc2lfY2ZnX2hhbmRsZXIgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9o b3N0LmMKaW5kZXggYmIwMGUwZjE1MGNiLi5mNmM2ZWRkYmNlYzcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvZHNpX2hvc3QuYwpAQCAtMTE4LDYgKzExOCw3IEBAIHN0cnVjdCBtc21fZHNpX2hvc3Qgewog CXN0cnVjdCBjbGsgKmJ5dGVfaW50Zl9jbGs7CiAKIAl1MzIgYnl0ZV9jbGtfcmF0ZTsKKwl1MzIg cGl4ZWxfY2xrX3JhdGU7CiAJdTMyIGVzY19jbGtfcmF0ZTsKIAogCS8qIERTSSB2MiBzcGVjaWZp YyBjbG9ja3MgKi8KQEAgLTUyMyw3ICs1MjQsNyBAQCBpbnQgZHNpX2xpbmtfY2xrX2VuYWJsZV82 ZyhzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKIAkJZ290byBlcnJvcjsKIAl9CiAKLQly ZXQgPSBjbGtfc2V0X3JhdGUobXNtX2hvc3QtPnBpeGVsX2NsaywgbXNtX2hvc3QtPm1vZGUtPmNs b2NrICogMTAwMCk7CisJcmV0ID0gY2xrX3NldF9yYXRlKG1zbV9ob3N0LT5waXhlbF9jbGssIG1z bV9ob3N0LT5waXhlbF9jbGtfcmF0ZSk7CiAJaWYgKHJldCkgewogCQlwcl9lcnIoIiVzOiBGYWls ZWQgdG8gc2V0IHJhdGUgcGl4ZWwgY2xrLCAlZFxuIiwgX19mdW5jX18sIHJldCk7CiAJCWdvdG8g ZXJyb3I7CkBAIC02MDQsNyArNjA1LDcgQEAgaW50IGRzaV9saW5rX2Nsa19lbmFibGVfdjIoc3Ry dWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiAJCWdvdG8gZXJyb3I7CiAJfQogCi0JcmV0ID0g Y2xrX3NldF9yYXRlKG1zbV9ob3N0LT5waXhlbF9jbGssIG1zbV9ob3N0LT5tb2RlLT5jbG9jayAq IDEwMDApOworCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+cGl4ZWxfY2xrLCBtc21faG9z dC0+cGl4ZWxfY2xrX3JhdGUpOwogCWlmIChyZXQpIHsKIAkJcHJfZXJyKCIlczogRmFpbGVkIHRv IHNldCByYXRlIHBpeGVsIGNsaywgJWRcbiIsIF9fZnVuY19fLCByZXQpOwogCQlnb3RvIGVycm9y OwpAQCAtNjYzLDcgKzY2NCw3IEBAIHZvaWQgZHNpX2xpbmtfY2xrX2Rpc2FibGVfdjIoc3RydWN0 IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9ob3N0 LT5ieXRlX2Nsayk7CiB9CiAKLWludCBkc2lfY2FsY19jbGtfcmF0ZV82ZyhzdHJ1Y3QgbXNtX2Rz aV9ob3N0ICptc21faG9zdCkKK2ludCBkc2lfY2FsY19jbGtfcmF0ZV82ZyhzdHJ1Y3QgbXNtX2Rz aV9ob3N0ICptc21faG9zdCwgYm9vbCBpc19kdWFsX2RzaSkKIHsKIAlzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSA9IG1zbV9ob3N0LT5tb2RlOwogCXU4IGxhbmVzID0gbXNtX2hvc3QtPmxh bmVzOwpAQCAtNjcxLDYgKzY3MiwxNiBAQCBpbnQgZHNpX2NhbGNfY2xrX3JhdGVfNmcoc3RydWN0 IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiAJdTMyIHBjbGtfcmF0ZTsKIAogCXBjbGtfcmF0ZSA9 IG1vZGUtPmNsb2NrICogMTAwMDsKKworCS8qCisJICogRm9yIGR1YWwgRFNJIG1vZGUsIHRoZSBj dXJyZW50IERSTSBtb2RlIGhhcyB0aGUgY29tcGxldGUgd2lkdGggb2YgdGhlCisJICogcGFuZWwu IFNpbmNlLCB0aGUgY29tcGxldGUgcGFuZWwgaXMgZHJpdmVuIGJ5IHR3byBEU0kgY29udHJvbGxl cnMsCisJICogdGhlY2xvY2sgcmF0ZXMgaGF2ZSB0byBiZSBzcGxpdCBiZXR3ZWVuIHRoZSB0d28g ZHNpIGNvbnRyb2xsZXJzLgorCSAqIEFkanVzdCB0aGUgYnl0ZSBhbmQgcGl4ZWwgY2xvY2sgcmF0 ZXMgZm9yIGVhY2ggZHNpIGhvc3QgYWNjb3JkaW5nbHkuCisJICovCisJaWYgKGlzX2R1YWxfZHNp KQorCQlwY2xrX3JhdGUgLz0gMjsKKwogCWlmIChsYW5lcyA+IDApIHsKIAkJbXNtX2hvc3QtPmJ5 dGVfY2xrX3JhdGUgPSAocGNsa19yYXRlICogYnBwKSAvICg4ICogbGFuZXMpOwogCX0gZWxzZSB7 CkBAIC02ODUsNyArNjk2LDcgQEAgaW50IGRzaV9jYWxjX2Nsa19yYXRlXzZnKHN0cnVjdCBtc21f ZHNpX2hvc3QgKm1zbV9ob3N0KQogCXJldHVybiAwOwogfQogCi1pbnQgZHNpX2NhbGNfY2xrX3Jh dGVfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCitpbnQgZHNpX2NhbGNfY2xrX3Jh dGVfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIGJvb2wgaXNfZHVhbF9kc2kpCiB7 CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBtc21faG9zdC0+bW9kZTsKIAl1OCBs YW5lcyA9IG1zbV9ob3N0LT5sYW5lczsKQEAgLTY5NSwxNCArNzA2LDI2IEBAIGludCBkc2lfY2Fs Y19jbGtfcmF0ZV92MihzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKIAl1bnNpZ25lZCBs b25nIGJ5dGVfbWh6OwogCiAJcGNsa19yYXRlID0gbW9kZS0+Y2xvY2sgKiAxMDAwOworCisJLyoK KwkgKiBGb3IgZHVhbCBEU0kgbW9kZSwgdGhlIGN1cnJlbnQgRFJNIG1vZGUgaGFzIHRoZSBjb21w bGV0ZSB3aWR0aCBvZiB0aGUKKwkgKiBwYW5lbC4gU2luY2UsIHRoZSBjb21wbGV0ZSBwYW5lbCBp cyBkcml2ZW4gYnkgdHdvIERTSSBjb250cm9sbGVycywKKwkgKiB0aGVjbG9jayByYXRlcyBoYXZl IHRvIGJlIHNwbGl0IGJldHdlZW4gdGhlIHR3byBkc2kgY29udHJvbGxlcnMuCisJICogQWRqdXN0 IHRoZSBieXRlIGFuZCBwaXhlbCBjbG9jayByYXRlcyBmb3IgZWFjaCBkc2kgaG9zdCBhY2NvcmRp bmdseS4KKwkgKi8KKwlpZiAoaXNfZHVhbF9kc2kpCisJCXBjbGtfcmF0ZSAvPSAyOworCiAJaWYg KGxhbmVzID4gMCkgewogCQltc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSA9IChwY2xrX3JhdGUgKiBi cHApIC8gKDggKiBsYW5lcyk7CiAJfSBlbHNlIHsKIAkJcHJfZXJyKCIlczogZm9yY2luZyBtZHNz X2RzaSBsYW5lcyB0byAxXG4iLCBfX2Z1bmNfXyk7CiAJCW1zbV9ob3N0LT5ieXRlX2Nsa19yYXRl ID0gKHBjbGtfcmF0ZSAqIGJwcCkgLyA4OwogCX0KKwltc21faG9zdC0+cGl4ZWxfY2xrX3JhdGUg PSBwY2xrX3JhdGU7CiAKLQlEQkcoInBjbGs9JWQsIGJjbGs9JWQiLCBwY2xrX3JhdGUsIG1zbV9o b3N0LT5ieXRlX2Nsa19yYXRlKTsKKwlEQkcoInBjbGs9JWQsIGJjbGs9JWQiLCBtc21faG9zdC0+ cGl4ZWxfY2xrX3JhdGUsCisJCQkJbXNtX2hvc3QtPmJ5dGVfY2xrX3JhdGUpOwogCiAJbXNtX2hv c3QtPnNyY19jbGtfcmF0ZSA9IChwY2xrX3JhdGUgKiBicHApIC8gODsKIApAQCAtODk3LDcgKzky MCw3IEBAIHN0YXRpYyB2b2lkIGRzaV9jdHJsX2NvbmZpZyhzdHJ1Y3QgbXNtX2RzaV9ob3N0ICpt c21faG9zdCwgYm9vbCBlbmFibGUsCiAJZHNpX3dyaXRlKG1zbV9ob3N0LCBSRUdfRFNJX0NUUkws IGRhdGEpOwogfQogCi1zdGF0aWMgdm9pZCBkc2lfdGltaW5nX3NldHVwKHN0cnVjdCBtc21fZHNp X2hvc3QgKm1zbV9ob3N0KQorc3RhdGljIHZvaWQgZHNpX3RpbWluZ19zZXR1cChzdHJ1Y3QgbXNt X2RzaV9ob3N0ICptc21faG9zdCwgYm9vbCBpc19kdWFsX2RzaSkKIHsKIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSA9IG1zbV9ob3N0LT5tb2RlOwogCXUzMiBoc19zdGFydCA9IDAsIHZz X3N0YXJ0ID0gMDsgLyogdGFrZSBzeW5jIHN0YXJ0IGFzIDAgKi8KQEAgLTkwOSwxMCArOTMyLDI2 IEBAIHN0YXRpYyB2b2lkIGRzaV90aW1pbmdfc2V0dXAoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNt X2hvc3QpCiAJdTMyIGhhX2VuZCA9IGhhX3N0YXJ0ICsgbW9kZS0+aGRpc3BsYXk7CiAJdTMyIHZh X3N0YXJ0ID0gdl90b3RhbCAtIG1vZGUtPnZzeW5jX3N0YXJ0OwogCXUzMiB2YV9lbmQgPSB2YV9z dGFydCArIG1vZGUtPnZkaXNwbGF5OworCXUzMiBoZGlzcGxheSA9IG1vZGUtPmhkaXNwbGF5Owog CXUzMiB3YzsKIAogCURCRygiIik7CiAKKwkvKgorCSAqIEZvciBkdWFsIERTSSBtb2RlLCB0aGUg Y3VycmVudCBEUk0gbW9kZSBoYXMKKwkgKiB0aGUgY29tcGxldGUgd2lkdGggb2YgdGhlIHBhbmVs LiBTaW5jZSwgdGhlIGNvbXBsZXRlCisJICogcGFuZWwgaXMgZHJpdmVuIGJ5IHR3byBEU0kgY29u dHJvbGxlcnMsIHRoZSBob3Jpem9udGFsCisJICogdGltaW5ncyBoYXZlIHRvIGJlIHNwbGl0IGJl dHdlZW4gdGhlIHR3byBkc2kgY29udHJvbGxlcnMuCisJICogQWRqdXN0IHRoZSBEU0kgaG9zdCB0 aW1pbmcgdmFsdWVzIGFjY29yZGluZ2x5LgorCSAqLworCWlmIChpc19kdWFsX2RzaSkgeworCQlo X3RvdGFsIC89IDI7CisJCWhzX2VuZCAvPSAyOworCQloYV9zdGFydCAvPSAyOworCQloYV9lbmQg Lz0gMjsKKwkJaGRpc3BsYXkgLz0gMjsKKwl9CisKIAlpZiAobXNtX2hvc3QtPm1vZGVfZmxhZ3Mg JiBNSVBJX0RTSV9NT0RFX1ZJREVPKSB7CiAJCWRzaV93cml0ZShtc21faG9zdCwgUkVHX0RTSV9B Q1RJVkVfSCwKIAkJCURTSV9BQ1RJVkVfSF9TVEFSVChoYV9zdGFydCkgfApAQCAtOTMzLDcgKzk3 Miw3IEBAIHN0YXRpYyB2b2lkIGRzaV90aW1pbmdfc2V0dXAoc3RydWN0IG1zbV9kc2lfaG9zdCAq bXNtX2hvc3QpCiAJCQlEU0lfQUNUSVZFX1ZTWU5DX1ZQT1NfRU5EKHZzX2VuZCkpOwogCX0gZWxz ZSB7CQkvKiBjb21tYW5kIG1vZGUgKi8KIAkJLyogaW1hZ2UgZGF0YSBhbmQgMSBieXRlIHdyaXRl X21lbW9yeV9zdGFydCBjbWQgKi8KLQkJd2MgPSBtb2RlLT5oZGlzcGxheSAqIGRzaV9nZXRfYnBw KG1zbV9ob3N0LT5mb3JtYXQpIC8gOCArIDE7CisJCXdjID0gaGRpc3BsYXkgKiBkc2lfZ2V0X2Jw cChtc21faG9zdC0+Zm9ybWF0KSAvIDggKyAxOwogCiAJCWRzaV93cml0ZShtc21faG9zdCwgUkVH X0RTSV9DTURfTURQX1NUUkVBTV9DVFJMLAogCQkJRFNJX0NNRF9NRFBfU1RSRUFNX0NUUkxfV09S RF9DT1VOVCh3YykgfApAQCAtOTQzLDcgKzk4Miw3IEBAIHN0YXRpYyB2b2lkIGRzaV90aW1pbmdf c2V0dXAoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiAJCQkJCU1JUElfRFNJX0RDU19M T05HX1dSSVRFKSk7CiAKIAkJZHNpX3dyaXRlKG1zbV9ob3N0LCBSRUdfRFNJX0NNRF9NRFBfU1RS RUFNX1RPVEFMLAotCQkJRFNJX0NNRF9NRFBfU1RSRUFNX1RPVEFMX0hfVE9UQUwobW9kZS0+aGRp c3BsYXkpIHwKKwkJCURTSV9DTURfTURQX1NUUkVBTV9UT1RBTF9IX1RPVEFMKGhkaXNwbGF5KSB8 CiAJCQlEU0lfQ01EX01EUF9TVFJFQU1fVE9UQUxfVl9UT1RBTChtb2RlLT52ZGlzcGxheSkpOwog CX0KIH0KQEAgLTIyMTcsMTMgKzIyNTYsMTQgQEAgdm9pZCBtc21fZHNpX2hvc3RfcmVzZXRfcGh5 KHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0KQogfQogCiB2b2lkIG1zbV9kc2lfaG9zdF9nZXRf cGh5X2Nsa19yZXEoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCi0Jc3RydWN0IG1zbV9kc2lf cGh5X2Nsa19yZXF1ZXN0ICpjbGtfcmVxKQorCQkJc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19yZXF1 ZXN0ICpjbGtfcmVxLAorCQkJYm9vbCBpc19kdWFsX2RzaSkKIHsKIAlzdHJ1Y3QgbXNtX2RzaV9o b3N0ICptc21faG9zdCA9IHRvX21zbV9kc2lfaG9zdChob3N0KTsKIAljb25zdCBzdHJ1Y3QgbXNt X2RzaV9jZmdfaGFuZGxlciAqY2ZnX2huZCA9IG1zbV9ob3N0LT5jZmdfaG5kOwogCWludCByZXQ7 CiAKLQlyZXQgPSBjZmdfaG5kLT5vcHMtPmNhbGNfY2xrX3JhdGUobXNtX2hvc3QpOworCXJldCA9 IGNmZ19obmQtPm9wcy0+Y2FsY19jbGtfcmF0ZShtc21faG9zdCwgaXNfZHVhbF9kc2kpOwogCWlm IChyZXQpIHsKIAkJcHJfZXJyKCIlczogdW5hYmxlIHRvIGNhbGMgY2xrIHJhdGUsICVkXG4iLCBf X2Z1bmNfXywgcmV0KTsKIAkJcmV0dXJuOwpAQCAtMjI4NSw3ICsyMzI1LDggQEAgc3RhdGljIHZv aWQgbXNtX2RzaV9zZnBiX2NvbmZpZyhzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCwgYm9v bCBlbmFibGUpCiB9CiAKIGludCBtc21fZHNpX2hvc3RfcG93ZXJfb24oc3RydWN0IG1pcGlfZHNp X2hvc3QgKmhvc3QsCi0JCQlzdHJ1Y3QgbXNtX2RzaV9waHlfc2hhcmVkX3RpbWluZ3MgKnBoeV9z aGFyZWRfdGltaW5ncykKKwkJCXN0cnVjdCBtc21fZHNpX3BoeV9zaGFyZWRfdGltaW5ncyAqcGh5 X3NoYXJlZF90aW1pbmdzLAorCQkJYm9vbCBpc19kdWFsX2RzaSkKIHsKIAlzdHJ1Y3QgbXNtX2Rz aV9ob3N0ICptc21faG9zdCA9IHRvX21zbV9kc2lfaG9zdChob3N0KTsKIAljb25zdCBzdHJ1Y3Qg bXNtX2RzaV9jZmdfaGFuZGxlciAqY2ZnX2huZCA9IG1zbV9ob3N0LT5jZmdfaG5kOwpAQCAtMjMy MSw3ICsyMzYyLDcgQEAgaW50IG1zbV9kc2lfaG9zdF9wb3dlcl9vbihzdHJ1Y3QgbWlwaV9kc2lf aG9zdCAqaG9zdCwKIAkJZ290byBmYWlsX2Rpc2FibGVfY2xrOwogCX0KIAotCWRzaV90aW1pbmdf c2V0dXAobXNtX2hvc3QpOworCWRzaV90aW1pbmdfc2V0dXAobXNtX2hvc3QsIGlzX2R1YWxfZHNp KTsKIAlkc2lfc3dfcmVzZXQobXNtX2hvc3QpOwogCWRzaV9jdHJsX2NvbmZpZyhtc21faG9zdCwg dHJ1ZSwgcGh5X3NoYXJlZF90aW1pbmdzKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5h Z2VyLmMKaW5kZXggNGNiMWNiNjg4NzhiLi4zYmI1MDZiNDRhNGIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kc2kvZHNpX21hbmFnZXIuYwpAQCAtMTM0LDggKzEzNCw5IEBAIHN0YXRpYyBpbnQgZW5hYmxl X3BoeShzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSwgaW50IHNyY19wbGxfaWQsCiB7CiAJc3RydWN0 IG1zbV9kc2lfcGh5X2Nsa19yZXF1ZXN0IGNsa19yZXE7CiAJaW50IHJldDsKKwlib29sIGlzX2R1 YWxfZHNpID0gSVNfRFVBTF9EU0koKTsKIAotCW1zbV9kc2lfaG9zdF9nZXRfcGh5X2Nsa19yZXEo bXNtX2RzaS0+aG9zdCwgJmNsa19yZXEpOworCW1zbV9kc2lfaG9zdF9nZXRfcGh5X2Nsa19yZXEo bXNtX2RzaS0+aG9zdCwgJmNsa19yZXEsIGlzX2R1YWxfZHNpKTsKIAogCXJldCA9IG1zbV9kc2lf cGh5X2VuYWJsZShtc21fZHNpLT5waHksIHNyY19wbGxfaWQsICZjbGtfcmVxKTsKIAltc21fZHNp X3BoeV9nZXRfc2hhcmVkX3RpbWluZ3MobXNtX2RzaS0+cGh5LCBzaGFyZWRfdGltaW5ncyk7CkBA IC00NTgsNyArNDU5LDcgQEAgc3RhdGljIHZvaWQgZHNpX21ncl9icmlkZ2VfcHJlX2VuYWJsZShz dHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogCWlmIChpc19kdWFsX2RzaSAmJiAoRFNJXzEgPT0g aWQpKQogCQlyZXR1cm47CiAKLQlyZXQgPSBtc21fZHNpX2hvc3RfcG93ZXJfb24oaG9zdCwgJnBo eV9zaGFyZWRfdGltaW5nc1tpZF0pOworCXJldCA9IG1zbV9kc2lfaG9zdF9wb3dlcl9vbihob3N0 LCAmcGh5X3NoYXJlZF90aW1pbmdzW2lkXSwgaXNfZHVhbF9kc2kpOwogCWlmIChyZXQpIHsKIAkJ cHJfZXJyKCIlczogcG93ZXIgb24gaG9zdCAlZCBmYWlsZWQsICVkXG4iLCBfX2Z1bmNfXywgaWQs IHJldCk7CiAJCWdvdG8gaG9zdF9vbl9mYWlsOwpAQCAtNDY2LDcgKzQ2Nyw3IEBAIHN0YXRpYyB2 b2lkIGRzaV9tZ3JfYnJpZGdlX3ByZV9lbmFibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkK IAogCWlmIChpc19kdWFsX2RzaSAmJiBtc21fZHNpMSkgewogCQlyZXQgPSBtc21fZHNpX2hvc3Rf cG93ZXJfb24obXNtX2RzaTEtPmhvc3QsCi0JCQkJCSAgICAmcGh5X3NoYXJlZF90aW1pbmdzW0RT SV8xXSk7CisJCQkJJnBoeV9zaGFyZWRfdGltaW5nc1tEU0lfMV0sIGlzX2R1YWxfZHNpKTsKIAkJ aWYgKHJldCkgewogCQkJcHJfZXJyKCIlczogcG93ZXIgb24gaG9zdDEgZmFpbGVkLCAlZFxuIiwK IAkJCQkJCQlfX2Z1bmNfXywgcmV0KTsKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIs IEdvb2dsZSAvIENocm9taXVtIE9TCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK