From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v6 7/7] drm/rockchip: dsi: add dual mipi support Date: Mon, 1 Oct 2018 14:38:45 +0200 Message-ID: <20181001123845.11818-8-heiko@sntech.de> References: <20181001123845.11818-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 BE6F889E9E for ; Mon, 1 Oct 2018 12:39:05 +0000 (UTC) In-Reply-To: <20181001123845.11818-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: architt@codeaurora.org, hjc@rock-chips.com, a.hajda@samsung.com Cc: briannorris@chromium.org, hoegsberg@gmail.com, philippe.cornu@st.com, dri-devel@lists.freedesktop.org, yannick.fertre@st.com, linux-rockchip@lists.infradead.org, nickey.yang@rock-chips.com, mka@chromium.org, seanpaul@chromium.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org QWRkIHRoZSBSb2NrY2hpcC1zZXBjaWZpYyBkdWFsLWRzaSBzZXR1cCBhbmQgaG9vayBpdCBpbnRv IHRoZSBWT1AgYXMgd2VsbC4KQXMgZGVzY3JpYmVkIGluIHRoZSBnZW5lcmFsIGR1YWwtZHNpIGRl dmljZXRyZWUgYmluZGluZywgdGhlIHBhbmVsIHNob3VsZApkZWZpbmUgdHdvIGlucHV0IHBvcnRz IGFuZCBwb2ludCBlYWNoIG9mIHRoZW0gdG8gb25lIG9mIHRoZSB1c2VkIGRzaS0KY29udHJvbGxl cnMsIGFzIHdlbGwgYXMgZGVjbGFyZSBvbmUgb2YgdGhlbSBhcyBjbG9jay1tYXN0ZXIuClRoaXMg aXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGR1YWwtZHNpIHN0YXRlIGFuZCBnZXQgYWNjZXNzIHRv IGJvdGgKY29udHJvbGxlciBpbnN0YW5jZXMuCgp2NjoKICBoYW5kbGUgbWFzdGVyK3NsYXZlIGNv bXBvbmVudCBpbiBkc2ktYXR0YWNoCnY1OgogIHVzZSBkcml2ZXItaW50ZXJuYWwgbWVjaGFuaXNt IHRvIGZpbmQgZHVhbCBkc2kgc2xhdmUKdjQ6CiAgYWRkIGNvbXBvbmVudCBkaXJlY3RseSBpbiBw cm9iZSB3aGVuIGFkZGluZyBlbXB0eSBkc2kgc2xhdmUgY29udHJvbGxlcgoKU2lnbmVkLW9mZi1i eTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5kZT4KLS0tCiAuLi4vZ3B1L2RybS9yb2Nr Y2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jICAgfCAxMzYgKysrKysrKysrKysrKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5oICAgfCAgIDEgKwogZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyAgIHwgICAzICsKIGRyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmggICB8ICAgNCArCiBkcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfdm9wX3JlZy5jICAgfCAgIDEgKwogNSBmaWxlcyBj aGFuZ2VkLCAxNDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L2R3LW1pcGktZHNpLXJvY2tjaGlwLmMKaW5kZXggYjNhYWU4NDM5YWEzLi42M2IwMjg2MDJkMDgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hp cC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5j CkBAIC0yMTgsNiArMjE4LDEwIEBAIHN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCB7CiAJc3Ry dWN0IGNsayAqZ3JmX2NsazsKIAlzdHJ1Y3QgY2xrICpwaHlfY2ZnX2NsazsKIAorCS8qIGR1YWwt Y2hhbm5lbCAqLworCWJvb2wgaXNfc2xhdmU7CisJc3RydWN0IGR3X21pcGlfZHNpX3JvY2tjaGlw ICpzbGF2ZTsKKwogCXVuc2lnbmVkIGludCBsYW5lX21icHM7IC8qIHBlciBsYW5lICovCiAJdTE2 IGlucHV0X2RpdjsKIAl1MTYgZmVlZGJhY2tfZGl2OwpAQCAtMjI2LDYgKzIzMCw3IEBAIHN0cnVj dCBkd19taXBpX2RzaV9yb2NrY2hpcCB7CiAJc3RydWN0IGR3X21pcGlfZHNpICpkbWQ7CiAJY29u c3Qgc3RydWN0IHJvY2tjaGlwX2R3X2RzaV9jaGlwX2RhdGEgKmNkYXRhOwogCXN0cnVjdCBkd19t aXBpX2RzaV9wbGF0X2RhdGEgcGRhdGE7CisJaW50IGRldmNudDsKIH07CiAKIHN0cnVjdCBkcGh5 X3BsbF9wYXJhbWV0ZXJfbWFwIHsKQEAgLTYwMiw2ICs2MDcsOCBAQCBkd19taXBpX2RzaV9lbmNv ZGVyX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJfQogCiAJcy0+ b3V0cHV0X3R5cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfRFNJOworCWlmIChkc2ktPnNsYXZlKQor CQlzLT5vdXRwdXRfZmxhZ3MgPSBST0NLQ0hJUF9PVVRQVVRfRFNJX0RVQUw7CiAKIAlyZXR1cm4g MDsKIH0KQEAgLTYxNyw2ICs2MjQsOCBAQCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9lbmNvZGVy X2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCXJldHVybjsKIAogCXBtX3J1 bnRpbWVfZ2V0X3N5bmMoZHNpLT5kZXYpOworCWlmIChkc2ktPnNsYXZlKQorCQlwbV9ydW50aW1l X2dldF9zeW5jKGRzaS0+c2xhdmUtPmRldik7CiAKIAkvKgogCSAqIEZvciB0aGUgUkszMzk5LCB0 aGUgY2xrIG9mIGdyZiBtdXN0IGJlIGVuYWJsZWQgYmVmb3JlIHdyaXRpbmcgZ3JmCkBAIC02MzAs NiArNjM5LDggQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rlcl9lbmFibGUoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyKQogCX0KIAogCWR3X21pcGlfZHNpX3JvY2tjaGlwX2NvbmZp Zyhkc2ksIG11eCk7CisJaWYgKGRzaS0+c2xhdmUpCisJCWR3X21pcGlfZHNpX3JvY2tjaGlwX2Nv bmZpZyhkc2ktPnNsYXZlLCBtdXgpOwogCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRzaS0+Z3Jm X2Nsayk7CiB9CkBAIC02MzgsNiArNjQ5LDggQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZW5j b2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHdf bWlwaV9kc2lfcm9ja2NoaXAgKmRzaSA9IHRvX2RzaShlbmNvZGVyKTsKIAorCWlmIChkc2ktPnNs YXZlKQorCQlwbV9ydW50aW1lX3B1dChkc2ktPnNsYXZlLT5kZXYpOwogCXBtX3J1bnRpbWVfcHV0 KGRzaS0+ZGV2KTsKIH0KIApAQCAtNjczLDE0ICs2ODYsMTEzIEBAIHN0YXRpYyBpbnQgcm9ja2No aXBfZHNpX2RybV9jcmVhdGVfZW5jb2RlcihzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgKmRz aSwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHN0cnVjdCBkZXZpY2UKKypkd19taXBpX2RzaV9y b2NrY2hpcF9maW5kX3NlY29uZChzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgKmRzaSkKK3sK Kwljb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkICptYXRjaDsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUg Km5vZGUgPSBOVUxMLCAqbG9jYWw7CisKKwltYXRjaCA9IG9mX21hdGNoX2RldmljZShkc2ktPmRl di0+ZHJpdmVyLT5vZl9tYXRjaF90YWJsZSwgZHNpLT5kZXYpOworCisJbG9jYWwgPSBvZl9ncmFw aF9nZXRfcmVtb3RlX25vZGUoZHNpLT5kZXYtPm9mX25vZGUsIDEsIDApOworCWlmICghbG9jYWwp CisJCXJldHVybiBOVUxMOworCisJd2hpbGUgKChub2RlID0gb2ZfZmluZF9jb21wYXRpYmxlX25v ZGUobm9kZSwgTlVMTCwKKwkJCQkJICAgICAgIG1hdGNoLT5jb21wYXRpYmxlKSkpIHsKKwkJc3Ry dWN0IGRldmljZV9ub2RlICpyZW1vdGU7CisKKwkJLyogZm91bmQgb3Vyc2VsZiAqLworCQlpZiAo bm9kZSA9PSBkc2ktPmRldi0+b2Zfbm9kZSkKKwkJCWNvbnRpbnVlOworCisJCXJlbW90ZSA9IG9m X2dyYXBoX2dldF9yZW1vdGVfbm9kZShub2RlLCAxLCAwKTsKKwkJaWYgKCFyZW1vdGUpCisJCQlj b250aW51ZTsKKworCQkvKiBzYW1lIGRpc3BsYXkgZGV2aWNlIGluIHBvcnQxLWVwMCBmb3IgYm90 aCAqLworCQlpZiAocmVtb3RlID09IGxvY2FsKSB7CisJCQlzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9j a2NoaXAgKmRzaTI7CisJCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2OworCisJCQlwZGV2 ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShub2RlKTsKKworCQkJLyoKKwkJCSAqIHdlIGhhdmUg Zm91bmQgdGhlIHNlY29uZCwgc28gd2lsbCBlaXRoZXIgcmV0dXJuIGl0CisJCQkgKiBvciByZXR1 cm4gd2l0aCBhbiBlcnJvci4gSW4gYW55IGNhc2Ugd29uJ3QgbmVlZCB0aGUKKwkJCSAqIG5vZGVz IGFueW1vcmUgbm9yIGNvbnRpbnVlIHRoZSBsb29wLgorCQkJICovCisJCQlvZl9ub2RlX3B1dChy ZW1vdGUpOworCQkJb2Zfbm9kZV9wdXQobm9kZSk7CisJCQlvZl9ub2RlX3B1dChsb2NhbCk7CisK KwkJCWlmICghcGRldikKKwkJCQlyZXR1cm4gRVJSX1BUUigtRVBST0JFX0RFRkVSKTsKKworCQkJ ZHNpMiA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCQkJaWYgKCFkc2kyKSB7CisJCQkJ cGxhdGZvcm1fZGV2aWNlX3B1dChwZGV2KTsKKwkJCQlyZXR1cm4gRVJSX1BUUigtRVBST0JFX0RF RkVSKTsKKwkJCX0KKworCQkJcmV0dXJuICZwZGV2LT5kZXY7CisJCX0KKworCQlvZl9ub2RlX3B1 dChyZW1vdGUpOworCX0KKworCW9mX25vZGVfcHV0KGxvY2FsKTsKKworCXJldHVybiBOVUxMOwor fQorCiBzdGF0aWMgaW50IGR3X21pcGlfZHNpX3JvY2tjaGlwX2JpbmQoc3RydWN0IGRldmljZSAq ZGV2LAogCQkJCSAgICAgc3RydWN0IGRldmljZSAqbWFzdGVyLAogCQkJCSAgICAgdm9pZCAqZGF0 YSkKIHsKIAlzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgKmRzaSA9IGRldl9nZXRfZHJ2ZGF0 YShkZXYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZGF0YTsKKwlzdHJ1Y3QgZGV2 aWNlICpzZWNvbmQ7CisJYm9vbCBtYXN0ZXIxLCBtYXN0ZXIyOwogCWludCByZXQ7CiAKKwlzZWNv bmQgPSBkd19taXBpX2RzaV9yb2NrY2hpcF9maW5kX3NlY29uZChkc2kpOworCWlmIChJU19FUlIo c2Vjb25kKSkKKwkJcmV0dXJuIFBUUl9FUlIoc2Vjb25kKTsKKworCWlmIChzZWNvbmQpIHsKKwkJ bWFzdGVyMSA9IG9mX3Byb3BlcnR5X3JlYWRfYm9vbChkc2ktPmRldi0+b2Zfbm9kZSwKKwkJCQkJ CSJjbG9jay1tYXN0ZXIiKTsKKwkJbWFzdGVyMiA9IG9mX3Byb3BlcnR5X3JlYWRfYm9vbChzZWNv bmQtPm9mX25vZGUsCisJCQkJCQkiY2xvY2stbWFzdGVyIik7CisKKwkJaWYgKG1hc3RlcjEgJiYg bWFzdGVyMikgeworCQkJRFJNX0RFVl9FUlJPUihkc2ktPmRldiwgIm9ubHkgb25lIGNsb2NrLW1h c3RlciBhbGxvd2VkXG4iKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKCFtYXN0 ZXIxICYmICFtYXN0ZXIyKSB7CisJCQlEUk1fREVWX0VSUk9SKGRzaS0+ZGV2LCAibm8gY2xvY2st bWFzdGVyIGRlZmluZWRcbiIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQkvKiB3ZSBh cmUgdGhlIHNsYXZlIGluIGR1YWwtRFNJICovCisJCWlmICghbWFzdGVyMSkgeworCQkJZHNpLT5p c19zbGF2ZSA9IHRydWU7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCWRzaS0+c2xhdmUgPSBkZXZf Z2V0X2RydmRhdGEoc2Vjb25kKTsKKwkJaWYgKCFkc2ktPnNsYXZlKSB7CisJCQlEUk1fREVWX0VS Uk9SKGRldiwgImNvdWxkIG5vdCBnZXQgc2xhdmVzIGRhdGFcbiIpOworCQkJcmV0dXJuIC1FTk9E RVY7CisJCX0KKworCQlkc2ktPnNsYXZlLT5pc19zbGF2ZSA9IHRydWU7CisJCWR3X21pcGlfZHNp X3NldF9zbGF2ZShkc2ktPmRtZCwgZHNpLT5zbGF2ZS0+ZG1kKTsKKwkJcHV0X2RldmljZShzZWNv bmQpOworCX0KKwogCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShkc2ktPnBsbHJlZl9jbGspOwog CWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihkZXYsICJGYWlsZWQgdG8gZW5hYmxlIHBsbHJl Zl9jbGs6ICVkXG4iLCByZXQpOwpAQCAtNzA4LDYgKzgxOSw5IEBAIHN0YXRpYyB2b2lkIGR3X21p cGlfZHNpX3JvY2tjaGlwX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0IGR3 X21pcGlfZHNpX3JvY2tjaGlwICpkc2kgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKIAorCWlmIChk c2ktPmlzX3NsYXZlKQorCQlyZXR1cm47CisKIAlkd19taXBpX2RzaV91bmJpbmQoZHNpLT5kbWQp OwogCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRzaS0+cGxscmVmX2Nsayk7CkBAIC03MjIsNiAr ODM2LDcgQEAgc3RhdGljIGludCBkd19taXBpX2RzaV9yb2NrY2hpcF9ob3N0X2F0dGFjaCh2b2lk ICpwcml2X2RhdGEsCiAJCQkJCSAgICBzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkZXZpY2UpCiB7 CiAJc3RydWN0IGR3X21pcGlfZHNpX3JvY2tjaGlwICpkc2kgPSBwcml2X2RhdGE7CisJc3RydWN0 IGRldmljZSAqc2Vjb25kOwogCWludCByZXQ7CiAKIAlyZXQgPSBjb21wb25lbnRfYWRkKGRzaS0+ ZGV2LCAmZHdfbWlwaV9kc2lfcm9ja2NoaXBfb3BzKTsKQEAgLTczMSw2ICs4NDYsMTkgQEAgc3Rh dGljIGludCBkd19taXBpX2RzaV9yb2NrY2hpcF9ob3N0X2F0dGFjaCh2b2lkICpwcml2X2RhdGEs CiAJCXJldHVybiByZXQ7CiAJfQogCisJc2Vjb25kID0gZHdfbWlwaV9kc2lfcm9ja2NoaXBfZmlu ZF9zZWNvbmQoZHNpKTsKKwlpZiAoSVNfRVJSKHNlY29uZCkpCisJCXJldHVybiBQVFJfRVJSKHNl Y29uZCk7CisJaWYgKHNlY29uZCkgeworCQlyZXQgPSBjb21wb25lbnRfYWRkKHNlY29uZCwgJmR3 X21pcGlfZHNpX3JvY2tjaGlwX29wcyk7CisJCWlmIChyZXQpIHsKKwkJCURSTV9ERVZfRVJST1Io c2Vjb25kLAorCQkJCSAgICAgICJGYWlsZWQgdG8gcmVnaXN0ZXIgY29tcG9uZW50OiAlZFxuIiwK KwkJCQkgICAgICByZXQpOworCQkJcmV0dXJuIHJldDsKKwkJfQorCX0KKwogCXJldHVybiAwOwog fQogCkBAIC03MzgsNiArODY2LDExIEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfcm9ja2NoaXBf aG9zdF9kZXRhY2godm9pZCAqcHJpdl9kYXRhLAogCQkJCQkgICAgc3RydWN0IG1pcGlfZHNpX2Rl dmljZSAqZGV2aWNlKQogewogCXN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCAqZHNpID0gcHJp dl9kYXRhOworCXN0cnVjdCBkZXZpY2UgKnNlY29uZDsKKworCXNlY29uZCA9IGR3X21pcGlfZHNp X3JvY2tjaGlwX2ZpbmRfc2Vjb25kKGRzaSk7CisJaWYgKHNlY29uZCAmJiAhSVNfRVJSKHNlY29u ZCkpCisJCWNvbXBvbmVudF9kZWwoc2Vjb25kLCAmZHdfbWlwaV9kc2lfcm9ja2NoaXBfb3BzKTsK IAogCWNvbXBvbmVudF9kZWwoZHNpLT5kZXYsICZkd19taXBpX2RzaV9yb2NrY2hpcF9vcHMpOwog CkBAIC04NDYsNiArOTc5LDkgQEAgc3RhdGljIGludCBkd19taXBpX2RzaV9yb2NrY2hpcF9yZW1v dmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIHsKIAlzdHJ1Y3QgZHdfbWlwaV9kc2lf cm9ja2NoaXAgKmRzaSA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOwogCisJaWYgKGRzaS0+ ZGV2Y250ID09IDApCisJCWNvbXBvbmVudF9kZWwoZHNpLT5kZXYsICZkd19taXBpX2RzaV9yb2Nr Y2hpcF9vcHMpOworCiAJZHdfbWlwaV9kc2lfcmVtb3ZlKGRzaS0+ZG1kKTsKIAogCXJldHVybiAw OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmgKaW5kZXggNDUz ZmVmNmE1NWI5Li5jZTQ4NTY4ZWM4YTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV9kcnYuaApAQCAtMzcsNiArMzcsNyBAQCBzdHJ1Y3Qgcm9ja2NoaXBfY3J0Y19z dGF0ZSB7CiAJaW50IG91dHB1dF90eXBlOwogCWludCBvdXRwdXRfbW9kZTsKIAlpbnQgb3V0cHV0 X2JwYzsKKwlpbnQgb3V0cHV0X2ZsYWdzOwogfTsKICNkZWZpbmUgdG9fcm9ja2NoaXBfY3J0Y19z dGF0ZShzKSBcCiAJCWNvbnRhaW5lcl9vZihzLCBzdHJ1Y3Qgcm9ja2NoaXBfY3J0Y19zdGF0ZSwg YmFzZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f dm9wLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCmluZGV4 IDBjMzVhODhlMzNkZC4uZmI3MGZiNDg2ZmJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fdm9wLmMKQEAgLTkxNiw2ICs5MTYsNyBAQCBzdGF0aWMgdm9pZCB2b3Bf Y3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlwaW5fcG9sIHw9IChh ZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfUFZTWU5DKSA/CiAJCSAgIEJJVChW U1lOQ19QT1NJVElWRSkgOiAwOwogCVZPUF9SRUdfU0VUKHZvcCwgb3V0cHV0LCBwaW5fcG9sLCBw aW5fcG9sKTsKKwlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgbWlwaV9kdWFsX2NoYW5uZWxfZW4s IDApOwogCiAJc3dpdGNoIChzLT5vdXRwdXRfdHlwZSkgewogCWNhc2UgRFJNX01PREVfQ09OTkVD VE9SX0xWRFM6CkBAIC05MzMsNiArOTM0LDggQEAgc3RhdGljIHZvaWQgdm9wX2NydGNfYXRvbWlj X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf RFNJOgogCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgbWlwaV9waW5fcG9sLCBwaW5fcG9sKTsK IAkJVk9QX1JFR19TRVQodm9wLCBvdXRwdXQsIG1pcGlfZW4sIDEpOworCQlWT1BfUkVHX1NFVCh2 b3AsIG91dHB1dCwgbWlwaV9kdWFsX2NoYW5uZWxfZW4sCisJCQkgICAgISEocy0+b3V0cHV0X2Zs YWdzICYgUk9DS0NISVBfT1VUUFVUX0RTSV9EVUFMKSk7CiAJCWJyZWFrOwogCWNhc2UgRFJNX01P REVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0OgogCQlwaW5fcG9sICY9IH5CSVQoRENMS19JTlZFUlQp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3Au aCBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmgKaW5kZXggZmQ1 NzY1ZGZkNjM3Li4wZmU0MGUxOTgzZDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9yb2NrY2hpcF9kcm1fdm9wLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV92b3AuaApAQCAtNjAsNiArNjAsNyBAQCBzdHJ1Y3Qgdm9wX291dHB1dCB7CiAJ c3RydWN0IHZvcF9yZWcgZWRwX2VuOwogCXN0cnVjdCB2b3BfcmVnIGhkbWlfZW47CiAJc3RydWN0 IHZvcF9yZWcgbWlwaV9lbjsKKwlzdHJ1Y3Qgdm9wX3JlZyBtaXBpX2R1YWxfY2hhbm5lbF9lbjsK IAlzdHJ1Y3Qgdm9wX3JlZyByZ2JfZW47CiB9OwogCkBAIC0yMTQsNiArMjE1LDkgQEAgc3RydWN0 IHZvcF9kYXRhIHsKIC8qIGZvciB1c2Ugc3BlY2lhbCBvdXRmYWNlICovCiAjZGVmaW5lIFJPQ0tD SElQX09VVF9NT0RFX0FBQUEJMTUKIAorLyogb3V0cHV0IGZsYWdzICovCisjZGVmaW5lIFJPQ0tD SElQX09VVFBVVF9EU0lfRFVBTAlCSVQoMCkKKwogZW51bSBhbHBoYV9tb2RlIHsKIAlBTFBIQV9T VFJBSUdIVCwKIAlBTFBIQV9JTlZFUlNFLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2Nr Y2hpcF92b3BfcmVnLmMKaW5kZXggMDQ3YTg4NjdhZjkwLi4wOGZjNDBhZjUyYzggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF92b3BfcmVnLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwpAQCAtNjM0LDYgKzYzNCw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX291dHB1dCByazMzOTlfb3V0cHV0ID0gewogCS5o ZG1pX2VuID0gVk9QX1JFRyhSSzMyODhfU1lTX0NUUkwsIDB4MSwgMTMpLAogCS5lZHBfZW4gPSBW T1BfUkVHKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAxNCksCiAJLm1pcGlfZW4gPSBWT1BfUkVHKFJL MzI4OF9TWVNfQ1RSTCwgMHgxLCAxNSksCisJLm1pcGlfZHVhbF9jaGFubmVsX2VuID0gVk9QX1JF RyhSSzMyODhfU1lTX0NUUkwsIDB4MSwgMyksCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHZv cF9kYXRhIHJrMzM5OV92b3BfYmlnID0gewotLSAKMi4xOC4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK