From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Zhong Subject: [PATCH v3 2/5] drm/rockchip/dsi: dw-mipi: support RK3399 mipi dsi Date: Fri, 20 Jan 2017 18:10:48 +0800 Message-ID: <1484907051-7159-3-git-send-email-zyw@rock-chips.com> References: <1484907051-7159-1-git-send-email-zyw@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1484907051-7159-1-git-send-email-zyw@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dianders@chromium.org, tfiga@chromium.org, heiko@sntech.de, yzq@rock-chips.com, mark.rutland@arm.com, devicetree@vger.kernel.org, robh+dt@kernel.org, galak@codeaurora.org, pawel.moll@arm.com, seanpaul@chromium.org Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org VGhlIHZvcGIvdm9wbCBzd2l0Y2ggcmVnaXN0ZXIgb2YgUkszMzk5IG1pcGkgaXMgZGlmZmVyZW50 IGZyb20gUkszMjg4LAp0aGUgZGVmYXVsdCBzZXR0aW5nIGZvciBtaXBpIGRzaSBtb2RlIGlzIGRp ZmZlcmVudCB0b28sIHNvIGFkZCBhCm9mX2RldmljZV9pZCBzdHJ1Y3R1cmUgdG8gZGlzdGluZ3Vp c2ggdGhlbSwgYW5kIG1ha2Ugc3VyZSBzZXQgdGhlCmNvcnJlY3QgbW9kZSBiZWZvcmUgbWlwaSBw aHkgaW5pdC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFpob25nIDx6eXdAcm9jay1jaGlwcy5jb20+ ClNpZ25lZC1vZmYtYnk6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KLS0tCgpD aGFuZ2VzIGluIHYzOgotIGJhc2Ugb24gSm9obiBLZWVwaW5nJ3MgcGF0Y2ggc2VyaWVzCgogZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgfCAxMDEgKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgMjcg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1p cGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwppbmRleCA0 NWFmODkwLi5hOTNjZTk3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHct bWlwaS1kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwpA QCAtMjksOSArMjksMTcgQEAKIAogI2RlZmluZSBEUklWRVJfTkFNRSAgICAiZHctbWlwaS1kc2ki CiAKLSNkZWZpbmUgR1JGX1NPQ19DT042ICAgICAgICAgICAgICAgICAgICAweDAyNWMKLSNkZWZp bmUgRFNJMF9TRUxfVk9QX0xJVCAgICAgICAgICAgICAgICAoMSA8PCA2KQotI2RlZmluZSBEU0kx X1NFTF9WT1BfTElUICAgICAgICAgICAgICAgICgxIDw8IDkpCisjZGVmaW5lIFJLMzI4OF9HUkZf U09DX0NPTjYJCTB4MDI1YworI2RlZmluZSBSSzMyODhfRFNJMF9TRUxfVk9QX0xJVAkJQklUKDYp CisjZGVmaW5lIFJLMzI4OF9EU0kxX1NFTF9WT1BfTElUCQlCSVQoOSkKKworI2RlZmluZSBSSzMz OTlfR1JGX1NPQ19DT04xOQkJMHg2MjUwCisjZGVmaW5lIFJLMzM5OV9EU0kwX1NFTF9WT1BfTElU CQlCSVQoMCkKKyNkZWZpbmUgUkszMzk5X0RTSTFfU0VMX1ZPUF9MSVQJCUJJVCg0KQorCisvKiBk aXNhYmxlIHR1cm5yZXF1ZXN0LCB0dXJuZGlzYWJsZSwgZm9yY2V0eHN0b3Btb2RlLCBmb3JjZXJ4 bW9kZSAqLworI2RlZmluZSBSSzMzOTlfR1JGX1NPQ19DT04yMgkJMHg2MjU4CisjZGVmaW5lIFJL MzM5OV9HUkZfRFNJX01PREUJCTB4ZmZmZjAwMDAKIAogI2RlZmluZSBEU0lfVkVSU0lPTgkJCTB4 MDAKICNkZWZpbmUgRFNJX1BXUl9VUAkJCTB4MDQKQEAgLTE0OSw3ICsxNTcsNiBAQAogI2RlZmlu ZSBMUFJYX1RPX0NOVChwKQkJCSgocCkgJiAweGZmZmYpCiAKICNkZWZpbmUgRFNJX0JUQV9UT19D TlQJCQkweDhjCi0KICNkZWZpbmUgRFNJX0xQQ0xLX0NUUkwJCQkweDk0CiAjZGVmaW5lIEFVVE9f Q0xLTEFORV9DVFJMCQlCSVQoMSkKICNkZWZpbmUgUEhZX1RYUkVRVUVTVENMS0hTCQlCSVQoMCkK QEAgLTIxNSwxMSArMjIyLDExIEBACiAKICNkZWZpbmUgSFNGUkVRUkFOR0VfU0VMKHZhbCkJKCgo dmFsKSAmIDB4M2YpIDw8IDEpCiAKLSNkZWZpbmUgSU5QVVRfRElWSURFUih2YWwpCSgodmFsIC0g MSkgJiAweDdmKQorI2RlZmluZSBJTlBVVF9ESVZJREVSKHZhbCkJKCgodmFsKSAtIDEpICYgMHg3 ZikKICNkZWZpbmUgTE9XX1BST0dSQU1fRU4JCTAKICNkZWZpbmUgSElHSF9QUk9HUkFNX0VOCQlC SVQoNykKLSNkZWZpbmUgTE9PUF9ESVZfTE9XX1NFTCh2YWwpCSgodmFsIC0gMSkgJiAweDFmKQot I2RlZmluZSBMT09QX0RJVl9ISUdIX1NFTCh2YWwpCSgoKHZhbCAtIDEpID4+IDUpICYgMHgxZikK KyNkZWZpbmUgTE9PUF9ESVZfTE9XX1NFTCh2YWwpCSgoKHZhbCkgLSAxKSAmIDB4MWYpCisjZGVm aW5lIExPT1BfRElWX0hJR0hfU0VMKHZhbCkJKCgoKHZhbCkgLSAxKSA+PiA1KSAmIDB4MWYpCiAj ZGVmaW5lIFBMTF9MT09QX0RJVl9FTgkJQklUKDUpCiAjZGVmaW5lIFBMTF9JTlBVVF9ESVZfRU4J QklUKDQpCiAKQEAgLTI2NSw2ICsyNzIsMTEgQEAgZW51bSB7CiB9OwogCiBzdHJ1Y3QgZHdfbWlw aV9kc2lfcGxhdF9kYXRhIHsKKwl1MzIgZHNpMF9lbl9iaXQ7CisJdTMyIGRzaTFfZW5fYml0Owor CXUzMiBncmZfc3dpdGNoX3JlZzsKKwl1MzIgZ3JmX2RzaTBfbW9kZTsKKwl1MzIgZ3JmX2RzaTBf bW9kZV9yZWc7CiAJdW5zaWduZWQgaW50IG1heF9kYXRhX2xhbmVzOwogCWVudW0gZHJtX21vZGVf c3RhdHVzICgqbW9kZV92YWxpZCkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwpAQCAtMjgxLDYgKzI5Myw3IEBA IHN0cnVjdCBkd19taXBpX2RzaSB7CiAKIAlzdHJ1Y3QgY2xrICpwbGxyZWZfY2xrOwogCXN0cnVj dCBjbGsgKnBjbGs7CisJc3RydWN0IGNsayAqcGh5X2NmZ19jbGs7CiAKIAl1bnNpZ25lZCBpbnQg bGFuZV9tYnBzOyAvKiBwZXIgbGFuZSAqLwogCXUzMiBjaGFubmVsOwpAQCAtMzU2LDYgKzM2OSw3 IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGR3X21pcGlfZHNpICplbmNvZGVyX3RvX2RzaShzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJcmV0dXJuIGNvbnRhaW5lcl9vZihlbmNvZGVy LCBzdHJ1Y3QgZHdfbWlwaV9kc2ksIGVuY29kZXIpOwogfQorCiBzdGF0aWMgaW5saW5lIHZvaWQg ZHNpX3dyaXRlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLCB1MzIgcmVnLCB1MzIgdmFsKQogewog CXdyaXRlbCh2YWwsIGRzaS0+YmFzZSArIHJlZyk7CkBAIC0zNjcsNyArMzgxLDcgQEAgc3RhdGlj IGlubGluZSB1MzIgZHNpX3JlYWQoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksIHUzMiByZWcpCiB9 CiAKIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX3BoeV93cml0ZShzdHJ1Y3QgZHdfbWlwaV9kc2kg KmRzaSwgdTggdGVzdF9jb2RlLAotCQkJCSB1OCB0ZXN0X2RhdGEpCisJCQkJICB1OCB0ZXN0X2Rh dGEpCiB7CiAJLyoKIAkgKiBXaXRoIHRoZSBmYWxsaW5nIGVkZ2Ugb24gVEVTVENMSywgdGhlIFRF U1RESU5bNzowXSBzaWduYWwgY29udGVudApAQCAtNDI2LDYgKzQ0MCwxNCBAQCBzdGF0aWMgaW50 IGR3X21pcGlfZHNpX3BoeV9pbml0KHN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQogCWRzaV93cml0 ZShkc2ksIERTSV9QSFlfVFNUX0NUUkwwLCBQSFlfVEVTVENMUik7CiAJZHNpX3dyaXRlKGRzaSwg RFNJX1BIWV9UU1RfQ1RSTDAsIFBIWV9VTlRFU1RDTFIpOwogCisJaWYgKCFJU19FUlIoZHNpLT5w aHlfY2ZnX2NsaykpIHsKKwkJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKGRzaS0+cGh5X2NmZ19j bGspOworCQlpZiAocmV0KSB7CisJCQlkZXZfZXJyKGRzaS0+ZGV2LCAiRmFpbGVkIHRvIGVuYWJs ZSBwaHlfY2ZnX2Nsa1xuIik7CisJCQlyZXR1cm4gcmV0OworCQl9CisJfQorCiAJZHdfbWlwaV9k c2lfcGh5X3dyaXRlKGRzaSwgMHgxMCwgQllQQVNTX1ZDT19SQU5HRSB8CiAJCQkJCSBWQ09fUkFO R0VfQ09OX1NFTCh2Y28pIHwKIAkJCQkJIFZDT19JTl9DQVBfQ09OX0xPVyB8CkBAIC00NzQsMjIg KzQ5NiwyMyBAQCBzdGF0aWMgaW50IGR3X21pcGlfZHNpX3BoeV9pbml0KHN0cnVjdCBkd19taXBp X2RzaSAqZHNpKQogCWRzaV93cml0ZShkc2ksIERTSV9QSFlfUlNUWiwgUEhZX0VORk9SQ0VQTEwg fCBQSFlfRU5BQkxFQ0xLIHwKIAkJCQkgICAgIFBIWV9VTlJTVFogfCBQSFlfVU5TSFVURE9XTlop OwogCi0KIAlyZXQgPSByZWFkbF9wb2xsX3RpbWVvdXQoZHNpLT5iYXNlICsgRFNJX1BIWV9TVEFU VVMsCiAJCQkJIHZhbCwgdmFsICYgTE9DSywgMTAwMCwgUEhZX1NUQVRVU19USU1FT1VUX1VTKTsK IAlpZiAocmV0IDwgMCkgewogCQlkZXZfZXJyKGRzaS0+ZGV2LCAiZmFpbGVkIHRvIHdhaXQgZm9y IHBoeSBsb2NrIHN0YXRlXG4iKTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBwaHlfaW5pdF9lbmQ7 CiAJfQogCiAJcmV0ID0gcmVhZGxfcG9sbF90aW1lb3V0KGRzaS0+YmFzZSArIERTSV9QSFlfU1RB VFVTLAogCQkJCSB2YWwsIHZhbCAmIFNUT1BfU1RBVEVfQ0xLX0xBTkUsIDEwMDAsCiAJCQkJIFBI WV9TVEFUVVNfVElNRU9VVF9VUyk7Ci0JaWYgKHJldCA8IDApIHsKKwlpZiAocmV0IDwgMCkKIAkJ ZGV2X2Vycihkc2ktPmRldiwKIAkJCSJmYWlsZWQgdG8gd2FpdCBmb3IgcGh5IGNsayBsYW5lIHN0 b3Agc3RhdGVcbiIpOwotCQlyZXR1cm4gcmV0OwotCX0KKworcGh5X2luaXRfZW5kOgorCWlmICgh SVNfRVJSKGRzaS0+cGh5X2NmZ19jbGspKQorCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5w aHlfY2ZnX2Nsayk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNTQ4LDcgKzU3MSw3IEBAIHN0YXRp YyBpbnQgZHdfbWlwaV9kc2lfaG9zdF9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3Qs CiAKIAlpZiAoZGV2aWNlLT5sYW5lcyA+IGRzaS0+cGRhdGEtPm1heF9kYXRhX2xhbmVzKSB7CiAJ CWRldl9lcnIoZHNpLT5kZXYsICJ0aGUgbnVtYmVyIG9mIGRhdGEgbGFuZXMoJXUpIGlzIHRvbyBt YW55XG4iLAotCQkJCWRldmljZS0+bGFuZXMpOworCQkJZGV2aWNlLT5sYW5lcyk7CiAJCXJldHVy biAtRUlOVkFMOwogCX0KIApAQCAtOTM2LDggKzk1OSw4IEBAIHN0YXRpYyB2b2lkIGR3X21pcGlf ZHNpX2NsZWFyX2VycihzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKIH0KIAogc3RhdGljIHZvaWQg ZHdfbWlwaV9kc2lfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIs Ci0JCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAotCQkJCQlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKKwkJCQkJIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLAorCQkJCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCiB7 CiAJc3RydWN0IGR3X21pcGlfZHNpICpkc2kgPSBlbmNvZGVyX3RvX2RzaShlbmNvZGVyKTsKIApA QCAtOTY1LDYgKzk4OCw3IEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfZGlzYWJs ZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9l bmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0IGR3 X21pcGlfZHNpICpkc2kgPSBlbmNvZGVyX3RvX2RzaShlbmNvZGVyKTsKKwljb25zdCBzdHJ1Y3Qg ZHdfbWlwaV9kc2lfcGxhdF9kYXRhICpwZGF0YSA9IGRzaS0+cGRhdGE7CiAJaW50IG11eCA9IGRy bV9vZl9lbmNvZGVyX2FjdGl2ZV9lbmRwb2ludF9pZChkc2ktPmRldi0+b2Zfbm9kZSwgZW5jb2Rl cik7CiAJdTMyIHZhbDsKIApAQCAtOTg1LDYgKzEwMDksMTAgQEAgc3RhdGljIHZvaWQgZHdfbWlw aV9kc2lfZW5jb2Rlcl9lbmFibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCWR3X21p cGlfZHNpX2RwaHlfaW50ZXJmYWNlX2NvbmZpZyhkc2kpOwogCWR3X21pcGlfZHNpX2NsZWFyX2Vy cihkc2kpOwogCisJaWYgKHBkYXRhLT5ncmZfZHNpMF9tb2RlX3JlZykKKwkJcmVnbWFwX3dyaXRl KGRzaS0+Z3JmX3JlZ21hcCwgcGRhdGEtPmdyZl9kc2kwX21vZGVfcmVnLAorCQkJICAgICBwZGF0 YS0+Z3JmX2RzaTBfbW9kZSk7CisKIAlkd19taXBpX2RzaV9waHlfaW5pdChkc2kpOwogCWR3X21p cGlfZHNpX3dhaXRfZm9yX3R3b19mcmFtZXMoZHNpKTsKIApAQCAtOTk4LDExICsxMDI2LDExIEBA IHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcikKIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5wY2xrKTsKIAogCWlmICht dXgpCi0JCXZhbCA9IERTSTBfU0VMX1ZPUF9MSVQgfCAoRFNJMF9TRUxfVk9QX0xJVCA8PCAxNik7 CisJCXZhbCA9IHBkYXRhLT5kc2kwX2VuX2JpdCB8IChwZGF0YS0+ZHNpMF9lbl9iaXQgPDwgMTYp OwogCWVsc2UKLQkJdmFsID0gRFNJMF9TRUxfVk9QX0xJVCA8PCAxNjsKKwkJdmFsID0gcGRhdGEt PmRzaTBfZW5fYml0IDw8IDE2OwogCi0JcmVnbWFwX3dyaXRlKGRzaS0+Z3JmX3JlZ21hcCwgR1JG X1NPQ19DT042LCB2YWwpOworCXJlZ21hcF93cml0ZShkc2ktPmdyZl9yZWdtYXAsIHBkYXRhLT5n cmZfc3dpdGNoX3JlZywgdmFsKTsKIAlkZXZfZGJnKGRzaS0+ZGV2LCAidm9wICVzIG91dHB1dCB0 byBkc2kwXG4iLCAobXV4KSA/ICJMSVQiIDogIkJJRyIpOwogfQogCkBAIC0xMDM0LDcgKzEwNjIs NyBAQCBkd19taXBpX2RzaV9lbmNvZGVyX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZHJtX2VuY29kZXJfaGVs cGVyX2Z1bmNzCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcwog ZHdfbWlwaV9kc2lfZW5jb2Rlcl9oZWxwZXJfZnVuY3MgPSB7CiAJLmVuYWJsZSA9IGR3X21pcGlf ZHNpX2VuY29kZXJfZW5hYmxlLAogCS5tb2RlX3NldCA9IGR3X21pcGlfZHNpX2VuY29kZXJfbW9k ZV9zZXQsCkBAIC0xMDQyLDcgKzEwNzAsNyBAQCBkd19taXBpX2RzaV9lbmNvZGVyX2hlbHBlcl9m dW5jcyA9IHsKIAkuYXRvbWljX2NoZWNrID0gZHdfbWlwaV9kc2lfZW5jb2Rlcl9hdG9taWNfY2hl Y2ssCiB9OwogCi1zdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyX2Z1bmNzIGR3X21pcGlfZHNpX2Vu Y29kZXJfZnVuY3MgPSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9lbmNvZGVyX2Z1bmNzIGR3 X21pcGlfZHNpX2VuY29kZXJfZnVuY3MgPSB7CiAJLmRlc3Ryb3kgPSBkcm1fZW5jb2Rlcl9jbGVh bnVwLAogfTsKIApAQCAtMTA3OCw3ICsxMTA2LDcgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lf ZHJtX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJ ZHJtX2Nvbm5lY3Rvcl9jbGVhbnVwKGNvbm5lY3Rvcik7CiB9CiAKLXN0YXRpYyBzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9mdW5jcyBkd19taXBpX2RzaV9hdG9taWNfY29ubmVjdG9yX2Z1bmNzID0gewor c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGR3X21pcGlfZHNpX2F0b21p Y19jb25uZWN0b3JfZnVuY3MgPSB7CiAJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0 b3JfZHBtcywKIAkuZmlsbF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rv cl9tb2RlcywKIAkuZGVzdHJveSA9IGR3X21pcGlfZHNpX2RybV9jb25uZWN0b3JfZGVzdHJveSwK QEAgLTEwODgsNyArMTExNiw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBk d19taXBpX2RzaV9hdG9taWNfY29ubmVjdG9yX2Z1bmNzID0gewogfTsKIAogc3RhdGljIGludCBk d19taXBpX2RzaV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAotCQkJCSAgICAgIHN0 cnVjdCBkd19taXBpX2RzaSAqZHNpKQorCQkJCXN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQogewog CXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZkc2ktPmVuY29kZXI7CiAJc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciA9ICZkc2ktPmNvbm5lY3RvcjsKQEAgLTExMDksMTQgKzEx MzcsMTQgQEAgc3RhdGljIGludCBkd19taXBpX2RzaV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZHJtLAogCWRybV9lbmNvZGVyX2hlbHBlcl9hZGQoJmRzaS0+ZW5jb2RlciwKIAkJCSAgICAg ICAmZHdfbWlwaV9kc2lfZW5jb2Rlcl9oZWxwZXJfZnVuY3MpOwogCXJldCA9IGRybV9lbmNvZGVy X2luaXQoZHJtLCAmZHNpLT5lbmNvZGVyLCAmZHdfbWlwaV9kc2lfZW5jb2Rlcl9mdW5jcywKLQkJ CSBEUk1fTU9ERV9FTkNPREVSX0RTSSwgTlVMTCk7CisJCQkgICAgICAgRFJNX01PREVfRU5DT0RF Ul9EU0ksIE5VTEwpOwogCWlmIChyZXQpIHsKIAkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gaW5p dGlhbGl6ZSBlbmNvZGVyIHdpdGggZHJtXG4iKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKIAlkcm1f Y29ubmVjdG9yX2hlbHBlcl9hZGQoY29ubmVjdG9yLAotCQkJJmR3X21pcGlfZHNpX2Nvbm5lY3Rv cl9oZWxwZXJfZnVuY3MpOworCQkJCSAmZHdfbWlwaV9kc2lfY29ubmVjdG9yX2hlbHBlcl9mdW5j cyk7CiAKIAlkcm1fY29ubmVjdG9yX2luaXQoZHJtLCAmZHNpLT5jb25uZWN0b3IsCiAJCQkgICAm ZHdfbWlwaV9kc2lfYXRvbWljX2Nvbm5lY3Rvcl9mdW5jcywKQEAgLTExNjIsMjEgKzExOTAsMzYg QEAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIHJrMzI4OF9taXBpX2RzaV9tb2RlX3ZhbGlk KAogfQogCiBzdGF0aWMgc3RydWN0IGR3X21pcGlfZHNpX3BsYXRfZGF0YSByazMyODhfbWlwaV9k c2lfZHJ2X2RhdGEgPSB7CisJLmRzaTBfZW5fYml0ID0gUkszMjg4X0RTSTBfU0VMX1ZPUF9MSVQs CisJLmRzaTFfZW5fYml0ID0gUkszMjg4X0RTSTFfU0VMX1ZPUF9MSVQsCisJLmdyZl9zd2l0Y2hf cmVnID0gUkszMjg4X0dSRl9TT0NfQ09ONiwKIAkubWF4X2RhdGFfbGFuZXMgPSA0LAogCS5tb2Rl X3ZhbGlkID0gcmszMjg4X21pcGlfZHNpX21vZGVfdmFsaWQsCiB9OwogCitzdGF0aWMgc3RydWN0 IGR3X21pcGlfZHNpX3BsYXRfZGF0YSByazMzOTlfbWlwaV9kc2lfZHJ2X2RhdGEgPSB7CisJLmRz aTBfZW5fYml0ID0gUkszMzk5X0RTSTBfU0VMX1ZPUF9MSVQsCisJLmRzaTFfZW5fYml0ID0gUksz Mzk5X0RTSTFfU0VMX1ZPUF9MSVQsCisJLmdyZl9zd2l0Y2hfcmVnID0gUkszMzk5X0dSRl9TT0Nf Q09OMTksCisJLmdyZl9kc2kwX21vZGUgPSBSSzMzOTlfR1JGX0RTSV9NT0RFLAorCS5ncmZfZHNp MF9tb2RlX3JlZyA9IFJLMzM5OV9HUkZfU09DX0NPTjIyLAorCS5tYXhfZGF0YV9sYW5lcyA9IDQs Cit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkd19taXBpX2RzaV9kdF9p ZHNbXSA9IHsKIAl7CiAJIC5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMzI4OC1taXBpLWRzaSIs CiAJIC5kYXRhID0gJnJrMzI4OF9taXBpX2RzaV9kcnZfZGF0YSwKKwl9LCB7CisJIC5jb21wYXRp YmxlID0gInJvY2tjaGlwLHJrMzM5OS1taXBpLWRzaSIsCisJIC5kYXRhID0gJnJrMzM5OV9taXBp X2RzaV9kcnZfZGF0YSwKIAl9LAogCXsgLyogc2VudGluZWwgKi8gfQogfTsKIE1PRFVMRV9ERVZJ Q0VfVEFCTEUob2YsIGR3X21pcGlfZHNpX2R0X2lkcyk7CiAKIHN0YXRpYyBpbnQgZHdfbWlwaV9k c2lfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKLQkJCSAg ICAgdm9pZCAqZGF0YSkKKwkJCSAgICB2b2lkICpkYXRhKQogewogCWNvbnN0IHN0cnVjdCBvZl9k ZXZpY2VfaWQgKm9mX2lkID0KIAkJCW9mX21hdGNoX2RldmljZShkd19taXBpX2RzaV9kdF9pZHMs IGRldik7CkBAIC0xMjQ5LDYgKzEyOTIsMTAgQEAgc3RhdGljIGludCBkd19taXBpX2RzaV9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAogCQljbGtfZGlzYWJs ZV91bnByZXBhcmUoZHNpLT5wY2xrKTsKIAl9CiAKKwlkc2ktPnBoeV9jZmdfY2xrID0gZGV2bV9j bGtfZ2V0KGRldiwgInBoeV9jZmciKTsKKwlpZiAoSVNfRVJSKGRzaS0+cGh5X2NmZ19jbGspKQor CQlkZXZfZGJnKGRldiwgImhhdmUgbm90IHBoeV9jZmdfY2xrXG4iKTsKKwogCXJldCA9IGNsa19w cmVwYXJlX2VuYWJsZShkc2ktPnBsbHJlZl9jbGspOwogCWlmIChyZXQpIHsKIAkJZGV2X2Vycihk ZXYsICIlczogRmFpbGVkIHRvIGVuYWJsZSBwbGxyZWZfY2xrXG4iLCBfX2Z1bmNfXyk7CkBAIC0x MjgwLDcgKzEzMjcsNyBAQCBzdGF0aWMgaW50IGR3X21pcGlfZHNpX2JpbmQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCiB9CiAKIHN0YXRpYyB2b2lkIGR3X21pcGlf ZHNpX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKLQl2 b2lkICpkYXRhKQorCQkJICAgICAgIHZvaWQgKmRhdGEpCiB7CiAJc3RydWN0IGR3X21pcGlfZHNp ICpkc2kgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKIAotLSAKMi42LjMKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=