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=-13.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 458DCC433ED for ; Fri, 16 Apr 2021 15:17:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 217E66101E for ; Fri, 16 Apr 2021 15:17:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343505AbhDPPRm (ORCPT ); Fri, 16 Apr 2021 11:17:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54144 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245747AbhDPPPl (ORCPT ); Fri, 16 Apr 2021 11:15:41 -0400 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7AB2C06138C for ; Fri, 16 Apr 2021 08:14:54 -0700 (PDT) Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=[IPv6:::1]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lXQAo-0001kj-On; Fri, 16 Apr 2021 17:14:22 +0200 Message-ID: <529b61b1b1e6030c92a7944c4864246521b2ccdd.camel@pengutronix.de> Subject: Re: [PATCH v9 03/13] media: hantro: Use syscon instead of 'ctrl' register From: Lucas Stach To: Benjamin Gaignard , ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com, "Peng Fan (OSS)" , Jacky Bai Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-imx@nxp.com, kernel@pengutronix.de, kernel@collabora.com, cphealy@gmail.com, linux-arm-kernel@lists.infradead.org Date: Fri, 16 Apr 2021 17:14:18 +0200 In-Reply-To: References: <20210407073534.376722-1-benjamin.gaignard@collabora.com> <20210407073534.376722-4-benjamin.gaignard@collabora.com> <7bcbb787d82f21d42563d8fb7e3c2e7d40123932.camel@pengutronix.de> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Freitag, dem 16.04.2021 um 15:08 +0200 schrieb Benjamin Gaignard: > Le 16/04/2021 à 12:54, Lucas Stach a écrit : > > Am Mittwoch, dem 07.04.2021 um 09:35 +0200 schrieb Benjamin Gaignard: > > > In order to be able to share the control hardware block between > > > VPUs use a syscon instead a ioremap it in the driver. > > > To keep the compatibility with older DT if 'nxp,imx8mq-vpu-ctrl' > > > phandle is not found look at 'ctrl' reg-name. > > > With the method it becomes useless to provide a list of register > > > names so remove it. > > Sorry for putting a spoke in the wheel after many iterations of the > > series. > > > > We just discussed a way forward on how to handle the clocks and resets > > provided by the blkctl block on i.MX8MM and later and it seems there is > > a consensus on trying to provide virtual power domains from a blkctl > > driver, controlling clocks and resets for the devices in the power > > domain. I would like to avoid introducing yet another way of handling > > the blkctl and thus would like to align the i.MX8MQ VPU blkctl with > > what we are planning to do on the later chip generations. > > > > CC'ing Jacky Bai and Peng Fan from NXP, as they were going to give this > > virtual power domain thing a shot. > > That could replace the 3 first patches and Dt patche of this series > but that will not impact the hevc part, so I wonder if pure hevc patches > could be merged anyway ? > They are reviewed and don't depend of how the ctrl block is managed. I'm not really in a position to give any informed opinion about that hvec patches, as I only skimmed them, but I don't see any reason to delay patches 04-11 from this series until the i.MX8M platform issues are sorted. AFAICS those things are totally orthogonal. Regards, Lucas > > > > Regards, > > Lucas > > > > > Signed-off-by: Benjamin Gaignard > > > Reviewed-by: Philipp Zabel > > > --- > > > version 9: > > >   - Corrections in commit message > > > > > > version 7: > > >   - Add Philipp reviewed-by tag. > > >   - Change syscon phandle name. > > >    > > > > > > > > > > > > > > > > > > > > > version 5: > > >   - use syscon instead of VPU reset driver. > > >   - if DT doesn't provide syscon keep backward compatibilty by using > > >     'ctrl' reg-name. > > > > > >   drivers/staging/media/hantro/hantro.h | 5 +- > > >   drivers/staging/media/hantro/imx8m_vpu_hw.c | 52 ++++++++++++--------- > > >   2 files changed, 34 insertions(+), 23 deletions(-) > > > > > > diff --git a/drivers/staging/media/hantro/hantro.h b/drivers/staging/media/hantro/hantro.h > > > index 6c1b888abe75..37b9ce04bd4e 100644 > > > --- a/drivers/staging/media/hantro/hantro.h > > > +++ b/drivers/staging/media/hantro/hantro.h > > > @@ -13,6 +13,7 @@ > > >   #define HANTRO_H_ > > >    > > > > > > > > > > > > > > > > > > > > >   #include > > > +#include > > >   #include > > >   #include > > >   #include > > > @@ -167,7 +168,7 @@ hantro_vdev_to_func(struct video_device *vdev) > > >    * @reg_bases: Mapped addresses of VPU registers. > > >    * @enc_base: Mapped address of VPU encoder register for convenience. > > >    * @dec_base: Mapped address of VPU decoder register for convenience. > > > - * @ctrl_base: Mapped address of VPU control block. > > > + * @ctrl_base: Regmap of VPU control block. > > >    * @vpu_mutex: Mutex to synchronize V4L2 calls. > > >    * @irqlock: Spinlock to synchronize access to data structures > > >    * shared with interrupt handlers. > > > @@ -186,7 +187,7 @@ struct hantro_dev { > > >    void __iomem **reg_bases; > > >    void __iomem *enc_base; > > >    void __iomem *dec_base; > > > - void __iomem *ctrl_base; > > > + struct regmap *ctrl_base; > > >    > > > > > > > > > > > > > > > > > > > > >    struct mutex vpu_mutex; /* video_device lock */ > > >    spinlock_t irqlock; > > > diff --git a/drivers/staging/media/hantro/imx8m_vpu_hw.c b/drivers/staging/media/hantro/imx8m_vpu_hw.c > > > index c222de075ef4..8d0c3425234b 100644 > > > --- a/drivers/staging/media/hantro/imx8m_vpu_hw.c > > > +++ b/drivers/staging/media/hantro/imx8m_vpu_hw.c > > > @@ -7,6 +7,7 @@ > > >    > > > > > > > > > > > > > > > > > > > > >   #include > > >   #include > > > +#include > > >    > > > > > > > > > > > > > > > > > > > > >   #include "hantro.h" > > >   #include "hantro_jpeg.h" > > > @@ -24,30 +25,28 @@ > > >   #define CTRL_G1_PP_FUSE 0x0c > > >   #define CTRL_G2_DEC_FUSE 0x10 > > >    > > > > > > > > > > > > > > > > > > > > > +static const struct regmap_config ctrl_regmap_ctrl = { > > > + .reg_bits = 32, > > > + .val_bits = 32, > > > + .reg_stride = 0x14, > > > +}; > > > + > > >   static void imx8m_soft_reset(struct hantro_dev *vpu, u32 reset_bits) > > >   { > > > - u32 val; > > > - > > >    /* Assert */ > > > - val = readl(vpu->ctrl_base + CTRL_SOFT_RESET); > > > - val &= ~reset_bits; > > > - writel(val, vpu->ctrl_base + CTRL_SOFT_RESET); > > > + regmap_update_bits(vpu->ctrl_base, CTRL_SOFT_RESET, reset_bits, 0); > > >    > > > > > > > > > > > > > > > > > > > > >    udelay(2); > > >    > > > > > > > > > > > > > > > > > > > > >    /* Release */ > > > - val = readl(vpu->ctrl_base + CTRL_SOFT_RESET); > > > - val |= reset_bits; > > > - writel(val, vpu->ctrl_base + CTRL_SOFT_RESET); > > > + regmap_update_bits(vpu->ctrl_base, CTRL_SOFT_RESET, > > > + reset_bits, reset_bits); > > >   } > > >    > > > > > > > > > > > > > > > > > > > > >   static void imx8m_clk_enable(struct hantro_dev *vpu, u32 clock_bits) > > >   { > > > - u32 val; > > > - > > > - val = readl(vpu->ctrl_base + CTRL_CLOCK_ENABLE); > > > - val |= clock_bits; > > > - writel(val, vpu->ctrl_base + CTRL_CLOCK_ENABLE); > > > + regmap_update_bits(vpu->ctrl_base, CTRL_CLOCK_ENABLE, > > > + clock_bits, clock_bits); > > >   } > > >    > > > > > > > > > > > > > > > > > > > > >   static int imx8mq_runtime_resume(struct hantro_dev *vpu) > > > @@ -64,9 +63,9 @@ static int imx8mq_runtime_resume(struct hantro_dev *vpu) > > >    imx8m_clk_enable(vpu, CLOCK_G1 | CLOCK_G2); > > >    > > > > > > > > > > > > > > > > > > > > >    /* Set values of the fuse registers */ > > > - writel(0xffffffff, vpu->ctrl_base + CTRL_G1_DEC_FUSE); > > > - writel(0xffffffff, vpu->ctrl_base + CTRL_G1_PP_FUSE); > > > - writel(0xffffffff, vpu->ctrl_base + CTRL_G2_DEC_FUSE); > > > + regmap_write(vpu->ctrl_base, CTRL_G1_DEC_FUSE, 0xffffffff); > > > + regmap_write(vpu->ctrl_base, CTRL_G1_PP_FUSE, 0xffffffff); > > > + regmap_write(vpu->ctrl_base, CTRL_G2_DEC_FUSE, 0xffffffff); > > >    > > > > > > > > > > > > > > > > > > > > >    clk_bulk_disable_unprepare(vpu->variant->num_clocks, vpu->clocks); > > >    > > > > > > > > > > > > > > > > > > > > > @@ -150,8 +149,22 @@ static irqreturn_t imx8m_vpu_g1_irq(int irq, void *dev_id) > > >    > > > > > > > > > > > > > > > > > > > > >   static int imx8mq_vpu_hw_init(struct hantro_dev *vpu) > > >   { > > > - vpu->dec_base = vpu->reg_bases[0]; > > > - vpu->ctrl_base = vpu->reg_bases[vpu->variant->num_regs - 1]; > > > + struct device_node *np = vpu->dev->of_node; > > > + > > > + vpu->ctrl_base = syscon_regmap_lookup_by_phandle(np, "nxp,imx8m-vpu-ctrl"); > > > + if (IS_ERR(vpu->ctrl_base)) { > > > + struct resource *res; > > > + void __iomem *ctrl; > > > + > > > + res = platform_get_resource_byname(vpu->pdev, IORESOURCE_MEM, "ctrl"); > > > + ctrl = devm_ioremap_resource(vpu->dev, res); > > > + if (IS_ERR(ctrl)) > > > + return PTR_ERR(ctrl); > > > + > > > + vpu->ctrl_base = devm_regmap_init_mmio(vpu->dev, ctrl, &ctrl_regmap_ctrl); > > > + if (IS_ERR(vpu->ctrl_base)) > > > + return PTR_ERR(vpu->ctrl_base); > > > + } > > >    > > > > > > > > > > > > > > > > > > > > >    return 0; > > >   } > > > @@ -198,7 +211,6 @@ static const struct hantro_irq imx8mq_irqs[] = { > > >   }; > > >    > > > > > > > > > > > > > > > > > > > > >   static const char * const imx8mq_clk_names[] = { "g1", "g2", "bus" }; > > > -static const char * const imx8mq_reg_names[] = { "g1", "g2", "ctrl" }; > > >    > > > > > > > > > > > > > > > > > > > > >   const struct hantro_variant imx8mq_vpu_variant = { > > >    .dec_fmts = imx8m_vpu_dec_fmts, > > > @@ -215,6 +227,4 @@ const struct hantro_variant imx8mq_vpu_variant = { > > >    .num_irqs = ARRAY_SIZE(imx8mq_irqs), > > >    .clk_names = imx8mq_clk_names, > > >    .num_clocks = ARRAY_SIZE(imx8mq_clk_names), > > > - .reg_names = imx8mq_reg_names, > > > - .num_regs = ARRAY_SIZE(imx8mq_reg_names) > > >   }; > > > > > 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=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham 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 5B20DC433B4 for ; Fri, 16 Apr 2021 15:14:47 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (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 C7C6D6117A for ; Fri, 16 Apr 2021 15:14:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C7C6D6117A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 5909A41883; Fri, 16 Apr 2021 15:14:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gPzbnvgrZVqW; Fri, 16 Apr 2021 15:14:45 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp4.osuosl.org (Postfix) with ESMTP id BDA9D41895; Fri, 16 Apr 2021 15:14:44 +0000 (UTC) Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 82CA61BF2CC for ; Fri, 16 Apr 2021 15:14:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 7EE844039C for ; Fri, 16 Apr 2021 15:14:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JxUqVBCjU6ih for ; Fri, 16 Apr 2021 15:14:39 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by smtp2.osuosl.org (Postfix) with ESMTPS id 82A70400C5 for ; Fri, 16 Apr 2021 15:14:39 +0000 (UTC) Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=[IPv6:::1]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lXQAo-0001kj-On; Fri, 16 Apr 2021 17:14:22 +0200 Message-ID: <529b61b1b1e6030c92a7944c4864246521b2ccdd.camel@pengutronix.de> Subject: Re: [PATCH v9 03/13] media: hantro: Use syscon instead of 'ctrl' register From: Lucas Stach To: Benjamin Gaignard , ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com, "Peng Fan (OSS)" , Jacky Bai Date: Fri, 16 Apr 2021 17:14:18 +0200 In-Reply-To: References: <20210407073534.376722-1-benjamin.gaignard@collabora.com> <20210407073534.376722-4-benjamin.gaignard@collabora.com> <7bcbb787d82f21d42563d8fb7e3c2e7d40123932.camel@pengutronix.de> User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: devel@driverdev.osuosl.org X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-imx@nxp.com, kernel@pengutronix.de, kernel@collabora.com, cphealy@gmail.com, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" QW0gRnJlaXRhZywgZGVtIDE2LjA0LjIwMjEgdW0gMTU6MDggKzAyMDAgc2NocmllYiBCZW5qYW1p biBHYWlnbmFyZDoKPiBMZSAxNi8wNC8yMDIxIMOgIDEyOjU0LCBMdWNhcyBTdGFjaCBhIMOpY3Jp dMKgOgo+ID4gQW0gTWl0dHdvY2gsIGRlbSAwNy4wNC4yMDIxIHVtIDA5OjM1ICswMjAwIHNjaHJp ZWIgQmVuamFtaW4gR2FpZ25hcmQ6Cj4gPiA+IEluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2hhcmUg dGhlIGNvbnRyb2wgaGFyZHdhcmUgYmxvY2sgYmV0d2Vlbgo+ID4gPiBWUFVzIHVzZSBhIHN5c2Nv biBpbnN0ZWFkIGEgaW9yZW1hcCBpdCBpbiB0aGUgZHJpdmVyLgo+ID4gPiBUbyBrZWVwIHRoZSBj b21wYXRpYmlsaXR5IHdpdGggb2xkZXIgRFQgaWYgJ254cCxpbXg4bXEtdnB1LWN0cmwnCj4gPiA+ IHBoYW5kbGUgaXMgbm90IGZvdW5kIGxvb2sgYXQgJ2N0cmwnIHJlZy1uYW1lLgo+ID4gPiBXaXRo IHRoZSBtZXRob2QgaXQgYmVjb21lcyB1c2VsZXNzIHRvIHByb3ZpZGUgYSBsaXN0IG9mIHJlZ2lz dGVyCj4gPiA+IG5hbWVzIHNvIHJlbW92ZSBpdC4KPiA+IFNvcnJ5IGZvciBwdXR0aW5nIGEgc3Bv a2UgaW4gdGhlIHdoZWVsIGFmdGVyIG1hbnkgaXRlcmF0aW9ucyBvZiB0aGUKPiA+IHNlcmllcy4K PiA+IAo+ID4gV2UganVzdCBkaXNjdXNzZWQgYSB3YXkgZm9yd2FyZCBvbiBob3cgdG8gaGFuZGxl IHRoZSBjbG9ja3MgYW5kIHJlc2V0cwo+ID4gcHJvdmlkZWQgYnkgdGhlIGJsa2N0bCBibG9jayBv biBpLk1YOE1NIGFuZCBsYXRlciBhbmQgaXQgc2VlbXMgdGhlcmUgaXMKPiA+IGEgY29uc2Vuc3Vz IG9uIHRyeWluZyB0byBwcm92aWRlIHZpcnR1YWwgcG93ZXIgZG9tYWlucyBmcm9tIGEgYmxrY3Rs Cj4gPiBkcml2ZXIsIGNvbnRyb2xsaW5nIGNsb2NrcyBhbmQgcmVzZXRzIGZvciB0aGUgZGV2aWNl cyBpbiB0aGUgcG93ZXIKPiA+IGRvbWFpbi4gSSB3b3VsZCBsaWtlIHRvIGF2b2lkIGludHJvZHVj aW5nIHlldCBhbm90aGVyIHdheSBvZiBoYW5kbGluZwo+ID4gdGhlIGJsa2N0bCBhbmQgdGh1cyB3 b3VsZCBsaWtlIHRvIGFsaWduIHRoZSBpLk1YOE1RIFZQVSBibGtjdGwgd2l0aAo+ID4gd2hhdCB3 ZSBhcmUgcGxhbm5pbmcgdG8gZG8gb24gdGhlIGxhdGVyIGNoaXAgZ2VuZXJhdGlvbnMuCj4gPiAK PiA+IENDJ2luZyBKYWNreSBCYWkgYW5kIFBlbmcgRmFuIGZyb20gTlhQLCBhcyB0aGV5IHdlcmUg Z29pbmcgdG8gZ2l2ZSB0aGlzCj4gPiB2aXJ0dWFsIHBvd2VyIGRvbWFpbiB0aGluZyBhIHNob3Qu Cj4gCj4gVGhhdCBjb3VsZCByZXBsYWNlIHRoZSAzIGZpcnN0IHBhdGNoZXMgYW5kIER0IHBhdGNo ZSBvZiB0aGlzIHNlcmllcwo+IGJ1dCB0aGF0IHdpbGwgbm90IGltcGFjdCB0aGUgaGV2YyBwYXJ0 LCBzbyBJIHdvbmRlciBpZiBwdXJlIGhldmMgcGF0Y2hlcwo+IGNvdWxkIGJlIG1lcmdlZCBhbnl3 YXkgPwo+IFRoZXkgYXJlIHJldmlld2VkIGFuZCBkb24ndCBkZXBlbmQgb2YgaG93IHRoZSBjdHJs IGJsb2NrIGlzIG1hbmFnZWQuCgpJJ20gbm90IHJlYWxseSBpbiBhIHBvc2l0aW9uIHRvIGdpdmUg YW55IGluZm9ybWVkIG9waW5pb24gYWJvdXQgdGhhdApodmVjIHBhdGNoZXMsIGFzIEkgb25seSBz a2ltbWVkIHRoZW0sIGJ1dCBJIGRvbid0IHNlZSBhbnkgcmVhc29uIHRvCmRlbGF5IHBhdGNoZXMg MDQtMTEgZnJvbSB0aGlzIHNlcmllcyB1bnRpbCB0aGUgaS5NWDhNIHBsYXRmb3JtIGlzc3Vlcwph cmUgc29ydGVkLiBBRkFJQ1MgdGhvc2UgdGhpbmdzIGFyZSB0b3RhbGx5IG9ydGhvZ29uYWwuCgpS ZWdhcmRzLApMdWNhcwoKPiA+IAo+ID4gUmVnYXJkcywKPiA+IEx1Y2FzCj4gPiAKPiA+ID4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9y YS5jb20+Cj4gPiA+IFJldmlld2VkLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJv bml4LmRlPgo+ID4gPiAtLS0KPiA+ID4gdmVyc2lvbiA5Ogo+ID4gPiDCoMKgLSBDb3JyZWN0aW9u cyBpbiBjb21taXQgbWVzc2FnZQo+ID4gPiAKPiA+ID4gdmVyc2lvbiA3Ogo+ID4gPiDCoMKgLSBB ZGQgUGhpbGlwcCByZXZpZXdlZC1ieSB0YWcuCj4gPiA+IMKgwqAtIENoYW5nZSBzeXNjb24gcGhh bmRsZSBuYW1lLgo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IHZlcnNpb24gNToKPiA+ID4gwqDCoC0gdXNlIHN5c2NvbiBpbnN0ZWFkIG9m IFZQVSByZXNldCBkcml2ZXIuCj4gPiA+IMKgwqAtIGlmIERUIGRvZXNuJ3QgcHJvdmlkZSBzeXNj b24ga2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsdHkgYnkgdXNpbmcKPiA+ID4gwqDCoMKgwqAnY3Ry bCcgcmVnLW5hbWUuCj4gPiA+IAo+ID4gPiDCoMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm8uaCAgICAgICB8ICA1ICstCj4gPiA+IMKgwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEv aGFudHJvL2lteDhtX3ZwdV9ody5jIHwgNTIgKysrKysrKysrKysrLS0tLS0tLS0tCj4gPiA+IMKg wqAyIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+ID4g PiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJv LmggYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4gPiA+IGluZGV4IDZj MWI4ODhhYmU3NS4uMzdiOWNlMDRiZDRlIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvLmgKPiA+ID4gQEAgLTEzLDYgKzEzLDcgQEAKPiA+ID4gwqDCoCNkZWZp bmUgSEFOVFJPX0hfCj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+ IAo+ID4gPiAKPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiA+ ID4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC92 aWRlb2RldjIuaD4KPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC93YWl0Lmg+Cj4gPiA+IMKgwqAj aW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiA+IEBAIC0xNjcsNyArMTY4LDcgQEAgaGFudHJvX3Zk ZXZfdG9fZnVuYyhzdHJ1Y3QgdmlkZW9fZGV2aWNlICp2ZGV2KQo+ID4gPiDCoMKgwqAqIEByZWdf YmFzZXM6CQlNYXBwZWQgYWRkcmVzc2VzIG9mIFZQVSByZWdpc3RlcnMuCj4gPiA+IMKgwqDCoCog QGVuY19iYXNlOgkJTWFwcGVkIGFkZHJlc3Mgb2YgVlBVIGVuY29kZXIgcmVnaXN0ZXIgZm9yIGNv bnZlbmllbmNlLgo+ID4gPiDCoMKgwqAqIEBkZWNfYmFzZToJCU1hcHBlZCBhZGRyZXNzIG9mIFZQ VSBkZWNvZGVyIHJlZ2lzdGVyIGZvciBjb252ZW5pZW5jZS4KPiA+ID4gLSAqIEBjdHJsX2Jhc2U6 CQlNYXBwZWQgYWRkcmVzcyBvZiBWUFUgY29udHJvbCBibG9jay4KPiA+ID4gKyAqIEBjdHJsX2Jh c2U6CQlSZWdtYXAgb2YgVlBVIGNvbnRyb2wgYmxvY2suCj4gPiA+IMKgwqDCoCogQHZwdV9tdXRl eDoJCU11dGV4IHRvIHN5bmNocm9uaXplIFY0TDIgY2FsbHMuCj4gPiA+IMKgwqDCoCogQGlycWxv Y2s6CQlTcGlubG9jayB0byBzeW5jaHJvbml6ZSBhY2Nlc3MgdG8gZGF0YSBzdHJ1Y3R1cmVzCj4g PiA+IMKgwqDCoCoJCQlzaGFyZWQgd2l0aCBpbnRlcnJ1cHQgaGFuZGxlcnMuCj4gPiA+IEBAIC0x ODYsNyArMTg3LDcgQEAgc3RydWN0IGhhbnRyb19kZXYgewo+ID4gPiDCoMKgCXZvaWQgX19pb21l bSAqKnJlZ19iYXNlczsKPiA+ID4gwqDCoAl2b2lkIF9faW9tZW0gKmVuY19iYXNlOwo+ID4gPiDC oMKgCXZvaWQgX19pb21lbSAqZGVjX2Jhc2U7Cj4gPiA+IC0Jdm9pZCBfX2lvbWVtICpjdHJsX2Jh c2U7Cj4gPiA+ICsJc3RydWN0IHJlZ21hcCAqY3RybF9iYXNlOwo+ID4gPiDCoMKgCj4gPiA+IAo+ ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJc3RydWN0IG11dGV4 IHZwdV9tdXRleDsJLyogdmlkZW9fZGV2aWNlIGxvY2sgKi8KPiA+ID4gwqDCoAlzcGlubG9ja190 IGlycWxvY2s7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L2lteDhtX3ZwdV9ody5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVf aHcuYwo+ID4gPiBpbmRleCBjMjIyZGUwNzVlZjQuLjhkMGMzNDI1MjM0YiAxMDA2NDQKPiA+ID4g LS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVfaHcuYwo+ID4gPiAr KysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2lteDhtX3ZwdV9ody5jCj4gPiA+IEBA IC03LDYgKzcsNyBAQAo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IMKgwqAjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiA+IMKgwqAjaW5j bHVkZSA8bGludXgvZGVsYXkuaD4KPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+ Cj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gwqDCoCNpbmNsdWRlICJoYW50cm8uaCIKPiA+ID4gwqDCoCNpbmNsdWRlICJoYW50cm9fanBl Zy5oIgo+ID4gPiBAQCAtMjQsMzAgKzI1LDI4IEBACj4gPiA+IMKgwqAjZGVmaW5lIENUUkxfRzFf UFBfRlVTRQkJMHgwYwo+ID4gPiDCoMKgI2RlZmluZSBDVFJMX0cyX0RFQ19GVVNFCTB4MTAKPiA+ ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGN0cmxfcmVnbWFwX2N0cmwgPSB7Cj4g PiA+ICsJLnJlZ19iaXRzID0gMzIsCj4gPiA+ICsJLnZhbF9iaXRzID0gMzIsCj4gPiA+ICsJLnJl Z19zdHJpZGUgPSAweDE0LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiDCoMKgc3RhdGljIHZvaWQg aW14OG1fc29mdF9yZXNldChzdHJ1Y3QgaGFudHJvX2RldiAqdnB1LCB1MzIgcmVzZXRfYml0cykK PiA+ID4gwqDCoHsKPiA+ID4gLQl1MzIgdmFsOwo+ID4gPiAtCj4gPiA+IMKgwqAJLyogQXNzZXJ0 ICovCj4gPiA+IC0JdmFsID0gcmVhZGwodnB1LT5jdHJsX2Jhc2UgKyBDVFJMX1NPRlRfUkVTRVQp Owo+ID4gPiAtCXZhbCAmPSB+cmVzZXRfYml0czsKPiA+ID4gLQl3cml0ZWwodmFsLCB2cHUtPmN0 cmxfYmFzZSArIENUUkxfU09GVF9SRVNFVCk7Cj4gPiA+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZw dS0+Y3RybF9iYXNlLCBDVFJMX1NPRlRfUkVTRVQsIHJlc2V0X2JpdHMsIDApOwo+ID4gPiDCoMKg Cj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJdWRl bGF5KDIpOwo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gCj4gPiA+IMKgwqAJLyogUmVsZWFzZSAqLwo+ID4gPiAtCXZhbCA9IHJlYWRsKHZwdS0+Y3Ry bF9iYXNlICsgQ1RSTF9TT0ZUX1JFU0VUKTsKPiA+ID4gLQl2YWwgfD0gcmVzZXRfYml0czsKPiA+ ID4gLQl3cml0ZWwodmFsLCB2cHUtPmN0cmxfYmFzZSArIENUUkxfU09GVF9SRVNFVCk7Cj4gPiA+ ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZwdS0+Y3RybF9iYXNlLCBDVFJMX1NPRlRfUkVTRVQsCj4g PiA+ICsJCQkgICByZXNldF9iaXRzLCByZXNldF9iaXRzKTsKPiA+ID4gwqDCoH0KPiA+ID4gwqDC oAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgc3Rh dGljIHZvaWQgaW14OG1fY2xrX2VuYWJsZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1LCB1MzIgY2xv Y2tfYml0cykKPiA+ID4gwqDCoHsKPiA+ID4gLQl1MzIgdmFsOwo+ID4gPiAtCj4gPiA+IC0JdmFs ID0gcmVhZGwodnB1LT5jdHJsX2Jhc2UgKyBDVFJMX0NMT0NLX0VOQUJMRSk7Cj4gPiA+IC0JdmFs IHw9IGNsb2NrX2JpdHM7Cj4gPiA+IC0Jd3JpdGVsKHZhbCwgdnB1LT5jdHJsX2Jhc2UgKyBDVFJM X0NMT0NLX0VOQUJMRSk7Cj4gPiA+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZwdS0+Y3RybF9iYXNl LCBDVFJMX0NMT0NLX0VOQUJMRSwKPiA+ID4gKwkJCSAgIGNsb2NrX2JpdHMsIGNsb2NrX2JpdHMp Owo+ID4gPiDCoMKgfQo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IMKgwqBzdGF0aWMgaW50IGlteDhtcV9ydW50aW1lX3Jlc3VtZShzdHJ1 Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gPiBAQCAtNjQsOSArNjMsOSBAQCBzdGF0aWMgaW50IGlt eDhtcV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gPiDCoMKgCWlt eDhtX2Nsa19lbmFibGUodnB1LCBDTE9DS19HMSB8IENMT0NLX0cyKTsKPiA+ID4gwqDCoAo+ID4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgCS8qIFNldCB2 YWx1ZXMgb2YgdGhlIGZ1c2UgcmVnaXN0ZXJzICovCj4gPiA+IC0Jd3JpdGVsKDB4ZmZmZmZmZmYs IHZwdS0+Y3RybF9iYXNlICsgQ1RSTF9HMV9ERUNfRlVTRSk7Cj4gPiA+IC0Jd3JpdGVsKDB4ZmZm ZmZmZmYsIHZwdS0+Y3RybF9iYXNlICsgQ1RSTF9HMV9QUF9GVVNFKTsKPiA+ID4gLQl3cml0ZWwo MHhmZmZmZmZmZiwgdnB1LT5jdHJsX2Jhc2UgKyBDVFJMX0cyX0RFQ19GVVNFKTsKPiA+ID4gKwly ZWdtYXBfd3JpdGUodnB1LT5jdHJsX2Jhc2UsIENUUkxfRzFfREVDX0ZVU0UsIDB4ZmZmZmZmZmYp Owo+ID4gPiArCXJlZ21hcF93cml0ZSh2cHUtPmN0cmxfYmFzZSwgQ1RSTF9HMV9QUF9GVVNFLCAw eGZmZmZmZmZmKTsKPiA+ID4gKwlyZWdtYXBfd3JpdGUodnB1LT5jdHJsX2Jhc2UsIENUUkxfRzJf REVDX0ZVU0UsIDB4ZmZmZmZmZmYpOwo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4g PiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUo dnB1LT52YXJpYW50LT5udW1fY2xvY2tzLCB2cHUtPmNsb2Nrcyk7Cj4gPiA+IMKgwqAKPiA+ID4g Cj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gQEAgLTE1MCw4ICsxNDks MjIgQEAgc3RhdGljIGlycXJldHVybl90IGlteDhtX3ZwdV9nMV9pcnEoaW50IGlycSwgdm9pZCAq ZGV2X2lkKQo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gCj4gPiA+IMKgwqBzdGF0aWMgaW50IGlteDhtcV92cHVfaHdfaW5pdChzdHJ1Y3QgaGFudHJv X2RldiAqdnB1KQo+ID4gPiDCoMKgewo+ID4gPiAtCXZwdS0+ZGVjX2Jhc2UgPSB2cHUtPnJlZ19i YXNlc1swXTsKPiA+ID4gLQl2cHUtPmN0cmxfYmFzZSA9IHZwdS0+cmVnX2Jhc2VzW3ZwdS0+dmFy aWFudC0+bnVtX3JlZ3MgLSAxXTsKPiA+ID4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gdnB1 LT5kZXYtPm9mX25vZGU7Cj4gPiA+ICsKPiA+ID4gKwl2cHUtPmN0cmxfYmFzZSA9IHN5c2Nvbl9y ZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUobnAsICJueHAsaW14OG0tdnB1LWN0cmwiKTsKPiA+ID4g KwlpZiAoSVNfRVJSKHZwdS0+Y3RybF9iYXNlKSkgewo+ID4gPiArCQlzdHJ1Y3QgcmVzb3VyY2Ug KnJlczsKPiA+ID4gKwkJdm9pZCBfX2lvbWVtICpjdHJsOwo+ID4gPiArCj4gPiA+ICsJCXJlcyA9 IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUodnB1LT5wZGV2LCBJT1JFU09VUkNFX01FTSwg ImN0cmwiKTsKPiA+ID4gKwkJY3RybCA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSh2cHUtPmRldiwg cmVzKTsKPiA+ID4gKwkJaWYgKElTX0VSUihjdHJsKSkKPiA+ID4gKwkJCXJldHVybiBQVFJfRVJS KGN0cmwpOwo+ID4gPiArCj4gPiA+ICsJCXZwdS0+Y3RybF9iYXNlID0gZGV2bV9yZWdtYXBfaW5p dF9tbWlvKHZwdS0+ZGV2LCBjdHJsLCAmY3RybF9yZWdtYXBfY3RybCk7Cj4gPiA+ICsJCWlmIChJ U19FUlIodnB1LT5jdHJsX2Jhc2UpKQo+ID4gPiArCQkJcmV0dXJuIFBUUl9FUlIodnB1LT5jdHJs X2Jhc2UpOwo+ID4gPiArCX0KPiA+ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgCXJldHVybiAwOwo+ID4gPiDCoMKgfQo+ID4gPiBAQCAt MTk4LDcgKzIxMSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2lycSBpbXg4bXFfaXJx c1tdID0gewo+ID4gPiDCoMKgfTsKPiA+ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpbXg4 bXFfY2xrX25hbWVzW10gPSB7ICJnMSIsICJnMiIsICJidXMiIH07Cj4gPiA+IC1zdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGlteDhtcV9yZWdfbmFtZXNbXSA9IHsgImcxIiwgImcyIiwgImN0cmwi IH07Cj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gwqDCoGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBpbXg4bXFfdnB1X3ZhcmlhbnQg PSB7Cj4gPiA+IMKgwqAJLmRlY19mbXRzID0gaW14OG1fdnB1X2RlY19mbXRzLAo+ID4gPiBAQCAt MjE1LDYgKzIyNyw0IEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBpbXg4bXFfdnB1X3Zh cmlhbnQgPSB7Cj4gPiA+IMKgwqAJLm51bV9pcnFzID0gQVJSQVlfU0laRShpbXg4bXFfaXJxcyks Cj4gPiA+IMKgwqAJLmNsa19uYW1lcyA9IGlteDhtcV9jbGtfbmFtZXMsCj4gPiA+IMKgwqAJLm51 bV9jbG9ja3MgPSBBUlJBWV9TSVpFKGlteDhtcV9jbGtfbmFtZXMpLAo+ID4gPiAtCS5yZWdfbmFt ZXMgPSBpbXg4bXFfcmVnX25hbWVzLAo+ID4gPiAtCS5udW1fcmVncyA9IEFSUkFZX1NJWkUoaW14 OG1xX3JlZ19uYW1lcykKPiA+ID4gwqDCoH07Cj4gPiAKPiA+IAo+IAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRldmVsIG1haWxpbmcgbGlzdApkZXZl bEBsaW51eGRyaXZlcnByb2plY3Qub3JnCmh0dHA6Ly9kcml2ZXJkZXYubGludXhkcml2ZXJwcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaXZlcmRldi1kZXZlbAo= 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=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 03955C433B4 for ; Fri, 16 Apr 2021 15:15:15 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 4AAF36117A for ; Fri, 16 Apr 2021 15:15:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4AAF36117A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; 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:Date:Cc:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=jJttJG2IzSM52LYRDEmfsLvxySng7A7UYXsE6muu1BQ=; b=SI/QLiRquUEym/8z0EugtH4aI paxaEm98rSBlGVQnOXO5qKy1HA1DvbgJofJKlJpPmtoKzoVuAOiMU57zEyw6rO2Zynf5um4y9selX qN0m7R8/DQQBziEzc4jFbYOH3ZEFXjdp3oXbggLVpf1zXebjjfZOggz13okbhqnkCxEn8YhbyAoPN 9HabL/qek7EEOG+IYxoEqiV15+yPI6aq7DvBL24trLzHr5ABYzDbLF9d6NDdS97C9yRuqfZAwn51q 5Er01gKohfSFThmrNIHMKBSRUR/3v17m0br8G4rGCToMZfTRqiDYionMvOcsjhiB+0F6ujlqzsm9o wKr3bBTKA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lXQBW-002ZgZ-EV; Fri, 16 Apr 2021 15:15:07 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lXQBR-002Zfw-Dy for linux-rockchip@desiato.infradead.org; Fri, 16 Apr 2021 15:15:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject: Message-ID:Sender:Reply-To:Content-ID:Content-Description; bh=Oltwjvzxcjz7cJpPYLbGsmXvjmNNGZ+EPqVf4OS5WW0=; b=Ha1SRjbGGC1sBp0fwl3snGhwEq ooETxl5hdK29/8mHnzxZIh/+P/c2l4deiSY+sSKTRCB5G0fJwyWSCt5ID2IAi1rYFgCphqvCJ7fXn T+Uma2vclhXbP4jEwGOlFvZbHzZedQUaShxc7g/uyRa2TXZXOzoZp+fH09bpKwuwBcDb08DBtOoCA LmyRvq1w5ASfL8wkIP5PRxOlJs6MHB2xIgP7R4WYkFyU08Hw1/Rw3SDLN5iRcAsdwWeU9JByDvcOU G4T5zma4afQfvyq8j5srpQKXvbM5ooQd9XAAiLtsuArHr9mk9ANQGFOK4sk1yEfhb018oRaoxJpDs uUjKPKbg==; Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lXQBL-009UfF-E3 for linux-rockchip@lists.infradead.org; Fri, 16 Apr 2021 15:15:00 +0000 Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=[IPv6:::1]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lXQAo-0001kj-On; Fri, 16 Apr 2021 17:14:22 +0200 Message-ID: <529b61b1b1e6030c92a7944c4864246521b2ccdd.camel@pengutronix.de> Subject: Re: [PATCH v9 03/13] media: hantro: Use syscon instead of 'ctrl' register From: Lucas Stach To: Benjamin Gaignard , ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com, "Peng Fan (OSS)" , Jacky Bai Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-imx@nxp.com, kernel@pengutronix.de, kernel@collabora.com, cphealy@gmail.com, linux-arm-kernel@lists.infradead.org Date: Fri, 16 Apr 2021 17:14:18 +0200 In-Reply-To: References: <20210407073534.376722-1-benjamin.gaignard@collabora.com> <20210407073534.376722-4-benjamin.gaignard@collabora.com> <7bcbb787d82f21d42563d8fb7e3c2e7d40123932.camel@pengutronix.de> User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-rockchip@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210416_081455_645678_80F45FDA X-CRM114-Status: GOOD ( 41.26 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org QW0gRnJlaXRhZywgZGVtIDE2LjA0LjIwMjEgdW0gMTU6MDggKzAyMDAgc2NocmllYiBCZW5qYW1p biBHYWlnbmFyZDoKPiBMZSAxNi8wNC8yMDIxIMOgIDEyOjU0LCBMdWNhcyBTdGFjaCBhIMOpY3Jp dMKgOgo+ID4gQW0gTWl0dHdvY2gsIGRlbSAwNy4wNC4yMDIxIHVtIDA5OjM1ICswMjAwIHNjaHJp ZWIgQmVuamFtaW4gR2FpZ25hcmQ6Cj4gPiA+IEluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2hhcmUg dGhlIGNvbnRyb2wgaGFyZHdhcmUgYmxvY2sgYmV0d2Vlbgo+ID4gPiBWUFVzIHVzZSBhIHN5c2Nv biBpbnN0ZWFkIGEgaW9yZW1hcCBpdCBpbiB0aGUgZHJpdmVyLgo+ID4gPiBUbyBrZWVwIHRoZSBj b21wYXRpYmlsaXR5IHdpdGggb2xkZXIgRFQgaWYgJ254cCxpbXg4bXEtdnB1LWN0cmwnCj4gPiA+ IHBoYW5kbGUgaXMgbm90IGZvdW5kIGxvb2sgYXQgJ2N0cmwnIHJlZy1uYW1lLgo+ID4gPiBXaXRo IHRoZSBtZXRob2QgaXQgYmVjb21lcyB1c2VsZXNzIHRvIHByb3ZpZGUgYSBsaXN0IG9mIHJlZ2lz dGVyCj4gPiA+IG5hbWVzIHNvIHJlbW92ZSBpdC4KPiA+IFNvcnJ5IGZvciBwdXR0aW5nIGEgc3Bv a2UgaW4gdGhlIHdoZWVsIGFmdGVyIG1hbnkgaXRlcmF0aW9ucyBvZiB0aGUKPiA+IHNlcmllcy4K PiA+IAo+ID4gV2UganVzdCBkaXNjdXNzZWQgYSB3YXkgZm9yd2FyZCBvbiBob3cgdG8gaGFuZGxl IHRoZSBjbG9ja3MgYW5kIHJlc2V0cwo+ID4gcHJvdmlkZWQgYnkgdGhlIGJsa2N0bCBibG9jayBv biBpLk1YOE1NIGFuZCBsYXRlciBhbmQgaXQgc2VlbXMgdGhlcmUgaXMKPiA+IGEgY29uc2Vuc3Vz IG9uIHRyeWluZyB0byBwcm92aWRlIHZpcnR1YWwgcG93ZXIgZG9tYWlucyBmcm9tIGEgYmxrY3Rs Cj4gPiBkcml2ZXIsIGNvbnRyb2xsaW5nIGNsb2NrcyBhbmQgcmVzZXRzIGZvciB0aGUgZGV2aWNl cyBpbiB0aGUgcG93ZXIKPiA+IGRvbWFpbi4gSSB3b3VsZCBsaWtlIHRvIGF2b2lkIGludHJvZHVj aW5nIHlldCBhbm90aGVyIHdheSBvZiBoYW5kbGluZwo+ID4gdGhlIGJsa2N0bCBhbmQgdGh1cyB3 b3VsZCBsaWtlIHRvIGFsaWduIHRoZSBpLk1YOE1RIFZQVSBibGtjdGwgd2l0aAo+ID4gd2hhdCB3 ZSBhcmUgcGxhbm5pbmcgdG8gZG8gb24gdGhlIGxhdGVyIGNoaXAgZ2VuZXJhdGlvbnMuCj4gPiAK PiA+IENDJ2luZyBKYWNreSBCYWkgYW5kIFBlbmcgRmFuIGZyb20gTlhQLCBhcyB0aGV5IHdlcmUg Z29pbmcgdG8gZ2l2ZSB0aGlzCj4gPiB2aXJ0dWFsIHBvd2VyIGRvbWFpbiB0aGluZyBhIHNob3Qu Cj4gCj4gVGhhdCBjb3VsZCByZXBsYWNlIHRoZSAzIGZpcnN0IHBhdGNoZXMgYW5kIER0IHBhdGNo ZSBvZiB0aGlzIHNlcmllcwo+IGJ1dCB0aGF0IHdpbGwgbm90IGltcGFjdCB0aGUgaGV2YyBwYXJ0 LCBzbyBJIHdvbmRlciBpZiBwdXJlIGhldmMgcGF0Y2hlcwo+IGNvdWxkIGJlIG1lcmdlZCBhbnl3 YXkgPwo+IFRoZXkgYXJlIHJldmlld2VkIGFuZCBkb24ndCBkZXBlbmQgb2YgaG93IHRoZSBjdHJs IGJsb2NrIGlzIG1hbmFnZWQuCgpJJ20gbm90IHJlYWxseSBpbiBhIHBvc2l0aW9uIHRvIGdpdmUg YW55IGluZm9ybWVkIG9waW5pb24gYWJvdXQgdGhhdApodmVjIHBhdGNoZXMsIGFzIEkgb25seSBz a2ltbWVkIHRoZW0sIGJ1dCBJIGRvbid0IHNlZSBhbnkgcmVhc29uIHRvCmRlbGF5IHBhdGNoZXMg MDQtMTEgZnJvbSB0aGlzIHNlcmllcyB1bnRpbCB0aGUgaS5NWDhNIHBsYXRmb3JtIGlzc3Vlcwph cmUgc29ydGVkLiBBRkFJQ1MgdGhvc2UgdGhpbmdzIGFyZSB0b3RhbGx5IG9ydGhvZ29uYWwuCgpS ZWdhcmRzLApMdWNhcwoKPiA+IAo+ID4gUmVnYXJkcywKPiA+IEx1Y2FzCj4gPiAKPiA+ID4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9y YS5jb20+Cj4gPiA+IFJldmlld2VkLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJv bml4LmRlPgo+ID4gPiAtLS0KPiA+ID4gdmVyc2lvbiA5Ogo+ID4gPiDCoMKgLSBDb3JyZWN0aW9u cyBpbiBjb21taXQgbWVzc2FnZQo+ID4gPiAKPiA+ID4gdmVyc2lvbiA3Ogo+ID4gPiDCoMKgLSBB ZGQgUGhpbGlwcCByZXZpZXdlZC1ieSB0YWcuCj4gPiA+IMKgwqAtIENoYW5nZSBzeXNjb24gcGhh bmRsZSBuYW1lLgo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IHZlcnNpb24gNToKPiA+ID4gwqDCoC0gdXNlIHN5c2NvbiBpbnN0ZWFkIG9m IFZQVSByZXNldCBkcml2ZXIuCj4gPiA+IMKgwqAtIGlmIERUIGRvZXNuJ3QgcHJvdmlkZSBzeXNj b24ga2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsdHkgYnkgdXNpbmcKPiA+ID4gwqDCoMKgwqAnY3Ry bCcgcmVnLW5hbWUuCj4gPiA+IAo+ID4gPiDCoMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm8uaCAgICAgICB8ICA1ICstCj4gPiA+IMKgwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEv aGFudHJvL2lteDhtX3ZwdV9ody5jIHwgNTIgKysrKysrKysrKysrLS0tLS0tLS0tCj4gPiA+IMKg wqAyIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+ID4g PiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJv LmggYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4gPiA+IGluZGV4IDZj MWI4ODhhYmU3NS4uMzdiOWNlMDRiZDRlIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvLmgKPiA+ID4gQEAgLTEzLDYgKzEzLDcgQEAKPiA+ID4gwqDCoCNkZWZp bmUgSEFOVFJPX0hfCj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+ IAo+ID4gPiAKPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiA+ ID4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC92 aWRlb2RldjIuaD4KPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC93YWl0Lmg+Cj4gPiA+IMKgwqAj aW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiA+IEBAIC0xNjcsNyArMTY4LDcgQEAgaGFudHJvX3Zk ZXZfdG9fZnVuYyhzdHJ1Y3QgdmlkZW9fZGV2aWNlICp2ZGV2KQo+ID4gPiDCoMKgwqAqIEByZWdf YmFzZXM6CQlNYXBwZWQgYWRkcmVzc2VzIG9mIFZQVSByZWdpc3RlcnMuCj4gPiA+IMKgwqDCoCog QGVuY19iYXNlOgkJTWFwcGVkIGFkZHJlc3Mgb2YgVlBVIGVuY29kZXIgcmVnaXN0ZXIgZm9yIGNv bnZlbmllbmNlLgo+ID4gPiDCoMKgwqAqIEBkZWNfYmFzZToJCU1hcHBlZCBhZGRyZXNzIG9mIFZQ VSBkZWNvZGVyIHJlZ2lzdGVyIGZvciBjb252ZW5pZW5jZS4KPiA+ID4gLSAqIEBjdHJsX2Jhc2U6 CQlNYXBwZWQgYWRkcmVzcyBvZiBWUFUgY29udHJvbCBibG9jay4KPiA+ID4gKyAqIEBjdHJsX2Jh c2U6CQlSZWdtYXAgb2YgVlBVIGNvbnRyb2wgYmxvY2suCj4gPiA+IMKgwqDCoCogQHZwdV9tdXRl eDoJCU11dGV4IHRvIHN5bmNocm9uaXplIFY0TDIgY2FsbHMuCj4gPiA+IMKgwqDCoCogQGlycWxv Y2s6CQlTcGlubG9jayB0byBzeW5jaHJvbml6ZSBhY2Nlc3MgdG8gZGF0YSBzdHJ1Y3R1cmVzCj4g PiA+IMKgwqDCoCoJCQlzaGFyZWQgd2l0aCBpbnRlcnJ1cHQgaGFuZGxlcnMuCj4gPiA+IEBAIC0x ODYsNyArMTg3LDcgQEAgc3RydWN0IGhhbnRyb19kZXYgewo+ID4gPiDCoMKgCXZvaWQgX19pb21l bSAqKnJlZ19iYXNlczsKPiA+ID4gwqDCoAl2b2lkIF9faW9tZW0gKmVuY19iYXNlOwo+ID4gPiDC oMKgCXZvaWQgX19pb21lbSAqZGVjX2Jhc2U7Cj4gPiA+IC0Jdm9pZCBfX2lvbWVtICpjdHJsX2Jh c2U7Cj4gPiA+ICsJc3RydWN0IHJlZ21hcCAqY3RybF9iYXNlOwo+ID4gPiDCoMKgCj4gPiA+IAo+ ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJc3RydWN0IG11dGV4 IHZwdV9tdXRleDsJLyogdmlkZW9fZGV2aWNlIGxvY2sgKi8KPiA+ID4gwqDCoAlzcGlubG9ja190 IGlycWxvY2s7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L2lteDhtX3ZwdV9ody5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVf aHcuYwo+ID4gPiBpbmRleCBjMjIyZGUwNzVlZjQuLjhkMGMzNDI1MjM0YiAxMDA2NDQKPiA+ID4g LS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVfaHcuYwo+ID4gPiAr KysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2lteDhtX3ZwdV9ody5jCj4gPiA+IEBA IC03LDYgKzcsNyBAQAo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IMKgwqAjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiA+IMKgwqAjaW5j bHVkZSA8bGludXgvZGVsYXkuaD4KPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+ Cj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gwqDCoCNpbmNsdWRlICJoYW50cm8uaCIKPiA+ID4gwqDCoCNpbmNsdWRlICJoYW50cm9fanBl Zy5oIgo+ID4gPiBAQCAtMjQsMzAgKzI1LDI4IEBACj4gPiA+IMKgwqAjZGVmaW5lIENUUkxfRzFf UFBfRlVTRQkJMHgwYwo+ID4gPiDCoMKgI2RlZmluZSBDVFJMX0cyX0RFQ19GVVNFCTB4MTAKPiA+ ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGN0cmxfcmVnbWFwX2N0cmwgPSB7Cj4g PiA+ICsJLnJlZ19iaXRzID0gMzIsCj4gPiA+ICsJLnZhbF9iaXRzID0gMzIsCj4gPiA+ICsJLnJl Z19zdHJpZGUgPSAweDE0LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiDCoMKgc3RhdGljIHZvaWQg aW14OG1fc29mdF9yZXNldChzdHJ1Y3QgaGFudHJvX2RldiAqdnB1LCB1MzIgcmVzZXRfYml0cykK PiA+ID4gwqDCoHsKPiA+ID4gLQl1MzIgdmFsOwo+ID4gPiAtCj4gPiA+IMKgwqAJLyogQXNzZXJ0 ICovCj4gPiA+IC0JdmFsID0gcmVhZGwodnB1LT5jdHJsX2Jhc2UgKyBDVFJMX1NPRlRfUkVTRVQp Owo+ID4gPiAtCXZhbCAmPSB+cmVzZXRfYml0czsKPiA+ID4gLQl3cml0ZWwodmFsLCB2cHUtPmN0 cmxfYmFzZSArIENUUkxfU09GVF9SRVNFVCk7Cj4gPiA+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZw dS0+Y3RybF9iYXNlLCBDVFJMX1NPRlRfUkVTRVQsIHJlc2V0X2JpdHMsIDApOwo+ID4gPiDCoMKg Cj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJdWRl bGF5KDIpOwo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gCj4gPiA+IMKgwqAJLyogUmVsZWFzZSAqLwo+ID4gPiAtCXZhbCA9IHJlYWRsKHZwdS0+Y3Ry bF9iYXNlICsgQ1RSTF9TT0ZUX1JFU0VUKTsKPiA+ID4gLQl2YWwgfD0gcmVzZXRfYml0czsKPiA+ ID4gLQl3cml0ZWwodmFsLCB2cHUtPmN0cmxfYmFzZSArIENUUkxfU09GVF9SRVNFVCk7Cj4gPiA+ ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZwdS0+Y3RybF9iYXNlLCBDVFJMX1NPRlRfUkVTRVQsCj4g PiA+ICsJCQkgICByZXNldF9iaXRzLCByZXNldF9iaXRzKTsKPiA+ID4gwqDCoH0KPiA+ID4gwqDC oAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgc3Rh dGljIHZvaWQgaW14OG1fY2xrX2VuYWJsZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1LCB1MzIgY2xv Y2tfYml0cykKPiA+ID4gwqDCoHsKPiA+ID4gLQl1MzIgdmFsOwo+ID4gPiAtCj4gPiA+IC0JdmFs ID0gcmVhZGwodnB1LT5jdHJsX2Jhc2UgKyBDVFJMX0NMT0NLX0VOQUJMRSk7Cj4gPiA+IC0JdmFs IHw9IGNsb2NrX2JpdHM7Cj4gPiA+IC0Jd3JpdGVsKHZhbCwgdnB1LT5jdHJsX2Jhc2UgKyBDVFJM X0NMT0NLX0VOQUJMRSk7Cj4gPiA+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZwdS0+Y3RybF9iYXNl LCBDVFJMX0NMT0NLX0VOQUJMRSwKPiA+ID4gKwkJCSAgIGNsb2NrX2JpdHMsIGNsb2NrX2JpdHMp Owo+ID4gPiDCoMKgfQo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IMKgwqBzdGF0aWMgaW50IGlteDhtcV9ydW50aW1lX3Jlc3VtZShzdHJ1 Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gPiBAQCAtNjQsOSArNjMsOSBAQCBzdGF0aWMgaW50IGlt eDhtcV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gPiDCoMKgCWlt eDhtX2Nsa19lbmFibGUodnB1LCBDTE9DS19HMSB8IENMT0NLX0cyKTsKPiA+ID4gwqDCoAo+ID4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgCS8qIFNldCB2 YWx1ZXMgb2YgdGhlIGZ1c2UgcmVnaXN0ZXJzICovCj4gPiA+IC0Jd3JpdGVsKDB4ZmZmZmZmZmYs IHZwdS0+Y3RybF9iYXNlICsgQ1RSTF9HMV9ERUNfRlVTRSk7Cj4gPiA+IC0Jd3JpdGVsKDB4ZmZm ZmZmZmYsIHZwdS0+Y3RybF9iYXNlICsgQ1RSTF9HMV9QUF9GVVNFKTsKPiA+ID4gLQl3cml0ZWwo MHhmZmZmZmZmZiwgdnB1LT5jdHJsX2Jhc2UgKyBDVFJMX0cyX0RFQ19GVVNFKTsKPiA+ID4gKwly ZWdtYXBfd3JpdGUodnB1LT5jdHJsX2Jhc2UsIENUUkxfRzFfREVDX0ZVU0UsIDB4ZmZmZmZmZmYp Owo+ID4gPiArCXJlZ21hcF93cml0ZSh2cHUtPmN0cmxfYmFzZSwgQ1RSTF9HMV9QUF9GVVNFLCAw eGZmZmZmZmZmKTsKPiA+ID4gKwlyZWdtYXBfd3JpdGUodnB1LT5jdHJsX2Jhc2UsIENUUkxfRzJf REVDX0ZVU0UsIDB4ZmZmZmZmZmYpOwo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4g PiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUo dnB1LT52YXJpYW50LT5udW1fY2xvY2tzLCB2cHUtPmNsb2Nrcyk7Cj4gPiA+IMKgwqAKPiA+ID4g Cj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gQEAgLTE1MCw4ICsxNDks MjIgQEAgc3RhdGljIGlycXJldHVybl90IGlteDhtX3ZwdV9nMV9pcnEoaW50IGlycSwgdm9pZCAq ZGV2X2lkKQo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gCj4gPiA+IMKgwqBzdGF0aWMgaW50IGlteDhtcV92cHVfaHdfaW5pdChzdHJ1Y3QgaGFudHJv X2RldiAqdnB1KQo+ID4gPiDCoMKgewo+ID4gPiAtCXZwdS0+ZGVjX2Jhc2UgPSB2cHUtPnJlZ19i YXNlc1swXTsKPiA+ID4gLQl2cHUtPmN0cmxfYmFzZSA9IHZwdS0+cmVnX2Jhc2VzW3ZwdS0+dmFy aWFudC0+bnVtX3JlZ3MgLSAxXTsKPiA+ID4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gdnB1 LT5kZXYtPm9mX25vZGU7Cj4gPiA+ICsKPiA+ID4gKwl2cHUtPmN0cmxfYmFzZSA9IHN5c2Nvbl9y ZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUobnAsICJueHAsaW14OG0tdnB1LWN0cmwiKTsKPiA+ID4g KwlpZiAoSVNfRVJSKHZwdS0+Y3RybF9iYXNlKSkgewo+ID4gPiArCQlzdHJ1Y3QgcmVzb3VyY2Ug KnJlczsKPiA+ID4gKwkJdm9pZCBfX2lvbWVtICpjdHJsOwo+ID4gPiArCj4gPiA+ICsJCXJlcyA9 IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUodnB1LT5wZGV2LCBJT1JFU09VUkNFX01FTSwg ImN0cmwiKTsKPiA+ID4gKwkJY3RybCA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSh2cHUtPmRldiwg cmVzKTsKPiA+ID4gKwkJaWYgKElTX0VSUihjdHJsKSkKPiA+ID4gKwkJCXJldHVybiBQVFJfRVJS KGN0cmwpOwo+ID4gPiArCj4gPiA+ICsJCXZwdS0+Y3RybF9iYXNlID0gZGV2bV9yZWdtYXBfaW5p dF9tbWlvKHZwdS0+ZGV2LCBjdHJsLCAmY3RybF9yZWdtYXBfY3RybCk7Cj4gPiA+ICsJCWlmIChJ U19FUlIodnB1LT5jdHJsX2Jhc2UpKQo+ID4gPiArCQkJcmV0dXJuIFBUUl9FUlIodnB1LT5jdHJs X2Jhc2UpOwo+ID4gPiArCX0KPiA+ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgCXJldHVybiAwOwo+ID4gPiDCoMKgfQo+ID4gPiBAQCAt MTk4LDcgKzIxMSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2lycSBpbXg4bXFfaXJx c1tdID0gewo+ID4gPiDCoMKgfTsKPiA+ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpbXg4 bXFfY2xrX25hbWVzW10gPSB7ICJnMSIsICJnMiIsICJidXMiIH07Cj4gPiA+IC1zdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGlteDhtcV9yZWdfbmFtZXNbXSA9IHsgImcxIiwgImcyIiwgImN0cmwi IH07Cj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gwqDCoGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBpbXg4bXFfdnB1X3ZhcmlhbnQg PSB7Cj4gPiA+IMKgwqAJLmRlY19mbXRzID0gaW14OG1fdnB1X2RlY19mbXRzLAo+ID4gPiBAQCAt MjE1LDYgKzIyNyw0IEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBpbXg4bXFfdnB1X3Zh cmlhbnQgPSB7Cj4gPiA+IMKgwqAJLm51bV9pcnFzID0gQVJSQVlfU0laRShpbXg4bXFfaXJxcyks Cj4gPiA+IMKgwqAJLmNsa19uYW1lcyA9IGlteDhtcV9jbGtfbmFtZXMsCj4gPiA+IMKgwqAJLm51 bV9jbG9ja3MgPSBBUlJBWV9TSVpFKGlteDhtcV9jbGtfbmFtZXMpLAo+ID4gPiAtCS5yZWdfbmFt ZXMgPSBpbXg4bXFfcmVnX25hbWVzLAo+ID4gPiAtCS5udW1fcmVncyA9IEFSUkFZX1NJWkUoaW14 OG1xX3JlZ19uYW1lcykKPiA+ID4gwqDCoH07Cj4gPiAKPiA+IAo+IAoKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1yb2NrY2hpcCBtYWlsaW5n IGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tjaGlwCg== 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=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable 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 F31AAC433ED for ; Fri, 16 Apr 2021 15:17:15 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 730CB611AF for ; Fri, 16 Apr 2021 15:17:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 730CB611AF Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; 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:Date:Cc:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AwyK7FVi9Jgb26lam2zhpfg5OtEksVyYmyKS948by8c=; b=HT+DRzsh7mOc7QfwowdNtRa+I 7wd4H246SLHBD/LnDV8xdFZBrWq4ToGxq5ZnI055wpjiY1UL2kuV1p3LjS4vj2mcrfUPKh77edU9N ZPuqOHjGnCZ5Lf6fnCPuSM4Hv3yXiOkSFCL0DIWNfcsB5MZYA3wCyyzkX3JLoyUTdRmONWfsvxKJ+ Fery4t/nGo6sZED2g97KuwugrJsjf+xt54Lo+uzANs+JS2Wj+ieTblrJKPaIGFSkoofR7NC2Yq/td 80Ag/IAMxN5FR7wCYW5K2rkdhlR9i7cfPVEuRRGBIoJXABkBEcb9j/7AnvK7jIBqm/qRt/E8FJ5Oi XPOuYo/GQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lXQBb-002ZhW-Nz; Fri, 16 Apr 2021 15:15:11 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lXQBU-002ZgV-RJ for linux-arm-kernel@desiato.infradead.org; Fri, 16 Apr 2021 15:15:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Content-Type:References:In-Reply-To:Date:Cc:To:From:Subject: Message-ID:Sender:Reply-To:Content-ID:Content-Description; bh=Oltwjvzxcjz7cJpPYLbGsmXvjmNNGZ+EPqVf4OS5WW0=; b=Ha1SRjbGGC1sBp0fwl3snGhwEq ooETxl5hdK29/8mHnzxZIh/+P/c2l4deiSY+sSKTRCB5G0fJwyWSCt5ID2IAi1rYFgCphqvCJ7fXn T+Uma2vclhXbP4jEwGOlFvZbHzZedQUaShxc7g/uyRa2TXZXOzoZp+fH09bpKwuwBcDb08DBtOoCA LmyRvq1w5ASfL8wkIP5PRxOlJs6MHB2xIgP7R4WYkFyU08Hw1/Rw3SDLN5iRcAsdwWeU9JByDvcOU G4T5zma4afQfvyq8j5srpQKXvbM5ooQd9XAAiLtsuArHr9mk9ANQGFOK4sk1yEfhb018oRaoxJpDs uUjKPKbg==; Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lXQBP-009UfT-3A for linux-arm-kernel@lists.infradead.org; Fri, 16 Apr 2021 15:15:03 +0000 Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=[IPv6:::1]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lXQAo-0001kj-On; Fri, 16 Apr 2021 17:14:22 +0200 Message-ID: <529b61b1b1e6030c92a7944c4864246521b2ccdd.camel@pengutronix.de> Subject: Re: [PATCH v9 03/13] media: hantro: Use syscon instead of 'ctrl' register From: Lucas Stach To: Benjamin Gaignard , ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, festevam@gmail.com, lee.jones@linaro.org, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, hverkuil-cisco@xs4all.nl, emil.l.velikov@gmail.com, "Peng Fan (OSS)" , Jacky Bai Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-imx@nxp.com, kernel@pengutronix.de, kernel@collabora.com, cphealy@gmail.com, linux-arm-kernel@lists.infradead.org Date: Fri, 16 Apr 2021 17:14:18 +0200 In-Reply-To: References: <20210407073534.376722-1-benjamin.gaignard@collabora.com> <20210407073534.376722-4-benjamin.gaignard@collabora.com> <7bcbb787d82f21d42563d8fb7e3c2e7d40123932.camel@pengutronix.de> User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: l.stach@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210416_081459_307137_246C77D9 X-CRM114-Status: GOOD ( 42.05 ) 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 QW0gRnJlaXRhZywgZGVtIDE2LjA0LjIwMjEgdW0gMTU6MDggKzAyMDAgc2NocmllYiBCZW5qYW1p biBHYWlnbmFyZDoKPiBMZSAxNi8wNC8yMDIxIMOgIDEyOjU0LCBMdWNhcyBTdGFjaCBhIMOpY3Jp dMKgOgo+ID4gQW0gTWl0dHdvY2gsIGRlbSAwNy4wNC4yMDIxIHVtIDA5OjM1ICswMjAwIHNjaHJp ZWIgQmVuamFtaW4gR2FpZ25hcmQ6Cj4gPiA+IEluIG9yZGVyIHRvIGJlIGFibGUgdG8gc2hhcmUg dGhlIGNvbnRyb2wgaGFyZHdhcmUgYmxvY2sgYmV0d2Vlbgo+ID4gPiBWUFVzIHVzZSBhIHN5c2Nv biBpbnN0ZWFkIGEgaW9yZW1hcCBpdCBpbiB0aGUgZHJpdmVyLgo+ID4gPiBUbyBrZWVwIHRoZSBj b21wYXRpYmlsaXR5IHdpdGggb2xkZXIgRFQgaWYgJ254cCxpbXg4bXEtdnB1LWN0cmwnCj4gPiA+ IHBoYW5kbGUgaXMgbm90IGZvdW5kIGxvb2sgYXQgJ2N0cmwnIHJlZy1uYW1lLgo+ID4gPiBXaXRo IHRoZSBtZXRob2QgaXQgYmVjb21lcyB1c2VsZXNzIHRvIHByb3ZpZGUgYSBsaXN0IG9mIHJlZ2lz dGVyCj4gPiA+IG5hbWVzIHNvIHJlbW92ZSBpdC4KPiA+IFNvcnJ5IGZvciBwdXR0aW5nIGEgc3Bv a2UgaW4gdGhlIHdoZWVsIGFmdGVyIG1hbnkgaXRlcmF0aW9ucyBvZiB0aGUKPiA+IHNlcmllcy4K PiA+IAo+ID4gV2UganVzdCBkaXNjdXNzZWQgYSB3YXkgZm9yd2FyZCBvbiBob3cgdG8gaGFuZGxl IHRoZSBjbG9ja3MgYW5kIHJlc2V0cwo+ID4gcHJvdmlkZWQgYnkgdGhlIGJsa2N0bCBibG9jayBv biBpLk1YOE1NIGFuZCBsYXRlciBhbmQgaXQgc2VlbXMgdGhlcmUgaXMKPiA+IGEgY29uc2Vuc3Vz IG9uIHRyeWluZyB0byBwcm92aWRlIHZpcnR1YWwgcG93ZXIgZG9tYWlucyBmcm9tIGEgYmxrY3Rs Cj4gPiBkcml2ZXIsIGNvbnRyb2xsaW5nIGNsb2NrcyBhbmQgcmVzZXRzIGZvciB0aGUgZGV2aWNl cyBpbiB0aGUgcG93ZXIKPiA+IGRvbWFpbi4gSSB3b3VsZCBsaWtlIHRvIGF2b2lkIGludHJvZHVj aW5nIHlldCBhbm90aGVyIHdheSBvZiBoYW5kbGluZwo+ID4gdGhlIGJsa2N0bCBhbmQgdGh1cyB3 b3VsZCBsaWtlIHRvIGFsaWduIHRoZSBpLk1YOE1RIFZQVSBibGtjdGwgd2l0aAo+ID4gd2hhdCB3 ZSBhcmUgcGxhbm5pbmcgdG8gZG8gb24gdGhlIGxhdGVyIGNoaXAgZ2VuZXJhdGlvbnMuCj4gPiAK PiA+IENDJ2luZyBKYWNreSBCYWkgYW5kIFBlbmcgRmFuIGZyb20gTlhQLCBhcyB0aGV5IHdlcmUg Z29pbmcgdG8gZ2l2ZSB0aGlzCj4gPiB2aXJ0dWFsIHBvd2VyIGRvbWFpbiB0aGluZyBhIHNob3Qu Cj4gCj4gVGhhdCBjb3VsZCByZXBsYWNlIHRoZSAzIGZpcnN0IHBhdGNoZXMgYW5kIER0IHBhdGNo ZSBvZiB0aGlzIHNlcmllcwo+IGJ1dCB0aGF0IHdpbGwgbm90IGltcGFjdCB0aGUgaGV2YyBwYXJ0 LCBzbyBJIHdvbmRlciBpZiBwdXJlIGhldmMgcGF0Y2hlcwo+IGNvdWxkIGJlIG1lcmdlZCBhbnl3 YXkgPwo+IFRoZXkgYXJlIHJldmlld2VkIGFuZCBkb24ndCBkZXBlbmQgb2YgaG93IHRoZSBjdHJs IGJsb2NrIGlzIG1hbmFnZWQuCgpJJ20gbm90IHJlYWxseSBpbiBhIHBvc2l0aW9uIHRvIGdpdmUg YW55IGluZm9ybWVkIG9waW5pb24gYWJvdXQgdGhhdApodmVjIHBhdGNoZXMsIGFzIEkgb25seSBz a2ltbWVkIHRoZW0sIGJ1dCBJIGRvbid0IHNlZSBhbnkgcmVhc29uIHRvCmRlbGF5IHBhdGNoZXMg MDQtMTEgZnJvbSB0aGlzIHNlcmllcyB1bnRpbCB0aGUgaS5NWDhNIHBsYXRmb3JtIGlzc3Vlcwph cmUgc29ydGVkLiBBRkFJQ1MgdGhvc2UgdGhpbmdzIGFyZSB0b3RhbGx5IG9ydGhvZ29uYWwuCgpS ZWdhcmRzLApMdWNhcwoKPiA+IAo+ID4gUmVnYXJkcywKPiA+IEx1Y2FzCj4gPiAKPiA+ID4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9y YS5jb20+Cj4gPiA+IFJldmlld2VkLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJv bml4LmRlPgo+ID4gPiAtLS0KPiA+ID4gdmVyc2lvbiA5Ogo+ID4gPiDCoMKgLSBDb3JyZWN0aW9u cyBpbiBjb21taXQgbWVzc2FnZQo+ID4gPiAKPiA+ID4gdmVyc2lvbiA3Ogo+ID4gPiDCoMKgLSBB ZGQgUGhpbGlwcCByZXZpZXdlZC1ieSB0YWcuCj4gPiA+IMKgwqAtIENoYW5nZSBzeXNjb24gcGhh bmRsZSBuYW1lLgo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IHZlcnNpb24gNToKPiA+ID4gwqDCoC0gdXNlIHN5c2NvbiBpbnN0ZWFkIG9m IFZQVSByZXNldCBkcml2ZXIuCj4gPiA+IMKgwqAtIGlmIERUIGRvZXNuJ3QgcHJvdmlkZSBzeXNj b24ga2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsdHkgYnkgdXNpbmcKPiA+ID4gwqDCoMKgwqAnY3Ry bCcgcmVnLW5hbWUuCj4gPiA+IAo+ID4gPiDCoMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm8uaCAgICAgICB8ICA1ICstCj4gPiA+IMKgwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEv aGFudHJvL2lteDhtX3ZwdV9ody5jIHwgNTIgKysrKysrKysrKysrLS0tLS0tLS0tCj4gPiA+IMKg wqAyIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+ID4g PiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJv LmggYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4gPiA+IGluZGV4IDZj MWI4ODhhYmU3NS4uMzdiOWNlMDRiZDRlIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9oYW50cm8vaGFudHJvLmgKPiA+ID4gQEAgLTEzLDYgKzEzLDcgQEAKPiA+ID4gwqDCoCNkZWZp bmUgSEFOVFJPX0hfCj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+ IAo+ID4gPiAKPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KPiA+ ID4gKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC92 aWRlb2RldjIuaD4KPiA+ID4gwqDCoCNpbmNsdWRlIDxsaW51eC93YWl0Lmg+Cj4gPiA+IMKgwqAj aW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiA+IEBAIC0xNjcsNyArMTY4LDcgQEAgaGFudHJvX3Zk ZXZfdG9fZnVuYyhzdHJ1Y3QgdmlkZW9fZGV2aWNlICp2ZGV2KQo+ID4gPiDCoMKgwqAqIEByZWdf YmFzZXM6CQlNYXBwZWQgYWRkcmVzc2VzIG9mIFZQVSByZWdpc3RlcnMuCj4gPiA+IMKgwqDCoCog QGVuY19iYXNlOgkJTWFwcGVkIGFkZHJlc3Mgb2YgVlBVIGVuY29kZXIgcmVnaXN0ZXIgZm9yIGNv bnZlbmllbmNlLgo+ID4gPiDCoMKgwqAqIEBkZWNfYmFzZToJCU1hcHBlZCBhZGRyZXNzIG9mIFZQ VSBkZWNvZGVyIHJlZ2lzdGVyIGZvciBjb252ZW5pZW5jZS4KPiA+ID4gLSAqIEBjdHJsX2Jhc2U6 CQlNYXBwZWQgYWRkcmVzcyBvZiBWUFUgY29udHJvbCBibG9jay4KPiA+ID4gKyAqIEBjdHJsX2Jh c2U6CQlSZWdtYXAgb2YgVlBVIGNvbnRyb2wgYmxvY2suCj4gPiA+IMKgwqDCoCogQHZwdV9tdXRl eDoJCU11dGV4IHRvIHN5bmNocm9uaXplIFY0TDIgY2FsbHMuCj4gPiA+IMKgwqDCoCogQGlycWxv Y2s6CQlTcGlubG9jayB0byBzeW5jaHJvbml6ZSBhY2Nlc3MgdG8gZGF0YSBzdHJ1Y3R1cmVzCj4g PiA+IMKgwqDCoCoJCQlzaGFyZWQgd2l0aCBpbnRlcnJ1cHQgaGFuZGxlcnMuCj4gPiA+IEBAIC0x ODYsNyArMTg3LDcgQEAgc3RydWN0IGhhbnRyb19kZXYgewo+ID4gPiDCoMKgCXZvaWQgX19pb21l bSAqKnJlZ19iYXNlczsKPiA+ID4gwqDCoAl2b2lkIF9faW9tZW0gKmVuY19iYXNlOwo+ID4gPiDC oMKgCXZvaWQgX19pb21lbSAqZGVjX2Jhc2U7Cj4gPiA+IC0Jdm9pZCBfX2lvbWVtICpjdHJsX2Jh c2U7Cj4gPiA+ICsJc3RydWN0IHJlZ21hcCAqY3RybF9iYXNlOwo+ID4gPiDCoMKgCj4gPiA+IAo+ ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJc3RydWN0IG11dGV4 IHZwdV9tdXRleDsJLyogdmlkZW9fZGV2aWNlIGxvY2sgKi8KPiA+ID4gwqDCoAlzcGlubG9ja190 IGlycWxvY2s7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L2lteDhtX3ZwdV9ody5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVf aHcuYwo+ID4gPiBpbmRleCBjMjIyZGUwNzVlZjQuLjhkMGMzNDI1MjM0YiAxMDA2NDQKPiA+ID4g LS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9pbXg4bV92cHVfaHcuYwo+ID4gPiAr KysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2lteDhtX3ZwdV9ody5jCj4gPiA+IEBA IC03LDYgKzcsNyBAQAo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IMKgwqAjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiA+IMKgwqAjaW5j bHVkZSA8bGludXgvZGVsYXkuaD4KPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+ Cj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gwqDCoCNpbmNsdWRlICJoYW50cm8uaCIKPiA+ID4gwqDCoCNpbmNsdWRlICJoYW50cm9fanBl Zy5oIgo+ID4gPiBAQCAtMjQsMzAgKzI1LDI4IEBACj4gPiA+IMKgwqAjZGVmaW5lIENUUkxfRzFf UFBfRlVTRQkJMHgwYwo+ID4gPiDCoMKgI2RlZmluZSBDVFJMX0cyX0RFQ19GVVNFCTB4MTAKPiA+ ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIGN0cmxfcmVnbWFwX2N0cmwgPSB7Cj4g PiA+ICsJLnJlZ19iaXRzID0gMzIsCj4gPiA+ICsJLnZhbF9iaXRzID0gMzIsCj4gPiA+ICsJLnJl Z19zdHJpZGUgPSAweDE0LAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiDCoMKgc3RhdGljIHZvaWQg aW14OG1fc29mdF9yZXNldChzdHJ1Y3QgaGFudHJvX2RldiAqdnB1LCB1MzIgcmVzZXRfYml0cykK PiA+ID4gwqDCoHsKPiA+ID4gLQl1MzIgdmFsOwo+ID4gPiAtCj4gPiA+IMKgwqAJLyogQXNzZXJ0 ICovCj4gPiA+IC0JdmFsID0gcmVhZGwodnB1LT5jdHJsX2Jhc2UgKyBDVFJMX1NPRlRfUkVTRVQp Owo+ID4gPiAtCXZhbCAmPSB+cmVzZXRfYml0czsKPiA+ID4gLQl3cml0ZWwodmFsLCB2cHUtPmN0 cmxfYmFzZSArIENUUkxfU09GVF9SRVNFVCk7Cj4gPiA+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZw dS0+Y3RybF9iYXNlLCBDVFJMX1NPRlRfUkVTRVQsIHJlc2V0X2JpdHMsIDApOwo+ID4gPiDCoMKg Cj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJdWRl bGF5KDIpOwo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gCj4gPiA+IMKgwqAJLyogUmVsZWFzZSAqLwo+ID4gPiAtCXZhbCA9IHJlYWRsKHZwdS0+Y3Ry bF9iYXNlICsgQ1RSTF9TT0ZUX1JFU0VUKTsKPiA+ID4gLQl2YWwgfD0gcmVzZXRfYml0czsKPiA+ ID4gLQl3cml0ZWwodmFsLCB2cHUtPmN0cmxfYmFzZSArIENUUkxfU09GVF9SRVNFVCk7Cj4gPiA+ ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZwdS0+Y3RybF9iYXNlLCBDVFJMX1NPRlRfUkVTRVQsCj4g PiA+ICsJCQkgICByZXNldF9iaXRzLCByZXNldF9iaXRzKTsKPiA+ID4gwqDCoH0KPiA+ID4gwqDC oAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgc3Rh dGljIHZvaWQgaW14OG1fY2xrX2VuYWJsZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1LCB1MzIgY2xv Y2tfYml0cykKPiA+ID4gwqDCoHsKPiA+ID4gLQl1MzIgdmFsOwo+ID4gPiAtCj4gPiA+IC0JdmFs ID0gcmVhZGwodnB1LT5jdHJsX2Jhc2UgKyBDVFJMX0NMT0NLX0VOQUJMRSk7Cj4gPiA+IC0JdmFs IHw9IGNsb2NrX2JpdHM7Cj4gPiA+IC0Jd3JpdGVsKHZhbCwgdnB1LT5jdHJsX2Jhc2UgKyBDVFJM X0NMT0NLX0VOQUJMRSk7Cj4gPiA+ICsJcmVnbWFwX3VwZGF0ZV9iaXRzKHZwdS0+Y3RybF9iYXNl LCBDVFJMX0NMT0NLX0VOQUJMRSwKPiA+ID4gKwkJCSAgIGNsb2NrX2JpdHMsIGNsb2NrX2JpdHMp Owo+ID4gPiDCoMKgfQo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IMKgwqBzdGF0aWMgaW50IGlteDhtcV9ydW50aW1lX3Jlc3VtZShzdHJ1 Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gPiBAQCAtNjQsOSArNjMsOSBAQCBzdGF0aWMgaW50IGlt eDhtcV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgaGFudHJvX2RldiAqdnB1KQo+ID4gPiDCoMKgCWlt eDhtX2Nsa19lbmFibGUodnB1LCBDTE9DS19HMSB8IENMT0NLX0cyKTsKPiA+ID4gwqDCoAo+ID4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgCS8qIFNldCB2 YWx1ZXMgb2YgdGhlIGZ1c2UgcmVnaXN0ZXJzICovCj4gPiA+IC0Jd3JpdGVsKDB4ZmZmZmZmZmYs IHZwdS0+Y3RybF9iYXNlICsgQ1RSTF9HMV9ERUNfRlVTRSk7Cj4gPiA+IC0Jd3JpdGVsKDB4ZmZm ZmZmZmYsIHZwdS0+Y3RybF9iYXNlICsgQ1RSTF9HMV9QUF9GVVNFKTsKPiA+ID4gLQl3cml0ZWwo MHhmZmZmZmZmZiwgdnB1LT5jdHJsX2Jhc2UgKyBDVFJMX0cyX0RFQ19GVVNFKTsKPiA+ID4gKwly ZWdtYXBfd3JpdGUodnB1LT5jdHJsX2Jhc2UsIENUUkxfRzFfREVDX0ZVU0UsIDB4ZmZmZmZmZmYp Owo+ID4gPiArCXJlZ21hcF93cml0ZSh2cHUtPmN0cmxfYmFzZSwgQ1RSTF9HMV9QUF9GVVNFLCAw eGZmZmZmZmZmKTsKPiA+ID4gKwlyZWdtYXBfd3JpdGUodnB1LT5jdHJsX2Jhc2UsIENUUkxfRzJf REVDX0ZVU0UsIDB4ZmZmZmZmZmYpOwo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4g PiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IMKgwqAJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUo dnB1LT52YXJpYW50LT5udW1fY2xvY2tzLCB2cHUtPmNsb2Nrcyk7Cj4gPiA+IMKgwqAKPiA+ID4g Cj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gQEAgLTE1MCw4ICsxNDks MjIgQEAgc3RhdGljIGlycXJldHVybl90IGlteDhtX3ZwdV9nMV9pcnEoaW50IGlycSwgdm9pZCAq ZGV2X2lkKQo+ID4gPiDCoMKgCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ ID4gCj4gPiA+IMKgwqBzdGF0aWMgaW50IGlteDhtcV92cHVfaHdfaW5pdChzdHJ1Y3QgaGFudHJv X2RldiAqdnB1KQo+ID4gPiDCoMKgewo+ID4gPiAtCXZwdS0+ZGVjX2Jhc2UgPSB2cHUtPnJlZ19i YXNlc1swXTsKPiA+ID4gLQl2cHUtPmN0cmxfYmFzZSA9IHZwdS0+cmVnX2Jhc2VzW3ZwdS0+dmFy aWFudC0+bnVtX3JlZ3MgLSAxXTsKPiA+ID4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gdnB1 LT5kZXYtPm9mX25vZGU7Cj4gPiA+ICsKPiA+ID4gKwl2cHUtPmN0cmxfYmFzZSA9IHN5c2Nvbl9y ZWdtYXBfbG9va3VwX2J5X3BoYW5kbGUobnAsICJueHAsaW14OG0tdnB1LWN0cmwiKTsKPiA+ID4g KwlpZiAoSVNfRVJSKHZwdS0+Y3RybF9iYXNlKSkgewo+ID4gPiArCQlzdHJ1Y3QgcmVzb3VyY2Ug KnJlczsKPiA+ID4gKwkJdm9pZCBfX2lvbWVtICpjdHJsOwo+ID4gPiArCj4gPiA+ICsJCXJlcyA9 IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUodnB1LT5wZGV2LCBJT1JFU09VUkNFX01FTSwg ImN0cmwiKTsKPiA+ID4gKwkJY3RybCA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSh2cHUtPmRldiwg cmVzKTsKPiA+ID4gKwkJaWYgKElTX0VSUihjdHJsKSkKPiA+ID4gKwkJCXJldHVybiBQVFJfRVJS KGN0cmwpOwo+ID4gPiArCj4gPiA+ICsJCXZwdS0+Y3RybF9iYXNlID0gZGV2bV9yZWdtYXBfaW5p dF9tbWlvKHZwdS0+ZGV2LCBjdHJsLCAmY3RybF9yZWdtYXBfY3RybCk7Cj4gPiA+ICsJCWlmIChJ U19FUlIodnB1LT5jdHJsX2Jhc2UpKQo+ID4gPiArCQkJcmV0dXJuIFBUUl9FUlIodnB1LT5jdHJs X2Jhc2UpOwo+ID4gPiArCX0KPiA+ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgCXJldHVybiAwOwo+ID4gPiDCoMKgfQo+ID4gPiBAQCAt MTk4LDcgKzIxMSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaGFudHJvX2lycSBpbXg4bXFfaXJx c1tdID0gewo+ID4gPiDCoMKgfTsKPiA+ID4gwqDCoAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiDCoMKgc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpbXg4 bXFfY2xrX25hbWVzW10gPSB7ICJnMSIsICJnMiIsICJidXMiIH07Cj4gPiA+IC1zdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGlteDhtcV9yZWdfbmFtZXNbXSA9IHsgImcxIiwgImcyIiwgImN0cmwi IH07Cj4gPiA+IMKgwqAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAK PiA+ID4gwqDCoGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBpbXg4bXFfdnB1X3ZhcmlhbnQg PSB7Cj4gPiA+IMKgwqAJLmRlY19mbXRzID0gaW14OG1fdnB1X2RlY19mbXRzLAo+ID4gPiBAQCAt MjE1LDYgKzIyNyw0IEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBpbXg4bXFfdnB1X3Zh cmlhbnQgPSB7Cj4gPiA+IMKgwqAJLm51bV9pcnFzID0gQVJSQVlfU0laRShpbXg4bXFfaXJxcyks Cj4gPiA+IMKgwqAJLmNsa19uYW1lcyA9IGlteDhtcV9jbGtfbmFtZXMsCj4gPiA+IMKgwqAJLm51 bV9jbG9ja3MgPSBBUlJBWV9TSVpFKGlteDhtcV9jbGtfbmFtZXMpLAo+ID4gPiAtCS5yZWdfbmFt ZXMgPSBpbXg4bXFfcmVnX25hbWVzLAo+ID4gPiAtCS5udW1fcmVncyA9IEFSUkFZX1NJWkUoaW14 OG1xX3JlZ19uYW1lcykKPiA+ID4gwqDCoH07Cj4gPiAKPiA+IAo+IAoKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxp bmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3Rz LmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==