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 5577CECAAA1 for ; Tue, 6 Sep 2022 19:30:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229945AbiIFTaB (ORCPT ); Tue, 6 Sep 2022 15:30:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60860 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229911AbiIFT35 (ORCPT ); Tue, 6 Sep 2022 15:29:57 -0400 Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4DA60399CF for ; Tue, 6 Sep 2022 12:29:53 -0700 (PDT) Received: by mail-pg1-x52a.google.com with SMTP id v4so11481255pgi.10 for ; Tue, 06 Sep 2022 12:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date; bh=/oPGljTY8cn1DwlMVFwHGkojoJ6whUVQ87d7cci0cnM=; b=rKp1yJaKC/8ggpz0NVKHlcoF9S5cCAPrrAfxhQlZjUXVmx+6AroPw3sNgq+2yeOFAZ wse+WA1WO6kNhXgfQMU4atfiwE0UD6OoOH3CkQeUBHbpKk3hocOiw2/u0r+mXXxwTbC+ ldNOiAR9o/yXLRaP7juT3+fv49rMhCqn2ABCfK/0fuO9ta3tsRvE13/GJfkOwCIvEBMP TETTzJYPNF0tmCtdS//O3MfOp3A84GQYS5hMCDKkxH6m6hkrprDZNVunHhe6IAa/MwiW hBts+UIhi4A7R9KjG2i+9BSsstOSDA9pFQ1L/gbAu/euoRD46SN87lLR7ibQQ2Ozb2uy d2Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date; bh=/oPGljTY8cn1DwlMVFwHGkojoJ6whUVQ87d7cci0cnM=; b=dkGnlpqnysB3caJ/2iM3eux5m/nAOQOIU9TocIazIchf0pbbS0ty8wJy4OekfbkbaL KqjwmPJiX902Uy7OvT09nptuY+rAIa1CygDpDlBVbhc1b0q3JXH6xyjZu0JgSJemRhFn BZnN1yQE7optcm0or3XY0OiUT+z+u4+5wvPUHy5Y5ziQJ6T9sxyRAbCs+Ur/ydhKQz2o /4Wbfmc97HEPYG9WkkgTmzSWxcZcvbaB+Bv5aOY0mb2vb9tviICns8egdPKFK/jdwM2I ZpGUDjLSHf6LlCYIsdevEmpUTSbtRgOWz0eZvo4HsWJlM+ogChtxsWSK03o2+lUlXE1y Zwmw== X-Gm-Message-State: ACgBeo3oBRhttRBYA4uUqHtWiGLS367cEyizoCEu9AqNDeUfLbW+PAdT xOM67+u1y6kixv1B7xOfwR0QhA== X-Google-Smtp-Source: AA6agR5Pb1JdyBBMCPT+TOTyP/Rw3IFwcadkFQ6R2oRFG4/SydRWCfvuMqQVV61fvD6sgTU4xqTrPQ== X-Received: by 2002:a63:f116:0:b0:434:8607:a54 with SMTP id f22-20020a63f116000000b0043486070a54mr125033pgi.597.1662492592729; Tue, 06 Sep 2022 12:29:52 -0700 (PDT) Received: from p14s (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id n16-20020a63a510000000b0042fe1914e26sm2230568pgf.37.2022.09.06.12.29.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Sep 2022 12:29:51 -0700 (PDT) Date: Tue, 6 Sep 2022 13:29:49 -0600 From: Mathieu Poirier To: Md Danish Anwar 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: <20220906192949.GA64477@p14s> References: <20220607045650.4999-1-p-mohan@ti.com> <20220607045650.4999-7-p-mohan@ti.com> <20220719161625.GB3393732@p14s> <49d1959e-88ae-c605-aafc-ca9819c4f85c@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <49d1959e-88ae-c605-aafc-ca9819c4f85c@ti.com> Precedence: bulk List-ID: X-Mailing-List: linux-remoteproc@vger.kernel.org Good day, On Mon, Sep 05, 2022 at 02:41:27PM +0530, Md Danish Anwar wrote: > Hi Mathieu, > > On 19/07/22 21:46, Mathieu Poirier wrote: > > 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. > > This patch is dependent on the series [2] Introduce PRU platform consumer API > https://patchwork.kernel.org/project/linux-remoteproc/cover/20220406094358.7895-1-p-mohan@ti.com/ > as the api pruss_cfg_get_gpmux calls the api pruss_cfg_read and the api > pruss_cfg_set_gpmux calls the api pruss_cfg_update which are implemented by the > patch "soc: ti: pruss: Add pruss_cfg_read()/update() API" in the above series. > What I read from the cover letter is that the series you are referring to was an RFC that predated this series. Also from the cover letter, the second paragraph clearly indicate that two other series _depend_ on this series. As such there was no way for me to identify the dependency. > This error is coming as the dependent patch needs the patch "soc: ti: pruss: > Add pruss_cfg_read()/update() API" to be applied for compilation. Please provide a link when referencing patchsets. That way we know exactly which one we are talking about. > > Thanks, > Danish. > > > > >> 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 7C1AAC38145 for ; Tue, 6 Sep 2022 19:31:03 +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=KLG8FI/Iszzh/Pl/XvJqI5JCAyv8vjfy9k74+Uq7oi8=; b=ka+9JPo9lXhtqI 96+jcbP6LlvAuq8RVE2ESbm3cr9aSuoYHYgcKG0ew6FH+uu2UYiZFD7pRiSaCFW8PluQGFn5Tw/rv csP+Yq4oI4KABLoRlHAegJBpEyDCMrSFLaz7cp9tqt3SIX+Z7LmOOZgyZYHWbwJalV3MomCdQDVZT bmDhHsnmWIFWo9Ex7fBYGfYPnqq2zqzIJF1QpNmElNZ4WJ1ZOnalqNo/1tRu/++NuwG5SilEfCth/ UuCOGj/24RWNpl6ttuutAUYEL5/pSk4iFAplCMxvAfkvnox3P8zn4hy4zkC0GrpVE4EM1qBmTYOsN am5DuUVV5S6ooHBUZCDg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVeGl-00GiEw-1N; Tue, 06 Sep 2022 19:29:59 +0000 Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oVeGg-00GiBq-Mj for linux-arm-kernel@lists.infradead.org; Tue, 06 Sep 2022 19:29:56 +0000 Received: by mail-pg1-x534.google.com with SMTP id 78so11479111pgb.13 for ; Tue, 06 Sep 2022 12:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date; bh=/oPGljTY8cn1DwlMVFwHGkojoJ6whUVQ87d7cci0cnM=; b=rKp1yJaKC/8ggpz0NVKHlcoF9S5cCAPrrAfxhQlZjUXVmx+6AroPw3sNgq+2yeOFAZ wse+WA1WO6kNhXgfQMU4atfiwE0UD6OoOH3CkQeUBHbpKk3hocOiw2/u0r+mXXxwTbC+ ldNOiAR9o/yXLRaP7juT3+fv49rMhCqn2ABCfK/0fuO9ta3tsRvE13/GJfkOwCIvEBMP TETTzJYPNF0tmCtdS//O3MfOp3A84GQYS5hMCDKkxH6m6hkrprDZNVunHhe6IAa/MwiW hBts+UIhi4A7R9KjG2i+9BSsstOSDA9pFQ1L/gbAu/euoRD46SN87lLR7ibQQ2Ozb2uy d2Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date; bh=/oPGljTY8cn1DwlMVFwHGkojoJ6whUVQ87d7cci0cnM=; b=1Nn1eyFo5caHQ4I7Wfvm0e9MAwkScPMlzCjR+jP09/DZzwZGktOvPg0/FC+Gd46b0O LdxqnqM4DDfJlgW7lgBIAnfvp2OeeSVRio8JD35LgGZ2DqAyQogpuvT6YylQrX7TZVN0 zym4BadsF0zkZ9ScDxkhj7u9+r/q0qy0hvjmasYoWZeZzuhzLrEzxsLvjS1fdG6JkXRi 4iO3NJbLnVDfOjMgOxj3ow4h4Se2+isx44GUzuPFauSgPaYs9laVtWHEjlmqk0wuF0K6 QGLRX86CvfsvtmI8v1cyXzdueQXEuoCaIbzAfntc/2ODTZaPz1S3ZNVcNrB5U1YRKv3U 9EQQ== X-Gm-Message-State: ACgBeo2G+AHluPuLbCNfJpvdzCZfXASO5MEV36vG50g3GqRalBikD/5H dZauxafVZ7LvF3tq47CfPFanZA== X-Google-Smtp-Source: AA6agR5Pb1JdyBBMCPT+TOTyP/Rw3IFwcadkFQ6R2oRFG4/SydRWCfvuMqQVV61fvD6sgTU4xqTrPQ== X-Received: by 2002:a63:f116:0:b0:434:8607:a54 with SMTP id f22-20020a63f116000000b0043486070a54mr125033pgi.597.1662492592729; Tue, 06 Sep 2022 12:29:52 -0700 (PDT) Received: from p14s (S0106889e681aac74.cg.shawcable.net. [68.147.0.187]) by smtp.gmail.com with ESMTPSA id n16-20020a63a510000000b0042fe1914e26sm2230568pgf.37.2022.09.06.12.29.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Sep 2022 12:29:51 -0700 (PDT) Date: Tue, 6 Sep 2022 13:29:49 -0600 From: Mathieu Poirier To: Md Danish Anwar Subject: Re: [PATCH v5 6/6] remoteproc: pru: add support for configuring GPMUX based on client setup Message-ID: <20220906192949.GA64477@p14s> References: <20220607045650.4999-1-p-mohan@ti.com> <20220607045650.4999-7-p-mohan@ti.com> <20220719161625.GB3393732@p14s> <49d1959e-88ae-c605-aafc-ca9819c4f85c@ti.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <49d1959e-88ae-c605-aafc-ca9819c4f85c@ti.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220906_122954_943395_F45FA8F6 X-CRM114-Status: GOOD ( 30.58 ) 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 R29vZCBkYXksCgpPbiBNb24sIFNlcCAwNSwgMjAyMiBhdCAwMjo0MToyN1BNICswNTMwLCBNZCBE YW5pc2ggQW53YXIgd3JvdGU6Cj4gSGkgTWF0aGlldSwKPiAKPiBPbiAxOS8wNy8yMiAyMTo0Niwg TWF0aGlldSBQb2lyaWVyIHdyb3RlOgo+ID4gT24gVHVlLCBKdW4gMDcsIDIwMjIgYXQgMTA6MjY6 NTBBTSArMDUzMCwgUHVyYW5qYXkgTW9oYW4gd3JvdGU6Cj4gPj4gRnJvbTogVGVybyBLcmlzdG8g PHQta3Jpc3RvQHRpLmNvbT4KPiA+Pgo+ID4+IENsaWVudCBkZXZpY2Ugbm9kZSBwcm9wZXJ0eSB0 aSxwcnVzcy1ncC1tdXgtc2VsIGNhbiBub3cgYmUgdXNlZCB0bwo+ID4+IGNvbmZpZ3VyZSB0aGUg R1BNVVggY29uZmlnIHZhbHVlIGZvciBQUlUuCj4gPj4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBUZXJv IEtyaXN0byA8dC1rcmlzdG9AdGkuY29tPgo+ID4+IFtzLWFubmFAdGkuY29tOiBzaW1wbGlmeSB0 aGUgcHJ1IGlkIHVzYWdlXQo+ID4+IFNpZ25lZC1vZmYtYnk6IFN1bWFuIEFubmEgPHMtYW5uYUB0 aS5jb20+Cj4gPj4gU2lnbmVkLW9mZi1ieTogUHVyYW5qYXkgTW9oYW4gPHAtbW9oYW5AdGkuY29t Pgo+ID4+IC0tLQo+ID4+IFY0LT52NQo+ID4+ICogVGhpcyBwYXRjaCB3YXMgaW5jbHVkZWQgaW4g djQgYW5kIGhhZCBzb21lIGNoZWNrcGF0Y2ggZXJyb3JzIHRoYXQgaGF2ZQo+ID4+ICAgYmVlbiBy ZXNvbHZlZCBpbiB2NQo+ID4+IC0tLQo+ID4+ICBkcml2ZXJzL3JlbW90ZXByb2MvcHJ1X3Jwcm9j LmMgfCAyMCArKysrKysrKysrKysrKysrKysrKwo+ID4+ICAxIGZpbGUgY2hhbmdlZCwgMjAgaW5z ZXJ0aW9ucygrKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVf cnByb2MuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYwo+ID4+IGluZGV4IDI5Nzdl YjUwNjMxYi4uZjJjNmM1NWYwZjIwIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvcmVtb3RlcHJv Yy9wcnVfcnByb2MuYwo+ID4+ICsrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYwo+ ID4+IEBAIC0xMjMsNiArMTIzLDcgQEAgc3RydWN0IHBydV9wcml2YXRlX2RhdGEgewo+ID4+ICAg KiBAZGJnX3NpbmdsZV9zdGVwOiBkZWJ1ZyBzdGF0ZSB2YXJpYWJsZSB0byBzZXQgUFJVIGludG8g c2luZ2xlIHN0ZXAgbW9kZQo+ID4+ICAgKiBAZGJnX2NvbnRpbnVvdXM6IGRlYnVnIHN0YXRlIHZh cmlhYmxlIHRvIHJlc3RvcmUgUFJVIGV4ZWN1dGlvbiBtb2RlCj4gPj4gICAqIEBldnRfY291bnQ6 IG51bWJlciBvZiBtYXBwZWQgZXZlbnRzCj4gPj4gKyAqIEBncG11eF9zYXZlOiBzYXZlZCB2YWx1 ZSBmb3IgZ3BtdXggY29uZmlnCj4gPj4gICAqLwo+ID4+ICBzdHJ1Y3QgcHJ1X3Jwcm9jIHsKPiA+ PiAgCWludCBpZDsKPiA+PiBAQCAtMTQxLDYgKzE0Miw3IEBAIHN0cnVjdCBwcnVfcnByb2Mgewo+ ID4+ICAJdTMyIGRiZ19zaW5nbGVfc3RlcDsKPiA+PiAgCXUzMiBkYmdfY29udGludW91czsKPiA+ PiAgCXU4IGV2dF9jb3VudDsKPiA+PiArCXU4IGdwbXV4X3NhdmU7Cj4gPj4gIH07Cj4gPj4gIAo+ ID4+ICBzdGF0aWMgaW5saW5lIHUzMiBwcnVfY29udHJvbF9yZWFkX3JlZyhzdHJ1Y3QgcHJ1X3Jw cm9jICpwcnUsIHVuc2lnbmVkIGludCByZWcpCj4gPj4gQEAgLTI1MCw2ICsyNTIsNyBAQCBzdHJ1 Y3QgcnByb2MgKnBydV9ycHJvY19nZXQoc3RydWN0IGRldmljZV9ub2RlICpucCwgaW50IGluZGV4 LAo+ID4+ICAJc3RydWN0IGRldmljZSAqZGV2Owo+ID4+ICAJY29uc3QgY2hhciAqZndfbmFtZTsK PiA+PiAgCWludCByZXQ7Cj4gPj4gKwl1MzIgbXV4Owo+ID4+ICAKPiA+PiAgCXRyeV9tb2R1bGVf Z2V0KFRISVNfTU9EVUxFKTsKPiA+PiAgCj4gPj4gQEAgLTI3Myw2ICsyNzYsMjIgQEAgc3RydWN0 IHJwcm9jICpwcnVfcnByb2NfZ2V0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIGludCBpbmRleCwK PiA+PiAgCj4gPj4gIAltdXRleF91bmxvY2soJnBydS0+bG9jayk7Cj4gPj4gIAo+ID4+ICsJcmV0 ID0gcHJ1c3NfY2ZnX2dldF9ncG11eChwcnUtPnBydXNzLCBwcnUtPmlkLCAmcHJ1LT5ncG11eF9z YXZlKTsKPiA+PiArCWlmIChyZXQpIHsKPiA+PiArCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBn ZXQgY2ZnIGdwbXV4OiAlZFxuIiwgcmV0KTsKPiA+PiArCQlnb3RvIGVycjsKPiA+PiArCX0KPiA+ PiArCj4gPj4gKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMl9pbmRleChucCwgInRpLHBydXNz LWdwLW11eC1zZWwiLCBpbmRleCwKPiA+PiArCQkJCQkgJm11eCk7Cj4gPj4gKwlpZiAoIXJldCkg ewo+ID4+ICsJCXJldCA9IHBydXNzX2NmZ19zZXRfZ3BtdXgocHJ1LT5wcnVzcywgcHJ1LT5pZCwg bXV4KTsKPiA+PiArCQlpZiAocmV0KSB7Cj4gPj4gKwkJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRv IHNldCBjZmcgZ3BtdXg6ICVkXG4iLCByZXQpOwo+ID4+ICsJCQlnb3RvIGVycjsKPiA+PiArCQl9 Cj4gPj4gKwl9Cj4gPj4gKwo+ID4+ICAJaWYgKHBydV9pZCkKPiA+PiAgCQkqcHJ1X2lkID0gcHJ1 LT5pZDsKPiA+PiAgCj4gPj4gQEAgLTMxMCw2ICszMjksNyBAQCB2b2lkIHBydV9ycHJvY19wdXQo c3RydWN0IHJwcm9jICpycHJvYykKPiA+PiAgCj4gPj4gIAlwcnUgPSBycHJvYy0+cHJpdjsKPiA+ PiAgCj4gPj4gKwlwcnVzc19jZmdfc2V0X2dwbXV4KHBydS0+cHJ1c3MsIHBydS0+aWQsIHBydS0+ Z3BtdXhfc2F2ZSk7Cj4gPj4gIAlwcnVfcnByb2Nfc2V0X2Zpcm13YXJlKHJwcm9jLCBOVUxMKTsK PiA+Pgo+ID4gCj4gPiAgIENDICAgICAgZHJpdmVycy9yZW1vdGVwcm9jL3BydV9ycHJvYy5vCj4g PiAvaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVsLXJldmlldy9kcml2ZXJzL3Jl bW90ZXByb2MvcHJ1X3Jwcm9jLmM6IEluIGZ1bmN0aW9uIOKAmHBydV9ycHJvY19nZXTigJk6Cj4g PiAvaG9tZS9tcG9pcmllci93b3JrL3JlbW90ZXByb2Mva2VybmVsLXJldmlldy9kcml2ZXJzL3Jl bW90ZXByb2MvcHJ1X3Jwcm9jLmM6Mjc5Ojg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiDigJhwcnVzc19jZmdfZ2V0X2dwbXV44oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1 bmN0aW9uLWRlY2xhcmF0aW9uXQo+ID4gICAyNzkgfCAgcmV0ID0gcHJ1c3NfY2ZnX2dldF9ncG11 eChwcnUtPnBydXNzLCBwcnUtPmlkLCAmcHJ1LT5ncG11eF9zYXZlKTsKPiA+ICAgICAgIHwgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KPiA+IC9ob21lL21wb2lyaWVyL3dvcmsvcmVtb3RlcHJv Yy9rZXJuZWwtcmV2aWV3L2RyaXZlcnMvcmVtb3RlcHJvYy9wcnVfcnByb2MuYzoyODg6OTogZXJy b3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHBydXNzX2NmZ19zZXRfZ3Bt dXjigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCj4gPiAgIDI4OCB8 ICAgcmV0ID0gcHJ1c3NfY2ZnX3NldF9ncG11eChwcnUtPnBydXNzLCBwcnUtPmlkLCBtdXgpOwo+ ID4gICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KPiA+IAo+ID4gSSBnZXQgdGhp cyBvbiBib3RoIHJwcm9jLW5leHQgYW5kIHRvZGF5J3MgbGludXggbmV4dC4gIAo+IAo+IFRoaXMg cGF0Y2ggaXMgZGVwZW5kZW50IG9uIHRoZSBzZXJpZXMgWzJdIEludHJvZHVjZSBQUlUgcGxhdGZv cm0gY29uc3VtZXIgQVBJCj4gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L2xp bnV4LXJlbW90ZXByb2MvY292ZXIvMjAyMjA0MDYwOTQzNTguNzg5NS0xLXAtbW9oYW5AdGkuY29t Lwo+IGFzIHRoZSBhcGkgcHJ1c3NfY2ZnX2dldF9ncG11eCBjYWxscyB0aGUgYXBpIHBydXNzX2Nm Z19yZWFkIGFuZCB0aGUgYXBpCj4gcHJ1c3NfY2ZnX3NldF9ncG11eCBjYWxscyB0aGUgYXBpIHBy dXNzX2NmZ191cGRhdGUgd2hpY2ggYXJlIGltcGxlbWVudGVkIGJ5IHRoZQo+IHBhdGNoICJzb2M6 IHRpOiBwcnVzczogQWRkIHBydXNzX2NmZ19yZWFkKCkvdXBkYXRlKCkgQVBJIiBpbiB0aGUgYWJv dmUgc2VyaWVzLgo+CgpXaGF0IEkgcmVhZCBmcm9tIHRoZSBjb3ZlciBsZXR0ZXIgaXMgdGhhdCB0 aGUgc2VyaWVzIHlvdSBhcmUgcmVmZXJyaW5nIHRvIHdhcyBhbgpSRkMgdGhhdCBwcmVkYXRlZCB0 aGlzIHNlcmllcy4gIEFsc28gZnJvbSB0aGUgY292ZXIgbGV0dGVyLCB0aGUgc2Vjb25kIHBhcmFn cmFwaApjbGVhcmx5IGluZGljYXRlIHRoYXQgdHdvIG90aGVyIHNlcmllcyBfZGVwZW5kXyBvbiB0 aGlzIHNlcmllcy4gIEFzIHN1Y2ggdGhlcmUKd2FzIG5vIHdheSBmb3IgbWUgdG8gaWRlbnRpZnkg dGhlIGRlcGVuZGVuY3kuICAKCj4gVGhpcyBlcnJvciBpcyBjb21pbmcgYXMgdGhlIGRlcGVuZGVu dCBwYXRjaCBuZWVkcyB0aGUgcGF0Y2ggInNvYzogdGk6IHBydXNzOgo+IEFkZCBwcnVzc19jZmdf cmVhZCgpL3VwZGF0ZSgpIEFQSSIgdG8gYmUgYXBwbGllZCBmb3IgY29tcGlsYXRpb24uCgpQbGVh c2UgcHJvdmlkZSBhIGxpbmsgd2hlbiByZWZlcmVuY2luZyBwYXRjaHNldHMuICBUaGF0IHdheSB3 ZSBrbm93IGV4YWN0bHkKd2hpY2ggb25lIHdlIGFyZSB0YWxraW5nIGFib3V0LgoKPiAKPiBUaGFu a3MsCj4gRGFuaXNoLgo+IAo+ID4gCj4gPj4gIAltdXRleF9sb2NrKCZwcnUtPmxvY2spOwo+ID4+ IC0tIAo+ID4+IDIuMTcuMQo+ID4+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==