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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80E14C43331 for ; Mon, 11 Nov 2019 09:46:58 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 408CF206C3 for ; Mon, 11 Nov 2019 09:46:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="mZwOT0mS"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="RLi2DaLw" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 408CF206C3 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:In-Reply-To: Date:From:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Owner; bh=M64hmZQaNg9oEKJGQkYOdk875+HUDcZ/O7W0oqyMFKg=; b=mZwOT0mSVieoJH TmyDdUdGvZXenG1aM2uoLRkFDzQcQxWxseLsOLDuNw+MTlBRjYQ+uxKkYWLeYcFEUD2x53oCfDgDd wFf6Sbyj3ChXxE8CZOZe57S/yhHpzdEkQYNQD94ZNSNxcrcCEkV3p8SCCNTF61kp5lqM6p+hGH9WN 9p4dJ1AE2V/fySG118vi4lf9c+5e+/jpIdruaYMDLexFaPpPyV4m4m/mhBKd1squ1oHEWsD4BC6KJ Mnc43Mjz5Bpl9yKZSX7aA6qa2tWznJjTgjNQTLCiVOOxVQLm9ruhmrvh+x2FbnRNlclLQTtZfrAAR wD/y3/mf6ejo5cGpvGJQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iU6HT-0002zr-9g; Mon, 11 Nov 2019 09:46:43 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iU6F7-00085T-Vb for linux-mtd@lists.infradead.org; Mon, 11 Nov 2019 09:44:22 +0000 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8D64F20869; Mon, 11 Nov 2019 09:44:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1573465457; bh=e4zjSx9YTNUC+lxQUEPcgx60AMThmWsCf7+B1bbGs4g=; h=Subject:To:Cc:From:Date:In-Reply-To:From; b=RLi2DaLwoq8i7/OTEJY9IdYozR7CV32a06Wt7PKsipro2Sn8klSN5l2YtqTcdRJFw ptH1MJBUvlYNuVoXWP5tyEu1ID448ziS6XKt4v5VcGGEFBdCsW1i/KRinWF9EYR9UZ 5qY/sQ75BLjKr5tyAU26Bb13fMFPKl9zH+mgUyro= Subject: Patch "mtd: spi-nor: cadence-quadspi: add a delay in write sequence" has been added to the 4.14-stable tree To: cyrille.pitchen@wedev4u.fr, dri-devel@lists.freedesktop.org, gregkh@linuxfoundation.org, linux-mtd@lists.infradead.org, marek.vasut@gmail.com, mathieu.poirier@linaro.org, vigneshr@ti.com From: Date: Mon, 11 Nov 2019 10:43:33 +0100 In-Reply-To: <20190905161759.28036-9-mathieu.poirier@linaro.org> Message-ID: <157346541330101@kroah.com> MIME-Version: 1.0 X-stable: commit X-Patchwork-Hint: ignore X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191111_014418_113263_3991EE0D X-CRM114-Status: GOOD ( 12.25 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: stable-commits@vger.kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org This is a note to let you know that I've just added the patch titled mtd: spi-nor: cadence-quadspi: add a delay in write sequence to the 4.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch and it can be found in the queue-4.14 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >From foo@baz Mon 11 Nov 2019 10:07:22 AM CET From: Mathieu Poirier Date: Thu, 5 Sep 2019 10:17:49 -0600 Subject: mtd: spi-nor: cadence-quadspi: add a delay in write sequence To: stable@vger.kernel.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-omap@vger.kernel.org, linux-i2c@vger.kernel.org, linux-pci@vger.kernel.org, linux-mtd@lists.infradead.org Message-ID: <20190905161759.28036-9-mathieu.poirier@linaro.org> From: Vignesh R commit 61dc8493bae9ba82a1c72edbc6c6065f6a94456a upstream As per 66AK2G02 TRM[1] SPRUHY8F section 11.15.5.3 Indirect Access Controller programming sequence, a delay equal to couple of QSPI master clock(~5ns) is required after setting CQSPI_REG_INDIRECTWR_START bit and writing data to the flash. Introduce a quirk flag CQSPI_NEEDS_WR_DELAY to handle this and set this flag for TI 66AK2G SoC. [1]http://www.ti.com/lit/ug/spruhy8f/spruhy8f.pdf Signed-off-by: Vignesh R Acked-by: Marek Vasut Signed-off-by: Cyrille Pitchen Signed-off-by: Mathieu Poirier Signed-off-by: Greg Kroah-Hartman --- drivers/mtd/spi-nor/cadence-quadspi.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) --- a/drivers/mtd/spi-nor/cadence-quadspi.c +++ b/drivers/mtd/spi-nor/cadence-quadspi.c @@ -38,6 +38,9 @@ #define CQSPI_NAME "cadence-qspi" #define CQSPI_MAX_CHIPSELECT 16 +/* Quirks */ +#define CQSPI_NEEDS_WR_DELAY BIT(0) + struct cqspi_st; struct cqspi_flash_pdata { @@ -76,6 +79,7 @@ struct cqspi_st { u32 fifo_depth; u32 fifo_width; u32 trigger_address; + u32 wr_delay; struct cqspi_flash_pdata f_pdata[CQSPI_MAX_CHIPSELECT]; }; @@ -623,6 +627,15 @@ static int cqspi_indirect_write_execute( reinit_completion(&cqspi->transfer_complete); writel(CQSPI_REG_INDIRECTWR_START_MASK, reg_base + CQSPI_REG_INDIRECTWR); + /* + * As per 66AK2G02 TRM SPRUHY8F section 11.15.5.3 Indirect Access + * Controller programming sequence, couple of cycles of + * QSPI_REF_CLK delay is required for the above bit to + * be internally synchronized by the QSPI module. Provide 5 + * cycles of delay. + */ + if (cqspi->wr_delay) + ndelay(cqspi->wr_delay); while (remaining > 0) { size_t write_words, mod_bytes; @@ -1184,6 +1197,7 @@ static int cqspi_probe(struct platform_d struct cqspi_st *cqspi; struct resource *res; struct resource *res_ahb; + unsigned long data; int ret; int irq; @@ -1241,6 +1255,10 @@ static int cqspi_probe(struct platform_d } cqspi->master_ref_clk_hz = clk_get_rate(cqspi->clk); + data = (unsigned long)of_device_get_match_data(dev); + if (data & CQSPI_NEEDS_WR_DELAY) + cqspi->wr_delay = 5 * DIV_ROUND_UP(NSEC_PER_SEC, + cqspi->master_ref_clk_hz); ret = devm_request_irq(dev, irq, cqspi_irq_handler, 0, pdev->name, cqspi); @@ -1312,7 +1330,14 @@ static const struct dev_pm_ops cqspi__de #endif static const struct of_device_id cqspi_dt_ids[] = { - {.compatible = "cdns,qspi-nor",}, + { + .compatible = "cdns,qspi-nor", + .data = (void *)0, + }, + { + .compatible = "ti,k2g-qspi", + .data = (void *)CQSPI_NEEDS_WR_DELAY, + }, { /* end of table */ } }; Patches currently in stable-queue which might be from mathieu.poirier@linaro.org are queue-4.14/mailbox-reset-txdone_method-txdone_by_poll-if-client-knows_txdone.patch queue-4.14/mtd-spi-nor-cadence-quadspi-add-a-delay-in-write-sequence.patch queue-4.14/misc-pci_endpoint_test-fix-bug_on-error-during-pci_disable_msi.patch queue-4.14/asoc-tlv320dac31xx-mark-expected-switch-fall-through.patch queue-4.14/pci-dra7xx-add-shutdown-handler-to-cleanly-turn-off-clocks.patch queue-4.14/asoc-tlv320aic31xx-handle-inverted-bclk-in-non-dsp-modes.patch queue-4.14/mtd-spi-nor-enable-4b-opcodes-for-mx66l51235l.patch queue-4.14/cpufreq-ti-cpufreq-add-missing-of_node_put.patch queue-4.14/asoc-davinci-kill-bug_on-usage.patch queue-4.14/mfd-palmas-assign-the-right-powerhold-mask-for-tps65917.patch queue-4.14/asoc-davinci-mcasp-fix-an-error-handling-path-in-davinci_mcasp_probe.patch queue-4.14/misc-pci_endpoint_test-prevent-some-integer-overflows.patch queue-4.14/asoc-davinci-mcasp-handle-return-value-of-devm_kasprintf.patch queue-4.14/i2c-omap-trigger-bus-recovery-in-lockup-case.patch queue-4.14/usb-dwc3-allow-disabling-of-metastability-workaround.patch ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/ From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: Patch "mtd: spi-nor: cadence-quadspi: add a delay in write sequence" has been added to the 4.14-stable tree Date: Mon, 11 Nov 2019 10:43:33 +0100 Message-ID: <157346541330101@kroah.com> References: <20190905161759.28036-9-mathieu.poirier@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2D1AB6E888 for ; Mon, 11 Nov 2019 09:44:17 +0000 (UTC) In-Reply-To: <20190905161759.28036-9-mathieu.poirier@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: cyrille.pitchen@wedev4u.fr, dri-devel@lists.freedesktop.org, gregkh@linuxfoundation.org, linux-mtd@lists.infradead.org, marek.vasut@gmail.com, mathieu.poirier@linaro.org, vigneshr@ti.com Cc: stable-commits@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org ClRoaXMgaXMgYSBub3RlIHRvIGxldCB5b3Uga25vdyB0aGF0IEkndmUganVzdCBhZGRlZCB0aGUg cGF0Y2ggdGl0bGVkCgogICAgbXRkOiBzcGktbm9yOiBjYWRlbmNlLXF1YWRzcGk6IGFkZCBhIGRl bGF5IGluIHdyaXRlIHNlcXVlbmNlCgp0byB0aGUgNC4xNC1zdGFibGUgdHJlZSB3aGljaCBjYW4g YmUgZm91bmQgYXQ6CiAgICBodHRwOi8vd3d3Lmtlcm5lbC5vcmcvZ2l0Lz9wPWxpbnV4L2tlcm5l bC9naXQvc3RhYmxlL3N0YWJsZS1xdWV1ZS5naXQ7YT1zdW1tYXJ5CgpUaGUgZmlsZW5hbWUgb2Yg dGhlIHBhdGNoIGlzOgogICAgIG10ZC1zcGktbm9yLWNhZGVuY2UtcXVhZHNwaS1hZGQtYS1kZWxh eS1pbi13cml0ZS1zZXF1ZW5jZS5wYXRjaAphbmQgaXQgY2FuIGJlIGZvdW5kIGluIHRoZSBxdWV1 ZS00LjE0IHN1YmRpcmVjdG9yeS4KCklmIHlvdSwgb3IgYW55b25lIGVsc2UsIGZlZWxzIGl0IHNo b3VsZCBub3QgYmUgYWRkZWQgdG8gdGhlIHN0YWJsZSB0cmVlLApwbGVhc2UgbGV0IDxzdGFibGVA dmdlci5rZXJuZWwub3JnPiBrbm93IGFib3V0IGl0LgoKCkZyb20gZm9vQGJheiBNb24gMTEgTm92 IDIwMTkgMTA6MDc6MjIgQU0gQ0VUCkZyb206IE1hdGhpZXUgUG9pcmllciA8bWF0aGlldS5wb2ly aWVyQGxpbmFyby5vcmc+CkRhdGU6IFRodSwgIDUgU2VwIDIwMTkgMTA6MTc6NDkgLTA2MDAKU3Vi amVjdDogbXRkOiBzcGktbm9yOiBjYWRlbmNlLXF1YWRzcGk6IGFkZCBhIGRlbGF5IGluIHdyaXRl IHNlcXVlbmNlClRvOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCkNjOiBsaW51eC11c2JAdmdlci5r ZXJuZWwub3JnLCBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnLCBsaW51eC1wbUB2Z2VyLmtl cm5lbC5vcmcsIGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcsIGxpbnV4LW9tYXBAdmdl ci5rZXJuZWwub3JnLCBsaW51eC1pMmNAdmdlci5rZXJuZWwub3JnLCBsaW51eC1wY2lAdmdlci5r ZXJuZWwub3JnLCBsaW51eC1tdGRAbGlzdHMuaW5mcmFkZWFkLm9yZwpNZXNzYWdlLUlEOiA8MjAx OTA5MDUxNjE3NTkuMjgwMzYtOS1tYXRoaWV1LnBvaXJpZXJAbGluYXJvLm9yZz4KCkZyb206IFZp Z25lc2ggUiA8dmlnbmVzaHJAdGkuY29tPgoKY29tbWl0IDYxZGM4NDkzYmFlOWJhODJhMWM3MmVk YmM2YzYwNjVmNmE5NDQ1NmEgdXBzdHJlYW0KCkFzIHBlciA2NkFLMkcwMiBUUk1bMV0gU1BSVUhZ OEYgc2VjdGlvbiAxMS4xNS41LjMgSW5kaXJlY3QgQWNjZXNzCkNvbnRyb2xsZXIgcHJvZ3JhbW1p bmcgc2VxdWVuY2UsIGEgZGVsYXkgZXF1YWwgdG8gY291cGxlIG9mIFFTUEkgbWFzdGVyCmNsb2Nr KH41bnMpIGlzIHJlcXVpcmVkIGFmdGVyIHNldHRpbmcgQ1FTUElfUkVHX0lORElSRUNUV1JfU1RB UlQgYml0IGFuZAp3cml0aW5nIGRhdGEgdG8gdGhlIGZsYXNoLiBJbnRyb2R1Y2UgYSBxdWlyayBm bGFnIENRU1BJX05FRURTX1dSX0RFTEFZCnRvIGhhbmRsZSB0aGlzIGFuZCBzZXQgdGhpcyBmbGFn IGZvciBUSSA2NkFLMkcgU29DLgoKWzFdaHR0cDovL3d3dy50aS5jb20vbGl0L3VnL3NwcnVoeThm L3NwcnVoeThmLnBkZgoKU2lnbmVkLW9mZi1ieTogVmlnbmVzaCBSIDx2aWduZXNockB0aS5jb20+ CkFja2VkLWJ5OiBNYXJlayBWYXN1dCA8bWFyZWsudmFzdXRAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBDeXJpbGxlIFBpdGNoZW4gPGN5cmlsbGUucGl0Y2hlbkB3ZWRldjR1LmZyPgpTaWduZWQt b2ZmLWJ5OiBNYXRoaWV1IFBvaXJpZXIgPG1hdGhpZXUucG9pcmllckBsaW5hcm8ub3JnPgpTaWdu ZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3Jn PgotLS0KIGRyaXZlcnMvbXRkL3NwaS1ub3IvY2FkZW5jZS1xdWFkc3BpLmMgfCAgIDI3ICsrKysr KysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKCi0tLSBhL2RyaXZlcnMvbXRkL3NwaS1ub3IvY2FkZW5jZS1xdWFkc3Bp LmMKKysrIGIvZHJpdmVycy9tdGQvc3BpLW5vci9jYWRlbmNlLXF1YWRzcGkuYwpAQCAtMzgsNiAr MzgsOSBAQAogI2RlZmluZSBDUVNQSV9OQU1FCQkJImNhZGVuY2UtcXNwaSIKICNkZWZpbmUgQ1FT UElfTUFYX0NISVBTRUxFQ1QJCTE2CiAKKy8qIFF1aXJrcyAqLworI2RlZmluZSBDUVNQSV9ORUVE U19XUl9ERUxBWQkJQklUKDApCisKIHN0cnVjdCBjcXNwaV9zdDsKIAogc3RydWN0IGNxc3BpX2Zs YXNoX3BkYXRhIHsKQEAgLTc2LDYgKzc5LDcgQEAgc3RydWN0IGNxc3BpX3N0IHsKIAl1MzIJCQlm aWZvX2RlcHRoOwogCXUzMgkJCWZpZm9fd2lkdGg7CiAJdTMyCQkJdHJpZ2dlcl9hZGRyZXNzOwor CXUzMgkJCXdyX2RlbGF5OwogCXN0cnVjdCBjcXNwaV9mbGFzaF9wZGF0YSBmX3BkYXRhW0NRU1BJ X01BWF9DSElQU0VMRUNUXTsKIH07CiAKQEAgLTYyMyw2ICs2MjcsMTUgQEAgc3RhdGljIGludCBj cXNwaV9pbmRpcmVjdF93cml0ZV9leGVjdXRlKAogCXJlaW5pdF9jb21wbGV0aW9uKCZjcXNwaS0+ dHJhbnNmZXJfY29tcGxldGUpOwogCXdyaXRlbChDUVNQSV9SRUdfSU5ESVJFQ1RXUl9TVEFSVF9N QVNLLAogCSAgICAgICByZWdfYmFzZSArIENRU1BJX1JFR19JTkRJUkVDVFdSKTsKKwkvKgorCSAq IEFzIHBlciA2NkFLMkcwMiBUUk0gU1BSVUhZOEYgc2VjdGlvbiAxMS4xNS41LjMgSW5kaXJlY3Qg QWNjZXNzCisJICogQ29udHJvbGxlciBwcm9ncmFtbWluZyBzZXF1ZW5jZSwgY291cGxlIG9mIGN5 Y2xlcyBvZgorCSAqIFFTUElfUkVGX0NMSyBkZWxheSBpcyByZXF1aXJlZCBmb3IgdGhlIGFib3Zl IGJpdCB0bworCSAqIGJlIGludGVybmFsbHkgc3luY2hyb25pemVkIGJ5IHRoZSBRU1BJIG1vZHVs ZS4gUHJvdmlkZSA1CisJICogY3ljbGVzIG9mIGRlbGF5LgorCSAqLworCWlmIChjcXNwaS0+d3Jf ZGVsYXkpCisJCW5kZWxheShjcXNwaS0+d3JfZGVsYXkpOwogCiAJd2hpbGUgKHJlbWFpbmluZyA+ IDApIHsKIAkJc2l6ZV90IHdyaXRlX3dvcmRzLCBtb2RfYnl0ZXM7CkBAIC0xMTg0LDYgKzExOTcs NyBAQCBzdGF0aWMgaW50IGNxc3BpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kCiAJc3RydWN0IGNx c3BpX3N0ICpjcXNwaTsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKIAlzdHJ1Y3QgcmVzb3VyY2Ug KnJlc19haGI7CisJdW5zaWduZWQgbG9uZyBkYXRhOwogCWludCByZXQ7CiAJaW50IGlycTsKIApA QCAtMTI0MSw2ICsxMjU1LDEwIEBAIHN0YXRpYyBpbnQgY3FzcGlfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2QKIAl9CiAKIAljcXNwaS0+bWFzdGVyX3JlZl9jbGtfaHogPSBjbGtfZ2V0X3JhdGUoY3Fz cGktPmNsayk7CisJZGF0YSAgPSAodW5zaWduZWQgbG9uZylvZl9kZXZpY2VfZ2V0X21hdGNoX2Rh dGEoZGV2KTsKKwlpZiAoZGF0YSAmIENRU1BJX05FRURTX1dSX0RFTEFZKQorCQljcXNwaS0+d3Jf ZGVsYXkgPSA1ICogRElWX1JPVU5EX1VQKE5TRUNfUEVSX1NFQywKKwkJCQkJCSAgIGNxc3BpLT5t YXN0ZXJfcmVmX2Nsa19oeik7CiAKIAlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKGRldiwgaXJxLCBj cXNwaV9pcnFfaGFuZGxlciwgMCwKIAkJCSAgICAgICBwZGV2LT5uYW1lLCBjcXNwaSk7CkBAIC0x MzEyLDcgKzEzMzAsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZXZfcG1fb3BzIGNxc3BpX19k ZQogI2VuZGlmCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGNxc3BpX2R0X2lk c1tdID0gewotCXsuY29tcGF0aWJsZSA9ICJjZG5zLHFzcGktbm9yIix9LAorCXsKKwkJLmNvbXBh dGlibGUgPSAiY2Rucyxxc3BpLW5vciIsCisJCS5kYXRhID0gKHZvaWQgKikwLAorCX0sCisJewor CQkuY29tcGF0aWJsZSA9ICJ0aSxrMmctcXNwaSIsCisJCS5kYXRhID0gKHZvaWQgKilDUVNQSV9O RUVEU19XUl9ERUxBWSwKKwl9LAogCXsgLyogZW5kIG9mIHRhYmxlICovIH0KIH07CiAKCgpQYXRj aGVzIGN1cnJlbnRseSBpbiBzdGFibGUtcXVldWUgd2hpY2ggbWlnaHQgYmUgZnJvbSBtYXRoaWV1 LnBvaXJpZXJAbGluYXJvLm9yZyBhcmUKCnF1ZXVlLTQuMTQvbWFpbGJveC1yZXNldC10eGRvbmVf bWV0aG9kLXR4ZG9uZV9ieV9wb2xsLWlmLWNsaWVudC1rbm93c190eGRvbmUucGF0Y2gKcXVldWUt NC4xNC9tdGQtc3BpLW5vci1jYWRlbmNlLXF1YWRzcGktYWRkLWEtZGVsYXktaW4td3JpdGUtc2Vx dWVuY2UucGF0Y2gKcXVldWUtNC4xNC9taXNjLXBjaV9lbmRwb2ludF90ZXN0LWZpeC1idWdfb24t ZXJyb3ItZHVyaW5nLXBjaV9kaXNhYmxlX21zaS5wYXRjaApxdWV1ZS00LjE0L2Fzb2MtdGx2MzIw ZGFjMzF4eC1tYXJrLWV4cGVjdGVkLXN3aXRjaC1mYWxsLXRocm91Z2gucGF0Y2gKcXVldWUtNC4x NC9wY2ktZHJhN3h4LWFkZC1zaHV0ZG93bi1oYW5kbGVyLXRvLWNsZWFubHktdHVybi1vZmYtY2xv Y2tzLnBhdGNoCnF1ZXVlLTQuMTQvYXNvYy10bHYzMjBhaWMzMXh4LWhhbmRsZS1pbnZlcnRlZC1i Y2xrLWluLW5vbi1kc3AtbW9kZXMucGF0Y2gKcXVldWUtNC4xNC9tdGQtc3BpLW5vci1lbmFibGUt NGItb3Bjb2Rlcy1mb3ItbXg2Nmw1MTIzNWwucGF0Y2gKcXVldWUtNC4xNC9jcHVmcmVxLXRpLWNw dWZyZXEtYWRkLW1pc3Npbmctb2Zfbm9kZV9wdXQucGF0Y2gKcXVldWUtNC4xNC9hc29jLWRhdmlu Y2kta2lsbC1idWdfb24tdXNhZ2UucGF0Y2gKcXVldWUtNC4xNC9tZmQtcGFsbWFzLWFzc2lnbi10 aGUtcmlnaHQtcG93ZXJob2xkLW1hc2stZm9yLXRwczY1OTE3LnBhdGNoCnF1ZXVlLTQuMTQvYXNv Yy1kYXZpbmNpLW1jYXNwLWZpeC1hbi1lcnJvci1oYW5kbGluZy1wYXRoLWluLWRhdmluY2lfbWNh c3BfcHJvYmUucGF0Y2gKcXVldWUtNC4xNC9taXNjLXBjaV9lbmRwb2ludF90ZXN0LXByZXZlbnQt c29tZS1pbnRlZ2VyLW92ZXJmbG93cy5wYXRjaApxdWV1ZS00LjE0L2Fzb2MtZGF2aW5jaS1tY2Fz cC1oYW5kbGUtcmV0dXJuLXZhbHVlLW9mLWRldm1fa2FzcHJpbnRmLnBhdGNoCnF1ZXVlLTQuMTQv aTJjLW9tYXAtdHJpZ2dlci1idXMtcmVjb3ZlcnktaW4tbG9ja3VwLWNhc2UucGF0Y2gKcXVldWUt NC4xNC91c2ItZHdjMy1hbGxvdy1kaXNhYmxpbmctb2YtbWV0YXN0YWJpbGl0eS13b3JrYXJvdW5k LnBhdGNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==