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 211DDC433DB for ; Thu, 18 Feb 2021 12:29:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id DC39264E0F for ; Thu, 18 Feb 2021 12:29:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232818AbhBRM2W (ORCPT ); Thu, 18 Feb 2021 07:28:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231773AbhBRKpl (ORCPT ); Thu, 18 Feb 2021 05:45:41 -0500 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B955AC061574; Thu, 18 Feb 2021 02:43:49 -0800 (PST) Received: from [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350] (unknown [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350]) (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 F21B81F45A1F; Thu, 18 Feb 2021 10:43:45 +0000 (GMT) Subject: Re: [PATCH v1 13/18] media: hantro: Introduce G2/HEVC decoder 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, krzk@kernel.org, shengjiu.wang@nxp.com, adrian.ratiu@collabora.com, aisheng.dong@nxp.com, peng.fan@nxp.com, Anson.Huang@nxp.com, hverkuil-cisco@xs4all.nl 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, devel@driverdev.osuosl.org, kernel@collabora.com References: <20210217080306.157876-1-benjamin.gaignard@collabora.com> <20210217080306.157876-14-benjamin.gaignard@collabora.com> From: Benjamin Gaignard Message-ID: <1fab0734-f1db-21ee-152c-4b289be31e4a@collabora.com> Date: Thu, 18 Feb 2021 11:43:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: 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 17/02/2021 à 21:45, Ezequiel Garcia a écrit : > Hi Benjamin, > > Before I review the implementation in detail, > there's one thing that looks suspicious. > > On Wed, 2021-02-17 at 09:03 +0100, Benjamin Gaignard wrote: >> Implement all the logic to get G2 hardware decoding HEVC frames. >> It support up level 5.1 HEVC stream. >> It doesn't support yet 10 bits formats or scaling feature. >> >> Add HANTRO HEVC dedicated control to skip some bits at the beginning >> of the slice header. That is very specific to this hardware so can't >> go into uapi structures. Compute the needed value is complex and require >> information from the stream that only the userland knows so let it >> provide the correct value to the driver. >> >> Signed-off-by: Benjamin Gaignard >> Signed-off-by: Ezequiel Garcia >> Signed-off-by: Adrian Ratiu >> --- >>  drivers/staging/media/hantro/Makefile         |   2 + >>  drivers/staging/media/hantro/hantro_drv.c     |  41 ++ >>  .../staging/media/hantro/hantro_g2_hevc_dec.c | 637 ++++++++++++++++++ >>  drivers/staging/media/hantro/hantro_g2_regs.h | 198 ++++++ >>  drivers/staging/media/hantro/hantro_hevc.c    | 274 ++++++++ >>  drivers/staging/media/hantro/hantro_hw.h      |  14 + >>  6 files changed, 1166 insertions(+) >>  create mode 100644 drivers/staging/media/hantro/hantro_g2_hevc_dec.c >>  create mode 100644 drivers/staging/media/hantro/hantro_g2_regs.h >>  create mode 100644 drivers/staging/media/hantro/hantro_hevc.c >> >> diff --git a/drivers/staging/media/hantro/Makefile b/drivers/staging/media/hantro/Makefile >> index 743ce08eb184..0357f1772267 100644 >> --- a/drivers/staging/media/hantro/Makefile >> +++ b/drivers/staging/media/hantro/Makefile >> @@ -9,12 +9,14 @@ hantro-vpu-y += \ >>                 hantro_h1_jpeg_enc.o \ >>                 hantro_g1_h264_dec.o \ >>                 hantro_g1_mpeg2_dec.o \ >> +               hantro_g2_hevc_dec.o \ >>                 hantro_g1_vp8_dec.o \ >>                 rk3399_vpu_hw_jpeg_enc.o \ >>                 rk3399_vpu_hw_mpeg2_dec.o \ >>                 rk3399_vpu_hw_vp8_dec.o \ >>                 hantro_jpeg.o \ >>                 hantro_h264.o \ >> +               hantro_hevc.o \ >>                 hantro_mpeg2.o \ >>                 hantro_vp8.o >> >> diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c >> index e1443c394f62..d171fb80876a 100644 >> --- a/drivers/staging/media/hantro/hantro_drv.c >> +++ b/drivers/staging/media/hantro/hantro_drv.c >> @@ -280,6 +280,20 @@ static int hantro_jpeg_s_ctrl(struct v4l2_ctrl *ctrl) >>         return 0; >>  } >> >> +static int hantro_extra_s_ctrl(struct v4l2_ctrl *ctrl) >> +{ >> +       const struct hantro_hevc_extra_decode_params *extra_params; >> +       struct hantro_ctx *ctx; >> + >> +       ctx = container_of(ctrl->handler, >> +                          struct hantro_ctx, ctrl_handler); >> +       extra_params = &ctx->hevc_dec.ctrls.extra_params; >> + >> +       memcpy((void *)extra_params, ctrl->p_new.p_u8, sizeof(extra_params)); >> + >> +       return 0; >> +} >> + >>  static const struct v4l2_ctrl_ops hantro_ctrl_ops = { >>         .try_ctrl = hantro_try_ctrl, >>  }; >> @@ -288,6 +302,10 @@ static const struct v4l2_ctrl_ops hantro_jpeg_ctrl_ops = { >>         .s_ctrl = hantro_jpeg_s_ctrl, >>  }; >> >> +static const struct v4l2_ctrl_ops hantro_extra_ctrl_ops = { >> +       .s_ctrl = hantro_extra_s_ctrl, >> +}; >> + >>  static const struct hantro_ctrl controls[] = { >>         { >>                 .codec = HANTRO_JPEG_ENCODER, >> @@ -413,6 +431,29 @@ static const struct hantro_ctrl controls[] = { >>                 .cfg = { >>                         .id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS, >>                 }, >> +       }, { >> +               .codec = HANTRO_HEVC_DECODER, >> +               .cfg = { >> +                       .id = V4L2_CID_HANTRO_HEVC_EXTRA_DECODE_PARAMS, >> +                       .name = "HANTRO extra decode params", >> +                       .type = V4L2_CTRL_TYPE_U8, >> +                       .min = 0, >> +                       .def = 0, >> +                       .max = 255, >> +                       .step = 1, >> +                       .dims = { sizeof(struct hantro_hevc_extra_decode_params) }, >> +                       .ops = &hantro_extra_ctrl_ops, >> +               }, >> +       }, { >> +               .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER | >> +                        HANTRO_VP8_DECODER | HANTRO_H264_DECODER | >> +                        HANTRO_HEVC_DECODER, >> +               .cfg = { >> +                       .id = V4L2_CID_USER_CLASS, > Are you sure you need to expose the V4L2_CID_USER_CLASS? > Maybe I'm missing something, but this looks odd. v4l2-compliance complains if this isn't exposed when adding V4L2_CID_HANTRO_HEVC_EXTRA_DECODE_PARAMS. Other drivers with dedicated control have duplicated this definition but I prefer use it directly. Benjamin > > Thanks, > Ezequiel > > 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=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 2C892C433DB for ; Thu, 18 Feb 2021 10:43:54 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (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 9D9B164EAE for ; Thu, 18 Feb 2021 10:43:53 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 9D9B164EAE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=collabora.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 54BC786447; Thu, 18 Feb 2021 10:43:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nl+LvwKqihZR; Thu, 18 Feb 2021 10:43:52 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 5E816863EE; Thu, 18 Feb 2021 10:43:52 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 744D21BF2B9 for ; Thu, 18 Feb 2021 10:43:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 6BA79863EE for ; Thu, 18 Feb 2021 10:43:51 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XPdCTs49rPTW for ; Thu, 18 Feb 2021 10:43:50 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by whitealder.osuosl.org (Postfix) with ESMTPS id ED631863CC for ; Thu, 18 Feb 2021 10:43:49 +0000 (UTC) Received: from [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350] (unknown [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350]) (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 F21B81F45A1F; Thu, 18 Feb 2021 10:43:45 +0000 (GMT) Subject: Re: [PATCH v1 13/18] media: hantro: Introduce G2/HEVC decoder 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, krzk@kernel.org, shengjiu.wang@nxp.com, adrian.ratiu@collabora.com, aisheng.dong@nxp.com, peng.fan@nxp.com, Anson.Huang@nxp.com, hverkuil-cisco@xs4all.nl References: <20210217080306.157876-1-benjamin.gaignard@collabora.com> <20210217080306.157876-14-benjamin.gaignard@collabora.com> From: Benjamin Gaignard Message-ID: <1fab0734-f1db-21ee-152c-4b289be31e4a@collabora.com> Date: Thu, 18 Feb 2021 11:43:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US 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-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" CkxlIDE3LzAyLzIwMjEgw6AgMjE6NDUsIEV6ZXF1aWVsIEdhcmNpYSBhIMOpY3JpdMKgOgo+IEhp IEJlbmphbWluLAo+Cj4gQmVmb3JlIEkgcmV2aWV3IHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBkZXRh aWwsCj4gdGhlcmUncyBvbmUgdGhpbmcgdGhhdCBsb29rcyBzdXNwaWNpb3VzLgo+Cj4gT24gV2Vk LCAyMDIxLTAyLTE3IGF0IDA5OjAzICswMTAwLCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90ZToKPj4g SW1wbGVtZW50IGFsbCB0aGUgbG9naWMgdG8gZ2V0IEcyIGhhcmR3YXJlIGRlY29kaW5nIEhFVkMg ZnJhbWVzLgo+PiBJdCBzdXBwb3J0IHVwIGxldmVsIDUuMSBIRVZDIHN0cmVhbS4KPj4gSXQgZG9l c24ndCBzdXBwb3J0IHlldCAxMCBiaXRzIGZvcm1hdHMgb3Igc2NhbGluZyBmZWF0dXJlLgo+Pgo+ PiBBZGQgSEFOVFJPIEhFVkMgZGVkaWNhdGVkIGNvbnRyb2wgdG8gc2tpcCBzb21lIGJpdHMgYXQg dGhlIGJlZ2lubmluZwo+PiBvZiB0aGUgc2xpY2UgaGVhZGVyLiBUaGF0IGlzIHZlcnkgc3BlY2lm aWMgdG8gdGhpcyBoYXJkd2FyZSBzbyBjYW4ndAo+PiBnbyBpbnRvIHVhcGkgc3RydWN0dXJlcy4g Q29tcHV0ZSB0aGUgbmVlZGVkIHZhbHVlIGlzIGNvbXBsZXggYW5kIHJlcXVpcmUKPj4gaW5mb3Jt YXRpb24gZnJvbSB0aGUgc3RyZWFtIHRoYXQgb25seSB0aGUgdXNlcmxhbmQga25vd3Mgc28gbGV0 IGl0Cj4+IHByb3ZpZGUgdGhlIGNvcnJlY3QgdmFsdWUgdG8gdGhlIGRyaXZlci4KPj4KPj4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9y YS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEV6ZXF1aWVsIEdhcmNpYSA8ZXplcXVpZWxAY29sbGFi b3JhLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogQWRyaWFuIFJhdGl1IDxhZHJpYW4ucmF0aXVAY29s bGFib3JhLmNvbT4KPj4gLS0tCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFr ZWZpbGXCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKwo+PiAgwqBkcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19kcnYuY8KgwqDCoMKgIHzCoCA0MSArKwo+PiAgwqAuLi4vc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMgfCA2MzcgKysrKysrKysrKysrKysr KysrCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX3JlZ3MuaCB8 IDE5OCArKysrKysKPj4gIMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faGV2 Yy5jwqDCoMKgIHwgMjc0ICsrKysrKysrCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaGFudHJvX2h3LmjCoMKgwqDCoMKgIHzCoCAxNCArCj4+ICDCoDYgZmlsZXMgY2hhbmdlZCwg MTE2NiBpbnNlcnRpb25zKCspCj4+ICDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9oZXZjX2RlYy5jCj4+ICDCoGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9yZWdzLmgKPj4gIMKg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hl dmMuYwo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9NYWtl ZmlsZSBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFrZWZpbGUKPj4gaW5kZXggNzQz Y2UwOGViMTg0Li4wMzU3ZjE3NzIyNjcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9oYW50cm8vTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9NYWtlZmlsZQo+PiBAQCAtOSwxMiArOSwxNCBAQCBoYW50cm8tdnB1LXkgKz0gXAo+PiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9faDFfanBlZ19lbmMubyBcCj4+ICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19nMV9oMjY0X2RlYy5vIFwKPj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2cxX21wZWcyX2RlYy5vIFwK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19nMl9oZXZjX2RlYy5vIFwK Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2cxX3ZwOF9kZWMubyBc Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJrMzM5OV92cHVfaHdfanBlZ19l bmMubyBcCj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJrMzM5OV92cHVfaHdf bXBlZzJfZGVjLm8gXAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByazMzOTlf dnB1X2h3X3ZwOF9kZWMubyBcCj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhh bnRyb19qcGVnLm8gXAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9f aDI2NC5vIFwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19oZXZjLm8g XAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fbXBlZzIubyBcCj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb192cDgubwo+PiAgIAo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMgYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+PiBpbmRleCBlMTQ0M2Mz OTRmNjIuLmQxNzFmYjgwODc2YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlh L2hhbnRyby9oYW50cm9fZHJ2LmMKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9fZHJ2LmMKPj4gQEAgLTI4MCw2ICsyODAsMjAgQEAgc3RhdGljIGludCBoYW50cm9f anBlZ19zX2N0cmwoc3RydWN0IHY0bDJfY3RybCAqY3RybCkKPj4gIMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPj4gIMKgfQo+PiAgIAo+PiArc3RhdGljIGludCBoYW50cm9fZXh0cmFfc19jdHJs KHN0cnVjdCB2NGwyX2N0cmwgKmN0cmwpCj4+ICt7Cj4+ICvCoMKgwqDCoMKgwqDCoGNvbnN0IHN0 cnVjdCBoYW50cm9faGV2Y19leHRyYV9kZWNvZGVfcGFyYW1zICpleHRyYV9wYXJhbXM7Cj4+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fY3R4ICpjdHg7Cj4+ICsKPj4gK8KgwqDCoMKgwqDC oMKgY3R4ID0gY29udGFpbmVyX29mKGN0cmwtPmhhbmRsZXIsCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaGFudHJvX2N0eCwgY3Ry bF9oYW5kbGVyKTsKPj4gK8KgwqDCoMKgwqDCoMKgZXh0cmFfcGFyYW1zID0gJmN0eC0+aGV2Y19k ZWMuY3RybHMuZXh0cmFfcGFyYW1zOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoG1lbWNweSgodm9p ZCAqKWV4dHJhX3BhcmFtcywgY3RybC0+cF9uZXcucF91OCwgc2l6ZW9mKGV4dHJhX3BhcmFtcykp Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+PiArfQo+PiArCj4+ICDCoHN0YXRp YyBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX29wcyBoYW50cm9fY3RybF9vcHMgPSB7Cj4+ICDCoMKg wqDCoMKgwqDCoMKgLnRyeV9jdHJsID0gaGFudHJvX3RyeV9jdHJsLAo+PiAgwqB9Owo+PiBAQCAt Mjg4LDYgKzMwMiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9vcHMgaGFudHJv X2pwZWdfY3RybF9vcHMgPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgLnNfY3RybCA9IGhhbnRyb19q cGVnX3NfY3RybCwKPj4gIMKgfTsKPj4gICAKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9j dHJsX29wcyBoYW50cm9fZXh0cmFfY3RybF9vcHMgPSB7Cj4+ICvCoMKgwqDCoMKgwqDCoC5zX2N0 cmwgPSBoYW50cm9fZXh0cmFfc19jdHJsLAo+PiArfTsKPj4gKwo+PiAgwqBzdGF0aWMgY29uc3Qg c3RydWN0IGhhbnRyb19jdHJsIGNvbnRyb2xzW10gPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgewo+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY29kZWMgPSBIQU5UUk9fSlBFR19F TkNPREVSLAo+PiBAQCAtNDEzLDYgKzQzMSwyOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRy b19jdHJsIGNvbnRyb2xzW10gPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oC5jZmcgPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAuaWQgPSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUywKPj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPj4gK8KgwqDCoMKgwqDCoMKgfSwgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNvZGVjID0gSEFOVFJPX0hFVkNfREVD T0RFUiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5jZmcgPSB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmlkID0gVjRMMl9DSURf SEFOVFJPX0hFVkNfRVhUUkFfREVDT0RFX1BBUkFNUywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubmFtZSA9ICJIQU5UUk8gZXh0cmEgZGVjb2RlIHBh cmFtcyIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg LnR5cGUgPSBWNEwyX0NUUkxfVFlQRV9VOCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAubWluID0gMCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZGVmID0gMCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubWF4ID0gMjU1LAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5zdGVwID0gMSwKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZGltcyA9IHsgc2l6ZW9mKHN0cnVj dCBoYW50cm9faGV2Y19leHRyYV9kZWNvZGVfcGFyYW1zKSB9LAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5vcHMgPSAmaGFudHJvX2V4dHJhX2N0cmxf b3BzLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPj4gK8KgwqDCoMKgwqDC oMKgfSwgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNvZGVjID0gSEFOVFJP X0pQRUdfRU5DT0RFUiB8IEhBTlRST19NUEVHMl9ERUNPREVSIHwKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFOVFJPX1ZQOF9ERUNPREVSIHwgSEFO VFJPX0gyNjRfREVDT0RFUiB8Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIEhBTlRST19IRVZDX0RFQ09ERVIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAuY2ZnID0gewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoC5pZCA9IFY0TDJfQ0lEX1VTRVJfQ0xBU1MsCj4gQXJlIHlvdSBzdXJlIHlv dSBuZWVkIHRvIGV4cG9zZSB0aGUgVjRMMl9DSURfVVNFUl9DTEFTUz8KPiBNYXliZSBJJ20gbWlz c2luZyBzb21ldGhpbmcsIGJ1dCB0aGlzIGxvb2tzIG9kZC4KCnY0bDItY29tcGxpYW5jZSBjb21w bGFpbnMgaWYgdGhpcyBpc24ndCBleHBvc2VkIHdoZW4gYWRkaW5nIFY0TDJfQ0lEX0hBTlRST19I RVZDX0VYVFJBX0RFQ09ERV9QQVJBTVMuCk90aGVyIGRyaXZlcnMgd2l0aCBkZWRpY2F0ZWQgY29u dHJvbCBoYXZlIGR1cGxpY2F0ZWQgdGhpcyBkZWZpbml0aW9uIGJ1dCBJIHByZWZlciB1c2UgaXQg ZGlyZWN0bHkuCgpCZW5qYW1pbgoKPgo+IFRoYW5rcywKPiBFemVxdWllbAo+Cj4KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZGV2ZWwgbWFpbGluZyBsaXN0 CmRldmVsQGxpbnV4ZHJpdmVycHJvamVjdC5vcmcKaHR0cDovL2RyaXZlcmRldi5saW51eGRyaXZl cnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vZHJpdmVyZGV2LWRldmVsCg== 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 C5F19C433DB for ; Thu, 18 Feb 2021 10:44:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 5C4A564E85 for ; Thu, 18 Feb 2021 10:44:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5C4A564E85 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=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=k+G9193kWVEw3mw79/Hm+0zyWUCm60ZzMa1e/tigJ3E=; b=enWraE3uNqekoFWIdBre7U2qx QS/+CBF9jOthvhEfct8mKD0oDbCdA9J1llnSVPUUdLCaiJduYBM2R0H2jFLAYTTYW+vekzAgwfH/J 0sgELoMK7Io1j4urvXZuNU3UMvH+BsKC2NMwXoJaIML3mRbGKLIApindk5p+cU+3pItK8zu0dOQte bF+/w99qi8lxj+qbIMp3k3sI/V+4OyQRELo8Od4q3rnjzVujDU9RXDdHW++AGlzNwNBS6XnG1jzM6 nuEOYCtlNaFLGsamBjOEtBZLr3kB9CZypr/ynJSc9FV7P+0LSnKbC31ALtO0BLvtGDn+1rHGi0M8w Vq6Up5lwQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCgmo-0004Xl-DJ; Thu, 18 Feb 2021 10:43:54 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCgmk-0004Wt-Lg; Thu, 18 Feb 2021 10:43:51 +0000 Received: from [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350] (unknown [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350]) (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 F21B81F45A1F; Thu, 18 Feb 2021 10:43:45 +0000 (GMT) Subject: Re: [PATCH v1 13/18] media: hantro: Introduce G2/HEVC decoder 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, krzk@kernel.org, shengjiu.wang@nxp.com, adrian.ratiu@collabora.com, aisheng.dong@nxp.com, peng.fan@nxp.com, Anson.Huang@nxp.com, hverkuil-cisco@xs4all.nl References: <20210217080306.157876-1-benjamin.gaignard@collabora.com> <20210217080306.157876-14-benjamin.gaignard@collabora.com> From: Benjamin Gaignard Message-ID: <1fab0734-f1db-21ee-152c-4b289be31e4a@collabora.com> Date: Thu, 18 Feb 2021 11:43:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210218_054350_939551_1FD62F54 X-CRM114-Status: GOOD ( 24.66 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org 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 CkxlIDE3LzAyLzIwMjEgw6AgMjE6NDUsIEV6ZXF1aWVsIEdhcmNpYSBhIMOpY3JpdMKgOgo+IEhp IEJlbmphbWluLAo+Cj4gQmVmb3JlIEkgcmV2aWV3IHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBkZXRh aWwsCj4gdGhlcmUncyBvbmUgdGhpbmcgdGhhdCBsb29rcyBzdXNwaWNpb3VzLgo+Cj4gT24gV2Vk LCAyMDIxLTAyLTE3IGF0IDA5OjAzICswMTAwLCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90ZToKPj4g SW1wbGVtZW50IGFsbCB0aGUgbG9naWMgdG8gZ2V0IEcyIGhhcmR3YXJlIGRlY29kaW5nIEhFVkMg ZnJhbWVzLgo+PiBJdCBzdXBwb3J0IHVwIGxldmVsIDUuMSBIRVZDIHN0cmVhbS4KPj4gSXQgZG9l c24ndCBzdXBwb3J0IHlldCAxMCBiaXRzIGZvcm1hdHMgb3Igc2NhbGluZyBmZWF0dXJlLgo+Pgo+ PiBBZGQgSEFOVFJPIEhFVkMgZGVkaWNhdGVkIGNvbnRyb2wgdG8gc2tpcCBzb21lIGJpdHMgYXQg dGhlIGJlZ2lubmluZwo+PiBvZiB0aGUgc2xpY2UgaGVhZGVyLiBUaGF0IGlzIHZlcnkgc3BlY2lm aWMgdG8gdGhpcyBoYXJkd2FyZSBzbyBjYW4ndAo+PiBnbyBpbnRvIHVhcGkgc3RydWN0dXJlcy4g Q29tcHV0ZSB0aGUgbmVlZGVkIHZhbHVlIGlzIGNvbXBsZXggYW5kIHJlcXVpcmUKPj4gaW5mb3Jt YXRpb24gZnJvbSB0aGUgc3RyZWFtIHRoYXQgb25seSB0aGUgdXNlcmxhbmQga25vd3Mgc28gbGV0 IGl0Cj4+IHByb3ZpZGUgdGhlIGNvcnJlY3QgdmFsdWUgdG8gdGhlIGRyaXZlci4KPj4KPj4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9y YS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEV6ZXF1aWVsIEdhcmNpYSA8ZXplcXVpZWxAY29sbGFi b3JhLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogQWRyaWFuIFJhdGl1IDxhZHJpYW4ucmF0aXVAY29s bGFib3JhLmNvbT4KPj4gLS0tCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFr ZWZpbGXCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKwo+PiAgwqBkcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19kcnYuY8KgwqDCoMKgIHzCoCA0MSArKwo+PiAgwqAuLi4vc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMgfCA2MzcgKysrKysrKysrKysrKysr KysrCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX3JlZ3MuaCB8 IDE5OCArKysrKysKPj4gIMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faGV2 Yy5jwqDCoMKgIHwgMjc0ICsrKysrKysrCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaGFudHJvX2h3LmjCoMKgwqDCoMKgIHzCoCAxNCArCj4+ICDCoDYgZmlsZXMgY2hhbmdlZCwg MTE2NiBpbnNlcnRpb25zKCspCj4+ICDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9oZXZjX2RlYy5jCj4+ICDCoGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9yZWdzLmgKPj4gIMKg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hl dmMuYwo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9NYWtl ZmlsZSBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFrZWZpbGUKPj4gaW5kZXggNzQz Y2UwOGViMTg0Li4wMzU3ZjE3NzIyNjcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9oYW50cm8vTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9NYWtlZmlsZQo+PiBAQCAtOSwxMiArOSwxNCBAQCBoYW50cm8tdnB1LXkgKz0gXAo+PiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9faDFfanBlZ19lbmMubyBcCj4+ICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19nMV9oMjY0X2RlYy5vIFwKPj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2cxX21wZWcyX2RlYy5vIFwK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19nMl9oZXZjX2RlYy5vIFwK Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2cxX3ZwOF9kZWMubyBc Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJrMzM5OV92cHVfaHdfanBlZ19l bmMubyBcCj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJrMzM5OV92cHVfaHdf bXBlZzJfZGVjLm8gXAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByazMzOTlf dnB1X2h3X3ZwOF9kZWMubyBcCj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhh bnRyb19qcGVnLm8gXAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9f aDI2NC5vIFwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19oZXZjLm8g XAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fbXBlZzIubyBcCj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb192cDgubwo+PiAgIAo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMgYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+PiBpbmRleCBlMTQ0M2Mz OTRmNjIuLmQxNzFmYjgwODc2YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlh L2hhbnRyby9oYW50cm9fZHJ2LmMKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9fZHJ2LmMKPj4gQEAgLTI4MCw2ICsyODAsMjAgQEAgc3RhdGljIGludCBoYW50cm9f anBlZ19zX2N0cmwoc3RydWN0IHY0bDJfY3RybCAqY3RybCkKPj4gIMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPj4gIMKgfQo+PiAgIAo+PiArc3RhdGljIGludCBoYW50cm9fZXh0cmFfc19jdHJs KHN0cnVjdCB2NGwyX2N0cmwgKmN0cmwpCj4+ICt7Cj4+ICvCoMKgwqDCoMKgwqDCoGNvbnN0IHN0 cnVjdCBoYW50cm9faGV2Y19leHRyYV9kZWNvZGVfcGFyYW1zICpleHRyYV9wYXJhbXM7Cj4+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fY3R4ICpjdHg7Cj4+ICsKPj4gK8KgwqDCoMKgwqDC oMKgY3R4ID0gY29udGFpbmVyX29mKGN0cmwtPmhhbmRsZXIsCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaGFudHJvX2N0eCwgY3Ry bF9oYW5kbGVyKTsKPj4gK8KgwqDCoMKgwqDCoMKgZXh0cmFfcGFyYW1zID0gJmN0eC0+aGV2Y19k ZWMuY3RybHMuZXh0cmFfcGFyYW1zOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoG1lbWNweSgodm9p ZCAqKWV4dHJhX3BhcmFtcywgY3RybC0+cF9uZXcucF91OCwgc2l6ZW9mKGV4dHJhX3BhcmFtcykp Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+PiArfQo+PiArCj4+ICDCoHN0YXRp YyBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX29wcyBoYW50cm9fY3RybF9vcHMgPSB7Cj4+ICDCoMKg wqDCoMKgwqDCoMKgLnRyeV9jdHJsID0gaGFudHJvX3RyeV9jdHJsLAo+PiAgwqB9Owo+PiBAQCAt Mjg4LDYgKzMwMiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9vcHMgaGFudHJv X2pwZWdfY3RybF9vcHMgPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgLnNfY3RybCA9IGhhbnRyb19q cGVnX3NfY3RybCwKPj4gIMKgfTsKPj4gICAKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9j dHJsX29wcyBoYW50cm9fZXh0cmFfY3RybF9vcHMgPSB7Cj4+ICvCoMKgwqDCoMKgwqDCoC5zX2N0 cmwgPSBoYW50cm9fZXh0cmFfc19jdHJsLAo+PiArfTsKPj4gKwo+PiAgwqBzdGF0aWMgY29uc3Qg c3RydWN0IGhhbnRyb19jdHJsIGNvbnRyb2xzW10gPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgewo+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY29kZWMgPSBIQU5UUk9fSlBFR19F TkNPREVSLAo+PiBAQCAtNDEzLDYgKzQzMSwyOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRy b19jdHJsIGNvbnRyb2xzW10gPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oC5jZmcgPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAuaWQgPSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUywKPj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPj4gK8KgwqDCoMKgwqDCoMKgfSwgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNvZGVjID0gSEFOVFJPX0hFVkNfREVD T0RFUiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5jZmcgPSB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmlkID0gVjRMMl9DSURf SEFOVFJPX0hFVkNfRVhUUkFfREVDT0RFX1BBUkFNUywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubmFtZSA9ICJIQU5UUk8gZXh0cmEgZGVjb2RlIHBh cmFtcyIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg LnR5cGUgPSBWNEwyX0NUUkxfVFlQRV9VOCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAubWluID0gMCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZGVmID0gMCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubWF4ID0gMjU1LAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5zdGVwID0gMSwKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZGltcyA9IHsgc2l6ZW9mKHN0cnVj dCBoYW50cm9faGV2Y19leHRyYV9kZWNvZGVfcGFyYW1zKSB9LAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5vcHMgPSAmaGFudHJvX2V4dHJhX2N0cmxf b3BzLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPj4gK8KgwqDCoMKgwqDC oMKgfSwgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNvZGVjID0gSEFOVFJP X0pQRUdfRU5DT0RFUiB8IEhBTlRST19NUEVHMl9ERUNPREVSIHwKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFOVFJPX1ZQOF9ERUNPREVSIHwgSEFO VFJPX0gyNjRfREVDT0RFUiB8Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIEhBTlRST19IRVZDX0RFQ09ERVIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAuY2ZnID0gewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoC5pZCA9IFY0TDJfQ0lEX1VTRVJfQ0xBU1MsCj4gQXJlIHlvdSBzdXJlIHlv dSBuZWVkIHRvIGV4cG9zZSB0aGUgVjRMMl9DSURfVVNFUl9DTEFTUz8KPiBNYXliZSBJJ20gbWlz c2luZyBzb21ldGhpbmcsIGJ1dCB0aGlzIGxvb2tzIG9kZC4KCnY0bDItY29tcGxpYW5jZSBjb21w bGFpbnMgaWYgdGhpcyBpc24ndCBleHBvc2VkIHdoZW4gYWRkaW5nIFY0TDJfQ0lEX0hBTlRST19I RVZDX0VYVFJBX0RFQ09ERV9QQVJBTVMuCk90aGVyIGRyaXZlcnMgd2l0aCBkZWRpY2F0ZWQgY29u dHJvbCBoYXZlIGR1cGxpY2F0ZWQgdGhpcyBkZWZpbml0aW9uIGJ1dCBJIHByZWZlciB1c2UgaXQg ZGlyZWN0bHkuCgpCZW5qYW1pbgoKPgo+IFRoYW5rcywKPiBFemVxdWllbAo+Cj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1h aWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK 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 5B9AAC433E0 for ; Thu, 18 Feb 2021 10:45:37 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 035F0614A7 for ; Thu, 18 Feb 2021 10:45:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 035F0614A7 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=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+ry07Dg+UhGlS5CfxSrmFCxV/zlCxfwEbMGtKrQkN38=; b=GZyre8sKYndNrnCDAXyyAsTPD uJBkwjhajvuqB+6Q5qyoaKoV2rLV2tHq67x3gRUV4LL0cUxvvrD6nbiCpB8gmqVwfOvtXrkfof2vB RMeXFtFHPjg3TI3TJpOsiFEg6AcHyxgG7w+ZZvXKfzHKWzTA+gMMg5TKKz3X86WAGeTY7oL+778Bi O/YyNCN9N+qh9ScQ710rZqgwSkY4cbxkoOM4m3wq/3LXvVw1HbeALg6uw7QiGtKmVMNxMUtFnW/6+ 7/FF9kGJWYI2D5pGxpBH8IXLtR6bpK2yHPlsqSN9mp412EjkpySrWXulvEcqUC9pYhQke3V1nJ5n9 f/3xJ9Fcg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCgmn-0004XX-7i; Thu, 18 Feb 2021 10:43:53 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCgmk-0004Wt-Lg; Thu, 18 Feb 2021 10:43:51 +0000 Received: from [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350] (unknown [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350]) (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 F21B81F45A1F; Thu, 18 Feb 2021 10:43:45 +0000 (GMT) Subject: Re: [PATCH v1 13/18] media: hantro: Introduce G2/HEVC decoder 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, krzk@kernel.org, shengjiu.wang@nxp.com, adrian.ratiu@collabora.com, aisheng.dong@nxp.com, peng.fan@nxp.com, Anson.Huang@nxp.com, hverkuil-cisco@xs4all.nl References: <20210217080306.157876-1-benjamin.gaignard@collabora.com> <20210217080306.157876-14-benjamin.gaignard@collabora.com> From: Benjamin Gaignard Message-ID: <1fab0734-f1db-21ee-152c-4b289be31e4a@collabora.com> Date: Thu, 18 Feb 2021 11:43:43 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210218_054350_939551_1FD62F54 X-CRM114-Status: GOOD ( 24.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org 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 CkxlIDE3LzAyLzIwMjEgw6AgMjE6NDUsIEV6ZXF1aWVsIEdhcmNpYSBhIMOpY3JpdMKgOgo+IEhp IEJlbmphbWluLAo+Cj4gQmVmb3JlIEkgcmV2aWV3IHRoZSBpbXBsZW1lbnRhdGlvbiBpbiBkZXRh aWwsCj4gdGhlcmUncyBvbmUgdGhpbmcgdGhhdCBsb29rcyBzdXNwaWNpb3VzLgo+Cj4gT24gV2Vk LCAyMDIxLTAyLTE3IGF0IDA5OjAzICswMTAwLCBCZW5qYW1pbiBHYWlnbmFyZCB3cm90ZToKPj4g SW1wbGVtZW50IGFsbCB0aGUgbG9naWMgdG8gZ2V0IEcyIGhhcmR3YXJlIGRlY29kaW5nIEhFVkMg ZnJhbWVzLgo+PiBJdCBzdXBwb3J0IHVwIGxldmVsIDUuMSBIRVZDIHN0cmVhbS4KPj4gSXQgZG9l c24ndCBzdXBwb3J0IHlldCAxMCBiaXRzIGZvcm1hdHMgb3Igc2NhbGluZyBmZWF0dXJlLgo+Pgo+ PiBBZGQgSEFOVFJPIEhFVkMgZGVkaWNhdGVkIGNvbnRyb2wgdG8gc2tpcCBzb21lIGJpdHMgYXQg dGhlIGJlZ2lubmluZwo+PiBvZiB0aGUgc2xpY2UgaGVhZGVyLiBUaGF0IGlzIHZlcnkgc3BlY2lm aWMgdG8gdGhpcyBoYXJkd2FyZSBzbyBjYW4ndAo+PiBnbyBpbnRvIHVhcGkgc3RydWN0dXJlcy4g Q29tcHV0ZSB0aGUgbmVlZGVkIHZhbHVlIGlzIGNvbXBsZXggYW5kIHJlcXVpcmUKPj4gaW5mb3Jt YXRpb24gZnJvbSB0aGUgc3RyZWFtIHRoYXQgb25seSB0aGUgdXNlcmxhbmQga25vd3Mgc28gbGV0 IGl0Cj4+IHByb3ZpZGUgdGhlIGNvcnJlY3QgdmFsdWUgdG8gdGhlIGRyaXZlci4KPj4KPj4gU2ln bmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9y YS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEV6ZXF1aWVsIEdhcmNpYSA8ZXplcXVpZWxAY29sbGFi b3JhLmNvbT4KPj4gU2lnbmVkLW9mZi1ieTogQWRyaWFuIFJhdGl1IDxhZHJpYW4ucmF0aXVAY29s bGFib3JhLmNvbT4KPj4gLS0tCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFr ZWZpbGXCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDIgKwo+PiAgwqBkcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19kcnYuY8KgwqDCoMKgIHzCoCA0MSArKwo+PiAgwqAuLi4vc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX2hldmNfZGVjLmMgfCA2MzcgKysrKysrKysrKysrKysr KysrCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2cyX3JlZ3MuaCB8 IDE5OCArKysrKysKPj4gIMKgZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faGV2 Yy5jwqDCoMKgIHwgMjc0ICsrKysrKysrCj4+ICDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaGFudHJvX2h3LmjCoMKgwqDCoMKgIHzCoCAxNCArCj4+ICDCoDYgZmlsZXMgY2hhbmdlZCwg MTE2NiBpbnNlcnRpb25zKCspCj4+ICDCoGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9oZXZjX2RlYy5jCj4+ICDCoGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19nMl9yZWdzLmgKPj4gIMKg Y3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2hl dmMuYwo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9NYWtl ZmlsZSBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vTWFrZWZpbGUKPj4gaW5kZXggNzQz Y2UwOGViMTg0Li4wMzU3ZjE3NzIyNjcgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9oYW50cm8vTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9NYWtlZmlsZQo+PiBAQCAtOSwxMiArOSwxNCBAQCBoYW50cm8tdnB1LXkgKz0gXAo+PiAgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9faDFfanBlZ19lbmMubyBcCj4+ICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19nMV9oMjY0X2RlYy5vIFwKPj4g IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2cxX21wZWcyX2RlYy5vIFwK Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19nMl9oZXZjX2RlYy5vIFwK Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaGFudHJvX2cxX3ZwOF9kZWMubyBc Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJrMzM5OV92cHVfaHdfanBlZ19l bmMubyBcCj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJrMzM5OV92cHVfaHdf bXBlZzJfZGVjLm8gXAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByazMzOTlf dnB1X2h3X3ZwOF9kZWMubyBcCj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhh bnRyb19qcGVnLm8gXAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9f aDI2NC5vIFwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb19oZXZjLm8g XAo+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBoYW50cm9fbXBlZzIubyBcCj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGhhbnRyb192cDgubwo+PiAgIAo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMgYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+PiBpbmRleCBlMTQ0M2Mz OTRmNjIuLmQxNzFmYjgwODc2YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21lZGlh L2hhbnRyby9oYW50cm9fZHJ2LmMKPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRy by9oYW50cm9fZHJ2LmMKPj4gQEAgLTI4MCw2ICsyODAsMjAgQEAgc3RhdGljIGludCBoYW50cm9f anBlZ19zX2N0cmwoc3RydWN0IHY0bDJfY3RybCAqY3RybCkKPj4gIMKgwqDCoMKgwqDCoMKgwqBy ZXR1cm4gMDsKPj4gIMKgfQo+PiAgIAo+PiArc3RhdGljIGludCBoYW50cm9fZXh0cmFfc19jdHJs KHN0cnVjdCB2NGwyX2N0cmwgKmN0cmwpCj4+ICt7Cj4+ICvCoMKgwqDCoMKgwqDCoGNvbnN0IHN0 cnVjdCBoYW50cm9faGV2Y19leHRyYV9kZWNvZGVfcGFyYW1zICpleHRyYV9wYXJhbXM7Cj4+ICvC oMKgwqDCoMKgwqDCoHN0cnVjdCBoYW50cm9fY3R4ICpjdHg7Cj4+ICsKPj4gK8KgwqDCoMKgwqDC oMKgY3R4ID0gY29udGFpbmVyX29mKGN0cmwtPmhhbmRsZXIsCj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaGFudHJvX2N0eCwgY3Ry bF9oYW5kbGVyKTsKPj4gK8KgwqDCoMKgwqDCoMKgZXh0cmFfcGFyYW1zID0gJmN0eC0+aGV2Y19k ZWMuY3RybHMuZXh0cmFfcGFyYW1zOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoG1lbWNweSgodm9p ZCAqKWV4dHJhX3BhcmFtcywgY3RybC0+cF9uZXcucF91OCwgc2l6ZW9mKGV4dHJhX3BhcmFtcykp Owo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoHJldHVybiAwOwo+PiArfQo+PiArCj4+ICDCoHN0YXRp YyBjb25zdCBzdHJ1Y3QgdjRsMl9jdHJsX29wcyBoYW50cm9fY3RybF9vcHMgPSB7Cj4+ICDCoMKg wqDCoMKgwqDCoMKgLnRyeV9jdHJsID0gaGFudHJvX3RyeV9jdHJsLAo+PiAgwqB9Owo+PiBAQCAt Mjg4LDYgKzMwMiwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfY3RybF9vcHMgaGFudHJv X2pwZWdfY3RybF9vcHMgPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgLnNfY3RybCA9IGhhbnRyb19q cGVnX3NfY3RybCwKPj4gIMKgfTsKPj4gICAKPj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdjRsMl9j dHJsX29wcyBoYW50cm9fZXh0cmFfY3RybF9vcHMgPSB7Cj4+ICvCoMKgwqDCoMKgwqDCoC5zX2N0 cmwgPSBoYW50cm9fZXh0cmFfc19jdHJsLAo+PiArfTsKPj4gKwo+PiAgwqBzdGF0aWMgY29uc3Qg c3RydWN0IGhhbnRyb19jdHJsIGNvbnRyb2xzW10gPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgewo+ PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuY29kZWMgPSBIQU5UUk9fSlBFR19F TkNPREVSLAo+PiBAQCAtNDEzLDYgKzQzMSwyOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRy b19jdHJsIGNvbnRyb2xzW10gPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oC5jZmcgPSB7Cj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAuaWQgPSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUywKPj4gIMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPj4gK8KgwqDCoMKgwqDCoMKgfSwgewo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNvZGVjID0gSEFOVFJPX0hFVkNfREVD T0RFUiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5jZmcgPSB7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmlkID0gVjRMMl9DSURf SEFOVFJPX0hFVkNfRVhUUkFfREVDT0RFX1BBUkFNUywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubmFtZSA9ICJIQU5UUk8gZXh0cmEgZGVjb2RlIHBh cmFtcyIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg LnR5cGUgPSBWNEwyX0NUUkxfVFlQRV9VOCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAubWluID0gMCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZGVmID0gMCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAubWF4ID0gMjU1LAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5zdGVwID0gMSwKPj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAuZGltcyA9IHsgc2l6ZW9mKHN0cnVj dCBoYW50cm9faGV2Y19leHRyYV9kZWNvZGVfcGFyYW1zKSB9LAo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5vcHMgPSAmaGFudHJvX2V4dHJhX2N0cmxf b3BzLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfSwKPj4gK8KgwqDCoMKgwqDC oMKgfSwgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmNvZGVjID0gSEFOVFJP X0pQRUdfRU5DT0RFUiB8IEhBTlRST19NUEVHMl9ERUNPREVSIHwKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFOVFJPX1ZQOF9ERUNPREVSIHwgSEFO VFJPX0gyNjRfREVDT0RFUiB8Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIEhBTlRST19IRVZDX0RFQ09ERVIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAuY2ZnID0gewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoC5pZCA9IFY0TDJfQ0lEX1VTRVJfQ0xBU1MsCj4gQXJlIHlvdSBzdXJlIHlv dSBuZWVkIHRvIGV4cG9zZSB0aGUgVjRMMl9DSURfVVNFUl9DTEFTUz8KPiBNYXliZSBJJ20gbWlz c2luZyBzb21ldGhpbmcsIGJ1dCB0aGlzIGxvb2tzIG9kZC4KCnY0bDItY29tcGxpYW5jZSBjb21w bGFpbnMgaWYgdGhpcyBpc24ndCBleHBvc2VkIHdoZW4gYWRkaW5nIFY0TDJfQ0lEX0hBTlRST19I RVZDX0VYVFJBX0RFQ09ERV9QQVJBTVMuCk90aGVyIGRyaXZlcnMgd2l0aCBkZWRpY2F0ZWQgY29u dHJvbCBoYXZlIGR1cGxpY2F0ZWQgdGhpcyBkZWZpbml0aW9uIGJ1dCBJIHByZWZlciB1c2UgaXQg ZGlyZWN0bHkuCgpCZW5qYW1pbgoKPgo+IFRoYW5rcywKPiBFemVxdWllbAo+Cj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwg bWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK