From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2345029AD for ; Fri, 13 Jan 2023 10:44:45 +0000 (UTC) X-UUID: 4734182e932f11eda06fc9ecc4dadd91-20230113 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=wBMZWcluI0mb9Ysy8M9cMLosoCh4lNRVv9go/Nabg0w=; b=Bns2z+w923rIHv9VtEMii0yaqZXwJ1OUnyLjJ5XzqcPgJ6sbu8fSO/B/8nmt8oswvUwnVy6DqFqvnN/sYe4+fAvbF+s6ROYbA3aH6CPmZNOWR2IKtXodbSmBr52RuuZWWZZ7JKJeNI+fXDQjj3fZ2LWCayiOHNziV2eteXi48jk=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.17,REQID:d21e03da-936a-4be8-8ef4-3a8ae365d29b,IP:0,U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:95,FILE:0,BULK:0,RULE:Release_Ham,ACTI ON:release,TS:70 X-CID-INFO: VERSION:1.1.17,REQID:d21e03da-936a-4be8-8ef4-3a8ae365d29b,IP:0,URL :0,TC:0,Content:-25,EDM:0,RT:0,SF:95,FILE:0,BULK:0,RULE:Spam_GS981B3D,ACTI ON:quarantine,TS:70 X-CID-META: VersionHash:543e81c,CLOUDID:01562e8c-8530-4eff-9f77-222cf6e2895b,B ulkID:2301131844397JRO381H,BulkQuantity:0,Recheck:0,SF:38|28|17|19|48,TC:n il,Content:0,EDM:-3,IP:nil,URL:11|1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0 ,OSI:0,OSA:0 X-CID-APTURL: Status:success,Category:nil,Trust:0,Unknown:0,Malicious:0 X-CID-BVR: 0 X-UUID: 4734182e932f11eda06fc9ecc4dadd91-20230113 Received: from mtkmbs10n1.mediatek.inc [(172.21.101.34)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 390674927; Fri, 13 Jan 2023 18:44:38 +0800 Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Fri, 13 Jan 2023 18:44:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.15 via Frontend Transport; Fri, 13 Jan 2023 18:44:37 +0800 From: Nancy.Lin To: Rob Herring , Krzysztof Kozlowski , Matthias Brugger , Philipp Zabel , CK Hu CC: Nathan Chancellor , Nick Desaulniers , Tom Rix , AngeloGioacchino Del Regno , "Jason-JH . Lin" , "Nancy . Lin" , Nathan Lu , Rex-BC Chen , Xinlei Lee , , , , , , , Subject: [PATCH v30 08/11] soc: mediatek: mmsys: add mmsys for support 64 reset bits Date: Fri, 13 Jan 2023 18:44:31 +0800 Message-ID: <20230113104434.28023-9-nancy.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20230113104434.28023-1-nancy.lin@mediatek.com> References: <20230113104434.28023-1-nancy.lin@mediatek.com> Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-MTK: N Add mmsys for support 64 reset bits. It is a preparation for MT8195 vdosys1 HW reset. MT8195 vdosys1 has more than 32 reset bits. 1. Add the number of reset bits in mmsys private data 2. move the whole "reset register code section" behind the "get mmsys->data" code section for getting the num_resets in mmsys->data. Signed-off-by: Nancy.Lin Reviewed-by: AngeloGioacchino Del Regno Reviewed-by: CK Hu Tested-by: Bo-Chen Chen Reviewed-by: NĂ­colas F. R. A. Prado --- drivers/soc/mediatek/mtk-mmsys.c | 40 +++++++++++++++++++++----------- drivers/soc/mediatek/mtk-mmsys.h | 1 + 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/drivers/soc/mediatek/mtk-mmsys.c b/drivers/soc/mediatek/mtk-mmsys.c index a0a584f16405..32b17c56c44a 100644 --- a/drivers/soc/mediatek/mtk-mmsys.c +++ b/drivers/soc/mediatek/mtk-mmsys.c @@ -22,6 +22,8 @@ #include "mt8195-mmsys.h" #include "mt8365-mmsys.h" +#define MMSYS_SW_RESET_PER_REG 32 + static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = { .clk_driver = "clk-mt2701-mm", .routes = mmsys_default_routing_table, @@ -53,6 +55,7 @@ static const struct mtk_mmsys_driver_data mt8173_mmsys_driver_data = { .routes = mmsys_default_routing_table, .num_routes = ARRAY_SIZE(mmsys_default_routing_table), .sw0_rst_offset = MT8183_MMSYS_SW0_RST_B, + .num_resets = 32, }; static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = { @@ -60,6 +63,7 @@ static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = { .routes = mmsys_mt8183_routing_table, .num_routes = ARRAY_SIZE(mmsys_mt8183_routing_table), .sw0_rst_offset = MT8183_MMSYS_SW0_RST_B, + .num_resets = 32, }; static const struct mtk_mmsys_driver_data mt8186_mmsys_driver_data = { @@ -67,6 +71,7 @@ static const struct mtk_mmsys_driver_data mt8186_mmsys_driver_data = { .routes = mmsys_mt8186_routing_table, .num_routes = ARRAY_SIZE(mmsys_mt8186_routing_table), .sw0_rst_offset = MT8186_MMSYS_SW0_RST_B, + .num_resets = 32, }; static const struct mtk_mmsys_driver_data mt8188_vdosys0_driver_data = { @@ -80,6 +85,7 @@ static const struct mtk_mmsys_driver_data mt8192_mmsys_driver_data = { .routes = mmsys_mt8192_routing_table, .num_routes = ARRAY_SIZE(mmsys_mt8192_routing_table), .sw0_rst_offset = MT8186_MMSYS_SW0_RST_B, + .num_resets = 32, }; static const struct mtk_mmsys_driver_data mt8195_vdosys0_driver_data = { @@ -229,13 +235,19 @@ static int mtk_mmsys_reset_update(struct reset_controller_dev *rcdev, unsigned l { struct mtk_mmsys *mmsys = container_of(rcdev, struct mtk_mmsys, rcdev); unsigned long flags; + u32 offset; + u32 reg; + + offset = (id / MMSYS_SW_RESET_PER_REG) * sizeof(u32); + id = id % MMSYS_SW_RESET_PER_REG; + reg = mmsys->data->sw0_rst_offset + offset; spin_lock_irqsave(&mmsys->lock, flags); if (assert) - mtk_mmsys_update_bits(mmsys, mmsys->data->sw0_rst_offset, BIT(id), 0, NULL); + mtk_mmsys_update_bits(mmsys, reg, BIT(id), 0, NULL); else - mtk_mmsys_update_bits(mmsys, mmsys->data->sw0_rst_offset, BIT(id), BIT(id), NULL); + mtk_mmsys_update_bits(mmsys, reg, BIT(id), BIT(id), NULL); spin_unlock_irqrestore(&mmsys->lock, flags); @@ -290,20 +302,22 @@ static int mtk_mmsys_probe(struct platform_device *pdev) return ret; } - spin_lock_init(&mmsys->lock); + mmsys->data = of_device_get_match_data(&pdev->dev); - mmsys->rcdev.owner = THIS_MODULE; - mmsys->rcdev.nr_resets = 32; - mmsys->rcdev.ops = &mtk_mmsys_reset_ops; - mmsys->rcdev.of_node = pdev->dev.of_node; - ret = devm_reset_controller_register(&pdev->dev, &mmsys->rcdev); - if (ret) { - dev_err(&pdev->dev, "Couldn't register mmsys reset controller: %d\n", ret); - return ret; + if (mmsys->data->num_resets > 0) { + spin_lock_init(&mmsys->lock); + + mmsys->rcdev.owner = THIS_MODULE; + mmsys->rcdev.nr_resets = mmsys->data->num_resets; + mmsys->rcdev.ops = &mtk_mmsys_reset_ops; + mmsys->rcdev.of_node = pdev->dev.of_node; + ret = devm_reset_controller_register(&pdev->dev, &mmsys->rcdev); + if (ret) { + dev_err(&pdev->dev, "Couldn't register mmsys reset controller: %d\n", ret); + return ret; + } } - mmsys->data = of_device_get_match_data(&pdev->dev); - #if IS_REACHABLE(CONFIG_MTK_CMDQ) ret = cmdq_dev_get_client_reg(dev, &mmsys->cmdq_base, 0); if (ret) diff --git a/drivers/soc/mediatek/mtk-mmsys.h b/drivers/soc/mediatek/mtk-mmsys.h index 77f37f8c715b..e19994749adb 100644 --- a/drivers/soc/mediatek/mtk-mmsys.h +++ b/drivers/soc/mediatek/mtk-mmsys.h @@ -91,6 +91,7 @@ struct mtk_mmsys_driver_data { const struct mtk_mmsys_routes *routes; const unsigned int num_routes; const u16 sw0_rst_offset; + const u32 num_resets; }; /* -- 2.18.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 13E00C54EBD for ; Fri, 13 Jan 2023 11:09:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:CC:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=wzYGlzdnC8IFIlIHRIsCBGoufWEYYQnOhVBkn10sJx4=; b=NzHtJlgg/3ObDx TwzEd+D95fOsSvHyR+ffR1sR4jQ4r2SjBqbEkni75LWikXxs2RameMNi36gxNWOcEMXB8FeqJkWWs Pfu8eihJnB5fhrzKRgh8vjHuJkOd8C2Glhn9eV4wZKzybet7LQZbwCnXN9GPtTFMEfG0TqfDjY+QM wclD3QN8BIxhfelZq5yUU728FpZGvLykiUeW6N3CHP1S+9DEzV31YzYJbB6fRJm+UeMGQNjr3uuQd 3dkRSPVdW6rwrU3T61FCRAoqHpWyVIAVSbgQ3FUwtkQmKZPqrVhGaAHq2LBLqmUbs+24IyGoxtRO4 5GTnzBv6bOmKEJ/OWcuQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pGHus-0020xn-LW; Fri, 13 Jan 2023 11:08:13 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pGHsG-001zqK-6f; Fri, 13 Jan 2023 11:05:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From: Sender:Reply-To:Content-ID:Content-Description; bh=wBMZWcluI0mb9Ysy8M9cMLosoCh4lNRVv9go/Nabg0w=; b=cdtMUDgez3+SJTE7xAxHhAtrHk 3fSMR4Av0KO/T3QXLp7g3GeApgKdcvG4dOcSRl5IbJFu7xDKAk8GryedsrGpi7A6wNLtb8FCfSqpv ahdvxZb77GE+qB5FuwtrgDlhEkIzyGzAY3CVPJnVU6Si5xH+QG+qx/A4QrREaQBQlF4WOOVoRanhT u8eFMZI8v9QdgFAwDumChiNJfmNwKTc/t+FRl4KwXeK0f/LpfA1iJlPrW9Y4I0dCHDzkI1EKkBqwC 0Cq1nVyWo5kbZ8fX6Mt/CLMdld/5QVu0YXQM9Cn/9vjZkCOgEXnr4UVerefsdzM7bcgVI+UfBf8Xh xkVWE5vg==; Received: from mailgw02.mediatek.com ([216.200.240.185]) by desiato.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pGHs1-004KMs-0A; Fri, 13 Jan 2023 11:05:18 +0000 X-UUID: 26b14722933211eda08d4d6090ec5a5c-20230113 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=wBMZWcluI0mb9Ysy8M9cMLosoCh4lNRVv9go/Nabg0w=; b=Bns2z+w923rIHv9VtEMii0yaqZXwJ1OUnyLjJ5XzqcPgJ6sbu8fSO/B/8nmt8oswvUwnVy6DqFqvnN/sYe4+fAvbF+s6ROYbA3aH6CPmZNOWR2IKtXodbSmBr52RuuZWWZZ7JKJeNI+fXDQjj3fZ2LWCayiOHNziV2eteXi48jk=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.17,REQID:56383f2a-aae3-49b4-b849-ececbec2c443,IP:0,U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:543e81c,CLOUDID:49cf2e8c-8530-4eff-9f77-222cf6e2895b,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:11|1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0 X-CID-BVR: 0 X-UUID: 26b14722933211eda08d4d6090ec5a5c-20230113 Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1079428875; Fri, 13 Jan 2023 04:05:12 -0700 Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by mtkmbs11n1.mediatek.inc (172.21.101.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.792.15; Fri, 13 Jan 2023 18:44:37 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.792.15 via Frontend Transport; Fri, 13 Jan 2023 18:44:37 +0800 From: Nancy.Lin To: Rob Herring , Krzysztof Kozlowski , Matthias Brugger , Philipp Zabel , CK Hu CC: Nathan Chancellor , Nick Desaulniers , Tom Rix , AngeloGioacchino Del Regno , "Jason-JH . Lin" , "Nancy . Lin" , Nathan Lu , Rex-BC Chen , Xinlei Lee , , , , , , , Subject: [PATCH v30 08/11] soc: mediatek: mmsys: add mmsys for support 64 reset bits Date: Fri, 13 Jan 2023 18:44:31 +0800 Message-ID: <20230113104434.28023-9-nancy.lin@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20230113104434.28023-1-nancy.lin@mediatek.com> References: <20230113104434.28023-1-nancy.lin@mediatek.com> MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230113_110516_756631_A1CB832E X-CRM114-Status: GOOD ( 17.57 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIG1tc3lzIGZvciBzdXBwb3J0IDY0IHJlc2V0IGJpdHMuIEl0IGlzIGEgcHJlcGFyYXRpb24g Zm9yIE1UODE5NQp2ZG9zeXMxIEhXIHJlc2V0LiBNVDgxOTUgdmRvc3lzMSBoYXMgbW9yZSB0aGFu IDMyIHJlc2V0IGJpdHMuCgoxLiBBZGQgdGhlIG51bWJlciBvZiByZXNldCBiaXRzIGluIG1tc3lz IHByaXZhdGUgZGF0YQoyLiBtb3ZlIHRoZSB3aG9sZSAicmVzZXQgcmVnaXN0ZXIgY29kZSBzZWN0 aW9uIiBiZWhpbmQgdGhlCiJnZXQgbW1zeXMtPmRhdGEiIGNvZGUgc2VjdGlvbiBmb3IgZ2V0dGlu ZyB0aGUgbnVtX3Jlc2V0cyBpbiBtbXN5cy0+ZGF0YS4KClNpZ25lZC1vZmYtYnk6IE5hbmN5Lkxp biA8bmFuY3kubGluQG1lZGlhdGVrLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZ2Vsb0dpb2FjY2hpbm8g RGVsIFJlZ25vIDxhbmdlbG9naW9hY2NoaW5vLmRlbHJlZ25vQGNvbGxhYm9yYS5jb20+ClJldmll d2VkLWJ5OiBDSyBIdSA8Y2suaHVAbWVkaWF0ZWsuY29tPgpUZXN0ZWQtYnk6IEJvLUNoZW4gQ2hl biA8cmV4LWJjLmNoZW5AbWVkaWF0ZWsuY29tPgpSZXZpZXdlZC1ieTogTsOtY29sYXMgRi4gUi4g QS4gUHJhZG8gPG5mcmFwcmFkb0Bjb2xsYWJvcmEuY29tPgotLS0KIGRyaXZlcnMvc29jL21lZGlh dGVrL210ay1tbXN5cy5jIHwgNDAgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIGRy aXZlcnMvc29jL21lZGlhdGVrL210ay1tbXN5cy5oIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAy OCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Nv Yy9tZWRpYXRlay9tdGstbW1zeXMuYyBiL2RyaXZlcnMvc29jL21lZGlhdGVrL210ay1tbXN5cy5j CmluZGV4IGEwYTU4NGYxNjQwNS4uMzJiMTdjNTZjNDRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Nv Yy9tZWRpYXRlay9tdGstbW1zeXMuYworKysgYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9tdGstbW1z eXMuYwpAQCAtMjIsNiArMjIsOCBAQAogI2luY2x1ZGUgIm10ODE5NS1tbXN5cy5oIgogI2luY2x1 ZGUgIm10ODM2NS1tbXN5cy5oIgogCisjZGVmaW5lIE1NU1lTX1NXX1JFU0VUX1BFUl9SRUcgMzIK Kwogc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgbXQyNzAxX21tc3lz X2RyaXZlcl9kYXRhID0gewogCS5jbGtfZHJpdmVyID0gImNsay1tdDI3MDEtbW0iLAogCS5yb3V0 ZXMgPSBtbXN5c19kZWZhdWx0X3JvdXRpbmdfdGFibGUsCkBAIC01Myw2ICs1NSw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhIG10ODE3M19tbXN5c19kcml2ZXJf ZGF0YSA9IHsKIAkucm91dGVzID0gbW1zeXNfZGVmYXVsdF9yb3V0aW5nX3RhYmxlLAogCS5udW1f cm91dGVzID0gQVJSQVlfU0laRShtbXN5c19kZWZhdWx0X3JvdXRpbmdfdGFibGUpLAogCS5zdzBf cnN0X29mZnNldCA9IE1UODE4M19NTVNZU19TVzBfUlNUX0IsCisJLm51bV9yZXNldHMgPSAzMiwK IH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhIG10ODE4M19t bXN5c19kcml2ZXJfZGF0YSA9IHsKQEAgLTYwLDYgKzYzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBtdGtfbW1zeXNfZHJpdmVyX2RhdGEgbXQ4MTgzX21tc3lzX2RyaXZlcl9kYXRhID0gewogCS5y b3V0ZXMgPSBtbXN5c19tdDgxODNfcm91dGluZ190YWJsZSwKIAkubnVtX3JvdXRlcyA9IEFSUkFZ X1NJWkUobW1zeXNfbXQ4MTgzX3JvdXRpbmdfdGFibGUpLAogCS5zdzBfcnN0X29mZnNldCA9IE1U ODE4M19NTVNZU19TVzBfUlNUX0IsCisJLm51bV9yZXNldHMgPSAzMiwKIH07CiAKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhIG10ODE4Nl9tbXN5c19kcml2ZXJfZGF0 YSA9IHsKQEAgLTY3LDYgKzcxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJp dmVyX2RhdGEgbXQ4MTg2X21tc3lzX2RyaXZlcl9kYXRhID0gewogCS5yb3V0ZXMgPSBtbXN5c19t dDgxODZfcm91dGluZ190YWJsZSwKIAkubnVtX3JvdXRlcyA9IEFSUkFZX1NJWkUobW1zeXNfbXQ4 MTg2X3JvdXRpbmdfdGFibGUpLAogCS5zdzBfcnN0X29mZnNldCA9IE1UODE4Nl9NTVNZU19TVzBf UlNUX0IsCisJLm51bV9yZXNldHMgPSAzMiwKIH07CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X21tc3lzX2RyaXZlcl9kYXRhIG10ODE4OF92ZG9zeXMwX2RyaXZlcl9kYXRhID0gewpAQCAtODAs NiArODUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YSBtdDgx OTJfbW1zeXNfZHJpdmVyX2RhdGEgPSB7CiAJLnJvdXRlcyA9IG1tc3lzX210ODE5Ml9yb3V0aW5n X3RhYmxlLAogCS5udW1fcm91dGVzID0gQVJSQVlfU0laRShtbXN5c19tdDgxOTJfcm91dGluZ190 YWJsZSksCiAJLnN3MF9yc3Rfb2Zmc2V0ID0gTVQ4MTg2X01NU1lTX1NXMF9SU1RfQiwKKwkubnVt X3Jlc2V0cyA9IDMyLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfZHJpdmVy X2RhdGEgbXQ4MTk1X3Zkb3N5czBfZHJpdmVyX2RhdGEgPSB7CkBAIC0yMjksMTMgKzIzNSwxOSBA QCBzdGF0aWMgaW50IG10a19tbXN5c19yZXNldF91cGRhdGUoc3RydWN0IHJlc2V0X2NvbnRyb2xs ZXJfZGV2ICpyY2RldiwgdW5zaWduZWQgbAogewogCXN0cnVjdCBtdGtfbW1zeXMgKm1tc3lzID0g Y29udGFpbmVyX29mKHJjZGV2LCBzdHJ1Y3QgbXRrX21tc3lzLCByY2Rldik7CiAJdW5zaWduZWQg bG9uZyBmbGFnczsKKwl1MzIgb2Zmc2V0OworCXUzMiByZWc7CisKKwlvZmZzZXQgPSAoaWQgLyBN TVNZU19TV19SRVNFVF9QRVJfUkVHKSAqIHNpemVvZih1MzIpOworCWlkID0gaWQgJSBNTVNZU19T V19SRVNFVF9QRVJfUkVHOworCXJlZyA9IG1tc3lzLT5kYXRhLT5zdzBfcnN0X29mZnNldCArIG9m ZnNldDsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZtbXN5cy0+bG9jaywgZmxhZ3MpOwogCiAJaWYg KGFzc2VydCkKLQkJbXRrX21tc3lzX3VwZGF0ZV9iaXRzKG1tc3lzLCBtbXN5cy0+ZGF0YS0+c3cw X3JzdF9vZmZzZXQsIEJJVChpZCksIDAsIE5VTEwpOworCQltdGtfbW1zeXNfdXBkYXRlX2JpdHMo bW1zeXMsIHJlZywgQklUKGlkKSwgMCwgTlVMTCk7CiAJZWxzZQotCQltdGtfbW1zeXNfdXBkYXRl X2JpdHMobW1zeXMsIG1tc3lzLT5kYXRhLT5zdzBfcnN0X29mZnNldCwgQklUKGlkKSwgQklUKGlk KSwgTlVMTCk7CisJCW10a19tbXN5c191cGRhdGVfYml0cyhtbXN5cywgcmVnLCBCSVQoaWQpLCBC SVQoaWQpLCBOVUxMKTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJm1tc3lzLT5sb2NrLCBm bGFncyk7CiAKQEAgLTI5MCwyMCArMzAyLDIyIEBAIHN0YXRpYyBpbnQgbXRrX21tc3lzX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCXJldHVybiByZXQ7CiAJfQogCi0Jc3Bp bl9sb2NrX2luaXQoJm1tc3lzLT5sb2NrKTsKKwltbXN5cy0+ZGF0YSA9IG9mX2RldmljZV9nZXRf bWF0Y2hfZGF0YSgmcGRldi0+ZGV2KTsKIAotCW1tc3lzLT5yY2Rldi5vd25lciA9IFRISVNfTU9E VUxFOwotCW1tc3lzLT5yY2Rldi5ucl9yZXNldHMgPSAzMjsKLQltbXN5cy0+cmNkZXYub3BzID0g Jm10a19tbXN5c19yZXNldF9vcHM7Ci0JbW1zeXMtPnJjZGV2Lm9mX25vZGUgPSBwZGV2LT5kZXYu b2Zfbm9kZTsKLQlyZXQgPSBkZXZtX3Jlc2V0X2NvbnRyb2xsZXJfcmVnaXN0ZXIoJnBkZXYtPmRl diwgJm1tc3lzLT5yY2Rldik7Ci0JaWYgKHJldCkgewotCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJD b3VsZG4ndCByZWdpc3RlciBtbXN5cyByZXNldCBjb250cm9sbGVyOiAlZFxuIiwgcmV0KTsKLQkJ cmV0dXJuIHJldDsKKwlpZiAobW1zeXMtPmRhdGEtPm51bV9yZXNldHMgPiAwKSB7CisJCXNwaW5f bG9ja19pbml0KCZtbXN5cy0+bG9jayk7CisKKwkJbW1zeXMtPnJjZGV2Lm93bmVyID0gVEhJU19N T0RVTEU7CisJCW1tc3lzLT5yY2Rldi5ucl9yZXNldHMgPSBtbXN5cy0+ZGF0YS0+bnVtX3Jlc2V0 czsKKwkJbW1zeXMtPnJjZGV2Lm9wcyA9ICZtdGtfbW1zeXNfcmVzZXRfb3BzOworCQltbXN5cy0+ cmNkZXYub2Zfbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOworCQlyZXQgPSBkZXZtX3Jlc2V0X2Nv bnRyb2xsZXJfcmVnaXN0ZXIoJnBkZXYtPmRldiwgJm1tc3lzLT5yY2Rldik7CisJCWlmIChyZXQp IHsKKwkJCWRldl9lcnIoJnBkZXYtPmRldiwgIkNvdWxkbid0IHJlZ2lzdGVyIG1tc3lzIHJlc2V0 IGNvbnRyb2xsZXI6ICVkXG4iLCByZXQpOworCQkJcmV0dXJuIHJldDsKKwkJfQogCX0KIAotCW1t c3lzLT5kYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKCZwZGV2LT5kZXYpOwotCiAjaWYg SVNfUkVBQ0hBQkxFKENPTkZJR19NVEtfQ01EUSkKIAlyZXQgPSBjbWRxX2Rldl9nZXRfY2xpZW50 X3JlZyhkZXYsICZtbXN5cy0+Y21kcV9iYXNlLCAwKTsKIAlpZiAocmV0KQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLW1tc3lzLmggYi9kcml2ZXJzL3NvYy9tZWRpYXRlay9t dGstbW1zeXMuaAppbmRleCA3N2YzN2Y4YzcxNWIuLmUxOTk5NDc0OWFkYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9zb2MvbWVkaWF0ZWsvbXRrLW1tc3lzLmgKKysrIGIvZHJpdmVycy9zb2MvbWVkaWF0 ZWsvbXRrLW1tc3lzLmgKQEAgLTkxLDYgKzkxLDcgQEAgc3RydWN0IG10a19tbXN5c19kcml2ZXJf ZGF0YSB7CiAJY29uc3Qgc3RydWN0IG10a19tbXN5c19yb3V0ZXMgKnJvdXRlczsKIAljb25zdCB1 bnNpZ25lZCBpbnQgbnVtX3JvdXRlczsKIAljb25zdCB1MTYgc3cwX3JzdF9vZmZzZXQ7CisJY29u c3QgdTMyIG51bV9yZXNldHM7CiB9OwogCiAvKgotLSAKMi4xOC4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=