From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1832A2C96 for ; Mon, 8 Nov 2021 16:33:42 +0000 (UTC) Received: by mail-ed1-f50.google.com with SMTP id ee33so65219901edb.8 for ; Mon, 08 Nov 2021 08:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9Rxa4GOx2fwvlQZ2whnc/TnhfZE1p0pc42KpiRaylhs=; b=n/8qnSZC3Cjp/oZ7CLEJ2X6v9P73IFL7f911sxu+p/MF2O04o5WsKr08m6/BfoPYl9 /GhDWWFwCRE3OQKw6skOR7QTvO9ys2RG48tJh+RAubTHvLvK6bnBuysJ+UK5s9cDoCpK SHoCZPXZSgdBh8vCV+qGIHOUBDELv/pNmFqyr/oZUkYWYvV/pUeCPBbslHoP9LUWxHQS pTvBRUAIhO1CLl7JzjS7d9jZSNkhIaSaD3mClEVQxA1WXxL3+2OwKmMT3u75VcBabHZX uLwh/vHcYU10p/Z5fA7XHumMA60YmwaHkm0SMNnoI5lxJTkUvDdewY+SgYtJBF7/hHrO xB5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=9Rxa4GOx2fwvlQZ2whnc/TnhfZE1p0pc42KpiRaylhs=; b=Wo7dxS2pUFwSMuW8XxHDf7rUwzereuXeg0aRQ5Lr4bgnGxhMyWS1ciPWSbI6FBdDk3 WEYS7hZBX9X2NQnRbSFOMARKl/dUcGzuCCSwuahxUCrSXMfpKm7n7wRBxfaELy9dnWiA OYo5ZAx6MHcv71Mu4st7w/RRrs5HrG4rRhu+hRQKKBeAa6SPVA0wGhrrEh9148Rsj57F 0q59friJFoUsylYUeFK6RJX/oKzhuS1lo2hQML+m8gU8pOtQsFdyiLlB9UB8rhqFmPDo HEnMawl7bfhMFmglHBW7/R6HHzeLLUHJ4+qSXo3yPTiw5EcK9mNW3cWXdgiO814eb9Cb QHQQ== X-Gm-Message-State: AOAM530ZMVQOgi42x2OM2TPFHL12z346ki1YdR8P23KKFeBO05eMfH6G 3H3ckiXz6Yg9VlQ+Q6FOtZfewXivKsIqFo30gaY= X-Google-Smtp-Source: ABdhPJzUbBKXNcxWwqbBJXazNeHjGX+wrr3eBVTqDpa+ZR9NhtiVwzLUbkHmYS7g+jGomDrMzjw634dhURflNo53ues= X-Received: by 2002:a05:6402:3508:: with SMTP id b8mr448425edd.347.1636389220044; Mon, 08 Nov 2021 08:33:40 -0800 (PST) Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20211106183802.893285-1-aford173@gmail.com> <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> In-Reply-To: <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> From: Adam Ford Date: Mon, 8 Nov 2021 10:33:28 -0600 Message-ID: Subject: Re: [RFC 0/5] arm64: imx8mm: Enable Hantro VPUs To: Nicolas Dufresne Cc: linux-media , Tim Harvey , Schrempf Frieder , Marek Vasut , Jagan Teki , Adam Ford-BE , cstevens@beaconembedded.com, Ezequiel Garcia , Philipp Zabel , Mauro Carvalho Chehab , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Greg Kroah-Hartman , Heiko Stuebner , Lucas Stach , Joakim Zhang , Alice Guo , Peng Fan , "open list:HANTRO VPU CODEC DRIVER" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , open list , "open list:STAGING SUBSYSTEM" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 8, 2021 at 7:59 AM Nicolas Dufresne wrot= e: > > Hi Adam, > > thanks for you work, I'll try and reply about the GStreamer questions be= low, if > you have further question feel free to ask. > > Le samedi 06 novembre 2021 =C3=A0 13:37 -0500, Adam Ford a =C3=A9crit : > > The i.MX8M has two Hantro video decoders, called G1 and G2 which appear > > to be related to the video decoders used on the i.MX8MQ, but because of > > how the Mini handles the power domains, the VPU driver does not need to > > handle all the functions, so a new compatible flag is required. > > > > This is an RFC because I don't have functional video on my system yet, > > and I'm hoping there might be people who do and can help test this. > > I have only tested this far enough to see they enumerate and appear > > as /dev/videoX and /dev/mediaX devices. > > I will check the patchset, but you need in the mini-variant to disable th= e G1 > post processor, because this block was fused out. We didn't make it optio= nal Thanks for being willing to review this. > from the start as according to the V1 of the TRM it was there, but that e= rror > was corrected in V3. Thanks for the clarification. It wasn't obvious to me, because in some instances the PP looked like it was there and sometimes not there. I'll remove the postproc stuff. > > > > > I am also curious to know if/what gstreamer plugins are necessary. In > > NXP's custom kernel, there are IMX-specific plugins, and I was hoping t= here > > would be more generic plugins that I can use to test. I am hoping some > > of the linux-media experts might chime in on how to best test. > > I will recommend using GStreamer 1.19.3 or main branch (GStreamer is now = a > single git repo). You will then be able to test Hantro G1 decoding of MPE= G2, > H264 and VP8. Remember that the related plugin depends on libgudev (a gli= b > binding of udev). Thanks for the tip. > > For the encoder, I believe only JPEG maybe supported, since this is all t= here is > mainline for RK3288 (and perhaps other RK). But this will need testing an= d > debugging as the G1 version is slightly newer on NXP SoC. For what it's worth the G1 seems to repond cleanly to the inquiries from v42-compliance. The G2 throws some splat when I run v4l2-compliance, but I am still investigating that. [ 405.456979] ------------[ cut here ]------------ [ 405.464173] WARNING: CPU: 0 PID: 563 at mm/page_alloc.c:5344 __alloc_pages+0x5a4/0xbe0 [ 405.472104] Modules linked in: 8021q garp mrp stp llc caam_jr caamhash_desc caamalg_desc crypto_engine rng_core authenc libdes imx7_media_csi(C) crct10dif_ce imx_media_common(C) snd_soc_fsl_asoc_card imx7_mipi_csis(C) snd_soc_imx_audmux snd_soc_simple_card_utils fsl_imx8_ddr_perf imx8m_ddrc brcmfmac brcmutil hantro_vpu(C) v4l2_h264 v4l2_mem2mem videobuf2_vmalloc videobuf2_dma_contig videobuf2_memops cfg80211 ov5640 videobuf2_v4l2 v4l2_fwnode v4l2_async videobuf2_common videodev etnaviv gpu_sched hci_uart mc btqca btbcm snd_soc_wm8962 at24 spi_imx rtc_pcf85363 rtc_snvs clk_bd718x7 spi_bitbang snvs_pwrkey snd_soc_fsl_sai imx_pcm_dma caam error bluetooth imx8mm_thermal ecdh_generic imx_cpufreq_dt ecc rfkill fuse drm ipv6 [ 405.535835] CPU: 0 PID: 563 Comm: v4l2-compliance Tainted: G D C 5.15.0-next-20211105-00010-g4bb8e8a25d3c-dirty #28 [ 405.547401] Hardware name: Beacon EmbeddedWorks i.MX8M Mini Development Kit (DT) [ 405.554797] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE= =3D--) [ 405.561762] pc : __alloc_pages+0x5a4/0xbe0 [ 405.565861] lr : __dma_direct_alloc_pages+0x17c/0x1e0 [ 405.570917] sp : ffff800012443810 [ 405.574232] x29: ffff800012443810 x28: 0000000000000000 x27: ffff0000052= 88220 [ 405.581375] x26: 0000000000000034 x25: 0000000000000000 x24: ffff0000002= 59010 [ 405.588517] x23: ffff80001011ab7c x22: ffff000000259010 x21: 00000000fff= fffff [ 405.595659] x20: 0000000000000cc1 x19: 0000000000000000 x18: 00000000000= 00000 [ 405.602803] x17: 0000000000000000 x16: 0000000000000000 x15: 00000000000= 00000 [ 405.609947] x14: 0000000000000001 x13: 0000000000000000 x12: 00000000000= 00000 [ 405.617090] x11: ffff80001241d000 x10: ffff00000528833a x9 : ffff0000052= 8832a [ 405.624232] x8 : 0000000000000000 x7 : 0000000000000000 x6 : 00000000000= 00cc0 [ 405.631378] x5 : 00000000bfffffff x4 : ffff000009e30dc0 x3 : 00000000000= 00000 [ 405.638520] x2 : 0000000000000000 x1 : 0000000000000001 x0 : 00000000000= 00cc1 [ 405.645666] Call trace: [ 405.648113] __alloc_pages+0x5a4/0xbe0 [ 405.651862] __dma_direct_alloc_pages+0x17c/0x1e0 [ 405.656569] dma_direct_alloc+0x70/0x310 [ 405.660494] dma_alloc_attrs+0x7c/0xe4 [ 405.664246] hantro_hevc_get_ref_buf+0x15c/0x184 [hantro_vpu] [ 405.670021] hantro_g2_hevc_dec_run+0x3b8/0x1910 [hantro_vpu] [ 405.675791] device_run+0xac/0x110 [hantro_vpu] [ 405.680345] v4l2_m2m_try_run+0xac/0x1b0 [v4l2_mem2mem] [ 405.685598] v4l2_m2m_ioctl_streamon+0x84/0xa0 [v4l2_mem2mem] [ 405.691366] v4l_streamon+0x28/0x34 [videodev] [ 405.695877] __video_do_ioctl+0x178/0x3dc [videodev] [ 405.700897] video_usercopy+0x368/0x6dc [videodev] [ 405.705745] video_ioctl2+0x1c/0x30 [videodev] [ 405.710246] v4l2_ioctl+0x44/0x64 [videodev] [ 405.714574] __arm64_sys_ioctl+0xac/0xf0 [ 405.718502] invoke_syscall+0x48/0x114 [ 405.722258] el0_svc_common.constprop.0+0xd4/0xfc [ 405.726969] do_el0_svc+0x2c/0x94 [ 405.730286] el0_svc+0x28/0x80 [ 405.733348] el0t_64_sync_handler+0xa8/0x130 [ 405.737619] el0t_64_sync+0x1a0/0x1a4 [ 405.741287] ---[ end trace 270ed4a899803006 ]--- The H1 encoder seems to hang the system when I run v4l2-compliance on it when H1 is set up as I submitted the patch. I tried dropping all the encoder formats except the JPEG format, and it doesn't hang any more, but it also doesn't really do anything. The datasheet only references VPU_H1 as supporting VP8 and H.264, so I am not sure JPEG is even supported. The log from v4l2-compliance on the H1 with everything except the JPEG removed looks like: root@beacon-imx8mm-kit:~# v4l2-compliance -d2 v4l2-compliance SHA: not available , 64 bits, 64-bit time_t Segmentation fault root@beacon-imx8mm-kit:~# Message from syslogd@ at Thu Jan 1 00:05:07 1970 ... : Internal error: Oops: 96000004 [#2] SMP Message from syslogd@ at Thu Jan 1 00:05:07 1970 ... : Code: 52800001 aa1403e0 d2801802 95c31ab9 (b9400aa1) I want to install Gstreamer, but I don't have functioning DSI video, so I am not entirely sure how I will go about testing the decoders except by using fakesink If the G1 ends up working with some of the newer Gstreamer stuff, I might just submit a formal patch to just enable the G1 for now. adam > > > > > Lastly, I didn't update any device tree binding YAML files, because > > I know there have been some discussions about the power domains on the > > imx8mq, and I wasn't sure if the imx8mm should get a separate YAML file > > or if the existing one for te imx8mq should just be modified. > > > > This will likely require the following series in order to apply correct= ly: > > https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=3D57= 6407 > > > > Adam Ford (5): > > media: hantro: Add support for i.MX8M Mini > > arm64: dts: imx8mm: Enable VPU-G1 and VPU-G2 > > media: hantro: Rename ROCKCHIP_VPU_ENC_FMT to HANTRO_VPU_ENC_FMT > > media: hantro: Add H1 encoder support on i.MX8M Mini > > arm64: dts: imx8mm: Enable Hantro H1 Encoder > > > > arch/arm64/boot/dts/freescale/imx8mm.dtsi | 61 ++++++++ > > drivers/staging/media/hantro/hantro_drv.c | 3 + > > drivers/staging/media/hantro/hantro_hw.h | 19 ++- > > drivers/staging/media/hantro/imx8m_vpu_hw.c | 143 ++++++++++++++++++ > > .../staging/media/hantro/rockchip_vpu_hw.c | 26 ++-- > > 5 files changed, 231 insertions(+), 21 deletions(-) > > > 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 091E3C433F5 for ; Mon, 8 Nov 2021 16:33:53 +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 C427061159 for ; Mon, 8 Nov 2021 16:33:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C427061159 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8Ig9vsYxjFVzW0ZEFPYb6214Id3Th/oyE/swOsUO8Cg=; b=sMVF1rhWybdcCK iv3HxudRwjaczmioNsBkdcWqQKgrzI4swS9zEbuuNoP23EcGwJx7ID5jgoVtf+T+cIx6nht35dLOG UfkSkkY8I8HDhWbnUcS7LI9XVkpU2jvp02TH0NAFB+ELLKN2Y/3ZTMA8+Vgfsk6AdFJffwp/owYfR tR5+uz5UoZfVjfaWWaZM93XuEHd7z5nF3uCXaUgo8B2dqA8s8VKwvHd+tzfn4fa9Husal4DgW3wB9 a+im9ePWRTNW00Ci19J95JaW0PD5L+ZeO3+3KoZTrXaf66MSo1l4muPZWmDgQijsLql0MxqpfYeEe QT1wdiO4N7y04YF7MPzw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mk7ab-00GyNM-24; Mon, 08 Nov 2021 16:33:45 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mk7aX-00GyMF-ML; Mon, 08 Nov 2021 16:33:43 +0000 Received: by mail-ed1-x52b.google.com with SMTP id f8so65038912edy.4; Mon, 08 Nov 2021 08:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9Rxa4GOx2fwvlQZ2whnc/TnhfZE1p0pc42KpiRaylhs=; b=n/8qnSZC3Cjp/oZ7CLEJ2X6v9P73IFL7f911sxu+p/MF2O04o5WsKr08m6/BfoPYl9 /GhDWWFwCRE3OQKw6skOR7QTvO9ys2RG48tJh+RAubTHvLvK6bnBuysJ+UK5s9cDoCpK SHoCZPXZSgdBh8vCV+qGIHOUBDELv/pNmFqyr/oZUkYWYvV/pUeCPBbslHoP9LUWxHQS pTvBRUAIhO1CLl7JzjS7d9jZSNkhIaSaD3mClEVQxA1WXxL3+2OwKmMT3u75VcBabHZX uLwh/vHcYU10p/Z5fA7XHumMA60YmwaHkm0SMNnoI5lxJTkUvDdewY+SgYtJBF7/hHrO xB5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=9Rxa4GOx2fwvlQZ2whnc/TnhfZE1p0pc42KpiRaylhs=; b=rKzw72IZvnPIAqwzM8lnJ/zXgvZMfXyt3wWLr79qUqYKrAqPiydS86UWImAfBG0Xaz 2H6wQIewUPgEAWJOdObx5BZqme/tBE7oLMsKM9eFQUV/T6NKugxZ4/fSQdAeJmZ2YB2f 82UDwpUjnbfQyjibrkEMbBGb5lFySMwFZROaqN0iMn52h1O6grTgJ2BYKj2SeDO41TUq cAKXporr9O91odG5OtIuGmK6Q7VXjEwJZiI79QlJmPJHGMOcTkqut+weqzadyM8jKzeq jXFIqafcTSPNsR5cmZN3gjlc6sQkUoRGfx3LG7s8zbPsSr/T8xBZ9ZLR6InYaR4/iWKu 7i2A== X-Gm-Message-State: AOAM531OSCcxLIIqBoK8bcn12jtoRIlxlvb3VP0eHKApN82c6S2fEeE/ W2UDG/3gk1Ae8E4np19VSM6sVIMBMtU2ySVn42I= X-Google-Smtp-Source: ABdhPJzUbBKXNcxWwqbBJXazNeHjGX+wrr3eBVTqDpa+ZR9NhtiVwzLUbkHmYS7g+jGomDrMzjw634dhURflNo53ues= X-Received: by 2002:a05:6402:3508:: with SMTP id b8mr448425edd.347.1636389220044; Mon, 08 Nov 2021 08:33:40 -0800 (PST) MIME-Version: 1.0 References: <20211106183802.893285-1-aford173@gmail.com> <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> In-Reply-To: <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> From: Adam Ford Date: Mon, 8 Nov 2021 10:33:28 -0600 Message-ID: Subject: Re: [RFC 0/5] arm64: imx8mm: Enable Hantro VPUs To: Nicolas Dufresne Cc: linux-media , Tim Harvey , Schrempf Frieder , Marek Vasut , Jagan Teki , Adam Ford-BE , cstevens@beaconembedded.com, Ezequiel Garcia , Philipp Zabel , Mauro Carvalho Chehab , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Greg Kroah-Hartman , Heiko Stuebner , Lucas Stach , Joakim Zhang , Alice Guo , Peng Fan , "open list:HANTRO VPU CODEC DRIVER" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , open list , "open list:STAGING SUBSYSTEM" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211108_083341_776543_14C9CB96 X-CRM114-Status: GOOD ( 45.64 ) 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 T24gTW9uLCBOb3YgOCwgMjAyMSBhdCA3OjU5IEFNIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNA bmR1ZnJlc25lLmNhPiB3cm90ZToKPgo+IEhpIEFkYW0sCj4KPiB0aGFua3MgZm9yIHlvdSB3b3Jr LCBJJ2xsIHRyeSBhbmQgcmVwbHkgIGFib3V0IHRoZSBHU3RyZWFtZXIgcXVlc3Rpb25zIGJlbG93 LCBpZgo+IHlvdSBoYXZlIGZ1cnRoZXIgcXVlc3Rpb24gZmVlbCBmcmVlIHRvIGFzay4KPgo+IExl IHNhbWVkaSAwNiBub3ZlbWJyZSAyMDIxIMOgIDEzOjM3IC0wNTAwLCBBZGFtIEZvcmQgYSDDqWNy aXQgOgo+ID4gVGhlIGkuTVg4TSBoYXMgdHdvIEhhbnRybyB2aWRlbyBkZWNvZGVycywgY2FsbGVk IEcxIGFuZCBHMiB3aGljaCBhcHBlYXIKPiA+IHRvIGJlIHJlbGF0ZWQgdG8gdGhlIHZpZGVvIGRl Y29kZXJzIHVzZWQgb24gdGhlIGkuTVg4TVEsIGJ1dCBiZWNhdXNlIG9mCj4gPiBob3cgdGhlIE1p bmkgaGFuZGxlcyB0aGUgcG93ZXIgZG9tYWlucywgdGhlIFZQVSBkcml2ZXIgZG9lcyBub3QgbmVl ZCB0bwo+ID4gaGFuZGxlIGFsbCB0aGUgZnVuY3Rpb25zLCBzbyBhIG5ldyBjb21wYXRpYmxlIGZs YWcgaXMgcmVxdWlyZWQuCj4gPgo+ID4gVGhpcyBpcyBhbiBSRkMgYmVjYXVzZSBJIGRvbid0IGhh dmUgZnVuY3Rpb25hbCB2aWRlbyBvbiBteSBzeXN0ZW0geWV0LAo+ID4gYW5kIEknbSBob3Bpbmcg dGhlcmUgbWlnaHQgYmUgcGVvcGxlIHdobyBkbyBhbmQgY2FuIGhlbHAgdGVzdCB0aGlzLgo+ID4g SSBoYXZlIG9ubHkgdGVzdGVkIHRoaXMgZmFyIGVub3VnaCB0byBzZWUgdGhleSBlbnVtZXJhdGUg YW5kIGFwcGVhcgo+ID4gYXMgL2Rldi92aWRlb1ggYW5kIC9kZXYvbWVkaWFYIGRldmljZXMuCj4K PiBJIHdpbGwgY2hlY2sgdGhlIHBhdGNoc2V0LCBidXQgeW91IG5lZWQgaW4gdGhlIG1pbmktdmFy aWFudCB0byBkaXNhYmxlIHRoZSBHMQo+IHBvc3QgcHJvY2Vzc29yLCBiZWNhdXNlIHRoaXMgYmxv Y2sgd2FzIGZ1c2VkIG91dC4gV2UgZGlkbid0IG1ha2UgaXQgb3B0aW9uYWwKClRoYW5rcyBmb3Ig YmVpbmcgd2lsbGluZyB0byByZXZpZXcgdGhpcy4KCj4gZnJvbSB0aGUgc3RhcnQgYXMgYWNjb3Jk aW5nIHRvIHRoZSBWMSBvZiB0aGUgVFJNIGl0IHdhcyB0aGVyZSwgYnV0IHRoYXQgZXJyb3IKPiB3 YXMgY29ycmVjdGVkIGluIFYzLgoKVGhhbmtzIGZvciB0aGUgY2xhcmlmaWNhdGlvbi4gIEl0IHdh c24ndCBvYnZpb3VzIHRvIG1lLCBiZWNhdXNlIGluCnNvbWUgaW5zdGFuY2VzIHRoZSBQUCBsb29r ZWQgbGlrZSBpdCB3YXMgdGhlcmUgYW5kIHNvbWV0aW1lcyBub3QKdGhlcmUuICBJJ2xsIHJlbW92 ZSB0aGUgcG9zdHByb2Mgc3R1ZmYuCgo+Cj4gPgo+ID4gSSBhbSBhbHNvIGN1cmlvdXMgdG8ga25v dyBpZi93aGF0IGdzdHJlYW1lciBwbHVnaW5zIGFyZSBuZWNlc3NhcnkuICBJbgo+ID4gTlhQJ3Mg Y3VzdG9tIGtlcm5lbCwgdGhlcmUgYXJlIElNWC1zcGVjaWZpYyBwbHVnaW5zLCBhbmQgSSB3YXMg aG9waW5nIHRoZXJlCj4gPiB3b3VsZCBiZSBtb3JlIGdlbmVyaWMgcGx1Z2lucyB0aGF0IEkgY2Fu IHVzZSB0byB0ZXN0LiAgSSBhbSBob3Bpbmcgc29tZQo+ID4gb2YgdGhlIGxpbnV4LW1lZGlhIGV4 cGVydHMgbWlnaHQgY2hpbWUgaW4gb24gaG93IHRvIGJlc3QgdGVzdC4KPgo+IEkgd2lsbCByZWNv bW1lbmQgdXNpbmcgR1N0cmVhbWVyIDEuMTkuMyBvciBtYWluIGJyYW5jaCAoR1N0cmVhbWVyIGlz IG5vdyBhCj4gc2luZ2xlIGdpdCByZXBvKS4gWW91IHdpbGwgdGhlbiBiZSBhYmxlIHRvIHRlc3Qg SGFudHJvIEcxIGRlY29kaW5nIG9mIE1QRUcyLAo+IEgyNjQgYW5kIFZQOC4gUmVtZW1iZXIgdGhh dCB0aGUgcmVsYXRlZCBwbHVnaW4gZGVwZW5kcyBvbiBsaWJndWRldiAoYSBnbGliCj4gYmluZGlu ZyBvZiB1ZGV2KS4KClRoYW5rcyBmb3IgdGhlIHRpcC4KCj4KPiBGb3IgdGhlIGVuY29kZXIsIEkg YmVsaWV2ZSBvbmx5IEpQRUcgbWF5YmUgc3VwcG9ydGVkLCBzaW5jZSB0aGlzIGlzIGFsbCB0aGVy ZSBpcwo+IG1haW5saW5lIGZvciBSSzMyODggKGFuZCBwZXJoYXBzIG90aGVyIFJLKS4gQnV0IHRo aXMgd2lsbCBuZWVkIHRlc3RpbmcgYW5kCj4gZGVidWdnaW5nIGFzIHRoZSBHMSB2ZXJzaW9uIGlz IHNsaWdodGx5IG5ld2VyIG9uIE5YUCBTb0MuCgpGb3Igd2hhdCBpdCdzIHdvcnRoIHRoZSBHMSBz ZWVtcyB0byByZXBvbmQgY2xlYW5seSB0byB0aGUgaW5xdWlyaWVzCmZyb20gdjQyLWNvbXBsaWFu Y2UuClRoZSBHMiB0aHJvd3Mgc29tZSBzcGxhdCB3aGVuIEkgcnVuIHY0bDItY29tcGxpYW5jZSwg YnV0IEkgYW0gc3RpbGwKaW52ZXN0aWdhdGluZyB0aGF0LgoKWyAgNDA1LjQ1Njk3OV0gLS0tLS0t LS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsgIDQwNS40NjQxNzNdIFdBUk5JTkc6IENQ VTogMCBQSUQ6IDU2MyBhdCBtbS9wYWdlX2FsbG9jLmM6NTM0NApfX2FsbG9jX3BhZ2VzKzB4NWE0 LzB4YmUwClsgIDQwNS40NzIxMDRdIE1vZHVsZXMgbGlua2VkIGluOiA4MDIxcSBnYXJwIG1ycCBz dHAgbGxjIGNhYW1fanIKY2FhbWhhc2hfZGVzYyBjYWFtYWxnX2Rlc2MgY3J5cHRvX2VuZ2luZSBy bmdfY29yZSBhdXRoZW5jIGxpYmRlcwppbXg3X21lZGlhX2NzaShDKSBjcmN0MTBkaWZfY2UgaW14 X21lZGlhX2NvbW1vbihDKQpzbmRfc29jX2ZzbF9hc29jX2NhcmQgaW14N19taXBpX2NzaXMoQykg c25kX3NvY19pbXhfYXVkbXV4CnNuZF9zb2Nfc2ltcGxlX2NhcmRfdXRpbHMgZnNsX2lteDhfZGRy X3BlcmYgaW14OG1fZGRyYyBicmNtZm1hYwpicmNtdXRpbCBoYW50cm9fdnB1KEMpIHY0bDJfaDI2 NCB2NGwyX21lbTJtZW0gdmlkZW9idWYyX3ZtYWxsb2MKdmlkZW9idWYyX2RtYV9jb250aWcgdmlk ZW9idWYyX21lbW9wcyBjZmc4MDIxMSBvdjU2NDAgdmlkZW9idWYyX3Y0bDIKdjRsMl9md25vZGUg djRsMl9hc3luYyB2aWRlb2J1ZjJfY29tbW9uIHZpZGVvZGV2IGV0bmF2aXYgZ3B1X3NjaGVkCmhj aV91YXJ0IG1jIGJ0cWNhIGJ0YmNtIHNuZF9zb2Nfd204OTYyIGF0MjQgc3BpX2lteCBydGNfcGNm ODUzNjMKcnRjX3NudnMgY2xrX2JkNzE4eDcgc3BpX2JpdGJhbmcgc252c19wd3JrZXkgc25kX3Nv Y19mc2xfc2FpCmlteF9wY21fZG1hIGNhYW0gZXJyb3IgYmx1ZXRvb3RoIGlteDhtbV90aGVybWFs IGVjZGhfZ2VuZXJpYwppbXhfY3B1ZnJlcV9kdCBlY2MgcmZraWxsIGZ1c2UgZHJtIGlwdjYKWyAg NDA1LjUzNTgzNV0gQ1BVOiAwIFBJRDogNTYzIENvbW06IHY0bDItY29tcGxpYW5jZSBUYWludGVk OiBHICAgICAgRAogQyAgICAgICAgNS4xNS4wLW5leHQtMjAyMTExMDUtMDAwMTAtZzRiYjhlOGEy NWQzYy1kaXJ0eSAjMjgKWyAgNDA1LjU0NzQwMV0gSGFyZHdhcmUgbmFtZTogQmVhY29uIEVtYmVk ZGVkV29ya3MgaS5NWDhNIE1pbmkKRGV2ZWxvcG1lbnQgS2l0IChEVCkKWyAgNDA1LjU1NDc5N10g cHN0YXRlOiAyMDAwMDAwNSAobnpDdiBkYWlmIC1QQU4gLVVBTyAtVENPIC1ESVQgLVNTQlMgQlRZ UEU9LS0pClsgIDQwNS41NjE3NjJdIHBjIDogX19hbGxvY19wYWdlcysweDVhNC8weGJlMApbICA0 MDUuNTY1ODYxXSBsciA6IF9fZG1hX2RpcmVjdF9hbGxvY19wYWdlcysweDE3Yy8weDFlMApbICA0 MDUuNTcwOTE3XSBzcCA6IGZmZmY4MDAwMTI0NDM4MTAKWyAgNDA1LjU3NDIzMl0geDI5OiBmZmZm ODAwMDEyNDQzODEwIHgyODogMDAwMDAwMDAwMDAwMDAwMCB4Mjc6IGZmZmYwMDAwMDUyODgyMjAK WyAgNDA1LjU4MTM3NV0geDI2OiAwMDAwMDAwMDAwMDAwMDM0IHgyNTogMDAwMDAwMDAwMDAwMDAw MCB4MjQ6IGZmZmYwMDAwMDAyNTkwMTAKWyAgNDA1LjU4ODUxN10geDIzOiBmZmZmODAwMDEwMTFh YjdjIHgyMjogZmZmZjAwMDAwMDI1OTAxMCB4MjE6IDAwMDAwMDAwZmZmZmZmZmYKWyAgNDA1LjU5 NTY1OV0geDIwOiAwMDAwMDAwMDAwMDAwY2MxIHgxOTogMDAwMDAwMDAwMDAwMDAwMCB4MTg6IDAw MDAwMDAwMDAwMDAwMDAKWyAgNDA1LjYwMjgwM10geDE3OiAwMDAwMDAwMDAwMDAwMDAwIHgxNjog MDAwMDAwMDAwMDAwMDAwMCB4MTU6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDA1LjYwOTk0N10geDE0 OiAwMDAwMDAwMDAwMDAwMDAxIHgxMzogMDAwMDAwMDAwMDAwMDAwMCB4MTI6IDAwMDAwMDAwMDAw MDAwMDAKWyAgNDA1LjYxNzA5MF0geDExOiBmZmZmODAwMDEyNDFkMDAwIHgxMDogZmZmZjAwMDAw NTI4ODMzYSB4OSA6IGZmZmYwMDAwMDUyODgzMmEKWyAgNDA1LjYyNDIzMl0geDggOiAwMDAwMDAw MDAwMDAwMDAwIHg3IDogMDAwMDAwMDAwMDAwMDAwMCB4NiA6IDAwMDAwMDAwMDAwMDBjYzAKWyAg NDA1LjYzMTM3OF0geDUgOiAwMDAwMDAwMGJmZmZmZmZmIHg0IDogZmZmZjAwMDAwOWUzMGRjMCB4 MyA6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDA1LjYzODUyMF0geDIgOiAwMDAwMDAwMDAwMDAwMDAw IHgxIDogMDAwMDAwMDAwMDAwMDAwMSB4MCA6IDAwMDAwMDAwMDAwMDBjYzEKWyAgNDA1LjY0NTY2 Nl0gQ2FsbCB0cmFjZToKWyAgNDA1LjY0ODExM10gIF9fYWxsb2NfcGFnZXMrMHg1YTQvMHhiZTAK WyAgNDA1LjY1MTg2Ml0gIF9fZG1hX2RpcmVjdF9hbGxvY19wYWdlcysweDE3Yy8weDFlMApbICA0 MDUuNjU2NTY5XSAgZG1hX2RpcmVjdF9hbGxvYysweDcwLzB4MzEwClsgIDQwNS42NjA0OTRdICBk bWFfYWxsb2NfYXR0cnMrMHg3Yy8weGU0ClsgIDQwNS42NjQyNDZdICBoYW50cm9faGV2Y19nZXRf cmVmX2J1ZisweDE1Yy8weDE4NCBbaGFudHJvX3ZwdV0KWyAgNDA1LjY3MDAyMV0gIGhhbnRyb19n Ml9oZXZjX2RlY19ydW4rMHgzYjgvMHgxOTEwIFtoYW50cm9fdnB1XQpbICA0MDUuNjc1NzkxXSAg ZGV2aWNlX3J1bisweGFjLzB4MTEwIFtoYW50cm9fdnB1XQpbICA0MDUuNjgwMzQ1XSAgdjRsMl9t Mm1fdHJ5X3J1bisweGFjLzB4MWIwIFt2NGwyX21lbTJtZW1dClsgIDQwNS42ODU1OThdICB2NGwy X20ybV9pb2N0bF9zdHJlYW1vbisweDg0LzB4YTAgW3Y0bDJfbWVtMm1lbV0KWyAgNDA1LjY5MTM2 Nl0gIHY0bF9zdHJlYW1vbisweDI4LzB4MzQgW3ZpZGVvZGV2XQpbICA0MDUuNjk1ODc3XSAgX192 aWRlb19kb19pb2N0bCsweDE3OC8weDNkYyBbdmlkZW9kZXZdClsgIDQwNS43MDA4OTddICB2aWRl b191c2VyY29weSsweDM2OC8weDZkYyBbdmlkZW9kZXZdClsgIDQwNS43MDU3NDVdICB2aWRlb19p b2N0bDIrMHgxYy8weDMwIFt2aWRlb2Rldl0KWyAgNDA1LjcxMDI0Nl0gIHY0bDJfaW9jdGwrMHg0 NC8weDY0IFt2aWRlb2Rldl0KWyAgNDA1LjcxNDU3NF0gIF9fYXJtNjRfc3lzX2lvY3RsKzB4YWMv MHhmMApbICA0MDUuNzE4NTAyXSAgaW52b2tlX3N5c2NhbGwrMHg0OC8weDExNApbICA0MDUuNzIy MjU4XSAgZWwwX3N2Y19jb21tb24uY29uc3Rwcm9wLjArMHhkNC8weGZjClsgIDQwNS43MjY5Njld ICBkb19lbDBfc3ZjKzB4MmMvMHg5NApbICA0MDUuNzMwMjg2XSAgZWwwX3N2YysweDI4LzB4ODAK WyAgNDA1LjczMzM0OF0gIGVsMHRfNjRfc3luY19oYW5kbGVyKzB4YTgvMHgxMzAKWyAgNDA1Ljcz NzYxOV0gIGVsMHRfNjRfc3luYysweDFhMC8weDFhNApbICA0MDUuNzQxMjg3XSAtLS1bIGVuZCB0 cmFjZSAyNzBlZDRhODk5ODAzMDA2IF0tLS0KClRoZSBIMSBlbmNvZGVyIHNlZW1zIHRvIGhhbmcg dGhlIHN5c3RlbSB3aGVuIEkgcnVuIHY0bDItY29tcGxpYW5jZSBvbgppdCB3aGVuIEgxIGlzIHNl dCB1cCBhcyBJIHN1Ym1pdHRlZCB0aGUgcGF0Y2guICBJIHRyaWVkIGRyb3BwaW5nIGFsbAp0aGUg ZW5jb2RlciBmb3JtYXRzIGV4Y2VwdCB0aGUgSlBFRyBmb3JtYXQsIGFuZCBpdCBkb2Vzbid0IGhh bmcgYW55Cm1vcmUsIGJ1dCBpdCBhbHNvIGRvZXNuJ3QgcmVhbGx5IGRvIGFueXRoaW5nLgpUaGUg ZGF0YXNoZWV0IG9ubHkgcmVmZXJlbmNlcyBWUFVfSDEgYXMgc3VwcG9ydGluZyBWUDggYW5kIEgu MjY0LCBzbyBJCmFtIG5vdCBzdXJlIEpQRUcgaXMgZXZlbiBzdXBwb3J0ZWQuCgpUaGUgbG9nIGZy b20gdjRsMi1jb21wbGlhbmNlIG9uIHRoZSBIMSB3aXRoIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBK UEVHCnJlbW92ZWQgbG9va3MgbGlrZToKCnJvb3RAYmVhY29uLWlteDhtbS1raXQ6fiMgdjRsMi1j b21wbGlhbmNlIC1kMgp2NGwyLWNvbXBsaWFuY2UgU0hBOiBub3QgYXZhaWxhYmxlCiwgNjQgYml0 cywgNjQtYml0IHRpbWVfdAoKU2VnbWVudGF0aW9uIGZhdWx0CnJvb3RAYmVhY29uLWlteDhtbS1r aXQ6fiMKTWVzc2FnZSBmcm9tIHN5c2xvZ2RAICBhdCBUaHUgSmFuICAxIDAwOjA1OjA3IDE5NzAg Li4uCjogSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDk2MDAwMDA0IFsjMl0gU01QCgpNZXNzYWdlIGZy b20gc3lzbG9nZEAgIGF0IFRodSBKYW4gIDEgMDA6MDU6MDcgMTk3MCAuLi4KOiBDb2RlOiA1Mjgw MDAwMSBhYTE0MDNlMCBkMjgwMTgwMiA5NWMzMWFiOSAoYjk0MDBhYTEpCgpJIHdhbnQgdG8gaW5z dGFsbCBHc3RyZWFtZXIsIGJ1dCBJIGRvbid0IGhhdmUgZnVuY3Rpb25pbmcgRFNJIHZpZGVvLApz byBJIGFtIG5vdCBlbnRpcmVseSBzdXJlIGhvdyBJIHdpbGwgZ28gYWJvdXQgdGVzdGluZyB0aGUg ZGVjb2RlcnMKZXhjZXB0IGJ5IHVzaW5nIGZha2VzaW5rCgpJZiB0aGUgRzEgZW5kcyB1cCB3b3Jr aW5nIHdpdGggc29tZSBvZiB0aGUgbmV3ZXIgR3N0cmVhbWVyIHN0dWZmLCBJCm1pZ2h0IGp1c3Qg c3VibWl0IGEgZm9ybWFsIHBhdGNoIHRvIGp1c3QgZW5hYmxlIHRoZSBHMSBmb3Igbm93LgoKYWRh bQo+Cj4gPgo+ID4gTGFzdGx5LCBJIGRpZG4ndCB1cGRhdGUgYW55IGRldmljZSB0cmVlIGJpbmRp bmcgWUFNTCBmaWxlcywgYmVjYXVzZQo+ID4gSSBrbm93IHRoZXJlIGhhdmUgYmVlbiBzb21lIGRp c2N1c3Npb25zIGFib3V0IHRoZSBwb3dlciBkb21haW5zIG9uIHRoZQo+ID4gaW14OG1xLCBhbmQg SSB3YXNuJ3Qgc3VyZSBpZiB0aGUgaW14OG1tIHNob3VsZCBnZXQgYSBzZXBhcmF0ZSBZQU1MIGZp bGUKPiA+IG9yIGlmIHRoZSBleGlzdGluZyBvbmUgZm9yIHRlIGlteDhtcSBzaG91bGQganVzdCBi ZSBtb2RpZmllZC4KPiA+Cj4gPiBUaGlzIHdpbGwgbGlrZWx5IHJlcXVpcmUgdGhlIGZvbGxvd2lu ZyBzZXJpZXMgaW4gb3JkZXIgdG8gYXBwbHkgY29ycmVjdGx5Ogo+ID4gaHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2xpbnV4LWFybS1rZXJuZWwvbGlzdC8/c2VyaWVzPTU3NjQw Nwo+ID4KPiA+IEFkYW0gRm9yZCAoNSk6Cj4gPiAgIG1lZGlhOiBoYW50cm86IEFkZCBzdXBwb3J0 IGZvciBpLk1YOE0gTWluaQo+ID4gICBhcm02NDogZHRzOiBpbXg4bW06ICBFbmFibGUgVlBVLUcx IGFuZCBWUFUtRzIKPiA+ICAgbWVkaWE6IGhhbnRybzogUmVuYW1lIFJPQ0tDSElQX1ZQVV9FTkNf Rk1UIHRvIEhBTlRST19WUFVfRU5DX0ZNVAo+ID4gICBtZWRpYTogaGFudHJvOiBBZGQgSDEgZW5j b2RlciBzdXBwb3J0IG9uIGkuTVg4TSBNaW5pCj4gPiAgIGFybTY0OiBkdHM6IGlteDhtbTogIEVu YWJsZSBIYW50cm8gSDEgRW5jb2Rlcgo+ID4KPiA+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVz Y2FsZS9pbXg4bW0uZHRzaSAgICAgfCAgNjEgKysrKysrKysKPiA+ICBkcml2ZXJzL3N0YWdpbmcv bWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYyAgICAgfCAgIDMgKwo+ID4gIGRyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmggICAgICB8ICAxOSArKy0KPiA+ICBkcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2lteDhtX3ZwdV9ody5jICAgfCAxNDMgKysrKysrKysrKysrKysr KysrCj4gPiAgLi4uL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JvY2tjaGlwX3ZwdV9ody5jICAgIHwg IDI2ICsrLS0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDIzMSBpbnNlcnRpb25zKCspLCAyMSBkZWxl dGlvbnMoLSkKPiA+Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5p bmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8v bGludXgtcm9ja2NoaXAK 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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1333C433F5 for ; Mon, 8 Nov 2021 16:35:02 +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 61E0761378 for ; Mon, 8 Nov 2021 16:35:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 61E0761378 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=7VqHAF078K2mx/oMQClfaZ00t+ti/0MNPlB7HYzfZjk=; b=NCtxw7snN5Pv0A u/IS8IgPAoAQfwZ2ltynJ2D0iYCC4GhpK49ppfczyWt22SbBalYNw0JajmZVAtGr3HnnY8mdqtUAo 3QOy2JnCve/PkOnsGCOcb2s7ntZjZQ23jpEdE9vMHSToWfz9hLb0Oe15WINyZRZX4lzf6u2GfcLuX pORdRSHZIu3aTDBJ7tQuBch93d9YKOBrR5pj4LqKYwG8aKc9RzJzJU6kjAmjMaWuTGvT94AJVUVRD 3XCvwzBcWezpVHbTNVAS2QdB/H4N0zN0Yx9gUXR+0nQh+JkxQPrKPmARRxXzTh6THJS+fXKVcYuMB Nfcn4OpbiU2uzQ0q0pXw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mk7ad-00GyNh-58; Mon, 08 Nov 2021 16:33:47 +0000 Received: from mail-ed1-x52b.google.com ([2a00:1450:4864:20::52b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mk7aX-00GyMF-ML; Mon, 08 Nov 2021 16:33:43 +0000 Received: by mail-ed1-x52b.google.com with SMTP id f8so65038912edy.4; Mon, 08 Nov 2021 08:33:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9Rxa4GOx2fwvlQZ2whnc/TnhfZE1p0pc42KpiRaylhs=; b=n/8qnSZC3Cjp/oZ7CLEJ2X6v9P73IFL7f911sxu+p/MF2O04o5WsKr08m6/BfoPYl9 /GhDWWFwCRE3OQKw6skOR7QTvO9ys2RG48tJh+RAubTHvLvK6bnBuysJ+UK5s9cDoCpK SHoCZPXZSgdBh8vCV+qGIHOUBDELv/pNmFqyr/oZUkYWYvV/pUeCPBbslHoP9LUWxHQS pTvBRUAIhO1CLl7JzjS7d9jZSNkhIaSaD3mClEVQxA1WXxL3+2OwKmMT3u75VcBabHZX uLwh/vHcYU10p/Z5fA7XHumMA60YmwaHkm0SMNnoI5lxJTkUvDdewY+SgYtJBF7/hHrO xB5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=9Rxa4GOx2fwvlQZ2whnc/TnhfZE1p0pc42KpiRaylhs=; b=rKzw72IZvnPIAqwzM8lnJ/zXgvZMfXyt3wWLr79qUqYKrAqPiydS86UWImAfBG0Xaz 2H6wQIewUPgEAWJOdObx5BZqme/tBE7oLMsKM9eFQUV/T6NKugxZ4/fSQdAeJmZ2YB2f 82UDwpUjnbfQyjibrkEMbBGb5lFySMwFZROaqN0iMn52h1O6grTgJ2BYKj2SeDO41TUq cAKXporr9O91odG5OtIuGmK6Q7VXjEwJZiI79QlJmPJHGMOcTkqut+weqzadyM8jKzeq jXFIqafcTSPNsR5cmZN3gjlc6sQkUoRGfx3LG7s8zbPsSr/T8xBZ9ZLR6InYaR4/iWKu 7i2A== X-Gm-Message-State: AOAM531OSCcxLIIqBoK8bcn12jtoRIlxlvb3VP0eHKApN82c6S2fEeE/ W2UDG/3gk1Ae8E4np19VSM6sVIMBMtU2ySVn42I= X-Google-Smtp-Source: ABdhPJzUbBKXNcxWwqbBJXazNeHjGX+wrr3eBVTqDpa+ZR9NhtiVwzLUbkHmYS7g+jGomDrMzjw634dhURflNo53ues= X-Received: by 2002:a05:6402:3508:: with SMTP id b8mr448425edd.347.1636389220044; Mon, 08 Nov 2021 08:33:40 -0800 (PST) MIME-Version: 1.0 References: <20211106183802.893285-1-aford173@gmail.com> <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> In-Reply-To: <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> From: Adam Ford Date: Mon, 8 Nov 2021 10:33:28 -0600 Message-ID: Subject: Re: [RFC 0/5] arm64: imx8mm: Enable Hantro VPUs To: Nicolas Dufresne Cc: linux-media , Tim Harvey , Schrempf Frieder , Marek Vasut , Jagan Teki , Adam Ford-BE , cstevens@beaconembedded.com, Ezequiel Garcia , Philipp Zabel , Mauro Carvalho Chehab , Rob Herring , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Greg Kroah-Hartman , Heiko Stuebner , Lucas Stach , Joakim Zhang , Alice Guo , Peng Fan , "open list:HANTRO VPU CODEC DRIVER" , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , open list , "open list:STAGING SUBSYSTEM" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211108_083341_776543_14C9CB96 X-CRM114-Status: GOOD ( 45.64 ) 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 T24gTW9uLCBOb3YgOCwgMjAyMSBhdCA3OjU5IEFNIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXNA bmR1ZnJlc25lLmNhPiB3cm90ZToKPgo+IEhpIEFkYW0sCj4KPiB0aGFua3MgZm9yIHlvdSB3b3Jr LCBJJ2xsIHRyeSBhbmQgcmVwbHkgIGFib3V0IHRoZSBHU3RyZWFtZXIgcXVlc3Rpb25zIGJlbG93 LCBpZgo+IHlvdSBoYXZlIGZ1cnRoZXIgcXVlc3Rpb24gZmVlbCBmcmVlIHRvIGFzay4KPgo+IExl IHNhbWVkaSAwNiBub3ZlbWJyZSAyMDIxIMOgIDEzOjM3IC0wNTAwLCBBZGFtIEZvcmQgYSDDqWNy aXQgOgo+ID4gVGhlIGkuTVg4TSBoYXMgdHdvIEhhbnRybyB2aWRlbyBkZWNvZGVycywgY2FsbGVk IEcxIGFuZCBHMiB3aGljaCBhcHBlYXIKPiA+IHRvIGJlIHJlbGF0ZWQgdG8gdGhlIHZpZGVvIGRl Y29kZXJzIHVzZWQgb24gdGhlIGkuTVg4TVEsIGJ1dCBiZWNhdXNlIG9mCj4gPiBob3cgdGhlIE1p bmkgaGFuZGxlcyB0aGUgcG93ZXIgZG9tYWlucywgdGhlIFZQVSBkcml2ZXIgZG9lcyBub3QgbmVl ZCB0bwo+ID4gaGFuZGxlIGFsbCB0aGUgZnVuY3Rpb25zLCBzbyBhIG5ldyBjb21wYXRpYmxlIGZs YWcgaXMgcmVxdWlyZWQuCj4gPgo+ID4gVGhpcyBpcyBhbiBSRkMgYmVjYXVzZSBJIGRvbid0IGhh dmUgZnVuY3Rpb25hbCB2aWRlbyBvbiBteSBzeXN0ZW0geWV0LAo+ID4gYW5kIEknbSBob3Bpbmcg dGhlcmUgbWlnaHQgYmUgcGVvcGxlIHdobyBkbyBhbmQgY2FuIGhlbHAgdGVzdCB0aGlzLgo+ID4g SSBoYXZlIG9ubHkgdGVzdGVkIHRoaXMgZmFyIGVub3VnaCB0byBzZWUgdGhleSBlbnVtZXJhdGUg YW5kIGFwcGVhcgo+ID4gYXMgL2Rldi92aWRlb1ggYW5kIC9kZXYvbWVkaWFYIGRldmljZXMuCj4K PiBJIHdpbGwgY2hlY2sgdGhlIHBhdGNoc2V0LCBidXQgeW91IG5lZWQgaW4gdGhlIG1pbmktdmFy aWFudCB0byBkaXNhYmxlIHRoZSBHMQo+IHBvc3QgcHJvY2Vzc29yLCBiZWNhdXNlIHRoaXMgYmxv Y2sgd2FzIGZ1c2VkIG91dC4gV2UgZGlkbid0IG1ha2UgaXQgb3B0aW9uYWwKClRoYW5rcyBmb3Ig YmVpbmcgd2lsbGluZyB0byByZXZpZXcgdGhpcy4KCj4gZnJvbSB0aGUgc3RhcnQgYXMgYWNjb3Jk aW5nIHRvIHRoZSBWMSBvZiB0aGUgVFJNIGl0IHdhcyB0aGVyZSwgYnV0IHRoYXQgZXJyb3IKPiB3 YXMgY29ycmVjdGVkIGluIFYzLgoKVGhhbmtzIGZvciB0aGUgY2xhcmlmaWNhdGlvbi4gIEl0IHdh c24ndCBvYnZpb3VzIHRvIG1lLCBiZWNhdXNlIGluCnNvbWUgaW5zdGFuY2VzIHRoZSBQUCBsb29r ZWQgbGlrZSBpdCB3YXMgdGhlcmUgYW5kIHNvbWV0aW1lcyBub3QKdGhlcmUuICBJJ2xsIHJlbW92 ZSB0aGUgcG9zdHByb2Mgc3R1ZmYuCgo+Cj4gPgo+ID4gSSBhbSBhbHNvIGN1cmlvdXMgdG8ga25v dyBpZi93aGF0IGdzdHJlYW1lciBwbHVnaW5zIGFyZSBuZWNlc3NhcnkuICBJbgo+ID4gTlhQJ3Mg Y3VzdG9tIGtlcm5lbCwgdGhlcmUgYXJlIElNWC1zcGVjaWZpYyBwbHVnaW5zLCBhbmQgSSB3YXMg aG9waW5nIHRoZXJlCj4gPiB3b3VsZCBiZSBtb3JlIGdlbmVyaWMgcGx1Z2lucyB0aGF0IEkgY2Fu IHVzZSB0byB0ZXN0LiAgSSBhbSBob3Bpbmcgc29tZQo+ID4gb2YgdGhlIGxpbnV4LW1lZGlhIGV4 cGVydHMgbWlnaHQgY2hpbWUgaW4gb24gaG93IHRvIGJlc3QgdGVzdC4KPgo+IEkgd2lsbCByZWNv bW1lbmQgdXNpbmcgR1N0cmVhbWVyIDEuMTkuMyBvciBtYWluIGJyYW5jaCAoR1N0cmVhbWVyIGlz IG5vdyBhCj4gc2luZ2xlIGdpdCByZXBvKS4gWW91IHdpbGwgdGhlbiBiZSBhYmxlIHRvIHRlc3Qg SGFudHJvIEcxIGRlY29kaW5nIG9mIE1QRUcyLAo+IEgyNjQgYW5kIFZQOC4gUmVtZW1iZXIgdGhh dCB0aGUgcmVsYXRlZCBwbHVnaW4gZGVwZW5kcyBvbiBsaWJndWRldiAoYSBnbGliCj4gYmluZGlu ZyBvZiB1ZGV2KS4KClRoYW5rcyBmb3IgdGhlIHRpcC4KCj4KPiBGb3IgdGhlIGVuY29kZXIsIEkg YmVsaWV2ZSBvbmx5IEpQRUcgbWF5YmUgc3VwcG9ydGVkLCBzaW5jZSB0aGlzIGlzIGFsbCB0aGVy ZSBpcwo+IG1haW5saW5lIGZvciBSSzMyODggKGFuZCBwZXJoYXBzIG90aGVyIFJLKS4gQnV0IHRo aXMgd2lsbCBuZWVkIHRlc3RpbmcgYW5kCj4gZGVidWdnaW5nIGFzIHRoZSBHMSB2ZXJzaW9uIGlz IHNsaWdodGx5IG5ld2VyIG9uIE5YUCBTb0MuCgpGb3Igd2hhdCBpdCdzIHdvcnRoIHRoZSBHMSBz ZWVtcyB0byByZXBvbmQgY2xlYW5seSB0byB0aGUgaW5xdWlyaWVzCmZyb20gdjQyLWNvbXBsaWFu Y2UuClRoZSBHMiB0aHJvd3Mgc29tZSBzcGxhdCB3aGVuIEkgcnVuIHY0bDItY29tcGxpYW5jZSwg YnV0IEkgYW0gc3RpbGwKaW52ZXN0aWdhdGluZyB0aGF0LgoKWyAgNDA1LjQ1Njk3OV0gLS0tLS0t LS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsgIDQwNS40NjQxNzNdIFdBUk5JTkc6IENQ VTogMCBQSUQ6IDU2MyBhdCBtbS9wYWdlX2FsbG9jLmM6NTM0NApfX2FsbG9jX3BhZ2VzKzB4NWE0 LzB4YmUwClsgIDQwNS40NzIxMDRdIE1vZHVsZXMgbGlua2VkIGluOiA4MDIxcSBnYXJwIG1ycCBz dHAgbGxjIGNhYW1fanIKY2FhbWhhc2hfZGVzYyBjYWFtYWxnX2Rlc2MgY3J5cHRvX2VuZ2luZSBy bmdfY29yZSBhdXRoZW5jIGxpYmRlcwppbXg3X21lZGlhX2NzaShDKSBjcmN0MTBkaWZfY2UgaW14 X21lZGlhX2NvbW1vbihDKQpzbmRfc29jX2ZzbF9hc29jX2NhcmQgaW14N19taXBpX2NzaXMoQykg c25kX3NvY19pbXhfYXVkbXV4CnNuZF9zb2Nfc2ltcGxlX2NhcmRfdXRpbHMgZnNsX2lteDhfZGRy X3BlcmYgaW14OG1fZGRyYyBicmNtZm1hYwpicmNtdXRpbCBoYW50cm9fdnB1KEMpIHY0bDJfaDI2 NCB2NGwyX21lbTJtZW0gdmlkZW9idWYyX3ZtYWxsb2MKdmlkZW9idWYyX2RtYV9jb250aWcgdmlk ZW9idWYyX21lbW9wcyBjZmc4MDIxMSBvdjU2NDAgdmlkZW9idWYyX3Y0bDIKdjRsMl9md25vZGUg djRsMl9hc3luYyB2aWRlb2J1ZjJfY29tbW9uIHZpZGVvZGV2IGV0bmF2aXYgZ3B1X3NjaGVkCmhj aV91YXJ0IG1jIGJ0cWNhIGJ0YmNtIHNuZF9zb2Nfd204OTYyIGF0MjQgc3BpX2lteCBydGNfcGNm ODUzNjMKcnRjX3NudnMgY2xrX2JkNzE4eDcgc3BpX2JpdGJhbmcgc252c19wd3JrZXkgc25kX3Nv Y19mc2xfc2FpCmlteF9wY21fZG1hIGNhYW0gZXJyb3IgYmx1ZXRvb3RoIGlteDhtbV90aGVybWFs IGVjZGhfZ2VuZXJpYwppbXhfY3B1ZnJlcV9kdCBlY2MgcmZraWxsIGZ1c2UgZHJtIGlwdjYKWyAg NDA1LjUzNTgzNV0gQ1BVOiAwIFBJRDogNTYzIENvbW06IHY0bDItY29tcGxpYW5jZSBUYWludGVk OiBHICAgICAgRAogQyAgICAgICAgNS4xNS4wLW5leHQtMjAyMTExMDUtMDAwMTAtZzRiYjhlOGEy NWQzYy1kaXJ0eSAjMjgKWyAgNDA1LjU0NzQwMV0gSGFyZHdhcmUgbmFtZTogQmVhY29uIEVtYmVk ZGVkV29ya3MgaS5NWDhNIE1pbmkKRGV2ZWxvcG1lbnQgS2l0IChEVCkKWyAgNDA1LjU1NDc5N10g cHN0YXRlOiAyMDAwMDAwNSAobnpDdiBkYWlmIC1QQU4gLVVBTyAtVENPIC1ESVQgLVNTQlMgQlRZ UEU9LS0pClsgIDQwNS41NjE3NjJdIHBjIDogX19hbGxvY19wYWdlcysweDVhNC8weGJlMApbICA0 MDUuNTY1ODYxXSBsciA6IF9fZG1hX2RpcmVjdF9hbGxvY19wYWdlcysweDE3Yy8weDFlMApbICA0 MDUuNTcwOTE3XSBzcCA6IGZmZmY4MDAwMTI0NDM4MTAKWyAgNDA1LjU3NDIzMl0geDI5OiBmZmZm ODAwMDEyNDQzODEwIHgyODogMDAwMDAwMDAwMDAwMDAwMCB4Mjc6IGZmZmYwMDAwMDUyODgyMjAK WyAgNDA1LjU4MTM3NV0geDI2OiAwMDAwMDAwMDAwMDAwMDM0IHgyNTogMDAwMDAwMDAwMDAwMDAw MCB4MjQ6IGZmZmYwMDAwMDAyNTkwMTAKWyAgNDA1LjU4ODUxN10geDIzOiBmZmZmODAwMDEwMTFh YjdjIHgyMjogZmZmZjAwMDAwMDI1OTAxMCB4MjE6IDAwMDAwMDAwZmZmZmZmZmYKWyAgNDA1LjU5 NTY1OV0geDIwOiAwMDAwMDAwMDAwMDAwY2MxIHgxOTogMDAwMDAwMDAwMDAwMDAwMCB4MTg6IDAw MDAwMDAwMDAwMDAwMDAKWyAgNDA1LjYwMjgwM10geDE3OiAwMDAwMDAwMDAwMDAwMDAwIHgxNjog MDAwMDAwMDAwMDAwMDAwMCB4MTU6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDA1LjYwOTk0N10geDE0 OiAwMDAwMDAwMDAwMDAwMDAxIHgxMzogMDAwMDAwMDAwMDAwMDAwMCB4MTI6IDAwMDAwMDAwMDAw MDAwMDAKWyAgNDA1LjYxNzA5MF0geDExOiBmZmZmODAwMDEyNDFkMDAwIHgxMDogZmZmZjAwMDAw NTI4ODMzYSB4OSA6IGZmZmYwMDAwMDUyODgzMmEKWyAgNDA1LjYyNDIzMl0geDggOiAwMDAwMDAw MDAwMDAwMDAwIHg3IDogMDAwMDAwMDAwMDAwMDAwMCB4NiA6IDAwMDAwMDAwMDAwMDBjYzAKWyAg NDA1LjYzMTM3OF0geDUgOiAwMDAwMDAwMGJmZmZmZmZmIHg0IDogZmZmZjAwMDAwOWUzMGRjMCB4 MyA6IDAwMDAwMDAwMDAwMDAwMDAKWyAgNDA1LjYzODUyMF0geDIgOiAwMDAwMDAwMDAwMDAwMDAw IHgxIDogMDAwMDAwMDAwMDAwMDAwMSB4MCA6IDAwMDAwMDAwMDAwMDBjYzEKWyAgNDA1LjY0NTY2 Nl0gQ2FsbCB0cmFjZToKWyAgNDA1LjY0ODExM10gIF9fYWxsb2NfcGFnZXMrMHg1YTQvMHhiZTAK WyAgNDA1LjY1MTg2Ml0gIF9fZG1hX2RpcmVjdF9hbGxvY19wYWdlcysweDE3Yy8weDFlMApbICA0 MDUuNjU2NTY5XSAgZG1hX2RpcmVjdF9hbGxvYysweDcwLzB4MzEwClsgIDQwNS42NjA0OTRdICBk bWFfYWxsb2NfYXR0cnMrMHg3Yy8weGU0ClsgIDQwNS42NjQyNDZdICBoYW50cm9faGV2Y19nZXRf cmVmX2J1ZisweDE1Yy8weDE4NCBbaGFudHJvX3ZwdV0KWyAgNDA1LjY3MDAyMV0gIGhhbnRyb19n Ml9oZXZjX2RlY19ydW4rMHgzYjgvMHgxOTEwIFtoYW50cm9fdnB1XQpbICA0MDUuNjc1NzkxXSAg ZGV2aWNlX3J1bisweGFjLzB4MTEwIFtoYW50cm9fdnB1XQpbICA0MDUuNjgwMzQ1XSAgdjRsMl9t Mm1fdHJ5X3J1bisweGFjLzB4MWIwIFt2NGwyX21lbTJtZW1dClsgIDQwNS42ODU1OThdICB2NGwy X20ybV9pb2N0bF9zdHJlYW1vbisweDg0LzB4YTAgW3Y0bDJfbWVtMm1lbV0KWyAgNDA1LjY5MTM2 Nl0gIHY0bF9zdHJlYW1vbisweDI4LzB4MzQgW3ZpZGVvZGV2XQpbICA0MDUuNjk1ODc3XSAgX192 aWRlb19kb19pb2N0bCsweDE3OC8weDNkYyBbdmlkZW9kZXZdClsgIDQwNS43MDA4OTddICB2aWRl b191c2VyY29weSsweDM2OC8weDZkYyBbdmlkZW9kZXZdClsgIDQwNS43MDU3NDVdICB2aWRlb19p b2N0bDIrMHgxYy8weDMwIFt2aWRlb2Rldl0KWyAgNDA1LjcxMDI0Nl0gIHY0bDJfaW9jdGwrMHg0 NC8weDY0IFt2aWRlb2Rldl0KWyAgNDA1LjcxNDU3NF0gIF9fYXJtNjRfc3lzX2lvY3RsKzB4YWMv MHhmMApbICA0MDUuNzE4NTAyXSAgaW52b2tlX3N5c2NhbGwrMHg0OC8weDExNApbICA0MDUuNzIy MjU4XSAgZWwwX3N2Y19jb21tb24uY29uc3Rwcm9wLjArMHhkNC8weGZjClsgIDQwNS43MjY5Njld ICBkb19lbDBfc3ZjKzB4MmMvMHg5NApbICA0MDUuNzMwMjg2XSAgZWwwX3N2YysweDI4LzB4ODAK WyAgNDA1LjczMzM0OF0gIGVsMHRfNjRfc3luY19oYW5kbGVyKzB4YTgvMHgxMzAKWyAgNDA1Ljcz NzYxOV0gIGVsMHRfNjRfc3luYysweDFhMC8weDFhNApbICA0MDUuNzQxMjg3XSAtLS1bIGVuZCB0 cmFjZSAyNzBlZDRhODk5ODAzMDA2IF0tLS0KClRoZSBIMSBlbmNvZGVyIHNlZW1zIHRvIGhhbmcg dGhlIHN5c3RlbSB3aGVuIEkgcnVuIHY0bDItY29tcGxpYW5jZSBvbgppdCB3aGVuIEgxIGlzIHNl dCB1cCBhcyBJIHN1Ym1pdHRlZCB0aGUgcGF0Y2guICBJIHRyaWVkIGRyb3BwaW5nIGFsbAp0aGUg ZW5jb2RlciBmb3JtYXRzIGV4Y2VwdCB0aGUgSlBFRyBmb3JtYXQsIGFuZCBpdCBkb2Vzbid0IGhh bmcgYW55Cm1vcmUsIGJ1dCBpdCBhbHNvIGRvZXNuJ3QgcmVhbGx5IGRvIGFueXRoaW5nLgpUaGUg ZGF0YXNoZWV0IG9ubHkgcmVmZXJlbmNlcyBWUFVfSDEgYXMgc3VwcG9ydGluZyBWUDggYW5kIEgu MjY0LCBzbyBJCmFtIG5vdCBzdXJlIEpQRUcgaXMgZXZlbiBzdXBwb3J0ZWQuCgpUaGUgbG9nIGZy b20gdjRsMi1jb21wbGlhbmNlIG9uIHRoZSBIMSB3aXRoIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBK UEVHCnJlbW92ZWQgbG9va3MgbGlrZToKCnJvb3RAYmVhY29uLWlteDhtbS1raXQ6fiMgdjRsMi1j b21wbGlhbmNlIC1kMgp2NGwyLWNvbXBsaWFuY2UgU0hBOiBub3QgYXZhaWxhYmxlCiwgNjQgYml0 cywgNjQtYml0IHRpbWVfdAoKU2VnbWVudGF0aW9uIGZhdWx0CnJvb3RAYmVhY29uLWlteDhtbS1r aXQ6fiMKTWVzc2FnZSBmcm9tIHN5c2xvZ2RAICBhdCBUaHUgSmFuICAxIDAwOjA1OjA3IDE5NzAg Li4uCjogSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDk2MDAwMDA0IFsjMl0gU01QCgpNZXNzYWdlIGZy b20gc3lzbG9nZEAgIGF0IFRodSBKYW4gIDEgMDA6MDU6MDcgMTk3MCAuLi4KOiBDb2RlOiA1Mjgw MDAwMSBhYTE0MDNlMCBkMjgwMTgwMiA5NWMzMWFiOSAoYjk0MDBhYTEpCgpJIHdhbnQgdG8gaW5z dGFsbCBHc3RyZWFtZXIsIGJ1dCBJIGRvbid0IGhhdmUgZnVuY3Rpb25pbmcgRFNJIHZpZGVvLApz byBJIGFtIG5vdCBlbnRpcmVseSBzdXJlIGhvdyBJIHdpbGwgZ28gYWJvdXQgdGVzdGluZyB0aGUg ZGVjb2RlcnMKZXhjZXB0IGJ5IHVzaW5nIGZha2VzaW5rCgpJZiB0aGUgRzEgZW5kcyB1cCB3b3Jr aW5nIHdpdGggc29tZSBvZiB0aGUgbmV3ZXIgR3N0cmVhbWVyIHN0dWZmLCBJCm1pZ2h0IGp1c3Qg c3VibWl0IGEgZm9ybWFsIHBhdGNoIHRvIGp1c3QgZW5hYmxlIHRoZSBHMSBmb3Igbm93LgoKYWRh bQo+Cj4gPgo+ID4gTGFzdGx5LCBJIGRpZG4ndCB1cGRhdGUgYW55IGRldmljZSB0cmVlIGJpbmRp bmcgWUFNTCBmaWxlcywgYmVjYXVzZQo+ID4gSSBrbm93IHRoZXJlIGhhdmUgYmVlbiBzb21lIGRp c2N1c3Npb25zIGFib3V0IHRoZSBwb3dlciBkb21haW5zIG9uIHRoZQo+ID4gaW14OG1xLCBhbmQg SSB3YXNuJ3Qgc3VyZSBpZiB0aGUgaW14OG1tIHNob3VsZCBnZXQgYSBzZXBhcmF0ZSBZQU1MIGZp bGUKPiA+IG9yIGlmIHRoZSBleGlzdGluZyBvbmUgZm9yIHRlIGlteDhtcSBzaG91bGQganVzdCBi ZSBtb2RpZmllZC4KPiA+Cj4gPiBUaGlzIHdpbGwgbGlrZWx5IHJlcXVpcmUgdGhlIGZvbGxvd2lu ZyBzZXJpZXMgaW4gb3JkZXIgdG8gYXBwbHkgY29ycmVjdGx5Ogo+ID4gaHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2xpbnV4LWFybS1rZXJuZWwvbGlzdC8/c2VyaWVzPTU3NjQw Nwo+ID4KPiA+IEFkYW0gRm9yZCAoNSk6Cj4gPiAgIG1lZGlhOiBoYW50cm86IEFkZCBzdXBwb3J0 IGZvciBpLk1YOE0gTWluaQo+ID4gICBhcm02NDogZHRzOiBpbXg4bW06ICBFbmFibGUgVlBVLUcx IGFuZCBWUFUtRzIKPiA+ICAgbWVkaWE6IGhhbnRybzogUmVuYW1lIFJPQ0tDSElQX1ZQVV9FTkNf Rk1UIHRvIEhBTlRST19WUFVfRU5DX0ZNVAo+ID4gICBtZWRpYTogaGFudHJvOiBBZGQgSDEgZW5j b2RlciBzdXBwb3J0IG9uIGkuTVg4TSBNaW5pCj4gPiAgIGFybTY0OiBkdHM6IGlteDhtbTogIEVu YWJsZSBIYW50cm8gSDEgRW5jb2Rlcgo+ID4KPiA+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2ZyZWVz Y2FsZS9pbXg4bW0uZHRzaSAgICAgfCAgNjEgKysrKysrKysKPiA+ICBkcml2ZXJzL3N0YWdpbmcv bWVkaWEvaGFudHJvL2hhbnRyb19kcnYuYyAgICAgfCAgIDMgKwo+ID4gIGRyaXZlcnMvc3RhZ2lu Zy9tZWRpYS9oYW50cm8vaGFudHJvX2h3LmggICAgICB8ICAxOSArKy0KPiA+ICBkcml2ZXJzL3N0 YWdpbmcvbWVkaWEvaGFudHJvL2lteDhtX3ZwdV9ody5jICAgfCAxNDMgKysrKysrKysrKysrKysr KysrCj4gPiAgLi4uL3N0YWdpbmcvbWVkaWEvaGFudHJvL3JvY2tjaGlwX3ZwdV9ody5jICAgIHwg IDI2ICsrLS0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDIzMSBpbnNlcnRpb25zKCspLCAyMSBkZWxl dGlvbnMoLSkKPiA+Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK