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=-15.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 A736BC433E9 for ; Fri, 5 Mar 2021 09:28:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5578165015 for ; Fri, 5 Mar 2021 09:28:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229653AbhCEJ2T (ORCPT ); Fri, 5 Mar 2021 04:28:19 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:35630 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229591AbhCEJ1y (ORCPT ); Fri, 5 Mar 2021 04:27:54 -0500 Received: from [IPv6:2a01:e0a:4cb:a870:b9e2:e9f:d661:5a2f] (unknown [IPv6:2a01:e0a:4cb:a870:b9e2:e9f:d661:5a2f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 9279D1F468C9; Fri, 5 Mar 2021 09:27:47 +0000 (GMT) Subject: Re: [PATCH v4 05/11] media: hantro: Add a field to distinguish the hardware versions To: Ezequiel Garcia , p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com References: <20210303113952.178519-1-benjamin.gaignard@collabora.com> <20210303113952.178519-6-benjamin.gaignard@collabora.com> <32899bc605ae7173c29b25a396e21d7fad32d4bf.camel@collabora.com> From: Benjamin Gaignard Message-ID: <23f62276-237d-1161-259a-84748db7365b@collabora.com> Date: Fri, 5 Mar 2021 10:27:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <32899bc605ae7173c29b25a396e21d7fad32d4bf.camel@collabora.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 03/03/2021 à 23:05, Ezequiel Garcia a écrit : > On Wed, 2021-03-03 at 12:39 +0100, Benjamin Gaignard wrote: >> Decoders hardware blocks could exist in multiple versions: add >> a field to distinguish them at runtime. >> G2 hardware block doesn't have postprocessor hantro_needs_postproc >> function should always returns false in for this hardware. >> hantro_needs_postproc function becoming to much complex to >> stay inline in .h file move it to .c file. >> > Note that I already questioned this patch before: > > https://lkml.org/lkml/2021/2/17/722 > > I think it's better to rely on of_device_id.data for this > type of thing. > > In particular, I was expecting that just using > hantro_variant.postproc_regs would be enough. > > Can you try if that works and avoid reading swreg(0) > and probing the hardware core? I have found a way to remove this: if the variant doesn't define post processor formats, needs_postproc function will always returns false and that what the only useful usage of this version field. Benjamin > > Thanks! > Ezequiel > >> Keep the default behavoir to be G1 hardware. >> >> Signed-off-by: Benjamin Gaignard >> --- >>  drivers/staging/media/hantro/hantro.h          | 13 +++++++------ >>  drivers/staging/media/hantro/hantro_drv.c      |  2 ++ >>  drivers/staging/media/hantro/hantro_postproc.c | 17 +++++++++++++++++ >>  3 files changed, 26 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/staging/media/hantro/hantro.h b/drivers/staging/media/hantro/hantro.h >> index a76a0d79db9f..05876e426419 100644 >> --- a/drivers/staging/media/hantro/hantro.h >> +++ b/drivers/staging/media/hantro/hantro.h >> @@ -37,6 +37,9 @@ struct hantro_codec_ops; >>  #define HANTRO_HEVC_DECODER    BIT(19) >>  #define HANTRO_DECODERS                0xffff0000 >> >> +#define HANTRO_G1_REV          0x6731 >> +#define HANTRO_G2_REV          0x6732 >> + >>  /** >>   * struct hantro_irq - irq handler and name >>   * >> @@ -171,6 +174,7 @@ hantro_vdev_to_func(struct video_device *vdev) >>   * @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. >> + * @core_hw_dec_rev    Runtime detected HW decoder core revision >>   * @vpu_mutex:         Mutex to synchronize V4L2 calls. >>   * @irqlock:           Spinlock to synchronize access to data structures >>   *                     shared with interrupt handlers. >> @@ -190,6 +194,7 @@ struct hantro_dev { >>         void __iomem *enc_base; >>         void __iomem *dec_base; >>         void __iomem *ctrl_base; >> +       u32 core_hw_dec_rev; >> >>         struct mutex vpu_mutex; /* video_device lock */ >>         spinlock_t irqlock; >> @@ -412,12 +417,8 @@ hantro_get_dst_buf(struct hantro_ctx *ctx) >>         return v4l2_m2m_next_dst_buf(ctx->fh.m2m_ctx); >>  } >> >> -static inline bool >> -hantro_needs_postproc(const struct hantro_ctx *ctx, >> -                     const struct hantro_fmt *fmt) >> -{ >> -       return !ctx->is_encoder && fmt->fourcc != V4L2_PIX_FMT_NV12; >> -} >> +bool hantro_needs_postproc(const struct hantro_ctx *ctx, >> +                          const struct hantro_fmt *fmt); >> >>  static inline dma_addr_t >>  hantro_get_dec_buf_addr(struct hantro_ctx *ctx, struct vb2_buffer *vb) >> diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c >> index f0b68e16fcc0..e3e6df28f470 100644 >> --- a/drivers/staging/media/hantro/hantro_drv.c >> +++ b/drivers/staging/media/hantro/hantro_drv.c >> @@ -836,6 +836,8 @@ static int hantro_probe(struct platform_device *pdev) >>         } >>         vpu->enc_base = vpu->reg_bases[0] + vpu->variant->enc_offset; >>         vpu->dec_base = vpu->reg_bases[0] + vpu->variant->dec_offset; >> +       /* by default decoder is G1 */ >> +       vpu->core_hw_dec_rev = HANTRO_G1_REV; >> >>         ret = dma_set_coherent_mask(vpu->dev, DMA_BIT_MASK(32)); >>         if (ret) { >> diff --git a/drivers/staging/media/hantro/hantro_postproc.c b/drivers/staging/media/hantro/hantro_postproc.c >> index 6d2a8f2a8f0b..050880f720d6 100644 >> --- a/drivers/staging/media/hantro/hantro_postproc.c >> +++ b/drivers/staging/media/hantro/hantro_postproc.c >> @@ -50,6 +50,23 @@ const struct hantro_postproc_regs hantro_g1_postproc_regs = { >>         .display_width = {G1_REG_PP_DISPLAY_WIDTH, 0, 0xfff}, >>  }; >> >> +bool hantro_needs_postproc(const struct hantro_ctx *ctx, >> +                          const struct hantro_fmt *fmt) >> +{ >> +       struct hantro_dev *vpu = ctx->dev; >> + >> +       if (ctx->is_encoder) >> +               return false; >> + >> +       if (vpu->core_hw_dec_rev == HANTRO_G1_REV):q >> +               return fmt->fourcc != V4L2_PIX_FMT_NV12; >> + >> +       if (vpu->core_hw_dec_rev == HANTRO_G2_REV) >> +               return false; >> + >> +       return false; >> +} >> + >>  void hantro_postproc_enable(struct hantro_ctx *ctx) >>  { >>         struct hantro_dev *vpu = ctx->dev; > > 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=-15.3 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,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 0CFD3C433DB for ; Fri, 5 Mar 2021 09:28:12 +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 89BA564FE1 for ; Fri, 5 Mar 2021 09:28:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 89BA564FE1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com 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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=0oggSwLQl5yi7eMRALE+Tf8mbKSX+WhX5pdHEjlFgVI=; b=mUBcaGVkKS8AiXim8y/SALnM0 nXEcCX/MKNO0nlazKiMIuYR/6S/qfeWU81dhGyQEm/HxMpVn9OBIZTbaSoIlMiNDpSyimux6WT63j LLWhtFdcc/B/Kj3Swt8CP2pJCZ05YEZP16bK981OAp59Hw9MFpLeKucBzWVqOLXx3GkGilyujWmaX BUCvZp8nJAqyUwHrWvANHcqJXWfrlYRqGTTRpb4d52HG7kezTqYG4Kz3cRLlWhrtJGf1GjKFzfl1l FRLF3YEV+ACfx9UlEGOA5wlcizb4DF9dSYIDcsl7xe05jlNVWAoXSjQFsGP5faGM7OFhk/reS5niQ ODcB6fWAw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lI6kg-00EHIR-0z; Fri, 05 Mar 2021 09:28:06 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lI6kU-00EHFq-Hn; Fri, 05 Mar 2021 09:27:56 +0000 Received: from [IPv6:2a01:e0a:4cb:a870:b9e2:e9f:d661:5a2f] (unknown [IPv6:2a01:e0a:4cb:a870:b9e2:e9f:d661:5a2f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 9279D1F468C9; Fri, 5 Mar 2021 09:27:47 +0000 (GMT) Subject: Re: [PATCH v4 05/11] media: hantro: Add a field to distinguish the hardware versions To: Ezequiel Garcia , p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com References: <20210303113952.178519-1-benjamin.gaignard@collabora.com> <20210303113952.178519-6-benjamin.gaignard@collabora.com> <32899bc605ae7173c29b25a396e21d7fad32d4bf.camel@collabora.com> From: Benjamin Gaignard Message-ID: <23f62276-237d-1161-259a-84748db7365b@collabora.com> Date: Fri, 5 Mar 2021 10:27:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <32899bc605ae7173c29b25a396e21d7fad32d4bf.camel@collabora.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210305_092754_727868_A8C9B857 X-CRM114-Status: GOOD ( 30.01 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org CkxlIDAzLzAzLzIwMjEgw6AgMjM6MDUsIEV6ZXF1aWVsIEdhcmNpYSBhIMOpY3JpdMKgOgo+IE9u IFdlZCwgMjAyMS0wMy0wMyBhdCAxMjozOSArMDEwMCwgQmVuamFtaW4gR2FpZ25hcmQgd3JvdGU6 Cj4+IERlY29kZXJzIGhhcmR3YXJlIGJsb2NrcyBjb3VsZCBleGlzdCBpbiBtdWx0aXBsZSB2ZXJz aW9uczogYWRkCj4+IGEgZmllbGQgdG8gZGlzdGluZ3Vpc2ggdGhlbSBhdCBydW50aW1lLgo+PiBH MiBoYXJkd2FyZSBibG9jayBkb2Vzbid0IGhhdmUgcG9zdHByb2Nlc3NvciBoYW50cm9fbmVlZHNf cG9zdHByb2MKPj4gZnVuY3Rpb24gc2hvdWxkIGFsd2F5cyByZXR1cm5zIGZhbHNlIGluIGZvciB0 aGlzIGhhcmR3YXJlLgo+PiBoYW50cm9fbmVlZHNfcG9zdHByb2MgZnVuY3Rpb24gYmVjb21pbmcg dG8gbXVjaCBjb21wbGV4IHRvCj4+IHN0YXkgaW5saW5lIGluIC5oIGZpbGUgbW92ZSBpdCB0byAu YyBmaWxlLgo+Pgo+IE5vdGUgdGhhdCBJIGFscmVhZHkgcXVlc3Rpb25lZCB0aGlzIHBhdGNoIGJl Zm9yZToKPgo+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDIxLzIvMTcvNzIyCj4KPiBJIHRoaW5r IGl0J3MgYmV0dGVyIHRvIHJlbHkgb24gb2ZfZGV2aWNlX2lkLmRhdGEgZm9yIHRoaXMKPiB0eXBl IG9mIHRoaW5nLgo+Cj4gSW4gcGFydGljdWxhciwgSSB3YXMgZXhwZWN0aW5nIHRoYXQganVzdCB1 c2luZwo+IGhhbnRyb192YXJpYW50LnBvc3Rwcm9jX3JlZ3Mgd291bGQgYmUgZW5vdWdoLgo+Cj4g Q2FuIHlvdSB0cnkgaWYgdGhhdCB3b3JrcyBhbmQgYXZvaWQgcmVhZGluZyBzd3JlZygwKQo+IGFu ZCBwcm9iaW5nIHRoZSBoYXJkd2FyZSBjb3JlPwoKSSBoYXZlIGZvdW5kIGEgd2F5IHRvIHJlbW92 ZSB0aGlzOiBpZiB0aGUgdmFyaWFudCBkb2Vzbid0IGRlZmluZQpwb3N0IHByb2Nlc3NvciBmb3Jt YXRzLCBuZWVkc19wb3N0cHJvYyBmdW5jdGlvbiB3aWxsIGFsd2F5cyByZXR1cm5zCmZhbHNlIGFu ZCB0aGF0IHdoYXQgdGhlIG9ubHkgdXNlZnVsIHVzYWdlIG9mIHRoaXMgdmVyc2lvbiBmaWVsZC4K CkJlbmphbWluCgo+Cj4gVGhhbmtzIQo+IEV6ZXF1aWVsCj4KPj4gS2VlcCB0aGUgZGVmYXVsdCBi ZWhhdm9pciB0byBiZSBHMSBoYXJkd2FyZS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4g R2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+PiAgwqBk cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5owqDCoMKgwqDCoMKgwqDCoMKgIHwg MTMgKysrKysrKy0tLS0tLQo+PiAgwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b19kcnYuY8KgwqDCoMKgwqAgfMKgIDIgKysKPj4gIMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hh bnRyby9oYW50cm9fcG9zdHByb2MuYyB8IDE3ICsrKysrKysrKysrKysrKysrCj4+ICDCoDMgZmls ZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvLmggYi9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4+IGluZGV4IGE3NmEwZDc5ZGI5Zi4uMDU4NzZl NDI2NDE5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy by5oCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvLmgKPj4gQEAg LTM3LDYgKzM3LDkgQEAgc3RydWN0IGhhbnRyb19jb2RlY19vcHM7Cj4+ICDCoCNkZWZpbmUgSEFO VFJPX0hFVkNfREVDT0RFUsKgwqDCoMKgQklUKDE5KQo+PiAgwqAjZGVmaW5lIEhBTlRST19ERUNP REVSU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHhmZmZmMDAwMAo+PiAgIAo+PiAr I2RlZmluZSBIQU5UUk9fRzFfUkVWwqDCoMKgwqDCoMKgwqDCoMKgwqAweDY3MzEKPj4gKyNkZWZp bmUgSEFOVFJPX0cyX1JFVsKgwqDCoMKgwqDCoMKgwqDCoMKgMHg2NzMyCj4+ICsKPj4gIMKgLyoq Cj4+ICDCoCAqIHN0cnVjdCBoYW50cm9faXJxIC0gaXJxIGhhbmRsZXIgYW5kIG5hbWUKPj4gIMKg ICoKPj4gQEAgLTE3MSw2ICsxNzQsNyBAQCBoYW50cm9fdmRldl90b19mdW5jKHN0cnVjdCB2aWRl b19kZXZpY2UgKnZkZXYpCj4+ICDCoCAqIEBlbmNfYmFzZTrCoMKgwqDCoMKgwqDCoMKgwqDCoE1h cHBlZCBhZGRyZXNzIG9mIFZQVSBlbmNvZGVyIHJlZ2lzdGVyIGZvciBjb252ZW5pZW5jZS4KPj4g IMKgICogQGRlY19iYXNlOsKgwqDCoMKgwqDCoMKgwqDCoMKgTWFwcGVkIGFkZHJlc3Mgb2YgVlBV IGRlY29kZXIgcmVnaXN0ZXIgZm9yIGNvbnZlbmllbmNlLgo+PiAgwqAgKiBAY3RybF9iYXNlOsKg wqDCoMKgwqDCoMKgwqDCoE1hcHBlZCBhZGRyZXNzIG9mIFZQVSBjb250cm9sIGJsb2NrLgo+PiAr ICogQGNvcmVfaHdfZGVjX3JldsKgwqDCoMKgUnVudGltZSBkZXRlY3RlZCBIVyBkZWNvZGVyIGNv cmUgcmV2aXNpb24KPj4gIMKgICogQHZwdV9tdXRleDrCoMKgwqDCoMKgwqDCoMKgwqBNdXRleCB0 byBzeW5jaHJvbml6ZSBWNEwyIGNhbGxzLgo+PiAgwqAgKiBAaXJxbG9jazrCoMKgwqDCoMKgwqDC oMKgwqDCoMKgU3BpbmxvY2sgdG8gc3luY2hyb25pemUgYWNjZXNzIHRvIGRhdGEgc3RydWN0dXJl cwo+PiAgwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNoYXJl ZCB3aXRoIGludGVycnVwdCBoYW5kbGVycy4KPj4gQEAgLTE5MCw2ICsxOTQsNyBAQCBzdHJ1Y3Qg aGFudHJvX2RldiB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgdm9pZCBfX2lvbWVtICplbmNfYmFzZTsK Pj4gIMKgwqDCoMKgwqDCoMKgwqB2b2lkIF9faW9tZW0gKmRlY19iYXNlOwo+PiAgwqDCoMKgwqDC oMKgwqDCoHZvaWQgX19pb21lbSAqY3RybF9iYXNlOwo+PiArwqDCoMKgwqDCoMKgwqB1MzIgY29y ZV9od19kZWNfcmV2Owo+PiAgIAo+PiAgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtdXRleCB2cHVf bXV0ZXg7wqAvKiB2aWRlb19kZXZpY2UgbG9jayAqLwo+PiAgwqDCoMKgwqDCoMKgwqDCoHNwaW5s b2NrX3QgaXJxbG9jazsKPj4gQEAgLTQxMiwxMiArNDE3LDggQEAgaGFudHJvX2dldF9kc3RfYnVm KHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4+ICDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHY0bDJf bTJtX25leHRfZHN0X2J1ZihjdHgtPmZoLm0ybV9jdHgpOwo+PiAgwqB9Cj4+ICAgCj4+IC1zdGF0 aWMgaW5saW5lIGJvb2wKPj4gLWhhbnRyb19uZWVkc19wb3N0cHJvYyhjb25zdCBzdHJ1Y3QgaGFu dHJvX2N0eCAqY3R4LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCAqZm10KQo+PiAtewo+PiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gIWN0eC0+aXNfZW5jb2RlciAmJiBmbXQtPmZvdXJjYyAhPSBWNEwyX1BJWF9GTVRfTlYx MjsKPj4gLX0KPj4gK2Jvb2wgaGFudHJvX25lZWRzX3Bvc3Rwcm9jKGNvbnN0IHN0cnVjdCBoYW50 cm9fY3R4ICpjdHgsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCAqZm10KTsKPj4gICAKPj4gIMKgc3Rh dGljIGlubGluZSBkbWFfYWRkcl90Cj4+ICDCoGhhbnRyb19nZXRfZGVjX2J1Zl9hZGRyKHN0cnVj dCBoYW50cm9fY3R4ICpjdHgsIHN0cnVjdCB2YjJfYnVmZmVyICp2YikKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jIGIvZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPj4gaW5kZXggZjBiNjhlMTZmY2MwLi5lM2U2 ZGYyOGY0NzAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2Rydi5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Ry di5jCj4+IEBAIC04MzYsNiArODM2LDggQEAgc3RhdGljIGludCBoYW50cm9fcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gIMKgwqDCoMKgwqDCoMKgwqB9Cj4+ICDCoMKgwqDC oMKgwqDCoMKgdnB1LT5lbmNfYmFzZSA9IHZwdS0+cmVnX2Jhc2VzWzBdICsgdnB1LT52YXJpYW50 LT5lbmNfb2Zmc2V0Owo+PiAgwqDCoMKgwqDCoMKgwqDCoHZwdS0+ZGVjX2Jhc2UgPSB2cHUtPnJl Z19iYXNlc1swXSArIHZwdS0+dmFyaWFudC0+ZGVjX29mZnNldDsKPj4gK8KgwqDCoMKgwqDCoMKg LyogYnkgZGVmYXVsdCBkZWNvZGVyIGlzIEcxICovCj4+ICvCoMKgwqDCoMKgwqDCoHZwdS0+Y29y ZV9od19kZWNfcmV2ID0gSEFOVFJPX0cxX1JFVjsKPj4gICAKPj4gIMKgwqDCoMKgwqDCoMKgwqBy ZXQgPSBkbWFfc2V0X2NvaGVyZW50X21hc2sodnB1LT5kZXYsIERNQV9CSVRfTUFTSygzMikpOwo+ PiAgwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpIHsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3Bvc3Rwcm9jLmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19wb3N0cHJvYy5jCj4+IGluZGV4IDZkMmE4ZjJhOGYwYi4uMDUwODgw ZjcyMGQ2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b19wb3N0cHJvYy5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJv X3Bvc3Rwcm9jLmMKPj4gQEAgLTUwLDYgKzUwLDIzIEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fcG9z dHByb2NfcmVncyBoYW50cm9fZzFfcG9zdHByb2NfcmVncyA9IHsKPj4gIMKgwqDCoMKgwqDCoMKg wqAuZGlzcGxheV93aWR0aCA9IHtHMV9SRUdfUFBfRElTUExBWV9XSURUSCwgMCwgMHhmZmZ9LAo+ PiAgwqB9Owo+PiAgIAo+PiArYm9vbCBoYW50cm9fbmVlZHNfcG9zdHByb2MoY29uc3Qgc3RydWN0 IGhhbnRyb19jdHggKmN0eCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBoYW50cm9fZm10ICpmbXQpCj4+ICt7Cj4+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fZGV2ICp2cHUgPSBjdHgtPmRldjsKPj4gKwo+PiAr wqDCoMKgwqDCoMKgwqBpZiAoY3R4LT5pc19lbmNvZGVyKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIGZhbHNlOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoGlmICh2cHUt PmNvcmVfaHdfZGVjX3JldiA9PSBIQU5UUk9fRzFfUkVWKTpxCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gZm10LT5mb3VyY2MgIT0gVjRMMl9QSVhfRk1UX05WMTI7Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgaWYgKHZwdS0+Y29yZV9od19kZWNfcmV2ID09IEhBTlRST19H Ml9SRVYpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZmFsc2U7Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIGZhbHNlOwo+PiArfQo+PiArCj4+ICDCoHZvaWQg aGFudHJvX3Bvc3Rwcm9jX2VuYWJsZShzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgwqB7Cj4+ ICDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGhhbnRyb19kZXYgKnZwdSA9IGN0eC0+ZGV2Owo+Cj4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJv Y2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK 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=-15.3 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,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 15ADCC433E0 for ; Fri, 5 Mar 2021 09:29:41 +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 8868B64FE1 for ; Fri, 5 Mar 2021 09:29:40 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8868B64FE1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com 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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=e2lyBsJEXHPkK/I0SR68BPmdkaEZU7/SaQOZ5sPHFc4=; b=F0IC/Q1wLzqIGtkPc1/WevGVx YATnp4EeOiFH8SoFPHvoSNunTJ/+NCBL51r+TvJ57mgjNIiocwunOe41Yd4GBaEnsFYIYH/SK6Oge 6RevjajkRxyT6Tk3f9Pf1gng7Ar4yM0aD4MaFKh1dots9VOmEs+dzhtzN7V8LxkAk/ynEVfvAacct bu3HduyLLyFfrwmC7M1u33zTAaL8KhvR4bofeMx5MWCXXxocV0EKTwufSu9ZaYYYmmqSrXdoZGkg0 IBjc1pRImPMEaiRldKlU+ecRKTovtEN+Wdqbnc+/L7/1mIWi9uYIN3BHHh4WI4Ayl1Qg9yEdlLC4Q qcjDXnr4w==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lI6kZ-00EHHR-L1; Fri, 05 Mar 2021 09:27:59 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lI6kU-00EHFq-Hn; Fri, 05 Mar 2021 09:27:56 +0000 Received: from [IPv6:2a01:e0a:4cb:a870:b9e2:e9f:d661:5a2f] (unknown [IPv6:2a01:e0a:4cb:a870:b9e2:e9f:d661:5a2f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 9279D1F468C9; Fri, 5 Mar 2021 09:27:47 +0000 (GMT) Subject: Re: [PATCH v4 05/11] media: hantro: Add a field to distinguish the hardware versions To: Ezequiel Garcia , p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com References: <20210303113952.178519-1-benjamin.gaignard@collabora.com> <20210303113952.178519-6-benjamin.gaignard@collabora.com> <32899bc605ae7173c29b25a396e21d7fad32d4bf.camel@collabora.com> From: Benjamin Gaignard Message-ID: <23f62276-237d-1161-259a-84748db7365b@collabora.com> Date: Fri, 5 Mar 2021 10:27:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: <32899bc605ae7173c29b25a396e21d7fad32d4bf.camel@collabora.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210305_092754_727868_A8C9B857 X-CRM114-Status: GOOD ( 30.01 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CkxlIDAzLzAzLzIwMjEgw6AgMjM6MDUsIEV6ZXF1aWVsIEdhcmNpYSBhIMOpY3JpdMKgOgo+IE9u IFdlZCwgMjAyMS0wMy0wMyBhdCAxMjozOSArMDEwMCwgQmVuamFtaW4gR2FpZ25hcmQgd3JvdGU6 Cj4+IERlY29kZXJzIGhhcmR3YXJlIGJsb2NrcyBjb3VsZCBleGlzdCBpbiBtdWx0aXBsZSB2ZXJz aW9uczogYWRkCj4+IGEgZmllbGQgdG8gZGlzdGluZ3Vpc2ggdGhlbSBhdCBydW50aW1lLgo+PiBH MiBoYXJkd2FyZSBibG9jayBkb2Vzbid0IGhhdmUgcG9zdHByb2Nlc3NvciBoYW50cm9fbmVlZHNf cG9zdHByb2MKPj4gZnVuY3Rpb24gc2hvdWxkIGFsd2F5cyByZXR1cm5zIGZhbHNlIGluIGZvciB0 aGlzIGhhcmR3YXJlLgo+PiBoYW50cm9fbmVlZHNfcG9zdHByb2MgZnVuY3Rpb24gYmVjb21pbmcg dG8gbXVjaCBjb21wbGV4IHRvCj4+IHN0YXkgaW5saW5lIGluIC5oIGZpbGUgbW92ZSBpdCB0byAu YyBmaWxlLgo+Pgo+IE5vdGUgdGhhdCBJIGFscmVhZHkgcXVlc3Rpb25lZCB0aGlzIHBhdGNoIGJl Zm9yZToKPgo+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDIxLzIvMTcvNzIyCj4KPiBJIHRoaW5r IGl0J3MgYmV0dGVyIHRvIHJlbHkgb24gb2ZfZGV2aWNlX2lkLmRhdGEgZm9yIHRoaXMKPiB0eXBl IG9mIHRoaW5nLgo+Cj4gSW4gcGFydGljdWxhciwgSSB3YXMgZXhwZWN0aW5nIHRoYXQganVzdCB1 c2luZwo+IGhhbnRyb192YXJpYW50LnBvc3Rwcm9jX3JlZ3Mgd291bGQgYmUgZW5vdWdoLgo+Cj4g Q2FuIHlvdSB0cnkgaWYgdGhhdCB3b3JrcyBhbmQgYXZvaWQgcmVhZGluZyBzd3JlZygwKQo+IGFu ZCBwcm9iaW5nIHRoZSBoYXJkd2FyZSBjb3JlPwoKSSBoYXZlIGZvdW5kIGEgd2F5IHRvIHJlbW92 ZSB0aGlzOiBpZiB0aGUgdmFyaWFudCBkb2Vzbid0IGRlZmluZQpwb3N0IHByb2Nlc3NvciBmb3Jt YXRzLCBuZWVkc19wb3N0cHJvYyBmdW5jdGlvbiB3aWxsIGFsd2F5cyByZXR1cm5zCmZhbHNlIGFu ZCB0aGF0IHdoYXQgdGhlIG9ubHkgdXNlZnVsIHVzYWdlIG9mIHRoaXMgdmVyc2lvbiBmaWVsZC4K CkJlbmphbWluCgo+Cj4gVGhhbmtzIQo+IEV6ZXF1aWVsCj4KPj4gS2VlcCB0aGUgZGVmYXVsdCBi ZWhhdm9pciB0byBiZSBHMSBoYXJkd2FyZS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4g R2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4+IC0tLQo+PiAgwqBk cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5owqDCoMKgwqDCoMKgwqDCoMKgIHwg MTMgKysrKysrKy0tLS0tLQo+PiAgwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b19kcnYuY8KgwqDCoMKgwqAgfMKgIDIgKysKPj4gIMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hh bnRyby9oYW50cm9fcG9zdHByb2MuYyB8IDE3ICsrKysrKysrKysrKysrKysrCj4+ICDCoDMgZmls ZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvLmggYi9kcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyby5oCj4+IGluZGV4IGE3NmEwZDc5ZGI5Zi4uMDU4NzZl NDI2NDE5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy by5oCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvLmgKPj4gQEAg LTM3LDYgKzM3LDkgQEAgc3RydWN0IGhhbnRyb19jb2RlY19vcHM7Cj4+ICDCoCNkZWZpbmUgSEFO VFJPX0hFVkNfREVDT0RFUsKgwqDCoMKgQklUKDE5KQo+PiAgwqAjZGVmaW5lIEhBTlRST19ERUNP REVSU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgMHhmZmZmMDAwMAo+PiAgIAo+PiAr I2RlZmluZSBIQU5UUk9fRzFfUkVWwqDCoMKgwqDCoMKgwqDCoMKgwqAweDY3MzEKPj4gKyNkZWZp bmUgSEFOVFJPX0cyX1JFVsKgwqDCoMKgwqDCoMKgwqDCoMKgMHg2NzMyCj4+ICsKPj4gIMKgLyoq Cj4+ICDCoCAqIHN0cnVjdCBoYW50cm9faXJxIC0gaXJxIGhhbmRsZXIgYW5kIG5hbWUKPj4gIMKg ICoKPj4gQEAgLTE3MSw2ICsxNzQsNyBAQCBoYW50cm9fdmRldl90b19mdW5jKHN0cnVjdCB2aWRl b19kZXZpY2UgKnZkZXYpCj4+ICDCoCAqIEBlbmNfYmFzZTrCoMKgwqDCoMKgwqDCoMKgwqDCoE1h cHBlZCBhZGRyZXNzIG9mIFZQVSBlbmNvZGVyIHJlZ2lzdGVyIGZvciBjb252ZW5pZW5jZS4KPj4g IMKgICogQGRlY19iYXNlOsKgwqDCoMKgwqDCoMKgwqDCoMKgTWFwcGVkIGFkZHJlc3Mgb2YgVlBV IGRlY29kZXIgcmVnaXN0ZXIgZm9yIGNvbnZlbmllbmNlLgo+PiAgwqAgKiBAY3RybF9iYXNlOsKg wqDCoMKgwqDCoMKgwqDCoE1hcHBlZCBhZGRyZXNzIG9mIFZQVSBjb250cm9sIGJsb2NrLgo+PiAr ICogQGNvcmVfaHdfZGVjX3JldsKgwqDCoMKgUnVudGltZSBkZXRlY3RlZCBIVyBkZWNvZGVyIGNv cmUgcmV2aXNpb24KPj4gIMKgICogQHZwdV9tdXRleDrCoMKgwqDCoMKgwqDCoMKgwqBNdXRleCB0 byBzeW5jaHJvbml6ZSBWNEwyIGNhbGxzLgo+PiAgwqAgKiBAaXJxbG9jazrCoMKgwqDCoMKgwqDC oMKgwqDCoMKgU3BpbmxvY2sgdG8gc3luY2hyb25pemUgYWNjZXNzIHRvIGRhdGEgc3RydWN0dXJl cwo+PiAgwqAgKsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHNoYXJl ZCB3aXRoIGludGVycnVwdCBoYW5kbGVycy4KPj4gQEAgLTE5MCw2ICsxOTQsNyBAQCBzdHJ1Y3Qg aGFudHJvX2RldiB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgdm9pZCBfX2lvbWVtICplbmNfYmFzZTsK Pj4gIMKgwqDCoMKgwqDCoMKgwqB2b2lkIF9faW9tZW0gKmRlY19iYXNlOwo+PiAgwqDCoMKgwqDC oMKgwqDCoHZvaWQgX19pb21lbSAqY3RybF9iYXNlOwo+PiArwqDCoMKgwqDCoMKgwqB1MzIgY29y ZV9od19kZWNfcmV2Owo+PiAgIAo+PiAgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBtdXRleCB2cHVf bXV0ZXg7wqAvKiB2aWRlb19kZXZpY2UgbG9jayAqLwo+PiAgwqDCoMKgwqDCoMKgwqDCoHNwaW5s b2NrX3QgaXJxbG9jazsKPj4gQEAgLTQxMiwxMiArNDE3LDggQEAgaGFudHJvX2dldF9kc3RfYnVm KHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4+ICDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHY0bDJf bTJtX25leHRfZHN0X2J1ZihjdHgtPmZoLm0ybV9jdHgpOwo+PiAgwqB9Cj4+ICAgCj4+IC1zdGF0 aWMgaW5saW5lIGJvb2wKPj4gLWhhbnRyb19uZWVkc19wb3N0cHJvYyhjb25zdCBzdHJ1Y3QgaGFu dHJvX2N0eCAqY3R4LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCAqZm10KQo+PiAtewo+PiAtwqDCoMKgwqDCoMKgwqBy ZXR1cm4gIWN0eC0+aXNfZW5jb2RlciAmJiBmbXQtPmZvdXJjYyAhPSBWNEwyX1BJWF9GTVRfTlYx MjsKPj4gLX0KPj4gK2Jvb2wgaGFudHJvX25lZWRzX3Bvc3Rwcm9jKGNvbnN0IHN0cnVjdCBoYW50 cm9fY3R4ICpjdHgsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgaGFudHJvX2ZtdCAqZm10KTsKPj4gICAKPj4gIMKgc3Rh dGljIGlubGluZSBkbWFfYWRkcl90Cj4+ICDCoGhhbnRyb19nZXRfZGVjX2J1Zl9hZGRyKHN0cnVj dCBoYW50cm9fY3R4ICpjdHgsIHN0cnVjdCB2YjJfYnVmZmVyICp2YikKPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jIGIvZHJpdmVycy9zdGFn aW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPj4gaW5kZXggZjBiNjhlMTZmY2MwLi5lM2U2 ZGYyOGY0NzAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFu dHJvX2Rydi5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Ry di5jCj4+IEBAIC04MzYsNiArODM2LDggQEAgc3RhdGljIGludCBoYW50cm9fcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKPj4gIMKgwqDCoMKgwqDCoMKgwqB9Cj4+ICDCoMKgwqDC oMKgwqDCoMKgdnB1LT5lbmNfYmFzZSA9IHZwdS0+cmVnX2Jhc2VzWzBdICsgdnB1LT52YXJpYW50 LT5lbmNfb2Zmc2V0Owo+PiAgwqDCoMKgwqDCoMKgwqDCoHZwdS0+ZGVjX2Jhc2UgPSB2cHUtPnJl Z19iYXNlc1swXSArIHZwdS0+dmFyaWFudC0+ZGVjX29mZnNldDsKPj4gK8KgwqDCoMKgwqDCoMKg LyogYnkgZGVmYXVsdCBkZWNvZGVyIGlzIEcxICovCj4+ICvCoMKgwqDCoMKgwqDCoHZwdS0+Y29y ZV9od19kZWNfcmV2ID0gSEFOVFJPX0cxX1JFVjsKPj4gICAKPj4gIMKgwqDCoMKgwqDCoMKgwqBy ZXQgPSBkbWFfc2V0X2NvaGVyZW50X21hc2sodnB1LT5kZXYsIERNQV9CSVRfTUFTSygzMikpOwo+ PiAgwqDCoMKgwqDCoMKgwqDCoGlmIChyZXQpIHsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vaGFudHJvX3Bvc3Rwcm9jLmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19wb3N0cHJvYy5jCj4+IGluZGV4IDZkMmE4ZjJhOGYwYi4uMDUwODgw ZjcyMGQ2IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRy b19wb3N0cHJvYy5jCj4+ICsrKyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJv X3Bvc3Rwcm9jLmMKPj4gQEAgLTUwLDYgKzUwLDIzIEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fcG9z dHByb2NfcmVncyBoYW50cm9fZzFfcG9zdHByb2NfcmVncyA9IHsKPj4gIMKgwqDCoMKgwqDCoMKg wqAuZGlzcGxheV93aWR0aCA9IHtHMV9SRUdfUFBfRElTUExBWV9XSURUSCwgMCwgMHhmZmZ9LAo+ PiAgwqB9Owo+PiAgIAo+PiArYm9vbCBoYW50cm9fbmVlZHNfcG9zdHByb2MoY29uc3Qgc3RydWN0 IGhhbnRyb19jdHggKmN0eCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBoYW50cm9fZm10ICpmbXQpCj4+ICt7Cj4+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fZGV2ICp2cHUgPSBjdHgtPmRldjsKPj4gKwo+PiAr wqDCoMKgwqDCoMKgwqBpZiAoY3R4LT5pc19lbmNvZGVyKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIGZhbHNlOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoGlmICh2cHUt PmNvcmVfaHdfZGVjX3JldiA9PSBIQU5UUk9fRzFfUkVWKTpxCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqByZXR1cm4gZm10LT5mb3VyY2MgIT0gVjRMMl9QSVhfRk1UX05WMTI7Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgaWYgKHZwdS0+Y29yZV9od19kZWNfcmV2ID09IEhBTlRST19H Ml9SRVYpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gZmFsc2U7Cj4+ ICsKPj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJuIGZhbHNlOwo+PiArfQo+PiArCj4+ICDCoHZvaWQg aGFudHJvX3Bvc3Rwcm9jX2VuYWJsZShzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4KQo+PiAgwqB7Cj4+ ICDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGhhbnRyb19kZXYgKnZwdSA9IGN0eC0+ZGV2Owo+Cj4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK