From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 462F070 for ; Wed, 26 May 2021 10:28:42 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id B8FF31F40B01 Message-ID: Subject: Re: [PATCH 05/10] media: hantro: add support for Rockchip RK3036 From: Ezequiel Garcia To: Alex Bee , Mauro Carvalho Chehab , Rob Herring , Heiko Stuebner , Philipp Zabel , Lee Jones , Greg Kroah-Hartman , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev Date: Wed, 26 May 2021 07:28:23 -0300 In-Reply-To: <20210525152225.154302-6-knaerzche@gmail.com> References: <20210525152225.154302-1-knaerzche@gmail.com> <20210525152225.154302-6-knaerzche@gmail.com> Organization: Collabora Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.2-1 X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Hi Alex, Thanks a lot for the patch. On Tue, 2021-05-25 at 17:22 +0200, Alex Bee wrote: > RK3036's VPU IP block is the same as RK3288 has, except that it doesn't > have an encoder, decoding is supported up to 1920x1088 only and the axi > clock can be set to 300 MHz max. > > Add a new RK3036 variant which reflect this differences. > > Signed-off-by: Alex Bee > --- >  drivers/staging/media/hantro/hantro_drv.c    |  1 + >  drivers/staging/media/hantro/hantro_hw.h     |  1 + >  drivers/staging/media/hantro/rk3288_vpu_hw.c | 49 ++++++++++++++++++++ >  3 files changed, 51 insertions(+) > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c > index 38ea7b24036e..4f3c08e85bb8 100644 > --- a/drivers/staging/media/hantro/hantro_drv.c > +++ b/drivers/staging/media/hantro/hantro_drv.c > @@ -490,6 +490,7 @@ static const struct of_device_id of_hantro_match[] = { >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, }, >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, }, >         { .compatible = "rockchip,rk3066-vpu", .data = &rk3066_vpu_variant, }, > +       { .compatible = "rockchip,rk3036-vpu", .data = &rk3036_vpu_variant, }, >  #endif >  #ifdef CONFIG_VIDEO_HANTRO_IMX8M >         { .compatible = "nxp,imx8mq-vpu", .data = &imx8mq_vpu_variant, }, > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h > index de2bc367a15a..d8d6b0d3c3b3 100644 > --- a/drivers/staging/media/hantro/hantro_hw.h > +++ b/drivers/staging/media/hantro/hantro_hw.h > @@ -164,6 +164,7 @@ extern const struct hantro_variant rk3399_vpu_variant; >  extern const struct hantro_variant rk3328_vpu_variant; >  extern const struct hantro_variant rk3288_vpu_variant; >  extern const struct hantro_variant rk3066_vpu_variant; > +extern const struct hantro_variant rk3036_vpu_variant; >  extern const struct hantro_variant imx8mq_vpu_variant; >  extern const struct hantro_variant sama5d4_vdec_variant; >   > diff --git a/drivers/staging/media/hantro/rk3288_vpu_hw.c b/drivers/staging/media/hantro/rk3288_vpu_hw.c > index 29805c4bd92f..c4684df4e012 100644 > --- a/drivers/staging/media/hantro/rk3288_vpu_hw.c > +++ b/drivers/staging/media/hantro/rk3288_vpu_hw.c > @@ -174,6 +174,13 @@ static irqreturn_t rk3288_vepu_irq(int irq, void *dev_id) >         return IRQ_HANDLED; >  } >   > +static int rk3036_vpu_hw_init(struct hantro_dev *vpu) > +{ > +       /* Bump ACLKs to max. possible freq. to improve performance. */ > +       clk_set_rate(vpu->clocks[0].clk, RK3066_ACLK_MAX_FREQ); > +       return 0; > +} > + >  static int rk3066_vpu_hw_init(struct hantro_dev *vpu) >  { >         /* Bump ACLKs to max. possible freq. to improve performance. */ > @@ -209,6 +216,27 @@ static void rk3288_vpu_enc_reset(struct hantro_ctx *ctx) >  /* >   * Supported codec ops. >   */ > +static const struct hantro_codec_ops rk3036_vpu_codec_ops[] = { > +       [HANTRO_MODE_H264_DEC] = { > +               .run = hantro_g1_h264_dec_run, > +               .reset = hantro_g1_reset, > +               .init = hantro_h264_dec_init, > +               .exit = hantro_h264_dec_exit, > +       }, > +       [HANTRO_MODE_MPEG2_DEC] = { > +               .run = hantro_g1_mpeg2_dec_run, > +               .reset = hantro_g1_reset, > +               .init = hantro_mpeg2_dec_init, > +               .exit = hantro_mpeg2_dec_exit, > +       }, > +       [HANTRO_MODE_VP8_DEC] = { > +               .run = hantro_g1_vp8_dec_run, > +               .reset = hantro_g1_reset, > +               .init = hantro_vp8_dec_init, > +               .exit = hantro_vp8_dec_exit, > +       }, > +}; > + >  static const struct hantro_codec_ops rk3066_vpu_codec_ops[] = { >         [HANTRO_MODE_JPEG_ENC] = { >                 .run = hantro_h1_jpeg_enc_run, > @@ -269,6 +297,10 @@ static const struct hantro_codec_ops rk3288_vpu_codec_ops[] = { >   * VPU variant. >   */ >   > +static const struct hantro_irq rk3036_irqs[] = { > +       { "vdpu", hantro_g1_irq }, > +}; > + >  static const struct hantro_irq rk3288_irqs[] = { >         { "vepu", rk3288_vepu_irq }, >         { "vdpu", hantro_g1_irq }, > @@ -283,6 +315,23 @@ static const char * const rk3288_clk_names[] = { >         "aclk", "hclk" >  }; >   > +const struct hantro_variant rk3036_vpu_variant = { > +       .dec_offset = 0x400, If it doesn't have an encoder, then you should just use dec_offset = 0x0. 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=-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,UNPARSEABLE_RELAY 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 61B49C47089 for ; Wed, 26 May 2021 10:28:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 45DFA6128B for ; Wed, 26 May 2021 10:28:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233949AbhEZKaI (ORCPT ); Wed, 26 May 2021 06:30:08 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:59666 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233830AbhEZKaF (ORCPT ); Wed, 26 May 2021 06:30:05 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id B8FF31F40B01 Message-ID: Subject: Re: [PATCH 05/10] media: hantro: add support for Rockchip RK3036 From: Ezequiel Garcia To: Alex Bee , Mauro Carvalho Chehab , Rob Herring , Heiko Stuebner , Philipp Zabel , Lee Jones , Greg Kroah-Hartman , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev Date: Wed, 26 May 2021 07:28:23 -0300 In-Reply-To: <20210525152225.154302-6-knaerzche@gmail.com> References: <20210525152225.154302-1-knaerzche@gmail.com> <20210525152225.154302-6-knaerzche@gmail.com> Organization: Collabora Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.2-1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Alex, Thanks a lot for the patch. On Tue, 2021-05-25 at 17:22 +0200, Alex Bee wrote: > RK3036's VPU IP block is the same as RK3288 has, except that it doesn't > have an encoder, decoding is supported up to 1920x1088 only and the axi > clock can be set to 300 MHz max. > > Add a new RK3036 variant which reflect this differences. > > Signed-off-by: Alex Bee > --- >  drivers/staging/media/hantro/hantro_drv.c    |  1 + >  drivers/staging/media/hantro/hantro_hw.h     |  1 + >  drivers/staging/media/hantro/rk3288_vpu_hw.c | 49 ++++++++++++++++++++ >  3 files changed, 51 insertions(+) > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c > index 38ea7b24036e..4f3c08e85bb8 100644 > --- a/drivers/staging/media/hantro/hantro_drv.c > +++ b/drivers/staging/media/hantro/hantro_drv.c > @@ -490,6 +490,7 @@ static const struct of_device_id of_hantro_match[] = { >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, }, >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, }, >         { .compatible = "rockchip,rk3066-vpu", .data = &rk3066_vpu_variant, }, > +       { .compatible = "rockchip,rk3036-vpu", .data = &rk3036_vpu_variant, }, >  #endif >  #ifdef CONFIG_VIDEO_HANTRO_IMX8M >         { .compatible = "nxp,imx8mq-vpu", .data = &imx8mq_vpu_variant, }, > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h > index de2bc367a15a..d8d6b0d3c3b3 100644 > --- a/drivers/staging/media/hantro/hantro_hw.h > +++ b/drivers/staging/media/hantro/hantro_hw.h > @@ -164,6 +164,7 @@ extern const struct hantro_variant rk3399_vpu_variant; >  extern const struct hantro_variant rk3328_vpu_variant; >  extern const struct hantro_variant rk3288_vpu_variant; >  extern const struct hantro_variant rk3066_vpu_variant; > +extern const struct hantro_variant rk3036_vpu_variant; >  extern const struct hantro_variant imx8mq_vpu_variant; >  extern const struct hantro_variant sama5d4_vdec_variant; >   > diff --git a/drivers/staging/media/hantro/rk3288_vpu_hw.c b/drivers/staging/media/hantro/rk3288_vpu_hw.c > index 29805c4bd92f..c4684df4e012 100644 > --- a/drivers/staging/media/hantro/rk3288_vpu_hw.c > +++ b/drivers/staging/media/hantro/rk3288_vpu_hw.c > @@ -174,6 +174,13 @@ static irqreturn_t rk3288_vepu_irq(int irq, void *dev_id) >         return IRQ_HANDLED; >  } >   > +static int rk3036_vpu_hw_init(struct hantro_dev *vpu) > +{ > +       /* Bump ACLKs to max. possible freq. to improve performance. */ > +       clk_set_rate(vpu->clocks[0].clk, RK3066_ACLK_MAX_FREQ); > +       return 0; > +} > + >  static int rk3066_vpu_hw_init(struct hantro_dev *vpu) >  { >         /* Bump ACLKs to max. possible freq. to improve performance. */ > @@ -209,6 +216,27 @@ static void rk3288_vpu_enc_reset(struct hantro_ctx *ctx) >  /* >   * Supported codec ops. >   */ > +static const struct hantro_codec_ops rk3036_vpu_codec_ops[] = { > +       [HANTRO_MODE_H264_DEC] = { > +               .run = hantro_g1_h264_dec_run, > +               .reset = hantro_g1_reset, > +               .init = hantro_h264_dec_init, > +               .exit = hantro_h264_dec_exit, > +       }, > +       [HANTRO_MODE_MPEG2_DEC] = { > +               .run = hantro_g1_mpeg2_dec_run, > +               .reset = hantro_g1_reset, > +               .init = hantro_mpeg2_dec_init, > +               .exit = hantro_mpeg2_dec_exit, > +       }, > +       [HANTRO_MODE_VP8_DEC] = { > +               .run = hantro_g1_vp8_dec_run, > +               .reset = hantro_g1_reset, > +               .init = hantro_vp8_dec_init, > +               .exit = hantro_vp8_dec_exit, > +       }, > +}; > + >  static const struct hantro_codec_ops rk3066_vpu_codec_ops[] = { >         [HANTRO_MODE_JPEG_ENC] = { >                 .run = hantro_h1_jpeg_enc_run, > @@ -269,6 +297,10 @@ static const struct hantro_codec_ops rk3288_vpu_codec_ops[] = { >   * VPU variant. >   */ >   > +static const struct hantro_irq rk3036_irqs[] = { > +       { "vdpu", hantro_g1_irq }, > +}; > + >  static const struct hantro_irq rk3288_irqs[] = { >         { "vepu", rk3288_vepu_irq }, >         { "vdpu", hantro_g1_irq }, > @@ -283,6 +315,23 @@ static const char * const rk3288_clk_names[] = { >         "aclk", "hclk" >  }; >   > +const struct hantro_variant rk3036_vpu_variant = { > +       .dec_offset = 0x400, If it doesn't have an encoder, then you should just use dec_offset = 0x0. 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=-14.1 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,UNPARSEABLE_RELAY 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 00002C47088 for ; Wed, 26 May 2021 12:47:58 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A26B16113D for ; Wed, 26 May 2021 12:47:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A26B16113D 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=bombadil.20210309; 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=d4GRNhLjoIlVxhhf1pRKlmILXbgUN9kjvPA3mHpljIY=; b=0Q4k6Wm/rbcNNQ +nVGvKKc1n85rjCSxFnRQEiU8kG93RZ+7ziOOYc9G+/6cey1NUKGzzo2ZW4pnsC+2m0QZfoMdwGdo Luj2GGVDfJoHc38XnsVpfrus7Btbw1sknIdWKpc3a0nhQ5saHdfoQKzt5UP8qoyqA8qgjGtJGoJ0T oZUomWV8fqcRsExHngtcvYmH281B4/ccpZe8o9dKNIleuBrI19SRy8stW0/8NorKvNBniPwRKB8vW +VnqNw6F4yQT8bUJMYdHVk4wh7xsKFjAkAO2bDArGF/9KZssfdaS16w5Xc7mNgIpTk00yVYTsdD3N MOiPSjMEeRFa9RVuueQw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1llsx0-00E91X-2T; Wed, 26 May 2021 12:47:54 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1llqm9-00DCX7-U7; Wed, 26 May 2021 10:28:35 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id B8FF31F40B01 Message-ID: Subject: Re: [PATCH 05/10] media: hantro: add support for Rockchip RK3036 From: Ezequiel Garcia To: Alex Bee , Mauro Carvalho Chehab , Rob Herring , Heiko Stuebner , Philipp Zabel , Lee Jones , Greg Kroah-Hartman , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev Date: Wed, 26 May 2021 07:28:23 -0300 In-Reply-To: <20210525152225.154302-6-knaerzche@gmail.com> References: <20210525152225.154302-1-knaerzche@gmail.com> <20210525152225.154302-6-knaerzche@gmail.com> Organization: Collabora User-Agent: Evolution 3.38.2-1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210526_032834_277885_A2C6BD25 X-CRM114-Status: GOOD ( 24.76 ) 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 SGkgQWxleCwKClRoYW5rcyBhIGxvdCBmb3IgdGhlIHBhdGNoLgoKT24gVHVlLCAyMDIxLTA1LTI1 IGF0IDE3OjIyICswMjAwLCBBbGV4IEJlZSB3cm90ZToKPiBSSzMwMzYncyBWUFUgSVAgYmxvY2sg aXMgdGhlIHNhbWUgYXMgUkszMjg4IGhhcywgZXhjZXB0IHRoYXQgaXQgZG9lc24ndAo+IGhhdmUg YW4gZW5jb2RlciwgZGVjb2RpbmcgaXMgc3VwcG9ydGVkIHVwIHRvIDE5MjB4MTA4OCBvbmx5IGFu ZCB0aGUgYXhpCj4gY2xvY2sgY2FuIGJlIHNldCB0byAzMDAgTUh6IG1heC4KPiAKPiBBZGQgYSBu ZXcgUkszMDM2IHZhcmlhbnQgd2hpY2ggcmVmbGVjdCB0aGlzIGRpZmZlcmVuY2VzLgo+IAo+IFNp Z25lZC1vZmYtYnk6IEFsZXggQmVlIDxrbmFlcnpjaGVAZ21haWwuY29tPgo+IC0tLQo+IMKgZHJp dmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmPCoMKgwqAgfMKgIDEgKwo+IMKg ZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaMKgwqDCoMKgIHzCoCAxICsK PiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vcmszMjg4X3ZwdV9ody5jIHwgNDkgKysr KysrKysrKysrKysrKysrKysKPiDCoDMgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYu YyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jCj4gaW5kZXggMzhl YTdiMjQwMzZlLi40ZjNjMDhlODViYjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFu dHJvL2hhbnRyb19kcnYuYwo+IEBAIC00OTAsNiArNDkwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgb2ZfaGFudHJvX21hdGNoW10gPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoHsg LmNvbXBhdGlibGUgPSAicm9ja2NoaXAscmszMzI4LXZwdSIsIC5kYXRhID0gJnJrMzMyOF92cHVf dmFyaWFudCwgfSwKPiDCoMKgwqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxy azMyODgtdnB1IiwgLmRhdGEgPSAmcmszMjg4X3ZwdV92YXJpYW50LCB9LAo+IMKgwqDCoMKgwqDC oMKgwqB7IC5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMzA2Ni12cHUiLCAuZGF0YSA9ICZyazMw NjZfdnB1X3ZhcmlhbnQsIH0sCj4gK8KgwqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2Nr Y2hpcCxyazMwMzYtdnB1IiwgLmRhdGEgPSAmcmszMDM2X3ZwdV92YXJpYW50LCB9LAo+IMKgI2Vu ZGlmCj4gwqAjaWZkZWYgQ09ORklHX1ZJREVPX0hBTlRST19JTVg4TQo+IMKgwqDCoMKgwqDCoMKg wqB7IC5jb21wYXRpYmxlID0gIm54cCxpbXg4bXEtdnB1IiwgLmRhdGEgPSAmaW14OG1xX3ZwdV92 YXJpYW50LCB9LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hh bnRyb19ody5oIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+IGlu ZGV4IGRlMmJjMzY3YTE1YS4uZDhkNmIwZDNjM2IzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmgKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19ody5oCj4gQEAgLTE2NCw2ICsxNjQsNyBAQCBleHRlcm4gY29uc3Qg c3RydWN0IGhhbnRyb192YXJpYW50IHJrMzM5OV92cHVfdmFyaWFudDsKPiDCoGV4dGVybiBjb25z dCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQgcmszMzI4X3ZwdV92YXJpYW50Owo+IMKgZXh0ZXJuIGNv bnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMyODhfdnB1X3ZhcmlhbnQ7Cj4gwqBleHRlcm4g Y29uc3Qgc3RydWN0IGhhbnRyb192YXJpYW50IHJrMzA2Nl92cHVfdmFyaWFudDsKPiArZXh0ZXJu IGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMwMzZfdnB1X3ZhcmlhbnQ7Cj4gwqBleHRl cm4gY29uc3Qgc3RydWN0IGhhbnRyb192YXJpYW50IGlteDhtcV92cHVfdmFyaWFudDsKPiDCoGV4 dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQgc2FtYTVkNF92ZGVjX3ZhcmlhbnQ7Cj4g wqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9yazMyODhfdnB1 X2h3LmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JrMzI4OF92cHVfaHcuYwo+IGlu ZGV4IDI5ODA1YzRiZDkyZi4uYzQ2ODRkZjRlMDEyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vcmszMjg4X3ZwdV9ody5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5n L21lZGlhL2hhbnRyby9yazMyODhfdnB1X2h3LmMKPiBAQCAtMTc0LDYgKzE3NCwxMyBAQCBzdGF0 aWMgaXJxcmV0dXJuX3QgcmszMjg4X3ZlcHVfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIElSUV9IQU5ETEVEOwo+IMKgfQo+IMKgCj4gK3N0YXRpYyBp bnQgcmszMDM2X3ZwdV9od19pbml0KHN0cnVjdCBoYW50cm9fZGV2ICp2cHUpCj4gK3sKPiArwqDC oMKgwqDCoMKgwqAvKiBCdW1wIEFDTEtzIHRvIG1heC4gcG9zc2libGUgZnJlcS4gdG8gaW1wcm92 ZSBwZXJmb3JtYW5jZS4gKi8KPiArwqDCoMKgwqDCoMKgwqBjbGtfc2V0X3JhdGUodnB1LT5jbG9j a3NbMF0uY2xrLCBSSzMwNjZfQUNMS19NQVhfRlJFUSk7Cj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gK30KPiArCj4gwqBzdGF0aWMgaW50IHJrMzA2Nl92cHVfaHdfaW5pdChzdHJ1Y3QgaGFu dHJvX2RldiAqdnB1KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqAvKiBCdW1wIEFDTEtzIHRvIG1h eC4gcG9zc2libGUgZnJlcS4gdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4gKi8KPiBAQCAtMjA5LDYg KzIxNiwyNyBAQCBzdGF0aWMgdm9pZCByazMyODhfdnB1X2VuY19yZXNldChzdHJ1Y3QgaGFudHJv X2N0eCAqY3R4KQo+IMKgLyoKPiDCoCAqIFN1cHBvcnRlZCBjb2RlYyBvcHMuCj4gwqAgKi8KPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fY29kZWNfb3BzIHJrMzAzNl92cHVfY29kZWNfb3Bz W10gPSB7Cj4gK8KgwqDCoMKgwqDCoMKgW0hBTlRST19NT0RFX0gyNjRfREVDXSA9IHsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLnJ1biA9IGhhbnRyb19nMV9oMjY0X2RlY19ydW4s Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5yZXNldCA9IGhhbnRyb19nMV9yZXNl dCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmluaXQgPSBoYW50cm9faDI2NF9k ZWNfaW5pdCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmV4aXQgPSBoYW50cm9f aDI2NF9kZWNfZXhpdCwKPiArwqDCoMKgwqDCoMKgwqB9LAo+ICvCoMKgwqDCoMKgwqDCoFtIQU5U Uk9fTU9ERV9NUEVHMl9ERUNdID0gewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAu cnVuID0gaGFudHJvX2cxX21wZWcyX2RlY19ydW4sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoC5yZXNldCA9IGhhbnRyb19nMV9yZXNldCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgLmluaXQgPSBoYW50cm9fbXBlZzJfZGVjX2luaXQsCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoC5leGl0ID0gaGFudHJvX21wZWcyX2RlY19leGl0LAo+ICvCoMKgwqDC oMKgwqDCoH0sCj4gK8KgwqDCoMKgwqDCoMKgW0hBTlRST19NT0RFX1ZQOF9ERUNdID0gewo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucnVuID0gaGFudHJvX2cxX3ZwOF9kZWNfcnVu LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucmVzZXQgPSBoYW50cm9fZzFfcmVz ZXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5pbml0ID0gaGFudHJvX3ZwOF9k ZWNfaW5pdCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmV4aXQgPSBoYW50cm9f dnA4X2RlY19leGl0LAo+ICvCoMKgwqDCoMKgwqDCoH0sCj4gK307Cj4gKwo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBoYW50cm9fY29kZWNfb3BzIHJrMzA2Nl92cHVfY29kZWNfb3BzW10gPSB7Cj4g wqDCoMKgwqDCoMKgwqDCoFtIQU5UUk9fTU9ERV9KUEVHX0VOQ10gPSB7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAucnVuID0gaGFudHJvX2gxX2pwZWdfZW5jX3J1biwKPiBAQCAt MjY5LDYgKzI5NywxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRyb19jb2RlY19vcHMgcmsz Mjg4X3ZwdV9jb2RlY19vcHNbXSA9IHsKPiDCoCAqIFZQVSB2YXJpYW50Lgo+IMKgICovCj4gwqAK PiArc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9faXJxIHJrMzAzNl9pcnFzW10gPSB7Cj4gK8Kg wqDCoMKgwqDCoMKgeyAidmRwdSIsIGhhbnRyb19nMV9pcnEgfSwKPiArfTsKPiArCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGhhbnRyb19pcnEgcmszMjg4X2lycXNbXSA9IHsKPiDCoMKgwqDCoMKg wqDCoMKgeyAidmVwdSIsIHJrMzI4OF92ZXB1X2lycSB9LAo+IMKgwqDCoMKgwqDCoMKgwqB7ICJ2 ZHB1IiwgaGFudHJvX2cxX2lycSB9LAo+IEBAIC0yODMsNiArMzE1LDIzIEBAIHN0YXRpYyBjb25z dCBjaGFyICogY29uc3QgcmszMjg4X2Nsa19uYW1lc1tdID0gewo+IMKgwqDCoMKgwqDCoMKgwqAi YWNsayIsICJoY2xrIgo+IMKgfTsKPiDCoAo+ICtjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQg cmszMDM2X3ZwdV92YXJpYW50ID0gewo+ICvCoMKgwqDCoMKgwqDCoC5kZWNfb2Zmc2V0ID0gMHg0 MDAsCgpJZiBpdCBkb2Vzbid0IGhhdmUgYW4gZW5jb2RlciwgdGhlbiB5b3Ugc2hvdWxkIGp1c3QK dXNlIGRlY19vZmZzZXQgPSAweDAuCgpUaGFua3MsCkV6ZXF1aWVsCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBs aXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo= 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=-14.1 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,UNPARSEABLE_RELAY 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 6A87EC47088 for ; Wed, 26 May 2021 12:48:17 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 377F16113D for ; Wed, 26 May 2021 12:48:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 377F16113D 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=bombadil.20210309; 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=gY/Ew/78w0GVXdeUTsBiHcw7oMo8T+ysjf2YUU/0es0=; b=Qn64S3+IbACgKl V5mOTvgWSIcMl7ipYyKMOnPUhXnLiw2pYXvWdPX+smAphfzhB5jvtSl73UJwm58GbCNMFHh5VVk9f hzbHpU/+GJSQ2QaepkIUPF7w8Ae+r/G+Z849A4YDmFA0/V0e77vLuUtBvYMR6shJdqgqZLXvqP4O6 OoaffCjOGZco3PX/LBpqTSPNQXoT6uWsME5mDun8HNnqznYIoLOaxgNTVKME9JoRLl8D2FP8miH/3 dRF+ZPK1iT/G12LwToS7Q0ARxMeFlzKUQiLARjjjKExOjwFbXw3fVZCCz2SsN8TiVHJNgWZq3QCJb vDJpfgxmeLqP0QkddtSQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1llsvJ-00E8K4-Lg; Wed, 26 May 2021 12:46:11 +0000 Received: from bhuna.collabora.co.uk ([46.235.227.227]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1llqm9-00DCX7-U7; Wed, 26 May 2021 10:28:35 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id B8FF31F40B01 Message-ID: Subject: Re: [PATCH 05/10] media: hantro: add support for Rockchip RK3036 From: Ezequiel Garcia To: Alex Bee , Mauro Carvalho Chehab , Rob Herring , Heiko Stuebner , Philipp Zabel , Lee Jones , Greg Kroah-Hartman , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev Date: Wed, 26 May 2021 07:28:23 -0300 In-Reply-To: <20210525152225.154302-6-knaerzche@gmail.com> References: <20210525152225.154302-1-knaerzche@gmail.com> <20210525152225.154302-6-knaerzche@gmail.com> Organization: Collabora User-Agent: Evolution 3.38.2-1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210526_032834_277885_A2C6BD25 X-CRM114-Status: GOOD ( 24.76 ) 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 SGkgQWxleCwKClRoYW5rcyBhIGxvdCBmb3IgdGhlIHBhdGNoLgoKT24gVHVlLCAyMDIxLTA1LTI1 IGF0IDE3OjIyICswMjAwLCBBbGV4IEJlZSB3cm90ZToKPiBSSzMwMzYncyBWUFUgSVAgYmxvY2sg aXMgdGhlIHNhbWUgYXMgUkszMjg4IGhhcywgZXhjZXB0IHRoYXQgaXQgZG9lc24ndAo+IGhhdmUg YW4gZW5jb2RlciwgZGVjb2RpbmcgaXMgc3VwcG9ydGVkIHVwIHRvIDE5MjB4MTA4OCBvbmx5IGFu ZCB0aGUgYXhpCj4gY2xvY2sgY2FuIGJlIHNldCB0byAzMDAgTUh6IG1heC4KPiAKPiBBZGQgYSBu ZXcgUkszMDM2IHZhcmlhbnQgd2hpY2ggcmVmbGVjdCB0aGlzIGRpZmZlcmVuY2VzLgo+IAo+IFNp Z25lZC1vZmYtYnk6IEFsZXggQmVlIDxrbmFlcnpjaGVAZ21haWwuY29tPgo+IC0tLQo+IMKgZHJp dmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmPCoMKgwqAgfMKgIDEgKwo+IMKg ZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaMKgwqDCoMKgIHzCoCAxICsK PiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vcmszMjg4X3ZwdV9ody5jIHwgNDkgKysr KysrKysrKysrKysrKysrKysKPiDCoDMgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYu YyBiL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jCj4gaW5kZXggMzhl YTdiMjQwMzZlLi40ZjNjMDhlODViYjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9oYW50cm9fZHJ2LmMKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFu dHJvL2hhbnRyb19kcnYuYwo+IEBAIC00OTAsNiArNDkwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgb2ZfaGFudHJvX21hdGNoW10gPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoHsg LmNvbXBhdGlibGUgPSAicm9ja2NoaXAscmszMzI4LXZwdSIsIC5kYXRhID0gJnJrMzMyOF92cHVf dmFyaWFudCwgfSwKPiDCoMKgwqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxy azMyODgtdnB1IiwgLmRhdGEgPSAmcmszMjg4X3ZwdV92YXJpYW50LCB9LAo+IMKgwqDCoMKgwqDC oMKgwqB7IC5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMzA2Ni12cHUiLCAuZGF0YSA9ICZyazMw NjZfdnB1X3ZhcmlhbnQsIH0sCj4gK8KgwqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2Nr Y2hpcCxyazMwMzYtdnB1IiwgLmRhdGEgPSAmcmszMDM2X3ZwdV92YXJpYW50LCB9LAo+IMKgI2Vu ZGlmCj4gwqAjaWZkZWYgQ09ORklHX1ZJREVPX0hBTlRST19JTVg4TQo+IMKgwqDCoMKgwqDCoMKg wqB7IC5jb21wYXRpYmxlID0gIm54cCxpbXg4bXEtdnB1IiwgLmRhdGEgPSAmaW14OG1xX3ZwdV92 YXJpYW50LCB9LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hh bnRyb19ody5oIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+IGlu ZGV4IGRlMmJjMzY3YTE1YS4uZDhkNmIwZDNjM2IzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmgKPiArKysgYi9kcml2ZXJzL3N0YWdpbmcvbWVk aWEvaGFudHJvL2hhbnRyb19ody5oCj4gQEAgLTE2NCw2ICsxNjQsNyBAQCBleHRlcm4gY29uc3Qg c3RydWN0IGhhbnRyb192YXJpYW50IHJrMzM5OV92cHVfdmFyaWFudDsKPiDCoGV4dGVybiBjb25z dCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQgcmszMzI4X3ZwdV92YXJpYW50Owo+IMKgZXh0ZXJuIGNv bnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMyODhfdnB1X3ZhcmlhbnQ7Cj4gwqBleHRlcm4g Y29uc3Qgc3RydWN0IGhhbnRyb192YXJpYW50IHJrMzA2Nl92cHVfdmFyaWFudDsKPiArZXh0ZXJu IGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMwMzZfdnB1X3ZhcmlhbnQ7Cj4gwqBleHRl cm4gY29uc3Qgc3RydWN0IGhhbnRyb192YXJpYW50IGlteDhtcV92cHVfdmFyaWFudDsKPiDCoGV4 dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQgc2FtYTVkNF92ZGVjX3ZhcmlhbnQ7Cj4g wqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9yazMyODhfdnB1 X2h3LmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JrMzI4OF92cHVfaHcuYwo+IGlu ZGV4IDI5ODA1YzRiZDkyZi4uYzQ2ODRkZjRlMDEyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9oYW50cm8vcmszMjg4X3ZwdV9ody5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5n L21lZGlhL2hhbnRyby9yazMyODhfdnB1X2h3LmMKPiBAQCAtMTc0LDYgKzE3NCwxMyBAQCBzdGF0 aWMgaXJxcmV0dXJuX3QgcmszMjg4X3ZlcHVfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKPiDC oMKgwqDCoMKgwqDCoMKgcmV0dXJuIElSUV9IQU5ETEVEOwo+IMKgfQo+IMKgCj4gK3N0YXRpYyBp bnQgcmszMDM2X3ZwdV9od19pbml0KHN0cnVjdCBoYW50cm9fZGV2ICp2cHUpCj4gK3sKPiArwqDC oMKgwqDCoMKgwqAvKiBCdW1wIEFDTEtzIHRvIG1heC4gcG9zc2libGUgZnJlcS4gdG8gaW1wcm92 ZSBwZXJmb3JtYW5jZS4gKi8KPiArwqDCoMKgwqDCoMKgwqBjbGtfc2V0X3JhdGUodnB1LT5jbG9j a3NbMF0uY2xrLCBSSzMwNjZfQUNMS19NQVhfRlJFUSk7Cj4gK8KgwqDCoMKgwqDCoMKgcmV0dXJu IDA7Cj4gK30KPiArCj4gwqBzdGF0aWMgaW50IHJrMzA2Nl92cHVfaHdfaW5pdChzdHJ1Y3QgaGFu dHJvX2RldiAqdnB1KQo+IMKgewo+IMKgwqDCoMKgwqDCoMKgwqAvKiBCdW1wIEFDTEtzIHRvIG1h eC4gcG9zc2libGUgZnJlcS4gdG8gaW1wcm92ZSBwZXJmb3JtYW5jZS4gKi8KPiBAQCAtMjA5LDYg KzIxNiwyNyBAQCBzdGF0aWMgdm9pZCByazMyODhfdnB1X2VuY19yZXNldChzdHJ1Y3QgaGFudHJv X2N0eCAqY3R4KQo+IMKgLyoKPiDCoCAqIFN1cHBvcnRlZCBjb2RlYyBvcHMuCj4gwqAgKi8KPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9fY29kZWNfb3BzIHJrMzAzNl92cHVfY29kZWNfb3Bz W10gPSB7Cj4gK8KgwqDCoMKgwqDCoMKgW0hBTlRST19NT0RFX0gyNjRfREVDXSA9IHsKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLnJ1biA9IGhhbnRyb19nMV9oMjY0X2RlY19ydW4s Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5yZXNldCA9IGhhbnRyb19nMV9yZXNl dCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmluaXQgPSBoYW50cm9faDI2NF9k ZWNfaW5pdCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmV4aXQgPSBoYW50cm9f aDI2NF9kZWNfZXhpdCwKPiArwqDCoMKgwqDCoMKgwqB9LAo+ICvCoMKgwqDCoMKgwqDCoFtIQU5U Uk9fTU9ERV9NUEVHMl9ERUNdID0gewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAu cnVuID0gaGFudHJvX2cxX21wZWcyX2RlY19ydW4sCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoC5yZXNldCA9IGhhbnRyb19nMV9yZXNldCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgLmluaXQgPSBoYW50cm9fbXBlZzJfZGVjX2luaXQsCj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoC5leGl0ID0gaGFudHJvX21wZWcyX2RlY19leGl0LAo+ICvCoMKgwqDC oMKgwqDCoH0sCj4gK8KgwqDCoMKgwqDCoMKgW0hBTlRST19NT0RFX1ZQOF9ERUNdID0gewo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucnVuID0gaGFudHJvX2cxX3ZwOF9kZWNfcnVu LAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucmVzZXQgPSBoYW50cm9fZzFfcmVz ZXQsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5pbml0ID0gaGFudHJvX3ZwOF9k ZWNfaW5pdCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmV4aXQgPSBoYW50cm9f dnA4X2RlY19leGl0LAo+ICvCoMKgwqDCoMKgwqDCoH0sCj4gK307Cj4gKwo+IMKgc3RhdGljIGNv bnN0IHN0cnVjdCBoYW50cm9fY29kZWNfb3BzIHJrMzA2Nl92cHVfY29kZWNfb3BzW10gPSB7Cj4g wqDCoMKgwqDCoMKgwqDCoFtIQU5UUk9fTU9ERV9KUEVHX0VOQ10gPSB7Cj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAucnVuID0gaGFudHJvX2gxX2pwZWdfZW5jX3J1biwKPiBAQCAt MjY5LDYgKzI5NywxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGhhbnRyb19jb2RlY19vcHMgcmsz Mjg4X3ZwdV9jb2RlY19vcHNbXSA9IHsKPiDCoCAqIFZQVSB2YXJpYW50Lgo+IMKgICovCj4gwqAK PiArc3RhdGljIGNvbnN0IHN0cnVjdCBoYW50cm9faXJxIHJrMzAzNl9pcnFzW10gPSB7Cj4gK8Kg wqDCoMKgwqDCoMKgeyAidmRwdSIsIGhhbnRyb19nMV9pcnEgfSwKPiArfTsKPiArCj4gwqBzdGF0 aWMgY29uc3Qgc3RydWN0IGhhbnRyb19pcnEgcmszMjg4X2lycXNbXSA9IHsKPiDCoMKgwqDCoMKg wqDCoMKgeyAidmVwdSIsIHJrMzI4OF92ZXB1X2lycSB9LAo+IMKgwqDCoMKgwqDCoMKgwqB7ICJ2 ZHB1IiwgaGFudHJvX2cxX2lycSB9LAo+IEBAIC0yODMsNiArMzE1LDIzIEBAIHN0YXRpYyBjb25z dCBjaGFyICogY29uc3QgcmszMjg4X2Nsa19uYW1lc1tdID0gewo+IMKgwqDCoMKgwqDCoMKgwqAi YWNsayIsICJoY2xrIgo+IMKgfTsKPiDCoAo+ICtjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQg cmszMDM2X3ZwdV92YXJpYW50ID0gewo+ICvCoMKgwqDCoMKgwqDCoC5kZWNfb2Zmc2V0ID0gMHg0 MDAsCgpJZiBpdCBkb2Vzbid0IGhhdmUgYW4gZW5jb2RlciwgdGhlbiB5b3Ugc2hvdWxkIGp1c3QK dXNlIGRlY19vZmZzZXQgPSAweDAuCgpUaGFua3MsCkV6ZXF1aWVsCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=