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=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 92ABAC433DB for ; Thu, 7 Jan 2021 19:09:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4604823433 for ; Thu, 7 Jan 2021 19:09:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729279AbhAGTJC (ORCPT ); Thu, 7 Jan 2021 14:09:02 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:42928 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727177AbhAGTJB (ORCPT ); Thu, 7 Jan 2021 14:09:01 -0500 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id 1F0991F4662A Message-ID: Subject: Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30 From: Ezequiel Garcia To: Paul Kocialkowski , 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 Cc: Jacob Chen , Mauro Carvalho Chehab , Rob Herring , Heiko Stuebner , Philipp Zabel , Greg Kroah-Hartman , Thomas Petazzoni Date: Thu, 07 Jan 2021 16:08:10 -0300 In-Reply-To: <20210107134101.195426-6-paul.kocialkowski@bootlin.com> References: <20210107134101.195426-1-paul.kocialkowski@bootlin.com> <20210107134101.195426-6-paul.kocialkowski@bootlin.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 Paul, Happy to see this patch. It was on my TODO list, but I hadn't had time to bringup my rk3326 device. A few comments. On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote: > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar > to the RK3399 (Hantro G1/H1 with shuffled registers). > > Besides taking an extra clock, it also shares an interrupt with the IOMMU > so it's necessary to request the interrupt shared. > Could you clarify on the commit description which iommu device interrupt line is being shared? > Signed-off-by: Paul Kocialkowski > --- >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++-- >  drivers/staging/media/hantro/hantro_hw.h     |  1 + >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++ >  3 files changed, 25 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c > index e5f200e64993..076a7782b476 100644 > --- a/drivers/staging/media/hantro/hantro_drv.c > +++ b/drivers/staging/media/hantro/hantro_drv.c > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = { >   >  static const struct of_device_id of_hantro_match[] = { >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, }, >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, }, >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, }, >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, }, > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev) >                         return -ENXIO; >   >                 ret = devm_request_irq(vpu->dev, irq, > -                                      vpu->variant->irqs[i].handler, 0, > -                                      dev_name(vpu->dev), vpu); > +                                      vpu->variant->irqs[i].handler, > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu); Maybe this irq flag should be part of vpu->variant? It sounds like an IP block integration specific thing. Also, you will need a px30-specific interrupt handler now, since the rk3399 one is not shared-friendly. >                 if (ret) { >                         dev_err(vpu->dev, "Could not request %s IRQ.\n", >                                 irq_name); > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h > index 34c9e4649a25..07f516fd7a2e 100644 > --- a/drivers/staging/media/hantro/hantro_hw.h > +++ b/drivers/staging/media/hantro/hantro_hw.h > @@ -148,6 +148,7 @@ enum hantro_enc_fmt { >         RK3288_VPU_ENC_FMT_UYVY422 = 3, >  }; >   > +extern const struct hantro_variant px30_vpu_variant; >  extern const struct hantro_variant rk3399_vpu_variant; >  extern const struct hantro_variant rk3328_vpu_variant; >  extern const struct hantro_variant rk3288_vpu_variant; > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c > index 7a7962cf771e..4112f98baa60 100644 > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c Perhaps it's time to rename this to rockchip_vpu_hw.c, and merge rk3288 and rk3399? It's a nitpick, though. > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = { >         .clk_names = rk3399_clk_names, >         .num_clocks = ARRAY_SIZE(rk3399_clk_names), >  }; > + > +static const char * const px30_clk_names[] = { > +       "aclk", "hclk", "sclk" > +}; > + > +const struct hantro_variant px30_vpu_variant = { > +       .enc_offset = 0x0, > +       .enc_fmts = rk3399_vpu_enc_fmts, > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts), > +       .dec_offset = 0x400, > +       .dec_fmts = rk3399_vpu_dec_fmts, > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts), > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER | > +                HANTRO_VP8_DECODER, > +       .codec_ops = rk3399_vpu_codec_ops, > +       .irqs = rk3399_irqs, > +       .num_irqs = ARRAY_SIZE(rk3399_irqs), > +       .init = rk3399_vpu_hw_init, > +       .clk_names = px30_clk_names, > +       .num_clocks = ARRAY_SIZE(px30_clk_names) > +}; 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.0 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, URIBL_BLOCKED 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 DF29EC433E0 for ; Thu, 7 Jan 2021 19:08:36 +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 5D19023432 for ; Thu, 7 Jan 2021 19:08:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D19023432 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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date: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=zoXp0sBnR3qSKPJudkQ3iPWryOEaKH8zQVi+WLZ4Qqg=; b=aNSg6nKrvufSc0+PEnHT3jshZ MaJJIFI3u1j/xysOcX6mMDNAC7+mO3sxTNtmFn9RG6qa3kJVeyUKsXNMuUBp3FHTncw2on5ZwZSrL cICn734KNZtYWAfqLqW2Tv0oTOx3obSHzqHPHUpNljnTMxA+5NWb945Ae9YusI/EQF10HQew5tT6F 57zar9DD3rBcv1ZNUaZXPOFLsBAZbY4tKunvU74k0Nxi3uxB++fwUApo5QUFK7R2xUnhaTCE5Af5i sxRnddV57PPXGKyFRPq3gePuv0Wz9ggfUwYT3cdStmbs2e/f/d41spdPcSq7luqT49DJ5gaYBhvvD 2fzaQ9Ufg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kxae7-0008Q5-TT; Thu, 07 Jan 2021 19:08:32 +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 1kxae1-0008Of-FG; Thu, 07 Jan 2021 19:08:29 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id 1F0991F4662A Message-ID: Subject: Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30 From: Ezequiel Garcia To: Paul Kocialkowski , 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 Date: Thu, 07 Jan 2021 16:08:10 -0300 In-Reply-To: <20210107134101.195426-6-paul.kocialkowski@bootlin.com> References: <20210107134101.195426-1-paul.kocialkowski@bootlin.com> <20210107134101.195426-6-paul.kocialkowski@bootlin.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-20210107_140825_683487_997C0C67 X-CRM114-Status: GOOD ( 22.38 ) 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: Heiko Stuebner , Greg Kroah-Hartman , Thomas Petazzoni , Rob Herring , Jacob Chen , Philipp Zabel , Mauro Carvalho Chehab 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 SGkgUGF1bCwKCkhhcHB5IHRvIHNlZSB0aGlzIHBhdGNoLiBJdCB3YXMgb24gbXkgVE9ETyBsaXN0 LApidXQgSSBoYWRuJ3QgaGFkIHRpbWUgdG8gYnJpbmd1cCBteSByazMzMjYgZGV2aWNlLgoKQSBm ZXcgY29tbWVudHMuCgpPbiBUaHUsIDIwMjEtMDEtMDcgYXQgMTQ6NDEgKzAxMDAsIFBhdWwgS29j aWFsa293c2tpIHdyb3RlOgo+IFRoZSBQWDMwIFNvQyBpbmNsdWRlcyBib3RoIHRoZSBWRFBVMiBh bmQgVkVQVTIgYmxvY2tzIHdoaWNoIGFyZSBzaW1pbGFyCj4gdG8gdGhlIFJLMzM5OSAoSGFudHJv IEcxL0gxIHdpdGggc2h1ZmZsZWQgcmVnaXN0ZXJzKS4KPiAKPiBCZXNpZGVzIHRha2luZyBhbiBl eHRyYSBjbG9jaywgaXQgYWxzbyBzaGFyZXMgYW4gaW50ZXJydXB0IHdpdGggdGhlIElPTU1VCj4g c28gaXQncyBuZWNlc3NhcnkgdG8gcmVxdWVzdCB0aGUgaW50ZXJydXB0IHNoYXJlZC4KPiAKCkNv dWxkIHlvdSBjbGFyaWZ5IG9uIHRoZSBjb21taXQgZGVzY3JpcHRpb24gd2hpY2ggaW9tbXUgZGV2 aWNlIGludGVycnVwdApsaW5lIGlzIGJlaW5nIHNoYXJlZD8KCj4gU2lnbmVkLW9mZi1ieTogUGF1 bCBLb2NpYWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3RsaW4uY29tPgo+IC0tLQo+IMKg ZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmPCoMKgwqAgfMKgIDUgKysr LS0KPiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmjCoMKgwqDCoCB8 wqAgMSArCj4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JrMzM5OV92cHVfaHcuYyB8 IDIxICsrKysrKysrKysrKysrKysrKysrCj4gwqAzIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9o YW50cm9fZHJ2LmMKPiBpbmRleCBlNWYyMDBlNjQ5OTMuLjA3NmE3NzgyYjQ3NiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+ICsrKyBiL2Ry aXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jCj4gQEAgLTQ3Miw2ICs0NzIs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfZmlsZV9vcGVyYXRpb25zIGhhbnRyb19mb3Bz ID0gewo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9oYW50cm9f bWF0Y2hbXSA9IHsKPiDCoCNpZmRlZiBDT05GSUdfVklERU9fSEFOVFJPX1JPQ0tDSElQCj4gK8Kg wqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxweDMwLXZwdSIsIC5kYXRhID0g JnB4MzBfdnB1X3ZhcmlhbnQsIH0sCj4gwqDCoMKgwqDCoMKgwqDCoHsgLmNvbXBhdGlibGUgPSAi cm9ja2NoaXAscmszMzk5LXZwdSIsIC5kYXRhID0gJnJrMzM5OV92cHVfdmFyaWFudCwgfSwKPiDC oMKgwqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxyazMzMjgtdnB1IiwgLmRh dGEgPSAmcmszMzI4X3ZwdV92YXJpYW50LCB9LAo+IMKgwqDCoMKgwqDCoMKgwqB7IC5jb21wYXRp YmxlID0gInJvY2tjaGlwLHJrMzI4OC12cHUiLCAuZGF0YSA9ICZyazMyODhfdnB1X3ZhcmlhbnQs IH0sCj4gQEAgLTc5Niw4ICs3OTcsOCBAQCBzdGF0aWMgaW50IGhhbnRyb19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRU5YSU87Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHJldCA9IGRldm1fcmVxdWVzdF9pcnEodnB1LT5kZXYsIGlycSwKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgdnB1LT52YXJpYW50LT5pcnFzW2ldLmhhbmRsZXIsIDAsCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGRldl9uYW1lKHZwdS0+ZGV2KSwgdnB1KTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdnB1LT52YXJpYW50LT5pcnFzW2ldLmhhbmRsZXIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElS UUZfU0hBUkVELCBkZXZfbmFtZSh2cHUtPmRldiksIHZwdSk7CgpNYXliZSB0aGlzIGlycSBmbGFn IHNob3VsZCBiZSBwYXJ0IG9mIHZwdS0+dmFyaWFudD8gSXQgc291bmRzIGxpa2UgYW4gSVAgYmxv Y2sKaW50ZWdyYXRpb24gc3BlY2lmaWMgdGhpbmcuCgpBbHNvLCB5b3Ugd2lsbCBuZWVkIGEgcHgz MC1zcGVjaWZpYyBpbnRlcnJ1cHQgaGFuZGxlciBub3csCnNpbmNlIHRoZSByazMzOTkgb25lIGlz IG5vdCBzaGFyZWQtZnJpZW5kbHkuCgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg aWYgKHJldCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRldl9lcnIodnB1LT5kZXYsICJDb3VsZCBub3QgcmVxdWVzdCAlcyBJUlEuXG4iLAo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpcnFfbmFtZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaGFudHJvX2h3LmggYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5o Cj4gaW5kZXggMzRjOWU0NjQ5YTI1Li4wN2Y1MTZmZDdhMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+ICsrKyBiL2RyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmgKPiBAQCAtMTQ4LDYgKzE0OCw3IEBAIGVudW0gaGFu dHJvX2VuY19mbXQgewo+IMKgwqDCoMKgwqDCoMKgwqBSSzMyODhfVlBVX0VOQ19GTVRfVVlWWTQy MiA9IDMsCj4gwqB9Owo+IMKgCj4gK2V4dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQg cHgzMF92cHVfdmFyaWFudDsKPiDCoGV4dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQg cmszMzk5X3ZwdV92YXJpYW50Owo+IMKgZXh0ZXJuIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFu dCByazMzMjhfdnB1X3ZhcmlhbnQ7Cj4gwqBleHRlcm4gY29uc3Qgc3RydWN0IGhhbnRyb192YXJp YW50IHJrMzI4OF92cHVfdmFyaWFudDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9yazMzOTlfdnB1X2h3LmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L3JrMzM5OV92cHVfaHcuYwo+IGluZGV4IDdhNzk2MmNmNzcxZS4uNDExMmY5OGJhYTYwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vcmszMzk5X3ZwdV9ody5jCj4g KysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9yazMzOTlfdnB1X2h3LmMKClBlcmhh cHMgaXQncyB0aW1lIHRvIHJlbmFtZSB0aGlzIHRvIHJvY2tjaGlwX3ZwdV9ody5jLAphbmQgbWVy Z2UgcmszMjg4IGFuZCByazMzOTk/IEl0J3MgYSBuaXRwaWNrLCB0aG91Z2guCgo+IEBAIC0yMjAs MyArMjIwLDI0IEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMzMjhfdnB1X3Zhcmlh bnQgPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoC5jbGtfbmFtZXMgPSByazMzOTlfY2xrX25hbWVzLAo+ IMKgwqDCoMKgwqDCoMKgwqAubnVtX2Nsb2NrcyA9IEFSUkFZX1NJWkUocmszMzk5X2Nsa19uYW1l cyksCj4gwqB9Owo+ICsKPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBweDMwX2Nsa19uYW1l c1tdID0gewo+ICvCoMKgwqDCoMKgwqDCoCJhY2xrIiwgImhjbGsiLCAic2NsayIKPiArfTsKPiAr Cj4gK2NvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBweDMwX3ZwdV92YXJpYW50ID0gewo+ICvC oMKgwqDCoMKgwqDCoC5lbmNfb2Zmc2V0ID0gMHgwLAo+ICvCoMKgwqDCoMKgwqDCoC5lbmNfZm10 cyA9IHJrMzM5OV92cHVfZW5jX2ZtdHMsCj4gK8KgwqDCoMKgwqDCoMKgLm51bV9lbmNfZm10cyA9 IEFSUkFZX1NJWkUocmszMzk5X3ZwdV9lbmNfZm10cyksCj4gK8KgwqDCoMKgwqDCoMKgLmRlY19v ZmZzZXQgPSAweDQwMCwKPiArwqDCoMKgwqDCoMKgwqAuZGVjX2ZtdHMgPSByazMzOTlfdnB1X2Rl Y19mbXRzLAo+ICvCoMKgwqDCoMKgwqDCoC5udW1fZGVjX2ZtdHMgPSBBUlJBWV9TSVpFKHJrMzM5 OV92cHVfZGVjX2ZtdHMpLAo+ICvCoMKgwqDCoMKgwqDCoC5jb2RlYyA9IEhBTlRST19KUEVHX0VO Q09ERVIgfCBIQU5UUk9fTVBFRzJfREVDT0RFUiB8Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBIQU5UUk9fVlA4X0RFQ09ERVIsCj4gK8KgwqDCoMKgwqDCoMKgLmNvZGVjX29wcyA9 IHJrMzM5OV92cHVfY29kZWNfb3BzLAo+ICvCoMKgwqDCoMKgwqDCoC5pcnFzID0gcmszMzk5X2ly cXMsCj4gK8KgwqDCoMKgwqDCoMKgLm51bV9pcnFzID0gQVJSQVlfU0laRShyazMzOTlfaXJxcyks Cj4gK8KgwqDCoMKgwqDCoMKgLmluaXQgPSByazMzOTlfdnB1X2h3X2luaXQsCj4gK8KgwqDCoMKg wqDCoMKgLmNsa19uYW1lcyA9IHB4MzBfY2xrX25hbWVzLAo+ICvCoMKgwqDCoMKgwqDCoC5udW1f Y2xvY2tzID0gQVJSQVlfU0laRShweDMwX2Nsa19uYW1lcykKPiArfTsKClRoYW5rcywKRXplcXVp ZWwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51 eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJvY2tj aGlwCg== 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.0 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, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A5523C433E0 for ; Thu, 7 Jan 2021 19:11:05 +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 5D50723432 for ; Thu, 7 Jan 2021 19:11:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D50723432 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-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date: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=dauPXyAaGUrHI5a1zn03m/0UcvypfeDdCQuF4w228Go=; b=rH/xb98DH87MeAm6a5GjFSmcc NSA8y2GONqSlGUKWnFZtZPeZT8b7ZsD1H4pysqVBEbzA69FKxK/1lSHNICirumJSzDKlvinwIb5c0 5lnooB3+iLzweK8Sp8oaJyjPyK3NJJYCjyz9loHGcU//cuHYm/7FgwKE1kX+Yp4InbA41bvP+rMet eNzBwP/UONa0Pk2FBfVs4j0dhQ41x/8q3yWSaXn0CLF+E0ZPuhUau0IxGcZYoBHK/46JOVYRXXvaB ZmvUDb8oAb3UJbkbmmI2Z1TFLODvAiXU04Ybmu4Bf8DpCtkVlykP4DWXY5sW0FcuyptbsYalaO4Qt KDWveI1vg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kxae6-0008Pt-PJ; Thu, 07 Jan 2021 19:08:30 +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 1kxae1-0008Of-FG; Thu, 07 Jan 2021 19:08:29 +0000 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id 1F0991F4662A Message-ID: Subject: Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30 From: Ezequiel Garcia To: Paul Kocialkowski , 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 Date: Thu, 07 Jan 2021 16:08:10 -0300 In-Reply-To: <20210107134101.195426-6-paul.kocialkowski@bootlin.com> References: <20210107134101.195426-1-paul.kocialkowski@bootlin.com> <20210107134101.195426-6-paul.kocialkowski@bootlin.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-20210107_140825_683487_997C0C67 X-CRM114-Status: GOOD ( 22.38 ) 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: Heiko Stuebner , Greg Kroah-Hartman , Thomas Petazzoni , Rob Herring , Jacob Chen , Philipp Zabel , Mauro Carvalho Chehab 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 SGkgUGF1bCwKCkhhcHB5IHRvIHNlZSB0aGlzIHBhdGNoLiBJdCB3YXMgb24gbXkgVE9ETyBsaXN0 LApidXQgSSBoYWRuJ3QgaGFkIHRpbWUgdG8gYnJpbmd1cCBteSByazMzMjYgZGV2aWNlLgoKQSBm ZXcgY29tbWVudHMuCgpPbiBUaHUsIDIwMjEtMDEtMDcgYXQgMTQ6NDEgKzAxMDAsIFBhdWwgS29j aWFsa293c2tpIHdyb3RlOgo+IFRoZSBQWDMwIFNvQyBpbmNsdWRlcyBib3RoIHRoZSBWRFBVMiBh bmQgVkVQVTIgYmxvY2tzIHdoaWNoIGFyZSBzaW1pbGFyCj4gdG8gdGhlIFJLMzM5OSAoSGFudHJv IEcxL0gxIHdpdGggc2h1ZmZsZWQgcmVnaXN0ZXJzKS4KPiAKPiBCZXNpZGVzIHRha2luZyBhbiBl eHRyYSBjbG9jaywgaXQgYWxzbyBzaGFyZXMgYW4gaW50ZXJydXB0IHdpdGggdGhlIElPTU1VCj4g c28gaXQncyBuZWNlc3NhcnkgdG8gcmVxdWVzdCB0aGUgaW50ZXJydXB0IHNoYXJlZC4KPiAKCkNv dWxkIHlvdSBjbGFyaWZ5IG9uIHRoZSBjb21taXQgZGVzY3JpcHRpb24gd2hpY2ggaW9tbXUgZGV2 aWNlIGludGVycnVwdApsaW5lIGlzIGJlaW5nIHNoYXJlZD8KCj4gU2lnbmVkLW9mZi1ieTogUGF1 bCBLb2NpYWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3RsaW4uY29tPgo+IC0tLQo+IMKg ZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9fZHJ2LmPCoMKgwqAgfMKgIDUgKysr LS0KPiDCoGRyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmjCoMKgwqDCoCB8 wqAgMSArCj4gwqBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JrMzM5OV92cHVfaHcuYyB8 IDIxICsrKysrKysrKysrKysrKysrKysrCj4gwqAzIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9t ZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9o YW50cm9fZHJ2LmMKPiBpbmRleCBlNWYyMDBlNjQ5OTMuLjA3NmE3NzgyYjQ3NiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYwo+ICsrKyBiL2Ry aXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vaGFudHJvX2Rydi5jCj4gQEAgLTQ3Miw2ICs0NzIs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHY0bDJfZmlsZV9vcGVyYXRpb25zIGhhbnRyb19mb3Bz ID0gewo+IMKgCj4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9oYW50cm9f bWF0Y2hbXSA9IHsKPiDCoCNpZmRlZiBDT05GSUdfVklERU9fSEFOVFJPX1JPQ0tDSElQCj4gK8Kg wqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxweDMwLXZwdSIsIC5kYXRhID0g JnB4MzBfdnB1X3ZhcmlhbnQsIH0sCj4gwqDCoMKgwqDCoMKgwqDCoHsgLmNvbXBhdGlibGUgPSAi cm9ja2NoaXAscmszMzk5LXZwdSIsIC5kYXRhID0gJnJrMzM5OV92cHVfdmFyaWFudCwgfSwKPiDC oMKgwqDCoMKgwqDCoMKgeyAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxyazMzMjgtdnB1IiwgLmRh dGEgPSAmcmszMzI4X3ZwdV92YXJpYW50LCB9LAo+IMKgwqDCoMKgwqDCoMKgwqB7IC5jb21wYXRp YmxlID0gInJvY2tjaGlwLHJrMzI4OC12cHUiLCAuZGF0YSA9ICZyazMyODhfdnB1X3ZhcmlhbnQs IH0sCj4gQEAgLTc5Niw4ICs3OTcsOCBAQCBzdGF0aWMgaW50IGhhbnRyb19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRU5YSU87Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoHJldCA9IGRldm1fcmVxdWVzdF9pcnEodnB1LT5kZXYsIGlycSwKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgdnB1LT52YXJpYW50LT5pcnFzW2ldLmhhbmRsZXIsIDAsCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGRldl9uYW1lKHZwdS0+ZGV2KSwgdnB1KTsKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdnB1LT52YXJpYW50LT5pcnFzW2ldLmhhbmRsZXIsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIElS UUZfU0hBUkVELCBkZXZfbmFtZSh2cHUtPmRldiksIHZwdSk7CgpNYXliZSB0aGlzIGlycSBmbGFn IHNob3VsZCBiZSBwYXJ0IG9mIHZwdS0+dmFyaWFudD8gSXQgc291bmRzIGxpa2UgYW4gSVAgYmxv Y2sKaW50ZWdyYXRpb24gc3BlY2lmaWMgdGhpbmcuCgpBbHNvLCB5b3Ugd2lsbCBuZWVkIGEgcHgz MC1zcGVjaWZpYyBpbnRlcnJ1cHQgaGFuZGxlciBub3csCnNpbmNlIHRoZSByazMzOTkgb25lIGlz IG5vdCBzaGFyZWQtZnJpZW5kbHkuCgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg aWYgKHJldCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGRldl9lcnIodnB1LT5kZXYsICJDb3VsZCBub3QgcmVxdWVzdCAlcyBJUlEuXG4iLAo+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqBpcnFfbmFtZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50 cm8vaGFudHJvX2h3LmggYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJvL2hhbnRyb19ody5o Cj4gaW5kZXggMzRjOWU0NjQ5YTI1Li4wN2Y1MTZmZDdhMmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9zdGFnaW5nL21lZGlhL2hhbnRyby9oYW50cm9faHcuaAo+ICsrKyBiL2RyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmgKPiBAQCAtMTQ4LDYgKzE0OCw3IEBAIGVudW0gaGFu dHJvX2VuY19mbXQgewo+IMKgwqDCoMKgwqDCoMKgwqBSSzMyODhfVlBVX0VOQ19GTVRfVVlWWTQy MiA9IDMsCj4gwqB9Owo+IMKgCj4gK2V4dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQg cHgzMF92cHVfdmFyaWFudDsKPiDCoGV4dGVybiBjb25zdCBzdHJ1Y3QgaGFudHJvX3ZhcmlhbnQg cmszMzk5X3ZwdV92YXJpYW50Owo+IMKgZXh0ZXJuIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFu dCByazMzMjhfdnB1X3ZhcmlhbnQ7Cj4gwqBleHRlcm4gY29uc3Qgc3RydWN0IGhhbnRyb192YXJp YW50IHJrMzI4OF92cHVfdmFyaWFudDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL21l ZGlhL2hhbnRyby9yazMzOTlfdnB1X2h3LmMgYi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvaGFudHJv L3JrMzM5OV92cHVfaHcuYwo+IGluZGV4IDdhNzk2MmNmNzcxZS4uNDExMmY5OGJhYTYwIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9oYW50cm8vcmszMzk5X3ZwdV9ody5jCj4g KysrIGIvZHJpdmVycy9zdGFnaW5nL21lZGlhL2hhbnRyby9yazMzOTlfdnB1X2h3LmMKClBlcmhh cHMgaXQncyB0aW1lIHRvIHJlbmFtZSB0aGlzIHRvIHJvY2tjaGlwX3ZwdV9ody5jLAphbmQgbWVy Z2UgcmszMjg4IGFuZCByazMzOTk/IEl0J3MgYSBuaXRwaWNrLCB0aG91Z2guCgo+IEBAIC0yMjAs MyArMjIwLDI0IEBAIGNvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCByazMzMjhfdnB1X3Zhcmlh bnQgPSB7Cj4gwqDCoMKgwqDCoMKgwqDCoC5jbGtfbmFtZXMgPSByazMzOTlfY2xrX25hbWVzLAo+ IMKgwqDCoMKgwqDCoMKgwqAubnVtX2Nsb2NrcyA9IEFSUkFZX1NJWkUocmszMzk5X2Nsa19uYW1l cyksCj4gwqB9Owo+ICsKPiArc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBweDMwX2Nsa19uYW1l c1tdID0gewo+ICvCoMKgwqDCoMKgwqDCoCJhY2xrIiwgImhjbGsiLCAic2NsayIKPiArfTsKPiAr Cj4gK2NvbnN0IHN0cnVjdCBoYW50cm9fdmFyaWFudCBweDMwX3ZwdV92YXJpYW50ID0gewo+ICvC oMKgwqDCoMKgwqDCoC5lbmNfb2Zmc2V0ID0gMHgwLAo+ICvCoMKgwqDCoMKgwqDCoC5lbmNfZm10 cyA9IHJrMzM5OV92cHVfZW5jX2ZtdHMsCj4gK8KgwqDCoMKgwqDCoMKgLm51bV9lbmNfZm10cyA9 IEFSUkFZX1NJWkUocmszMzk5X3ZwdV9lbmNfZm10cyksCj4gK8KgwqDCoMKgwqDCoMKgLmRlY19v ZmZzZXQgPSAweDQwMCwKPiArwqDCoMKgwqDCoMKgwqAuZGVjX2ZtdHMgPSByazMzOTlfdnB1X2Rl Y19mbXRzLAo+ICvCoMKgwqDCoMKgwqDCoC5udW1fZGVjX2ZtdHMgPSBBUlJBWV9TSVpFKHJrMzM5 OV92cHVfZGVjX2ZtdHMpLAo+ICvCoMKgwqDCoMKgwqDCoC5jb2RlYyA9IEhBTlRST19KUEVHX0VO Q09ERVIgfCBIQU5UUk9fTVBFRzJfREVDT0RFUiB8Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBIQU5UUk9fVlA4X0RFQ09ERVIsCj4gK8KgwqDCoMKgwqDCoMKgLmNvZGVjX29wcyA9 IHJrMzM5OV92cHVfY29kZWNfb3BzLAo+ICvCoMKgwqDCoMKgwqDCoC5pcnFzID0gcmszMzk5X2ly cXMsCj4gK8KgwqDCoMKgwqDCoMKgLm51bV9pcnFzID0gQVJSQVlfU0laRShyazMzOTlfaXJxcyks Cj4gK8KgwqDCoMKgwqDCoMKgLmluaXQgPSByazMzOTlfdnB1X2h3X2luaXQsCj4gK8KgwqDCoMKg wqDCoMKgLmNsa19uYW1lcyA9IHB4MzBfY2xrX25hbWVzLAo+ICvCoMKgwqDCoMKgwqDCoC5udW1f Y2xvY2tzID0gQVJSQVlfU0laRShweDMwX2Nsa19uYW1lcykKPiArfTsKClRoYW5rcywKRXplcXVp ZWwKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51 eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1h cm0ta2VybmVsCg==