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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D7F64C43334 for ; Tue, 19 Jul 2022 16:16:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236084AbiGSQQe (ORCPT ); Tue, 19 Jul 2022 12:16:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235808AbiGSQQa (ORCPT ); Tue, 19 Jul 2022 12:16:30 -0400 Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 11D4C4D822 for ; Tue, 19 Jul 2022 09:16:29 -0700 (PDT) Received: by mail-pl1-x631.google.com with SMTP id c6so12393941pla.6 for ; Tue, 19 Jul 2022 09:16:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=1/iQNc3gXhjz0NA1343D9qw+UVAwvTADGGcwrjN+3GM=; b=oxbpN3Gyqd2c/4XkRBh7oWvtJtFAUi6DioLRIU+O5ISqhEpCFnaxo9hd8bA8EKIVA+ cprpb1sL3DW86MpjliDUr0wkpsfQ0sU7ASSbPyvfDA4G03OrMBifHEUuy9VivSAxt0YH 8yRLBsfHCiY4kw2bPI3AzHkMciY4zCxsVlwIVN7VBgLFwr1pnyV3FDmjm8kBHuZTTe8p 6Lu59uObwDL/GjBoDgd8TIr+m5ShFiF7hk/UDihQwLxYTlVX58gW+zXSPabIKs9ibSbI qb4pdUf3uQh4BTLjuEE9pTt0VvGkdnv00TWvSHaiGZgyCLRxToTmLFybECxjBBZxHqfZ 7F0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=1/iQNc3gXhjz0NA1343D9qw+UVAwvTADGGcwrjN+3GM=; b=2UxE3usYgVa68sAlC3Dj9eOjiBTaU62aLMmLetmiBd1dLb+u9p2wyee0E6aKSLpyD+ eqHC0iDvliTIUyIeCnUX45TjzlFagBNKWBh7DOMzyG6iwBD8QtaEstFLvKm7eFj6Zuay z2pzEiIVfO5gLGePBKUTGQF4binMUzJHtdJmNGQnfV9NBt/WL/y7+admTxcgQbfXmC73 upSh+MZA0lAN9seoXIM0b7MAmjGq0O3ns4Gm6elPWPUN25jhQFEiehXi8Vbkh8XIF1aY F/hZMBbxN4x6t+GfzMiAe6LPQyz1b5IddkpxnSHX+WKFE+U6tQvERTSjmvUPfAE7mQsE sRUw== X-Gm-Message-State: AJIora8H5G9vfhwHrNNP+PQn4w/99t9Vh8cCP7F+Tq6/UbFzHOhyuEHN RpX5OhiXGqCuZ++a8anuuc9oXw== X-Google-Smtp-Source: AGRyM1uYwT+C2WlLmTkVjjapJiIuQe2wO03DCM5Zxd2mMcaMZEGKC9SCfBNEuA3IPhSKeBiNCQp5Zg== X-Received: by 2002:a17:903:248:b0:168:cf03:eefe with SMTP id j8-20020a170903024800b00168cf03eefemr33889666plh.124.1658247388439; Tue, 19 Jul 2022 09:16:28 -0700 (PDT) Received: from p14s (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id 72-20020a17090a09ce00b001efd39b7e39sm13705857pjo.37.2022.07.19.09.16.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Jul 2022 09:16:27 -0700 (PDT) Date: Tue, 19 Jul 2022 10:16:25 -0600 From: Mathieu Poirier To: Puranjay Mohan Cc: linux-kernel@vger.kernel.org, bjorn.andersson@linaro.org, krzysztof.kozlowski+dt@linaro.org, linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org, nm@ti.com, ssantosh@kernel.org, s-anna@ti.com, linux-arm-kernel@lists.infradead.org, rogerq@kernel.org, grygorii.strashko@ti.com, vigneshr@ti.com, kishon@ti.com, robh@kernel.org Subject: Re: [PATCH v5 6/6] remoteproc: pru: add support for configuring GPMUX based on client setup Message-ID: <20220719161625.GB3393732@p14s> References: <20220607045650.4999-1-p-mohan@ti.com> <20220607045650.4999-7-p-mohan@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20220607045650.4999-7-p-mohan@ti.com> Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org On Tue, Jun 07, 2022 at 10:26:50AM +0530, Puranjay Mohan wrote: > From: Tero Kristo > > Client device node property ti,pruss-gp-mux-sel can now be used to > configure the GPMUX config value for PRU. > > Signed-off-by: Tero Kristo > [s-anna@ti.com: simplify the pru id usage] > Signed-off-by: Suman Anna > Signed-off-by: Puranjay Mohan > --- > V4->v5 > * This patch was included in v4 and had some checkpatch errors that have > been resolved in v5 > --- > drivers/remoteproc/pru_rproc.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/drivers/remoteproc/pru_rproc.c b/drivers/remoteproc/pru_rproc.c > index 2977eb50631b..f2c6c55f0f20 100644 > --- a/drivers/remoteproc/pru_rproc.c > +++ b/drivers/remoteproc/pru_rproc.c > @@ -123,6 +123,7 @@ struct pru_private_data { > * @dbg_single_step: debug state variable to set PRU into single step mode > * @dbg_continuous: debug state variable to restore PRU execution mode > * @evt_count: number of mapped events > + * @gpmux_save: saved value for gpmux config > */ > struct pru_rproc { > int id; > @@ -141,6 +142,7 @@ struct pru_rproc { > u32 dbg_single_step; > u32 dbg_continuous; > u8 evt_count; > + u8 gpmux_save; > }; > > static inline u32 pru_control_read_reg(struct pru_rproc *pru, unsigned int reg) > @@ -250,6 +252,7 @@ struct rproc *pru_rproc_get(struct device_node *np, int index, > struct device *dev; > const char *fw_name; > int ret; > + u32 mux; > > try_module_get(THIS_MODULE); > > @@ -273,6 +276,22 @@ struct rproc *pru_rproc_get(struct device_node *np, int index, > > mutex_unlock(&pru->lock); > > + ret = pruss_cfg_get_gpmux(pru->pruss, pru->id, &pru->gpmux_save); > + if (ret) { > + dev_err(dev, "failed to get cfg gpmux: %d\n", ret); > + goto err; > + } > + > + ret = of_property_read_u32_index(np, "ti,pruss-gp-mux-sel", index, > + &mux); > + if (!ret) { > + ret = pruss_cfg_set_gpmux(pru->pruss, pru->id, mux); > + if (ret) { > + dev_err(dev, "failed to set cfg gpmux: %d\n", ret); > + goto err; > + } > + } > + > if (pru_id) > *pru_id = pru->id; > > @@ -310,6 +329,7 @@ void pru_rproc_put(struct rproc *rproc) > > pru = rproc->priv; > > + pruss_cfg_set_gpmux(pru->pruss, pru->id, pru->gpmux_save); > pru_rproc_set_firmware(rproc, NULL); > CC drivers/remoteproc/pru_rproc.o /home/mpoirier/work/remoteproc/kernel-review/drivers/remoteproc/pru_rproc.c: In function ‘pru_rproc_get’: /home/mpoirier/work/remoteproc/kernel-review/drivers/remoteproc/pru_rproc.c:279:8: error: implicit declaration of function ‘pruss_cfg_get_gpmux’ [-Werror=implicit-function-declaration] 279 | ret = pruss_cfg_get_gpmux(pru->pruss, pru->id, &pru->gpmux_save); | ^~~~~~~~~~~~~~~~~~~ /home/mpoirier/work/remoteproc/kernel-review/drivers/remoteproc/pru_rproc.c:288:9: error: implicit declaration of function ‘pruss_cfg_set_gpmux’ [-Werror=implicit-function-declaration] 288 | ret = pruss_cfg_set_gpmux(pru->pruss, pru->id, mux); | ^~~~~~~~~~~~~~~~~~~ I get this on both rproc-next and today's linux next. > mutex_lock(&pru->lock); > -- > 2.17.1 > 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 D950BC433EF for ; Tue, 19 Jul 2022 16:17:43 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=YqY/wtISfF4jRr7MlcxhAwriCyhrX3MiU8actEB1LsI=; b=MxNDwnDRzM3/xl Q4pLbG9DUTtfvHSORDwZ9V8x5l0UpaWucgHupkb2Qr1K2zCxRlQvZZBcBPH+yeg7mVDw6s+1Z3f+0 SUNyzG4/sw4XJP4zYKUVGbml0svSg2oU8tYeOqS5sJHTWhtZShvdoD8+Z6VViHH4h8MqWKTaKE12k 93l4kpl8JzFlF0HWUSQrusQ4BQ3Xuu+P1CVev9Zcr4c/tCsGlWohAHljRFMjAGAHBqSdzf8Q2MEc3 KNkq42IZykFQoZT5MKVeccz2ENCmhV7NJtdjWJIMMenjMgwjAmyGGd8SfwNfyRWuV9GmYQfAvPFnD J8n4oGYtg09Iyn4Edkew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDpto-00AREd-B4; Tue, 19 Jul 2022 16:16:40 +0000 Received: from mail-pj1-x1032.google.com ([2607:f8b0:4864:20::1032]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDptl-00ARAA-Jw for linux-arm-kernel@lists.infradead.org; Tue, 19 Jul 2022 16:16:39 +0000 Received: by mail-pj1-x1032.google.com with SMTP id x24-20020a17090ab01800b001f21556cf48so582588pjq.4 for ; Tue, 19 Jul 2022 09:16:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to; bh=1/iQNc3gXhjz0NA1343D9qw+UVAwvTADGGcwrjN+3GM=; b=oxbpN3Gyqd2c/4XkRBh7oWvtJtFAUi6DioLRIU+O5ISqhEpCFnaxo9hd8bA8EKIVA+ cprpb1sL3DW86MpjliDUr0wkpsfQ0sU7ASSbPyvfDA4G03OrMBifHEUuy9VivSAxt0YH 8yRLBsfHCiY4kw2bPI3AzHkMciY4zCxsVlwIVN7VBgLFwr1pnyV3FDmjm8kBHuZTTe8p 6Lu59uObwDL/GjBoDgd8TIr+m5ShFiF7hk/UDihQwLxYTlVX58gW+zXSPabIKs9ibSbI qb4pdUf3uQh4BTLjuEE9pTt0VvGkdnv00TWvSHaiGZgyCLRxToTmLFybECxjBBZxHqfZ 7F0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to; bh=1/iQNc3gXhjz0NA1343D9qw+UVAwvTADGGcwrjN+3GM=; b=ntjJnuBZVcDe+xWuQC9OqQlc2k929L/lNgDKJSqqhylC3N2ETHDEAVZfPXLSMYQO7U q9uCySszUJAih7tyMEymdFU+SbxSL9/qCk84vw2ycOB94wzPBczdSOj44HNRL+4nU2oX uRk2qobNIMsIECQh5jQLzDIQhNi8aWWo+yD/6WhM2a16m5gxA4Hv1XtYgJIwGvBug6sD 63yTxeDW4uYGH9B4+rDnTLcpR3nKrayl1D+WMaFcMoINRnFDT3D+5EE6vXslZ8m4z2qK dmbpqZRw22QEQWCPhcO2SZb6Vs392ycI6gYQ+AWafP810yyBpZ1ns9o750QIfrVAjOHb Yrdw== X-Gm-Message-State: AJIora9WDBwc+0zUN7Q5o+NzwA9PfXQVZJDWTOWAQJKl8DkUuMQbzbTj /kN5L+AuDMkSyDECzHKjIZ7e8g== X-Google-Smtp-Source: AGRyM1uYwT+C2WlLmTkVjjapJiIuQe2wO03DCM5Zxd2mMcaMZEGKC9SCfBNEuA3IPhSKeBiNCQp5Zg== X-Received: by 2002:a17:903:248:b0:168:cf03:eefe with SMTP id j8-20020a170903024800b00168cf03eefemr33889666plh.124.1658247388439; Tue, 19 Jul 2022 09:16:28 -0700 (PDT) Received: from p14s (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id 72-20020a17090a09ce00b001efd39b7e39sm13705857pjo.37.2022.07.19.09.16.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 Jul 2022 09:16:27 -0700 (PDT) Date: Tue, 19 Jul 2022 10:16:25 -0600 From: Mathieu Poirier To: Puranjay Mohan Subject: Re: [PATCH v5 6/6] remoteproc: pru: add support for configuring GPMUX based on client setup Message-ID: <20220719161625.GB3393732@p14s> References: <20220607045650.4999-1-p-mohan@ti.com> <20220607045650.4999-7-p-mohan@ti.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20220607045650.4999-7-p-mohan@ti.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_091637_679254_89903C1D X-CRM114-Status: GOOD ( 22.79 ) 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: , Cc: nm@ti.com, devicetree@vger.kernel.org, grygorii.strashko@ti.com, vigneshr@ti.com, kishon@ti.com, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, bjorn.andersson@linaro.org, rogerq@kernel.org, krzysztof.kozlowski+dt@linaro.org, ssantosh@kernel.org, robh@kernel.org, linux-arm-kernel@lists.infradead.org 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 T24gVHVlLCBKdW4gMDcsIDIwMjIgYXQgMTA6MjY6NTBBTSArMDUzMCwgUHVyYW5qYXkgTW9oYW4g d3JvdGU6Cj4gRnJvbTogVGVybyBLcmlzdG8gPHQta3Jpc3RvQHRpLmNvbT4KPiAKPiBDbGllbnQg ZGV2aWNlIG5vZGUgcHJvcGVydHkgdGkscHJ1c3MtZ3AtbXV4LXNlbCBjYW4gbm93IGJlIHVzZWQg dG8KPiBjb25maWd1cmUgdGhlIEdQTVVYIGNvbmZpZyB2YWx1ZSBmb3IgUFJVLgo+IAo+IFNpZ25l ZC1vZmYtYnk6IFRlcm8gS3Jpc3RvIDx0LWtyaXN0b0B0aS5jb20+Cj4gW3MtYW5uYUB0aS5jb206 IHNpbXBsaWZ5IHRoZSBwcnUgaWQgdXNhZ2VdCj4gU2lnbmVkLW9mZi1ieTogU3VtYW4gQW5uYSA8 cy1hbm5hQHRpLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBQdXJhbmpheSBNb2hhbiA8cC1tb2hhbkB0 aS5jb20+Cj4gLS0tCj4gVjQtPnY1Cj4gKiBUaGlzIHBhdGNoIHdhcyBpbmNsdWRlZCBpbiB2NCBh bmQgaGFkIHNvbWUgY2hlY2twYXRjaCBlcnJvcnMgdGhhdCBoYXZlCj4gICBiZWVuIHJlc29sdmVk IGluIHY1Cj4gLS0tCj4gIGRyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYyB8IDIwICsrKysr KysrKysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYyBiL2RyaXZlcnMvcmVt b3RlcHJvYy9wcnVfcnByb2MuYwo+IGluZGV4IDI5NzdlYjUwNjMxYi4uZjJjNmM1NWYwZjIwIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYwo+ICsrKyBiL2RyaXZl cnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYwo+IEBAIC0xMjMsNiArMTIzLDcgQEAgc3RydWN0IHBy dV9wcml2YXRlX2RhdGEgewo+ICAgKiBAZGJnX3NpbmdsZV9zdGVwOiBkZWJ1ZyBzdGF0ZSB2YXJp YWJsZSB0byBzZXQgUFJVIGludG8gc2luZ2xlIHN0ZXAgbW9kZQo+ICAgKiBAZGJnX2NvbnRpbnVv dXM6IGRlYnVnIHN0YXRlIHZhcmlhYmxlIHRvIHJlc3RvcmUgUFJVIGV4ZWN1dGlvbiBtb2RlCj4g ICAqIEBldnRfY291bnQ6IG51bWJlciBvZiBtYXBwZWQgZXZlbnRzCj4gKyAqIEBncG11eF9zYXZl OiBzYXZlZCB2YWx1ZSBmb3IgZ3BtdXggY29uZmlnCj4gICAqLwo+ICBzdHJ1Y3QgcHJ1X3Jwcm9j IHsKPiAgCWludCBpZDsKPiBAQCAtMTQxLDYgKzE0Miw3IEBAIHN0cnVjdCBwcnVfcnByb2Mgewo+ ICAJdTMyIGRiZ19zaW5nbGVfc3RlcDsKPiAgCXUzMiBkYmdfY29udGludW91czsKPiAgCXU4IGV2 dF9jb3VudDsKPiArCXU4IGdwbXV4X3NhdmU7Cj4gIH07Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHUz MiBwcnVfY29udHJvbF9yZWFkX3JlZyhzdHJ1Y3QgcHJ1X3Jwcm9jICpwcnUsIHVuc2lnbmVkIGlu dCByZWcpCj4gQEAgLTI1MCw2ICsyNTIsNyBAQCBzdHJ1Y3QgcnByb2MgKnBydV9ycHJvY19nZXQo c3RydWN0IGRldmljZV9ub2RlICpucCwgaW50IGluZGV4LAo+ICAJc3RydWN0IGRldmljZSAqZGV2 Owo+ICAJY29uc3QgY2hhciAqZndfbmFtZTsKPiAgCWludCByZXQ7Cj4gKwl1MzIgbXV4Owo+ICAK PiAgCXRyeV9tb2R1bGVfZ2V0KFRISVNfTU9EVUxFKTsKPiAgCj4gQEAgLTI3Myw2ICsyNzYsMjIg QEAgc3RydWN0IHJwcm9jICpwcnVfcnByb2NfZ2V0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIGlu dCBpbmRleCwKPiAgCj4gIAltdXRleF91bmxvY2soJnBydS0+bG9jayk7Cj4gIAo+ICsJcmV0ID0g cHJ1c3NfY2ZnX2dldF9ncG11eChwcnUtPnBydXNzLCBwcnUtPmlkLCAmcHJ1LT5ncG11eF9zYXZl KTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgY2ZnIGdw bXV4OiAlZFxuIiwgcmV0KTsKPiArCQlnb3RvIGVycjsKPiArCX0KPiArCj4gKwlyZXQgPSBvZl9w cm9wZXJ0eV9yZWFkX3UzMl9pbmRleChucCwgInRpLHBydXNzLWdwLW11eC1zZWwiLCBpbmRleCwK PiArCQkJCQkgJm11eCk7Cj4gKwlpZiAoIXJldCkgewo+ICsJCXJldCA9IHBydXNzX2NmZ19zZXRf Z3BtdXgocHJ1LT5wcnVzcywgcHJ1LT5pZCwgbXV4KTsKPiArCQlpZiAocmV0KSB7Cj4gKwkJCWRl dl9lcnIoZGV2LCAiZmFpbGVkIHRvIHNldCBjZmcgZ3BtdXg6ICVkXG4iLCByZXQpOwo+ICsJCQln b3RvIGVycjsKPiArCQl9Cj4gKwl9Cj4gKwo+ICAJaWYgKHBydV9pZCkKPiAgCQkqcHJ1X2lkID0g cHJ1LT5pZDsKPiAgCj4gQEAgLTMxMCw2ICszMjksNyBAQCB2b2lkIHBydV9ycHJvY19wdXQoc3Ry dWN0IHJwcm9jICpycHJvYykKPiAgCj4gIAlwcnUgPSBycHJvYy0+cHJpdjsKPiAgCj4gKwlwcnVz c19jZmdfc2V0X2dwbXV4KHBydS0+cHJ1c3MsIHBydS0+aWQsIHBydS0+Z3BtdXhfc2F2ZSk7Cj4g IAlwcnVfcnByb2Nfc2V0X2Zpcm13YXJlKHJwcm9jLCBOVUxMKTsKPgoKICBDQyAgICAgIGRyaXZl cnMvcmVtb3RlcHJvYy9wcnVfcnByb2MubwovaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mv a2VybmVsLXJldmlldy9kcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9jLmM6IEluIGZ1bmN0aW9u IOKAmHBydV9ycHJvY19nZXTigJk6Ci9ob21lL21wb2lyaWVyL3dvcmsvcmVtb3RlcHJvYy9rZXJu ZWwtcmV2aWV3L2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYzoyNzk6ODogZXJyb3I6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHBydXNzX2NmZ19nZXRfZ3BtdXjigJkg Wy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMjc5IHwgIHJldCA9IHBy dXNzX2NmZ19nZXRfZ3BtdXgocHJ1LT5wcnVzcywgcHJ1LT5pZCwgJnBydS0+Z3BtdXhfc2F2ZSk7 CiAgICAgIHwgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvbXBvaXJpZXIvd29yay9y ZW1vdGVwcm9jL2tlcm5lbC1yZXZpZXcvZHJpdmVycy9yZW1vdGVwcm9jL3BydV9ycHJvYy5jOjI4 ODo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcHJ1c3NfY2Zn X3NldF9ncG11eOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAy ODggfCAgIHJldCA9IHBydXNzX2NmZ19zZXRfZ3BtdXgocHJ1LT5wcnVzcywgcHJ1LT5pZCwgbXV4 KTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KCkkgZ2V0IHRoaXMgb24gYm90 aCBycHJvYy1uZXh0IGFuZCB0b2RheSdzIGxpbnV4IG5leHQuICAKCj4gIAltdXRleF9sb2NrKCZw cnUtPmxvY2spOwo+IC0tIAo+IDIuMTcuMQo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=