From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 727642CA1 for ; Tue, 30 Nov 2021 19:28:54 +0000 (UTC) Received: by mail-pl1-f169.google.com with SMTP id z6so15738439plk.6 for ; Tue, 30 Nov 2021 11:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gateworks-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=8xRMmiakU1EMVn9KGKZK7gagQ/r6zpi2qMLSAdpg+SI=; b=thWQBaHWuu9s2KaF+kB2PIi9KtLxsHh7eG3TkQeCYjWAUOqPWdMJ2vxaWgYKBR62oZ p+xzjo6xIBpCezORDzSae7OIF33kxlz7WIf0K6DvztbwAXFLB17xgTGG1VXvQE22swyd /YWNzng0aWMn13Cwrw4EzwgrPAdH5EA87S5+T7s668tmJo2TDjUrxXorwjRrb4b8lO8M awBozzMv4wuIcFH89Pw6usuBj35gtBpi/ZTy5X0vInU6I8f0RLtO4NfnB4CmWms7ECfv gOwfJ5RpJp4zTNbtCHc1uNJ5LucMosInTDxgPo3NKiWLxbo7pkL8IcQSfUbw0GBBVFBo 3ivg== 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=8xRMmiakU1EMVn9KGKZK7gagQ/r6zpi2qMLSAdpg+SI=; b=sAzIgiErjlyVNUIJLEelKr+nRqI/neQJvKsZK36+4VMlgyKLbYxa0APn0SjNXFb06z YrmN2CUIX38IhHWLIpESFpdSP8GphYORNLZy3a8zX2D25v2TMFb4KiagNjMpUhHQFWUF 1sIGyLxrSw1fus/HnFoZRZQnqVQl57TTp5KCqhE0Z9AJjXKJqN/qqXXXBILvCDsvWFPi s6pexzoTTTtszHTiR9ZSX0v0Xf4fJ2VMQN4izkuVHwDQdQe0TOe+8URBynwMwIc2K2av d+qSR4WBWW3fzF76EuYeleWsDdDGm2FT/1ttENFBoXbmXACCeTfukMEOLj1EIFiCXnfX QOEQ== X-Gm-Message-State: AOAM531Pcu43i1OhugmTpvBNMF5kVTSSMrw2VVpqXg1FldoJVM1/fl8o PZGSBSsfb9l5MNzJW5PyrELNci6LQuksL+pKXVnL0g== X-Google-Smtp-Source: ABdhPJzuiIzyC7Gkuy0Pli9c4g7qlHhacM7DFcW7lvc8EjG4/8pLDgcxWOFJYEasHl31T4xiue4p2duA2/U138yvOqk= X-Received: by 2002:a17:90b:1b06:: with SMTP id nu6mr1142360pjb.155.1638300533615; Tue, 30 Nov 2021 11:28:53 -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> <8db00a4b6faa99c940d9bc86e17161eb0db5efe3.camel@ndufresne.ca> <7f94eaacfddb8c5434c17f1e069ea87a17657ce9.camel@ndufresne.ca> In-Reply-To: From: Tim Harvey Date: Tue, 30 Nov 2021 11:28:42 -0800 Message-ID: Subject: Re: [RFC 0/5] arm64: imx8mm: Enable Hantro VPUs To: Ezequiel Garcia , Nicolas Dufresne Cc: Adam Ford , linux-media , Schrempf Frieder , Marek Vasut , Jagan Teki , Adam Ford-BE , cstevens@beaconembedded.com, 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 Tue, Nov 30, 2021 at 6:00 AM Ezequiel Garcia wrote: > > Hi Tim, > > On Mon, 29 Nov 2021 at 16:36, Tim Harvey wrote: > > > > On Mon, Nov 29, 2021 at 10:59 AM Adam Ford wrote: > .. > > > > > > > Adam, > > > > What deps did you install in order to get v4l2codecs building? I > > installed libgudev-1.0-dev based on Nicolas' suggestion and rebuilt > > (not sure if I needed to re-configure somehow) but there is still > > nothing in build/subprojects/gst-plugins-bad/sys/v4l2codecs/. A 'meson > > configure' tells me that v4l2codecs is set to 'auto' but I'm not sure > > how to find out what dependencies are needed or what may be missing. > > > > At least in my case (Centps-derivative), this is what I've done: > > ... > gst-plugins-bad| Run-time dependency gudev-1.0 found: NO (tried > pkgconfig and cmake) > > Installed gudev ... and then: > > ... > gst-plugins-bad| Dependency gudev-1.0 found: YES 232 (cached) > ... > gst-plugins-bad 1.19.3.1 > > Plugins : accurip, adpcmdec, adpcmenc, aiff, asfmux, > audiobuffersplit, audiofxbad, audiomixmatrix, audiolatency, > audiovisualizers, autoconvert, bayer, > camerabin, codecalpha, coloreffects, > debugutilsbad, dvbsubenc, dvbsuboverlay, dvdspu, faceoverlay, > festival, fieldanalysis, freeverb, frei0r, > gaudieffects, gdp, geometrictransform, > id3tag, inter, interlace, ivfparse, ivtc, jp2kdecimator, jpegformat, > rfbsrc, midi, mpegpsdemux, > mpegpsmux, mpegtsdemux, mpegtsmux, mxf, > netsim, rtponvif, pcapparse, pnm, proxy, legacyrawparse, > removesilence, rist, rtmp2, rtpmanagerbad, > sdpelem, segmentclip, siren, smooth, > speed, subenc, switchbin, timecode, transcode, videofiltersbad, > videoframe_audiolevel, videoparsersbad, > videosignal, vmnc, y4mdec, decklink, dvb, > fbdevsink, ipcpipeline, nvcodec, shm, v4l2codecs, hls, sctp > > GStreamer current master build fails. It's a known issue which will be > fixed today: > > [...] > [8/9] Compiling C object > subprojects/gst-plugins-bad/sys/v4l2codecs/libgstv4l2codecs.so.p/gstv4l2c= odecvp9dec.c.o > FAILED: subprojects/gst-plugins-bad/sys/v4l2codecs/libgstv4l2codecs.so.p/= gstv4l2codecvp9dec.c.o > cc -Isubprojects/gst-plugins-bad/sys/v4l2codecs/libgstv4l2codecs.so.p > -Isubprojects/gst-plugins-bad/sys/v4l2codecs > -I../subprojects/gst-plugins-bad/sys/v4l2codecs > -Isubprojects/gst-plugins-bad -I../subprojects/gst-plugins-bad > -Isubprojects/gstreamer/libs -I../subprojects/gstreamer/libs > -Isubprojects/gstreamer -I../subprojects/gstreamer > -Isubprojects/gst-plugins-bad/gst-libs > -I../subprojects/gst-plugins-bad/gst-libs > -Isubprojects/gst-plugins-base/gst-libs > -I../subprojects/gst-plugins-base/gst-libs -Isubprojects/orc > -I../subprojects/orc -Isubprojects/gstreamer/gst > -Isubprojects/gst-plugins-base/gst-libs/gst/video > -Isubprojects/gst-plugins-base/gst-libs/gst/pbutils > -Isubprojects/gst-plugins-base/gst-libs/gst/audio > -Isubprojects/gst-plugins-base/gst-libs/gst/tag > -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include > -I/usr/include/gudev-1.0 -fdiagnostics-color=3Dalways > -D_FILE_OFFSET_BITS=3D64 -Wall -Winvalid-pch -O2 -g -fvisibility=3Dhidden > -fno-strict-aliasing -DG_DISABLE_DEPRECATED -Wmissing-prototypes > -Wdeclaration-after-statement -Wold-style-definition > -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat > -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress > -Wno-multichar -Wvla -Wpointer-arith -fPIC -pthread -DHAVE_CONFIG_H > -MD -MQ subprojects/gst-plugins-bad/sys/v4l2codecs/libgstv4l2codecs.so.p/= gstv4l2codecvp9dec.c.o > -MF subprojects/gst-plugins-bad/sys/v4l2codecs/libgstv4l2codecs.so.p/gstv= 4l2codecvp9dec.c.o.d > -o subprojects/gst-plugins-bad/sys/v4l2codecs/libgstv4l2codecs.so.p/gstv4= l2codecvp9dec.c.o > -c ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c:92:3: > error: unknown type name =E2=80=98grefcount=E2=80=99 > grefcount ref_count; > ^~~~~~~~~ > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c: In > function =E2=80=98gst_v4l2_codec_vp9_dec_picture_data_new=E2=80=99: > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c:106:3: > warning: implicit declaration of function =E2=80=98g_ref_count_init=E2=80= =99; did you > mean =E2=80=98g_cond_init=E2=80=99? [-Wimplicit-function-declaration] > g_ref_count_init (&pic_data->ref_count); > ^~~~~~~~~~~~~~~~ > g_cond_init > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c: In > function =E2=80=98gst_v4l2_codec_vp9_dec_picture_data_ref=E2=80=99: > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c:118:3: > warning: implicit declaration of function =E2=80=98g_ref_count_inc=E2=80= =99; did you > mean =E2=80=98g_strv_contains=E2=80=99? [-Wimplicit-function-declaration] > g_ref_count_inc (&data->ref_count); > ^~~~~~~~~~~~~~~ > g_strv_contains > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c: In > function =E2=80=98gst_v4l2_codec_vp9_dec_picture_data_unref=E2=80=99: > ../subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c:125:7: > warning: implicit declaration of function =E2=80=98g_ref_count_dec=E2=80= =99 > [-Wimplicit-function-declaration] > if (g_ref_count_dec (&data->ref_count)) { > ^~~~~~~~~~~~~~~ > ninja: build stopped: subcommand failed. > > Hope this helps get you started! > Ezequiel Ezequiel and Nicolas, Thanks - I did manage to get gstreamer 1.19.3 built successfully with v4l2codecs finally by getting the correct dependencies. I've attempted to software encode from another system and decode/display on the IMX8M Mini but thus far have not been successful. I see that v4l2codecs plugin v4l2slh264dec/v4l2slmpeg2dec/v4l2slvp8dec and these all can output video/x-raw NV12/YUY2 which kmssink should accept so I'm attempting the following : # vp8 encode from x86 gst-launch-1.0 -v videotestsrc ! video/x-raw,width=3D800,height=3D480 ! vp8enc ! rtpvp8pay ! udpsink host=3D172.24.33.15 port=3D9001 # vp8 decode on imx8mm@172.24.33.15 which has a 800x480 display [gst-main] root@focal-venice:~/gstreamer/build# gst-launch-1.0 -v udpsrc port=3D9001 caps =3D "application/x-rtp, media=3D(string)video, clock-rate=3D(int)90000, encoding-name=3D(string)VP8, payload=3D(int)96, ssrc=3D(uint)2745262155, timestamp-offset=3D(uint)2515032683, seqnum-offset=3D(uint)19579, a-framerate=3D(string)30" ! rtpvp8depay ! v4l2slvp8dec ! kmssink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-width =3D 800 /GstPipeline:pipeline0/GstKMSSink:kmssink0: display-height =3D 480 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... /GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps =3D application/x-rtp, media=3D(string)video, clock-rate=3D(int)90000, encoding-name=3D(string)VP8, payload=3D(int)96, ssrc=3D(uint)2745262155, timestamp-offset=3D(uint)2515032683, seqnum-offset=3D(uint)19579, a-framerate=3D(string)30 New clock: GstSystemClock /GstPipeline:pipeline0/GstRtpVP8Depay:rtpvp8depay0.GstPad:sink: caps =3D application/x-rtp, media=3D(string)video, clock-rate=3D(int)90000, encoding-name=3D(string)VP8, payload=3D(int)96, ssrc=3D(uint)2745262155, timestamp-offset=3D(uint)2515032683, seqnum-offset=3D(uint)19579, a-framerate=3D(string)30 /GstPipeline:pipeline0/GstRtpVP8Depay:rtpvp8depay0.GstPad:src: caps =3D video/x-vp8, framerate=3D(fraction)0/1, height=3D(int)480, width=3D(int)800= , profile=3D(string)0 ERROR: from element /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: Internal data stream error. Additional debug info: ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstUDPSrc:udpsrc0: streaming stopped, reason not-negotiated (-4) Execution ended after 0:00:02.076839644 Setting pipeline to NULL ... Freeing pipeline ... I'm getting the same thing when trying to use h264. I've never quite been able to grasp how to debug GStreamer's negotiation issues. If I end with fakesink it appears to decode so it must be the v4l2slvp8dec to kmssink. I tried forcing the pixel format using 'v4l2slvp8dec ! "video/x-raw,format=3D(string)NV12" ! kmssink' but I still get the negotiation error. What interrupts should I be seeing in /proc/interrupts? I don't see anything vpu/hantro related there. I also want to make sure I have a basic understanding of the vpu drivers and usersapce on the IMX8M Mini. The IMX6Q/DL that I'm more familiar with has a vpu that is supported by the GStreamer video4linux plugin which shows the following (on GStreamer 1.16.2): v4l2jpegenc: V4L2 JPEG Encoder v4l2jpegdec: V4L2 JPEG Decoder v4l2h264enc: V4L2 H.264 Encoder v4l2mpeg4enc: V4L2 MPEG4 Encoder v4l2mpeg4dec: V4L2 MPEG4 Decoder v4l2mpeg2dec: V4L2 MPEG2 Decoder v4l2h264dec: V4L2 H264 Decoder The IMX6Q/DL also has an IPU that has an M2M driver that provides the following for scaling/colorspace conversion: v4l2convert: V4L2 Video Converter I believe what I'm reading is that the IMX8M Mini Hantro codecs are 'stateful' where more software is required to drive them and is supported by the newer v4l2codecs plugin. I haven't been able to understand what kernel version/requirements the v4l2codecs plugin users/requires. I'm also trying to understand how we can get scaling/colorspace conversion on the IMX8M Mini. The IMX8M lacks an IPU... is there some way to utilize scaling/colorspace conversion from the 2D GPU bound to the etnaviv driver? Best regards, Tim 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id C9F90C433F5 for ; Tue, 30 Nov 2021 19:29:13 +0000 (UTC) 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=MF+wDKv2a0Mhv73fJCVtFqK7SHMmRzZ6uB4Px5yhZWQ=; b=h6stDc17ePdd5i irCYDX0psK1mfBeGXFcc4OiHxzwvLniY2OY71kph99gXgL+OKd2FhXo+DvhdZa40IrG5fKAQxwhJI nEmbzCHcocE7qQWUnJzES7H1FNYMh4EsfdKgCmteliW3i5n0vedeOZdRE38T1EQA8vL5Zks7iTBbj /NDFbcoojbJHGmDLmGATDIdSXNmUcPKYne8xNh0gJUAwrpyl0ItS2MHym71/h3zLSVo3tukNxQDBF kkSjDaU7x+imNrAz7KNPLiSnL+irDrhnXVar+t86nDLj4tG9c490ejuAYSDzmVnI0qF0Ephu36bg6 eHjBDLDlKqFLAfZ2ZODg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ms8oO-006ZA7-SX; Tue, 30 Nov 2021 19:29:08 +0000 Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ms8oB-006Z89-DH for linux-rockchip@lists.infradead.org; Tue, 30 Nov 2021 19:28:57 +0000 Received: by mail-pl1-x630.google.com with SMTP id n8so15744975plf.4 for ; Tue, 30 Nov 2021 11:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gateworks-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=8xRMmiakU1EMVn9KGKZK7gagQ/r6zpi2qMLSAdpg+SI=; b=thWQBaHWuu9s2KaF+kB2PIi9KtLxsHh7eG3TkQeCYjWAUOqPWdMJ2vxaWgYKBR62oZ p+xzjo6xIBpCezORDzSae7OIF33kxlz7WIf0K6DvztbwAXFLB17xgTGG1VXvQE22swyd /YWNzng0aWMn13Cwrw4EzwgrPAdH5EA87S5+T7s668tmJo2TDjUrxXorwjRrb4b8lO8M awBozzMv4wuIcFH89Pw6usuBj35gtBpi/ZTy5X0vInU6I8f0RLtO4NfnB4CmWms7ECfv gOwfJ5RpJp4zTNbtCHc1uNJ5LucMosInTDxgPo3NKiWLxbo7pkL8IcQSfUbw0GBBVFBo 3ivg== 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=8xRMmiakU1EMVn9KGKZK7gagQ/r6zpi2qMLSAdpg+SI=; b=jOWiUNtTyzyCIbscI5n0yzCUeSGfpwr/ryikzrNXAEXmm5hkIcPKT1zv8zOGCANnb7 c3yMeC5sXGsS657db6cR1UG8vD9pfFPQotTtwYYpO6ot2idD9PrrLFd8UyBu79bhwBD6 YiGeGgw+Unp2WnU5bs6rN9UOeF0A/+n3il8+hwP7LOHIlUZPygZFdEKWzoFvv2QowSTN zq5h6p8uGzPf9T9D7Vx3EbT2/wiYLU0/jZzoXnYvJySaepyQebdJndCT7jB8l+A7Oa8K AGo1yNwHsJpT07ddnwv+zUcohwE4rWyxvsxjYO9A8yktwiCmKa0+U9TTCFdw5dUfun40 XdZw== X-Gm-Message-State: AOAM533QnaZYhnoUYmcKQx01BymXn0EvFNNPh3aO7iLWngtyJQChKkUz XvZcxKH9ARZtJAlws6MiK7747VY2THxQuhQpyriHLQ== X-Google-Smtp-Source: ABdhPJzuiIzyC7Gkuy0Pli9c4g7qlHhacM7DFcW7lvc8EjG4/8pLDgcxWOFJYEasHl31T4xiue4p2duA2/U138yvOqk= X-Received: by 2002:a17:90b:1b06:: with SMTP id nu6mr1142360pjb.155.1638300533615; Tue, 30 Nov 2021 11:28:53 -0800 (PST) MIME-Version: 1.0 References: <20211106183802.893285-1-aford173@gmail.com> <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> <8db00a4b6faa99c940d9bc86e17161eb0db5efe3.camel@ndufresne.ca> <7f94eaacfddb8c5434c17f1e069ea87a17657ce9.camel@ndufresne.ca> In-Reply-To: From: Tim Harvey Date: Tue, 30 Nov 2021 11:28:42 -0800 Message-ID: Subject: Re: [RFC 0/5] arm64: imx8mm: Enable Hantro VPUs To: Ezequiel Garcia , Nicolas Dufresne Cc: Adam Ford , linux-media , Schrempf Frieder , Marek Vasut , Jagan Teki , Adam Ford-BE , cstevens@beaconembedded.com, 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-20211130_112855_548648_2D477453 X-CRM114-Status: GOOD ( 30.41 ) 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 T24gVHVlLCBOb3YgMzAsIDIwMjEgYXQgNjowMCBBTSBFemVxdWllbCBHYXJjaWEKPGV6ZXF1aWVs QHZhbmd1YXJkaWFzdXIuY29tLmFyPiB3cm90ZToKPgo+IEhpIFRpbSwKPgo+IE9uIE1vbiwgMjkg Tm92IDIwMjEgYXQgMTY6MzYsIFRpbSBIYXJ2ZXkgPHRoYXJ2ZXlAZ2F0ZXdvcmtzLmNvbT4gd3Jv dGU6Cj4gPgo+ID4gT24gTW9uLCBOb3YgMjksIDIwMjEgYXQgMTA6NTkgQU0gQWRhbSBGb3JkIDxh Zm9yZDE3M0BnbWFpbC5jb20+IHdyb3RlOgo+IC4uCj4gPiA+Cj4gPgo+ID4gQWRhbSwKPiA+Cj4g PiBXaGF0IGRlcHMgZGlkIHlvdSBpbnN0YWxsIGluIG9yZGVyIHRvIGdldCB2NGwyY29kZWNzIGJ1 aWxkaW5nPyBJCj4gPiBpbnN0YWxsZWQgbGliZ3VkZXYtMS4wLWRldiBiYXNlZCBvbiBOaWNvbGFz JyBzdWdnZXN0aW9uIGFuZCByZWJ1aWx0Cj4gPiAobm90IHN1cmUgaWYgSSBuZWVkZWQgdG8gcmUt Y29uZmlndXJlIHNvbWVob3cpIGJ1dCB0aGVyZSBpcyBzdGlsbAo+ID4gbm90aGluZyBpbiBidWls ZC9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvLiBBICdtZXNvbgo+ ID4gY29uZmlndXJlJyB0ZWxscyBtZSB0aGF0IHY0bDJjb2RlY3MgaXMgc2V0IHRvICdhdXRvJyBi dXQgSSdtIG5vdCBzdXJlCj4gPiBob3cgdG8gZmluZCBvdXQgd2hhdCBkZXBlbmRlbmNpZXMgYXJl IG5lZWRlZCBvciB3aGF0IG1heSBiZSBtaXNzaW5nLgo+ID4KPgo+IEF0IGxlYXN0IGluIG15IGNh c2UgKENlbnRwcy1kZXJpdmF0aXZlKSwgdGhpcyBpcyB3aGF0IEkndmUgZG9uZToKPgo+IC4uLgo+ IGdzdC1wbHVnaW5zLWJhZHwgUnVuLXRpbWUgZGVwZW5kZW5jeSBndWRldi0xLjAgZm91bmQ6IE5P ICh0cmllZAo+IHBrZ2NvbmZpZyBhbmQgY21ha2UpCj4KPiBJbnN0YWxsZWQgZ3VkZXYgLi4uIGFu ZCB0aGVuOgo+Cj4gLi4uCj4gZ3N0LXBsdWdpbnMtYmFkfCBEZXBlbmRlbmN5IGd1ZGV2LTEuMCBm b3VuZDogWUVTIDIzMiAoY2FjaGVkKQo+IC4uLgo+IGdzdC1wbHVnaW5zLWJhZCAxLjE5LjMuMQo+ Cj4gICAgIFBsdWdpbnMgICAgICAgICAgICAgICA6IGFjY3VyaXAsIGFkcGNtZGVjLCBhZHBjbWVu YywgYWlmZiwgYXNmbXV4LAo+IGF1ZGlvYnVmZmVyc3BsaXQsIGF1ZGlvZnhiYWQsIGF1ZGlvbWl4 bWF0cml4LCBhdWRpb2xhdGVuY3ksCj4gYXVkaW92aXN1YWxpemVycywgYXV0b2NvbnZlcnQsIGJh eWVyLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW1lcmFiaW4sIGNvZGVjYWxwaGEs IGNvbG9yZWZmZWN0cywKPiBkZWJ1Z3V0aWxzYmFkLCBkdmJzdWJlbmMsIGR2YnN1Ym92ZXJsYXks IGR2ZHNwdSwgZmFjZW92ZXJsYXksCj4gZmVzdGl2YWwsIGZpZWxkYW5hbHlzaXMsIGZyZWV2ZXJi LCBmcmVpMHIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhdWRpZWZmZWN0cywgZ2Rw LCBnZW9tZXRyaWN0cmFuc2Zvcm0sCj4gaWQzdGFnLCBpbnRlciwgaW50ZXJsYWNlLCBpdmZwYXJz ZSwgaXZ0YywganAya2RlY2ltYXRvciwganBlZ2Zvcm1hdCwKPiByZmJzcmMsIG1pZGksIG1wZWdw c2RlbXV4LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcGVncHNtdXgsIG1wZWd0c2Rl bXV4LCBtcGVndHNtdXgsIG14ZiwKPiBuZXRzaW0sIHJ0cG9udmlmLCBwY2FwcGFyc2UsIHBubSwg cHJveHksIGxlZ2FjeXJhd3BhcnNlLAo+IHJlbW92ZXNpbGVuY2UsIHJpc3QsIHJ0bXAyLCBydHBt YW5hZ2VyYmFkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZHBlbGVtLCBzZWdtZW50 Y2xpcCwgc2lyZW4sIHNtb290aCwKPiBzcGVlZCwgc3ViZW5jLCBzd2l0Y2hiaW4sIHRpbWVjb2Rl LCB0cmFuc2NvZGUsIHZpZGVvZmlsdGVyc2JhZCwKPiB2aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwsIHZp ZGVvcGFyc2Vyc2JhZCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9zaWduYWws IHZtbmMsIHk0bWRlYywgZGVja2xpbmssIGR2YiwKPiBmYmRldnNpbmssIGlwY3BpcGVsaW5lLCBu dmNvZGVjLCBzaG0sIHY0bDJjb2RlY3MsIGhscywgc2N0cAo+Cj4gR1N0cmVhbWVyIGN1cnJlbnQg bWFzdGVyIGJ1aWxkIGZhaWxzLiBJdCdzIGEga25vd24gaXNzdWUgd2hpY2ggd2lsbCBiZQo+IGZp eGVkIHRvZGF5Ogo+Cj4gWy4uLl0KPiBbOC85XSBDb21waWxpbmcgQyBvYmplY3QKPiBzdWJwcm9q ZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvbGliZ3N0djRsMmNvZGVjcy5zby5w L2dzdHY0bDJjb2RlY3ZwOWRlYy5jLm8KPiBGQUlMRUQ6IHN1YnByb2plY3RzL2dzdC1wbHVnaW5z LWJhZC9zeXMvdjRsMmNvZGVjcy9saWJnc3R2NGwyY29kZWNzLnNvLnAvZ3N0djRsMmNvZGVjdnA5 ZGVjLmMubwo+IGNjIC1Jc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL3N5cy92NGwyY29kZWNz L2xpYmdzdHY0bDJjb2RlY3Muc28ucAo+IC1Jc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL3N5 cy92NGwyY29kZWNzCj4gLUkuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJj b2RlY3MKPiAtSXN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZCAtSS4uL3N1YnByb2plY3RzL2dz dC1wbHVnaW5zLWJhZAo+IC1Jc3VicHJvamVjdHMvZ3N0cmVhbWVyL2xpYnMgLUkuLi9zdWJwcm9q ZWN0cy9nc3RyZWFtZXIvbGlicwo+IC1Jc3VicHJvamVjdHMvZ3N0cmVhbWVyIC1JLi4vc3VicHJv amVjdHMvZ3N0cmVhbWVyCj4gLUlzdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvZ3N0LWxpYnMK PiAtSS4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9nc3QtbGlicwo+IC1Jc3VicHJvamVj dHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicwo+IC1JLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdp bnMtYmFzZS9nc3QtbGlicyAtSXN1YnByb2plY3RzL29yYwo+IC1JLi4vc3VicHJvamVjdHMvb3Jj IC1Jc3VicHJvamVjdHMvZ3N0cmVhbWVyL2dzdAo+IC1Jc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMt YmFzZS9nc3QtbGlicy9nc3QvdmlkZW8KPiAtSXN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2Uv Z3N0LWxpYnMvZ3N0L3BidXRpbHMKPiAtSXN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0 LWxpYnMvZ3N0L2F1ZGlvCj4gLUlzdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJz L2dzdC90YWcKPiAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAv aW5jbHVkZQo+IC1JL3Vzci9pbmNsdWRlL2d1ZGV2LTEuMCAtZmRpYWdub3N0aWNzLWNvbG9yPWFs d2F5cwo+IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtTzIgLWcg LWZ2aXNpYmlsaXR5PWhpZGRlbgo+IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1ER19ESVNBQkxFX0RF UFJFQ0FURUQgLVdtaXNzaW5nLXByb3RvdHlwZXMKPiAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl bWVudCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCj4gLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV3Jl ZHVuZGFudC1kZWNscyAtV3dyaXRlLXN0cmluZ3MgLVdmb3JtYXQKPiAtV2Zvcm1hdC1zZWN1cml0 eSAtV2luaXQtc2VsZiAtV21pc3NpbmctaW5jbHVkZS1kaXJzIC1XYWRkcmVzcwo+IC1Xbm8tbXVs dGljaGFyIC1XdmxhIC1XcG9pbnRlci1hcml0aCAtZlBJQyAtcHRocmVhZCAtREhBVkVfQ09ORklH X0gKPiAtTUQgLU1RIHN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMvdjRsMmNvZGVjcy9s aWJnc3R2NGwyY29kZWNzLnNvLnAvZ3N0djRsMmNvZGVjdnA5ZGVjLmMubwo+IC1NRiBzdWJwcm9q ZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvbGliZ3N0djRsMmNvZGVjcy5zby5w L2dzdHY0bDJjb2RlY3ZwOWRlYy5jLm8uZAo+IC1vIHN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJh ZC9zeXMvdjRsMmNvZGVjcy9saWJnc3R2NGwyY29kZWNzLnNvLnAvZ3N0djRsMmNvZGVjdnA5ZGVj LmMubwo+IC1jIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMvdjRsMmNvZGVjcy9n c3R2NGwyY29kZWN2cDlkZWMuYwo+IC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMv djRsMmNvZGVjcy9nc3R2NGwyY29kZWN2cDlkZWMuYzo5MjozOgo+IGVycm9yOiB1bmtub3duIHR5 cGUgbmFtZSDigJhncmVmY291bnTigJkKPiAgICBncmVmY291bnQgcmVmX2NvdW50Owo+ICAgIF5+ fn5+fn5+fgo+IC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMvdjRsMmNvZGVjcy9n c3R2NGwyY29kZWN2cDlkZWMuYzogSW4KPiBmdW5jdGlvbiDigJhnc3RfdjRsMl9jb2RlY192cDlf ZGVjX3BpY3R1cmVfZGF0YV9uZXfigJk6Cj4gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFk L3N5cy92NGwyY29kZWNzL2dzdHY0bDJjb2RlY3ZwOWRlYy5jOjEwNjozOgo+IHdhcm5pbmc6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdfcmVmX2NvdW50X2luaXTigJk7IGRp ZCB5b3UKPiBtZWFuIOKAmGdfY29uZF9pbml04oCZPyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KPiAgICBnX3JlZl9jb3VudF9pbml0ICgmcGljX2RhdGEtPnJlZl9jb3VudCk7Cj4g ICAgXn5+fn5+fn5+fn5+fn5+fgo+ICAgIGdfY29uZF9pbml0Cj4gLi4vc3VicHJvamVjdHMvZ3N0 LXBsdWdpbnMtYmFkL3N5cy92NGwyY29kZWNzL2dzdHY0bDJjb2RlY3ZwOWRlYy5jOiBJbgo+IGZ1 bmN0aW9uIOKAmGdzdF92NGwyX2NvZGVjX3ZwOV9kZWNfcGljdHVyZV9kYXRhX3JlZuKAmToKPiAu Li9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvZ3N0djRsMmNvZGVj dnA5ZGVjLmM6MTE4OjM6Cj4gd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYZ19yZWZfY291bnRfaW5j4oCZOyBkaWQgeW91Cj4gbWVhbiDigJhnX3N0cnZfY29udGFp bnPigJk/IFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+ICAgIGdfcmVmX2NvdW50 X2luYyAoJmRhdGEtPnJlZl9jb3VudCk7Cj4gICAgXn5+fn5+fn5+fn5+fn5+Cj4gICAgZ19zdHJ2 X2NvbnRhaW5zCj4gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL3N5cy92NGwyY29kZWNz L2dzdHY0bDJjb2RlY3ZwOWRlYy5jOiBJbgo+IGZ1bmN0aW9uIOKAmGdzdF92NGwyX2NvZGVjX3Zw OV9kZWNfcGljdHVyZV9kYXRhX3VucmVm4oCZOgo+IC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5z LWJhZC9zeXMvdjRsMmNvZGVjcy9nc3R2NGwyY29kZWN2cDlkZWMuYzoxMjU6NzoKPiB3YXJuaW5n OiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhnX3JlZl9jb3VudF9kZWPigJkK PiBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KPiAgICBpZiAoZ19yZWZfY291bnRf ZGVjICgmZGF0YS0+cmVmX2NvdW50KSkgewo+ICAgICAgICBefn5+fn5+fn5+fn5+fn4KPiBuaW5q YTogYnVpbGQgc3RvcHBlZDogc3ViY29tbWFuZCBmYWlsZWQuCj4KPiBIb3BlIHRoaXMgaGVscHMg Z2V0IHlvdSBzdGFydGVkIQo+IEV6ZXF1aWVsCgpFemVxdWllbCBhbmQgTmljb2xhcywKClRoYW5r cyAtIEkgZGlkIG1hbmFnZSB0byBnZXQgZ3N0cmVhbWVyIDEuMTkuMyBidWlsdCBzdWNjZXNzZnVs bHkgd2l0aAp2NGwyY29kZWNzIGZpbmFsbHkgYnkgZ2V0dGluZyB0aGUgY29ycmVjdCBkZXBlbmRl bmNpZXMuIEkndmUgYXR0ZW1wdGVkCnRvIHNvZnR3YXJlIGVuY29kZSBmcm9tIGFub3RoZXIgc3lz dGVtIGFuZCBkZWNvZGUvZGlzcGxheSBvbiB0aGUgSU1YOE0KTWluaSBidXQgdGh1cyBmYXIgaGF2 ZSBub3QgYmVlbiBzdWNjZXNzZnVsLgoKSSBzZWUgdGhhdCB2NGwyY29kZWNzIHBsdWdpbiB2NGwy c2xoMjY0ZGVjL3Y0bDJzbG1wZWcyZGVjL3Y0bDJzbHZwOGRlYwphbmQgdGhlc2UgYWxsIGNhbiBv dXRwdXQgdmlkZW8veC1yYXcgTlYxMi9ZVVkyIHdoaWNoIGttc3Npbmsgc2hvdWxkCmFjY2VwdCBz byBJJ20gYXR0ZW1wdGluZyB0aGUgZm9sbG93aW5nIDoKCiMgdnA4IGVuY29kZSBmcm9tIHg4Ngpn c3QtbGF1bmNoLTEuMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdyx3aWR0aD04MDAsaGVp Z2h0PTQ4MCAhCnZwOGVuYyAhIHJ0cHZwOHBheSAhIHVkcHNpbmsgaG9zdD0xNzIuMjQuMzMuMTUg cG9ydD05MDAxCiMgdnA4IGRlY29kZSBvbiBpbXg4bW1AMTcyLjI0LjMzLjE1IHdoaWNoIGhhcyBh IDgwMHg0ODAgZGlzcGxheQpbZ3N0LW1haW5dIHJvb3RAZm9jYWwtdmVuaWNlOn4vZ3N0cmVhbWVy L2J1aWxkIyBnc3QtbGF1bmNoLTEuMCAtdgp1ZHBzcmMgcG9ydD05MDAxIGNhcHMgPSAiYXBwbGlj YXRpb24veC1ydHAsIG1lZGlhPShzdHJpbmcpdmlkZW8sCmNsb2NrLXJhdGU9KGludCk5MDAwMCwg ZW5jb2RpbmctbmFtZT0oc3RyaW5nKVZQOCwgcGF5bG9hZD0oaW50KTk2LApzc3JjPSh1aW50KTI3 NDUyNjIxNTUsIHRpbWVzdGFtcC1vZmZzZXQ9KHVpbnQpMjUxNTAzMjY4MywKc2VxbnVtLW9mZnNl dD0odWludCkxOTU3OSwgYS1mcmFtZXJhdGU9KHN0cmluZykzMCIgISBydHB2cDhkZXBheSAhCnY0 bDJzbHZwOGRlYyAhIGttc3NpbmsKU2V0dGluZyBwaXBlbGluZSB0byBQQVVTRUQgLi4uClBpcGVs aW5lIGlzIGxpdmUgYW5kIGRvZXMgbm90IG5lZWQgUFJFUk9MTCAuLi4KL0dzdFBpcGVsaW5lOnBp cGVsaW5lMC9Hc3RLTVNTaW5rOmttc3NpbmswOiBkaXNwbGF5LXdpZHRoID0gODAwCi9Hc3RQaXBl bGluZTpwaXBlbGluZTAvR3N0S01TU2luazprbXNzaW5rMDogZGlzcGxheS1oZWlnaHQgPSA0ODAK UGlwZWxpbmUgaXMgUFJFUk9MTEVEIC4uLgpTZXR0aW5nIHBpcGVsaW5lIHRvIFBMQVlJTkcgLi4u Ci9Hc3RQaXBlbGluZTpwaXBlbGluZTAvR3N0VURQU3JjOnVkcHNyYzAuR3N0UGFkOnNyYzogY2Fw cyA9CmFwcGxpY2F0aW9uL3gtcnRwLCBtZWRpYT0oc3RyaW5nKXZpZGVvLCBjbG9jay1yYXRlPShp bnQpOTAwMDAsCmVuY29kaW5nLW5hbWU9KHN0cmluZylWUDgsIHBheWxvYWQ9KGludCk5Niwgc3Ny Yz0odWludCkyNzQ1MjYyMTU1LAp0aW1lc3RhbXAtb2Zmc2V0PSh1aW50KTI1MTUwMzI2ODMsIHNl cW51bS1vZmZzZXQ9KHVpbnQpMTk1NzksCmEtZnJhbWVyYXRlPShzdHJpbmcpMzAKTmV3IGNsb2Nr OiBHc3RTeXN0ZW1DbG9jawovR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdFJ0cFZQOERlcGF5OnJ0 cHZwOGRlcGF5MC5Hc3RQYWQ6c2luazogY2FwcyA9CmFwcGxpY2F0aW9uL3gtcnRwLCBtZWRpYT0o c3RyaW5nKXZpZGVvLCBjbG9jay1yYXRlPShpbnQpOTAwMDAsCmVuY29kaW5nLW5hbWU9KHN0cmlu ZylWUDgsIHBheWxvYWQ9KGludCk5Niwgc3NyYz0odWludCkyNzQ1MjYyMTU1LAp0aW1lc3RhbXAt b2Zmc2V0PSh1aW50KTI1MTUwMzI2ODMsIHNlcW51bS1vZmZzZXQ9KHVpbnQpMTk1NzksCmEtZnJh bWVyYXRlPShzdHJpbmcpMzAKL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC9Hc3RSdHBWUDhEZXBheTpy dHB2cDhkZXBheTAuR3N0UGFkOnNyYzogY2FwcyA9CnZpZGVvL3gtdnA4LCBmcmFtZXJhdGU9KGZy YWN0aW9uKTAvMSwgaGVpZ2h0PShpbnQpNDgwLCB3aWR0aD0oaW50KTgwMCwKcHJvZmlsZT0oc3Ry aW5nKTAKRVJST1I6IGZyb20gZWxlbWVudCAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdFVEUFNy Yzp1ZHBzcmMwOiBJbnRlcm5hbApkYXRhIHN0cmVhbSBlcnJvci4KQWRkaXRpb25hbCBkZWJ1ZyBp bmZvOgouLi9zdWJwcm9qZWN0cy9nc3RyZWFtZXIvbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmMo MzEyNyk6CmdzdF9iYXNlX3NyY19sb29wICgpOiAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdFVE UFNyYzp1ZHBzcmMwOgpzdHJlYW1pbmcgc3RvcHBlZCwgcmVhc29uIG5vdC1uZWdvdGlhdGVkICgt NCkKRXhlY3V0aW9uIGVuZGVkIGFmdGVyIDA6MDA6MDIuMDc2ODM5NjQ0ClNldHRpbmcgcGlwZWxp bmUgdG8gTlVMTCAuLi4KRnJlZWluZyBwaXBlbGluZSAuLi4KCkknbSBnZXR0aW5nIHRoZSBzYW1l IHRoaW5nIHdoZW4gdHJ5aW5nIHRvIHVzZSBoMjY0LgoKSSd2ZSBuZXZlciBxdWl0ZSBiZWVuIGFi bGUgdG8gZ3Jhc3AgaG93IHRvIGRlYnVnIEdTdHJlYW1lcidzCm5lZ290aWF0aW9uIGlzc3Vlcy4g SWYgSSBlbmQgd2l0aCBmYWtlc2luayBpdCBhcHBlYXJzIHRvIGRlY29kZSBzbyBpdAptdXN0IGJl IHRoZSB2NGwyc2x2cDhkZWMgdG8ga21zc2luay4gSSB0cmllZCBmb3JjaW5nIHRoZSBwaXhlbCBm b3JtYXQKdXNpbmcgJ3Y0bDJzbHZwOGRlYyAhICJ2aWRlby94LXJhdyxmb3JtYXQ9KHN0cmluZylO VjEyIiAhIGttc3NpbmsnIGJ1dApJIHN0aWxsIGdldCB0aGUgbmVnb3RpYXRpb24gZXJyb3IuCgpX aGF0IGludGVycnVwdHMgc2hvdWxkIEkgYmUgc2VlaW5nIGluIC9wcm9jL2ludGVycnVwdHM/IEkg ZG9uJ3Qgc2VlCmFueXRoaW5nIHZwdS9oYW50cm8gcmVsYXRlZCB0aGVyZS4KCkkgYWxzbyB3YW50 IHRvIG1ha2Ugc3VyZSBJIGhhdmUgYSBiYXNpYyB1bmRlcnN0YW5kaW5nIG9mIHRoZSB2cHUKZHJp dmVycyBhbmQgdXNlcnNhcGNlIG9uIHRoZSBJTVg4TSBNaW5pLiBUaGUgSU1YNlEvREwgdGhhdCBJ J20gbW9yZQpmYW1pbGlhciB3aXRoIGhhcyBhIHZwdSB0aGF0IGlzIHN1cHBvcnRlZCBieSB0aGUg R1N0cmVhbWVyIHZpZGVvNGxpbnV4CnBsdWdpbiB3aGljaCBzaG93cyB0aGUgZm9sbG93aW5nIChv biBHU3RyZWFtZXIgMS4xNi4yKToKICB2NGwyanBlZ2VuYzogVjRMMiBKUEVHIEVuY29kZXIKICB2 NGwyanBlZ2RlYzogVjRMMiBKUEVHIERlY29kZXIKICB2NGwyaDI2NGVuYzogVjRMMiBILjI2NCBF bmNvZGVyCiAgdjRsMm1wZWc0ZW5jOiBWNEwyIE1QRUc0IEVuY29kZXIKICB2NGwybXBlZzRkZWM6 IFY0TDIgTVBFRzQgRGVjb2RlcgogIHY0bDJtcGVnMmRlYzogVjRMMiBNUEVHMiBEZWNvZGVyCiAg djRsMmgyNjRkZWM6IFY0TDIgSDI2NCBEZWNvZGVyClRoZSBJTVg2US9ETCBhbHNvIGhhcyBhbiBJ UFUgdGhhdCBoYXMgYW4gTTJNIGRyaXZlciB0aGF0IHByb3ZpZGVzIHRoZQpmb2xsb3dpbmcgZm9y IHNjYWxpbmcvY29sb3JzcGFjZSBjb252ZXJzaW9uOgogIHY0bDJjb252ZXJ0OiBWNEwyIFZpZGVv IENvbnZlcnRlcgoKSSBiZWxpZXZlIHdoYXQgSSdtIHJlYWRpbmcgaXMgdGhhdCB0aGUgSU1YOE0g TWluaSBIYW50cm8gY29kZWNzIGFyZQonc3RhdGVmdWwnIHdoZXJlIG1vcmUgc29mdHdhcmUgaXMg cmVxdWlyZWQgdG8gZHJpdmUgdGhlbSBhbmQgaXMKc3VwcG9ydGVkIGJ5IHRoZSBuZXdlciB2NGwy Y29kZWNzIHBsdWdpbi4gSSBoYXZlbid0IGJlZW4gYWJsZSB0bwp1bmRlcnN0YW5kIHdoYXQga2Vy bmVsIHZlcnNpb24vcmVxdWlyZW1lbnRzIHRoZSB2NGwyY29kZWNzIHBsdWdpbgp1c2Vycy9yZXF1 aXJlcy4KCkknbSBhbHNvIHRyeWluZyB0byB1bmRlcnN0YW5kIGhvdyB3ZSBjYW4gZ2V0IHNjYWxp bmcvY29sb3JzcGFjZQpjb252ZXJzaW9uIG9uIHRoZSBJTVg4TSBNaW5pLiBUaGUgSU1YOE0gbGFj a3MgYW4gSVBVLi4uIGlzIHRoZXJlIHNvbWUKd2F5IHRvIHV0aWxpemUgc2NhbGluZy9jb2xvcnNw YWNlIGNvbnZlcnNpb24gZnJvbSB0aGUgMkQgR1BVIGJvdW5kIHRvCnRoZSBldG5hdml2IGRyaXZl cj8KCkJlc3QgcmVnYXJkcywKClRpbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlw QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1yb2NrY2hpcAo= 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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id A3979C433EF for ; Tue, 30 Nov 2021 19:30:53 +0000 (UTC) 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=Cpz2B2GA2uGAG1KfzuQan42ZhIbAj7AfqapvHSNGmOA=; b=cQW2YNthTHfHYI qzk5QhnFHLH8dEV0QiQW97AE0YInl+paCZMNYhydavt5JuKW7WtLmrro3woQPYOPgNr2slQkXfqtQ qfiI6gESDxZppia+8XMHp/rSb6MjhK9aTIqGjkgorsenDfAcZKpckLMHqYO7GKnFQ0gjrj6f7anOH YxJnIAmUr9vIj1VCPSUgN6xWKTf8hwhi0mHFniHn2xa92XX747tK7aap8pklbXFCwPQxZanSyEbmC Et67Nlxkg/jnhFGvt1VPm+GCqx6RLGZOBdmlV9SBrM79Hlw8Pt+pFObABfHJpnAZ+GcAGXFbTUpMI 6SWy56+0uWrW+yP7i7zw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ms8oF-006Z9E-8O; Tue, 30 Nov 2021 19:28:59 +0000 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1ms8oB-006Z8A-DO for linux-arm-kernel@lists.infradead.org; Tue, 30 Nov 2021 19:28:57 +0000 Received: by mail-pl1-x632.google.com with SMTP id b11so15712771pld.12 for ; Tue, 30 Nov 2021 11:28:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gateworks-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=8xRMmiakU1EMVn9KGKZK7gagQ/r6zpi2qMLSAdpg+SI=; b=thWQBaHWuu9s2KaF+kB2PIi9KtLxsHh7eG3TkQeCYjWAUOqPWdMJ2vxaWgYKBR62oZ p+xzjo6xIBpCezORDzSae7OIF33kxlz7WIf0K6DvztbwAXFLB17xgTGG1VXvQE22swyd /YWNzng0aWMn13Cwrw4EzwgrPAdH5EA87S5+T7s668tmJo2TDjUrxXorwjRrb4b8lO8M awBozzMv4wuIcFH89Pw6usuBj35gtBpi/ZTy5X0vInU6I8f0RLtO4NfnB4CmWms7ECfv gOwfJ5RpJp4zTNbtCHc1uNJ5LucMosInTDxgPo3NKiWLxbo7pkL8IcQSfUbw0GBBVFBo 3ivg== 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=8xRMmiakU1EMVn9KGKZK7gagQ/r6zpi2qMLSAdpg+SI=; b=rZoyoRDS2TCiGfQ9uTd4Cm6tufQsMPZAWOus9N+uXYV95l/UFz8al5kUKUgiqkiwEi AbhrkRi11DatVF+i1JLSJPopgM962sk0usOt6wwY4/9mCS649Nxt9lcAJ1oCrPZG0duT Zm45BuXx+UxUGHe6cjlHvf8aeRzsYEUDJY2um0u16eAsCrAFEWg1V/nT9SyVSfjdwZr9 l7nfSVjhoi6PfEKeYoGmagkgePSzuAQyQYE95GEwkQU/NCCTB3p68mMVI7jtguToZyTl n2Y+FgCFoRpbyJflLuJrmXqYQSbuQYbyCuNSRirTRkll/Gke2uE5E8uzdlyM7MmrpDI/ d1KQ== X-Gm-Message-State: AOAM5302vaQKP1iCMRzrZp3cUzOny/8fdPEcNVrvG4M5m5vMDwVnNN64 ly5psrx8Y0bhWynT66Fx+y2lvFm+geKhKdcFwNx03g== X-Google-Smtp-Source: ABdhPJzuiIzyC7Gkuy0Pli9c4g7qlHhacM7DFcW7lvc8EjG4/8pLDgcxWOFJYEasHl31T4xiue4p2duA2/U138yvOqk= X-Received: by 2002:a17:90b:1b06:: with SMTP id nu6mr1142360pjb.155.1638300533615; Tue, 30 Nov 2021 11:28:53 -0800 (PST) MIME-Version: 1.0 References: <20211106183802.893285-1-aford173@gmail.com> <718f7f6d6cd564d031c1963f1590c62d549ae725.camel@ndufresne.ca> <8db00a4b6faa99c940d9bc86e17161eb0db5efe3.camel@ndufresne.ca> <7f94eaacfddb8c5434c17f1e069ea87a17657ce9.camel@ndufresne.ca> In-Reply-To: From: Tim Harvey Date: Tue, 30 Nov 2021 11:28:42 -0800 Message-ID: Subject: Re: [RFC 0/5] arm64: imx8mm: Enable Hantro VPUs To: Ezequiel Garcia , Nicolas Dufresne Cc: Adam Ford , linux-media , Schrempf Frieder , Marek Vasut , Jagan Teki , Adam Ford-BE , cstevens@beaconembedded.com, 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-20211130_112855_538463_76A5323F X-CRM114-Status: GOOD ( 31.72 ) 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 T24gVHVlLCBOb3YgMzAsIDIwMjEgYXQgNjowMCBBTSBFemVxdWllbCBHYXJjaWEKPGV6ZXF1aWVs QHZhbmd1YXJkaWFzdXIuY29tLmFyPiB3cm90ZToKPgo+IEhpIFRpbSwKPgo+IE9uIE1vbiwgMjkg Tm92IDIwMjEgYXQgMTY6MzYsIFRpbSBIYXJ2ZXkgPHRoYXJ2ZXlAZ2F0ZXdvcmtzLmNvbT4gd3Jv dGU6Cj4gPgo+ID4gT24gTW9uLCBOb3YgMjksIDIwMjEgYXQgMTA6NTkgQU0gQWRhbSBGb3JkIDxh Zm9yZDE3M0BnbWFpbC5jb20+IHdyb3RlOgo+IC4uCj4gPiA+Cj4gPgo+ID4gQWRhbSwKPiA+Cj4g PiBXaGF0IGRlcHMgZGlkIHlvdSBpbnN0YWxsIGluIG9yZGVyIHRvIGdldCB2NGwyY29kZWNzIGJ1 aWxkaW5nPyBJCj4gPiBpbnN0YWxsZWQgbGliZ3VkZXYtMS4wLWRldiBiYXNlZCBvbiBOaWNvbGFz JyBzdWdnZXN0aW9uIGFuZCByZWJ1aWx0Cj4gPiAobm90IHN1cmUgaWYgSSBuZWVkZWQgdG8gcmUt Y29uZmlndXJlIHNvbWVob3cpIGJ1dCB0aGVyZSBpcyBzdGlsbAo+ID4gbm90aGluZyBpbiBidWls ZC9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvLiBBICdtZXNvbgo+ ID4gY29uZmlndXJlJyB0ZWxscyBtZSB0aGF0IHY0bDJjb2RlY3MgaXMgc2V0IHRvICdhdXRvJyBi dXQgSSdtIG5vdCBzdXJlCj4gPiBob3cgdG8gZmluZCBvdXQgd2hhdCBkZXBlbmRlbmNpZXMgYXJl IG5lZWRlZCBvciB3aGF0IG1heSBiZSBtaXNzaW5nLgo+ID4KPgo+IEF0IGxlYXN0IGluIG15IGNh c2UgKENlbnRwcy1kZXJpdmF0aXZlKSwgdGhpcyBpcyB3aGF0IEkndmUgZG9uZToKPgo+IC4uLgo+ IGdzdC1wbHVnaW5zLWJhZHwgUnVuLXRpbWUgZGVwZW5kZW5jeSBndWRldi0xLjAgZm91bmQ6IE5P ICh0cmllZAo+IHBrZ2NvbmZpZyBhbmQgY21ha2UpCj4KPiBJbnN0YWxsZWQgZ3VkZXYgLi4uIGFu ZCB0aGVuOgo+Cj4gLi4uCj4gZ3N0LXBsdWdpbnMtYmFkfCBEZXBlbmRlbmN5IGd1ZGV2LTEuMCBm b3VuZDogWUVTIDIzMiAoY2FjaGVkKQo+IC4uLgo+IGdzdC1wbHVnaW5zLWJhZCAxLjE5LjMuMQo+ Cj4gICAgIFBsdWdpbnMgICAgICAgICAgICAgICA6IGFjY3VyaXAsIGFkcGNtZGVjLCBhZHBjbWVu YywgYWlmZiwgYXNmbXV4LAo+IGF1ZGlvYnVmZmVyc3BsaXQsIGF1ZGlvZnhiYWQsIGF1ZGlvbWl4 bWF0cml4LCBhdWRpb2xhdGVuY3ksCj4gYXVkaW92aXN1YWxpemVycywgYXV0b2NvbnZlcnQsIGJh eWVyLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW1lcmFiaW4sIGNvZGVjYWxwaGEs IGNvbG9yZWZmZWN0cywKPiBkZWJ1Z3V0aWxzYmFkLCBkdmJzdWJlbmMsIGR2YnN1Ym92ZXJsYXks IGR2ZHNwdSwgZmFjZW92ZXJsYXksCj4gZmVzdGl2YWwsIGZpZWxkYW5hbHlzaXMsIGZyZWV2ZXJi LCBmcmVpMHIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhdWRpZWZmZWN0cywgZ2Rw LCBnZW9tZXRyaWN0cmFuc2Zvcm0sCj4gaWQzdGFnLCBpbnRlciwgaW50ZXJsYWNlLCBpdmZwYXJz ZSwgaXZ0YywganAya2RlY2ltYXRvciwganBlZ2Zvcm1hdCwKPiByZmJzcmMsIG1pZGksIG1wZWdw c2RlbXV4LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcGVncHNtdXgsIG1wZWd0c2Rl bXV4LCBtcGVndHNtdXgsIG14ZiwKPiBuZXRzaW0sIHJ0cG9udmlmLCBwY2FwcGFyc2UsIHBubSwg cHJveHksIGxlZ2FjeXJhd3BhcnNlLAo+IHJlbW92ZXNpbGVuY2UsIHJpc3QsIHJ0bXAyLCBydHBt YW5hZ2VyYmFkLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZHBlbGVtLCBzZWdtZW50 Y2xpcCwgc2lyZW4sIHNtb290aCwKPiBzcGVlZCwgc3ViZW5jLCBzd2l0Y2hiaW4sIHRpbWVjb2Rl LCB0cmFuc2NvZGUsIHZpZGVvZmlsdGVyc2JhZCwKPiB2aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwsIHZp ZGVvcGFyc2Vyc2JhZCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlkZW9zaWduYWws IHZtbmMsIHk0bWRlYywgZGVja2xpbmssIGR2YiwKPiBmYmRldnNpbmssIGlwY3BpcGVsaW5lLCBu dmNvZGVjLCBzaG0sIHY0bDJjb2RlY3MsIGhscywgc2N0cAo+Cj4gR1N0cmVhbWVyIGN1cnJlbnQg bWFzdGVyIGJ1aWxkIGZhaWxzLiBJdCdzIGEga25vd24gaXNzdWUgd2hpY2ggd2lsbCBiZQo+IGZp eGVkIHRvZGF5Ogo+Cj4gWy4uLl0KPiBbOC85XSBDb21waWxpbmcgQyBvYmplY3QKPiBzdWJwcm9q ZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvbGliZ3N0djRsMmNvZGVjcy5zby5w L2dzdHY0bDJjb2RlY3ZwOWRlYy5jLm8KPiBGQUlMRUQ6IHN1YnByb2plY3RzL2dzdC1wbHVnaW5z LWJhZC9zeXMvdjRsMmNvZGVjcy9saWJnc3R2NGwyY29kZWNzLnNvLnAvZ3N0djRsMmNvZGVjdnA5 ZGVjLmMubwo+IGNjIC1Jc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL3N5cy92NGwyY29kZWNz L2xpYmdzdHY0bDJjb2RlY3Muc28ucAo+IC1Jc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL3N5 cy92NGwyY29kZWNzCj4gLUkuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJj b2RlY3MKPiAtSXN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZCAtSS4uL3N1YnByb2plY3RzL2dz dC1wbHVnaW5zLWJhZAo+IC1Jc3VicHJvamVjdHMvZ3N0cmVhbWVyL2xpYnMgLUkuLi9zdWJwcm9q ZWN0cy9nc3RyZWFtZXIvbGlicwo+IC1Jc3VicHJvamVjdHMvZ3N0cmVhbWVyIC1JLi4vc3VicHJv amVjdHMvZ3N0cmVhbWVyCj4gLUlzdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvZ3N0LWxpYnMK PiAtSS4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9nc3QtbGlicwo+IC1Jc3VicHJvamVj dHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicwo+IC1JLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdp bnMtYmFzZS9nc3QtbGlicyAtSXN1YnByb2plY3RzL29yYwo+IC1JLi4vc3VicHJvamVjdHMvb3Jj IC1Jc3VicHJvamVjdHMvZ3N0cmVhbWVyL2dzdAo+IC1Jc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMt YmFzZS9nc3QtbGlicy9nc3QvdmlkZW8KPiAtSXN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2Uv Z3N0LWxpYnMvZ3N0L3BidXRpbHMKPiAtSXN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0 LWxpYnMvZ3N0L2F1ZGlvCj4gLUlzdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYXNlL2dzdC1saWJz L2dzdC90YWcKPiAtSS91c3IvaW5jbHVkZS9nbGliLTIuMCAtSS91c3IvbGliNjQvZ2xpYi0yLjAv aW5jbHVkZQo+IC1JL3Vzci9pbmNsdWRlL2d1ZGV2LTEuMCAtZmRpYWdub3N0aWNzLWNvbG9yPWFs d2F5cwo+IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtTzIgLWcg LWZ2aXNpYmlsaXR5PWhpZGRlbgo+IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1ER19ESVNBQkxFX0RF UFJFQ0FURUQgLVdtaXNzaW5nLXByb3RvdHlwZXMKPiAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRl bWVudCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCj4gLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV3Jl ZHVuZGFudC1kZWNscyAtV3dyaXRlLXN0cmluZ3MgLVdmb3JtYXQKPiAtV2Zvcm1hdC1zZWN1cml0 eSAtV2luaXQtc2VsZiAtV21pc3NpbmctaW5jbHVkZS1kaXJzIC1XYWRkcmVzcwo+IC1Xbm8tbXVs dGljaGFyIC1XdmxhIC1XcG9pbnRlci1hcml0aCAtZlBJQyAtcHRocmVhZCAtREhBVkVfQ09ORklH X0gKPiAtTUQgLU1RIHN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMvdjRsMmNvZGVjcy9s aWJnc3R2NGwyY29kZWNzLnNvLnAvZ3N0djRsMmNvZGVjdnA5ZGVjLmMubwo+IC1NRiBzdWJwcm9q ZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvbGliZ3N0djRsMmNvZGVjcy5zby5w L2dzdHY0bDJjb2RlY3ZwOWRlYy5jLm8uZAo+IC1vIHN1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJh ZC9zeXMvdjRsMmNvZGVjcy9saWJnc3R2NGwyY29kZWNzLnNvLnAvZ3N0djRsMmNvZGVjdnA5ZGVj LmMubwo+IC1jIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMvdjRsMmNvZGVjcy9n c3R2NGwyY29kZWN2cDlkZWMuYwo+IC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMv djRsMmNvZGVjcy9nc3R2NGwyY29kZWN2cDlkZWMuYzo5MjozOgo+IGVycm9yOiB1bmtub3duIHR5 cGUgbmFtZSDigJhncmVmY291bnTigJkKPiAgICBncmVmY291bnQgcmVmX2NvdW50Owo+ICAgIF5+ fn5+fn5+fgo+IC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhZC9zeXMvdjRsMmNvZGVjcy9n c3R2NGwyY29kZWN2cDlkZWMuYzogSW4KPiBmdW5jdGlvbiDigJhnc3RfdjRsMl9jb2RlY192cDlf ZGVjX3BpY3R1cmVfZGF0YV9uZXfigJk6Cj4gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFk L3N5cy92NGwyY29kZWNzL2dzdHY0bDJjb2RlY3ZwOWRlYy5jOjEwNjozOgo+IHdhcm5pbmc6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGdfcmVmX2NvdW50X2luaXTigJk7IGRp ZCB5b3UKPiBtZWFuIOKAmGdfY29uZF9pbml04oCZPyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KPiAgICBnX3JlZl9jb3VudF9pbml0ICgmcGljX2RhdGEtPnJlZl9jb3VudCk7Cj4g ICAgXn5+fn5+fn5+fn5+fn5+fgo+ICAgIGdfY29uZF9pbml0Cj4gLi4vc3VicHJvamVjdHMvZ3N0 LXBsdWdpbnMtYmFkL3N5cy92NGwyY29kZWNzL2dzdHY0bDJjb2RlY3ZwOWRlYy5jOiBJbgo+IGZ1 bmN0aW9uIOKAmGdzdF92NGwyX2NvZGVjX3ZwOV9kZWNfcGljdHVyZV9kYXRhX3JlZuKAmToKPiAu Li9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvc3lzL3Y0bDJjb2RlY3MvZ3N0djRsMmNvZGVj dnA5ZGVjLmM6MTE4OjM6Cj4gd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYZ19yZWZfY291bnRfaW5j4oCZOyBkaWQgeW91Cj4gbWVhbiDigJhnX3N0cnZfY29udGFp bnPigJk/IFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+ICAgIGdfcmVmX2NvdW50 X2luYyAoJmRhdGEtPnJlZl9jb3VudCk7Cj4gICAgXn5+fn5+fn5+fn5+fn5+Cj4gICAgZ19zdHJ2 X2NvbnRhaW5zCj4gLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFkL3N5cy92NGwyY29kZWNz L2dzdHY0bDJjb2RlY3ZwOWRlYy5jOiBJbgo+IGZ1bmN0aW9uIOKAmGdzdF92NGwyX2NvZGVjX3Zw OV9kZWNfcGljdHVyZV9kYXRhX3VucmVm4oCZOgo+IC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5z LWJhZC9zeXMvdjRsMmNvZGVjcy9nc3R2NGwyY29kZWN2cDlkZWMuYzoxMjU6NzoKPiB3YXJuaW5n OiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhnX3JlZl9jb3VudF9kZWPigJkK PiBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KPiAgICBpZiAoZ19yZWZfY291bnRf ZGVjICgmZGF0YS0+cmVmX2NvdW50KSkgewo+ICAgICAgICBefn5+fn5+fn5+fn5+fn4KPiBuaW5q YTogYnVpbGQgc3RvcHBlZDogc3ViY29tbWFuZCBmYWlsZWQuCj4KPiBIb3BlIHRoaXMgaGVscHMg Z2V0IHlvdSBzdGFydGVkIQo+IEV6ZXF1aWVsCgpFemVxdWllbCBhbmQgTmljb2xhcywKClRoYW5r cyAtIEkgZGlkIG1hbmFnZSB0byBnZXQgZ3N0cmVhbWVyIDEuMTkuMyBidWlsdCBzdWNjZXNzZnVs bHkgd2l0aAp2NGwyY29kZWNzIGZpbmFsbHkgYnkgZ2V0dGluZyB0aGUgY29ycmVjdCBkZXBlbmRl bmNpZXMuIEkndmUgYXR0ZW1wdGVkCnRvIHNvZnR3YXJlIGVuY29kZSBmcm9tIGFub3RoZXIgc3lz dGVtIGFuZCBkZWNvZGUvZGlzcGxheSBvbiB0aGUgSU1YOE0KTWluaSBidXQgdGh1cyBmYXIgaGF2 ZSBub3QgYmVlbiBzdWNjZXNzZnVsLgoKSSBzZWUgdGhhdCB2NGwyY29kZWNzIHBsdWdpbiB2NGwy c2xoMjY0ZGVjL3Y0bDJzbG1wZWcyZGVjL3Y0bDJzbHZwOGRlYwphbmQgdGhlc2UgYWxsIGNhbiBv dXRwdXQgdmlkZW8veC1yYXcgTlYxMi9ZVVkyIHdoaWNoIGttc3Npbmsgc2hvdWxkCmFjY2VwdCBz byBJJ20gYXR0ZW1wdGluZyB0aGUgZm9sbG93aW5nIDoKCiMgdnA4IGVuY29kZSBmcm9tIHg4Ngpn c3QtbGF1bmNoLTEuMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdyx3aWR0aD04MDAsaGVp Z2h0PTQ4MCAhCnZwOGVuYyAhIHJ0cHZwOHBheSAhIHVkcHNpbmsgaG9zdD0xNzIuMjQuMzMuMTUg cG9ydD05MDAxCiMgdnA4IGRlY29kZSBvbiBpbXg4bW1AMTcyLjI0LjMzLjE1IHdoaWNoIGhhcyBh IDgwMHg0ODAgZGlzcGxheQpbZ3N0LW1haW5dIHJvb3RAZm9jYWwtdmVuaWNlOn4vZ3N0cmVhbWVy L2J1aWxkIyBnc3QtbGF1bmNoLTEuMCAtdgp1ZHBzcmMgcG9ydD05MDAxIGNhcHMgPSAiYXBwbGlj YXRpb24veC1ydHAsIG1lZGlhPShzdHJpbmcpdmlkZW8sCmNsb2NrLXJhdGU9KGludCk5MDAwMCwg ZW5jb2RpbmctbmFtZT0oc3RyaW5nKVZQOCwgcGF5bG9hZD0oaW50KTk2LApzc3JjPSh1aW50KTI3 NDUyNjIxNTUsIHRpbWVzdGFtcC1vZmZzZXQ9KHVpbnQpMjUxNTAzMjY4MywKc2VxbnVtLW9mZnNl dD0odWludCkxOTU3OSwgYS1mcmFtZXJhdGU9KHN0cmluZykzMCIgISBydHB2cDhkZXBheSAhCnY0 bDJzbHZwOGRlYyAhIGttc3NpbmsKU2V0dGluZyBwaXBlbGluZSB0byBQQVVTRUQgLi4uClBpcGVs aW5lIGlzIGxpdmUgYW5kIGRvZXMgbm90IG5lZWQgUFJFUk9MTCAuLi4KL0dzdFBpcGVsaW5lOnBp cGVsaW5lMC9Hc3RLTVNTaW5rOmttc3NpbmswOiBkaXNwbGF5LXdpZHRoID0gODAwCi9Hc3RQaXBl bGluZTpwaXBlbGluZTAvR3N0S01TU2luazprbXNzaW5rMDogZGlzcGxheS1oZWlnaHQgPSA0ODAK UGlwZWxpbmUgaXMgUFJFUk9MTEVEIC4uLgpTZXR0aW5nIHBpcGVsaW5lIHRvIFBMQVlJTkcgLi4u Ci9Hc3RQaXBlbGluZTpwaXBlbGluZTAvR3N0VURQU3JjOnVkcHNyYzAuR3N0UGFkOnNyYzogY2Fw cyA9CmFwcGxpY2F0aW9uL3gtcnRwLCBtZWRpYT0oc3RyaW5nKXZpZGVvLCBjbG9jay1yYXRlPShp bnQpOTAwMDAsCmVuY29kaW5nLW5hbWU9KHN0cmluZylWUDgsIHBheWxvYWQ9KGludCk5Niwgc3Ny Yz0odWludCkyNzQ1MjYyMTU1LAp0aW1lc3RhbXAtb2Zmc2V0PSh1aW50KTI1MTUwMzI2ODMsIHNl cW51bS1vZmZzZXQ9KHVpbnQpMTk1NzksCmEtZnJhbWVyYXRlPShzdHJpbmcpMzAKTmV3IGNsb2Nr OiBHc3RTeXN0ZW1DbG9jawovR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdFJ0cFZQOERlcGF5OnJ0 cHZwOGRlcGF5MC5Hc3RQYWQ6c2luazogY2FwcyA9CmFwcGxpY2F0aW9uL3gtcnRwLCBtZWRpYT0o c3RyaW5nKXZpZGVvLCBjbG9jay1yYXRlPShpbnQpOTAwMDAsCmVuY29kaW5nLW5hbWU9KHN0cmlu ZylWUDgsIHBheWxvYWQ9KGludCk5Niwgc3NyYz0odWludCkyNzQ1MjYyMTU1LAp0aW1lc3RhbXAt b2Zmc2V0PSh1aW50KTI1MTUwMzI2ODMsIHNlcW51bS1vZmZzZXQ9KHVpbnQpMTk1NzksCmEtZnJh bWVyYXRlPShzdHJpbmcpMzAKL0dzdFBpcGVsaW5lOnBpcGVsaW5lMC9Hc3RSdHBWUDhEZXBheTpy dHB2cDhkZXBheTAuR3N0UGFkOnNyYzogY2FwcyA9CnZpZGVvL3gtdnA4LCBmcmFtZXJhdGU9KGZy YWN0aW9uKTAvMSwgaGVpZ2h0PShpbnQpNDgwLCB3aWR0aD0oaW50KTgwMCwKcHJvZmlsZT0oc3Ry aW5nKTAKRVJST1I6IGZyb20gZWxlbWVudCAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdFVEUFNy Yzp1ZHBzcmMwOiBJbnRlcm5hbApkYXRhIHN0cmVhbSBlcnJvci4KQWRkaXRpb25hbCBkZWJ1ZyBp bmZvOgouLi9zdWJwcm9qZWN0cy9nc3RyZWFtZXIvbGlicy9nc3QvYmFzZS9nc3RiYXNlc3JjLmMo MzEyNyk6CmdzdF9iYXNlX3NyY19sb29wICgpOiAvR3N0UGlwZWxpbmU6cGlwZWxpbmUwL0dzdFVE UFNyYzp1ZHBzcmMwOgpzdHJlYW1pbmcgc3RvcHBlZCwgcmVhc29uIG5vdC1uZWdvdGlhdGVkICgt NCkKRXhlY3V0aW9uIGVuZGVkIGFmdGVyIDA6MDA6MDIuMDc2ODM5NjQ0ClNldHRpbmcgcGlwZWxp bmUgdG8gTlVMTCAuLi4KRnJlZWluZyBwaXBlbGluZSAuLi4KCkknbSBnZXR0aW5nIHRoZSBzYW1l IHRoaW5nIHdoZW4gdHJ5aW5nIHRvIHVzZSBoMjY0LgoKSSd2ZSBuZXZlciBxdWl0ZSBiZWVuIGFi bGUgdG8gZ3Jhc3AgaG93IHRvIGRlYnVnIEdTdHJlYW1lcidzCm5lZ290aWF0aW9uIGlzc3Vlcy4g SWYgSSBlbmQgd2l0aCBmYWtlc2luayBpdCBhcHBlYXJzIHRvIGRlY29kZSBzbyBpdAptdXN0IGJl IHRoZSB2NGwyc2x2cDhkZWMgdG8ga21zc2luay4gSSB0cmllZCBmb3JjaW5nIHRoZSBwaXhlbCBm b3JtYXQKdXNpbmcgJ3Y0bDJzbHZwOGRlYyAhICJ2aWRlby94LXJhdyxmb3JtYXQ9KHN0cmluZylO VjEyIiAhIGttc3NpbmsnIGJ1dApJIHN0aWxsIGdldCB0aGUgbmVnb3RpYXRpb24gZXJyb3IuCgpX aGF0IGludGVycnVwdHMgc2hvdWxkIEkgYmUgc2VlaW5nIGluIC9wcm9jL2ludGVycnVwdHM/IEkg ZG9uJ3Qgc2VlCmFueXRoaW5nIHZwdS9oYW50cm8gcmVsYXRlZCB0aGVyZS4KCkkgYWxzbyB3YW50 IHRvIG1ha2Ugc3VyZSBJIGhhdmUgYSBiYXNpYyB1bmRlcnN0YW5kaW5nIG9mIHRoZSB2cHUKZHJp dmVycyBhbmQgdXNlcnNhcGNlIG9uIHRoZSBJTVg4TSBNaW5pLiBUaGUgSU1YNlEvREwgdGhhdCBJ J20gbW9yZQpmYW1pbGlhciB3aXRoIGhhcyBhIHZwdSB0aGF0IGlzIHN1cHBvcnRlZCBieSB0aGUg R1N0cmVhbWVyIHZpZGVvNGxpbnV4CnBsdWdpbiB3aGljaCBzaG93cyB0aGUgZm9sbG93aW5nIChv biBHU3RyZWFtZXIgMS4xNi4yKToKICB2NGwyanBlZ2VuYzogVjRMMiBKUEVHIEVuY29kZXIKICB2 NGwyanBlZ2RlYzogVjRMMiBKUEVHIERlY29kZXIKICB2NGwyaDI2NGVuYzogVjRMMiBILjI2NCBF bmNvZGVyCiAgdjRsMm1wZWc0ZW5jOiBWNEwyIE1QRUc0IEVuY29kZXIKICB2NGwybXBlZzRkZWM6 IFY0TDIgTVBFRzQgRGVjb2RlcgogIHY0bDJtcGVnMmRlYzogVjRMMiBNUEVHMiBEZWNvZGVyCiAg djRsMmgyNjRkZWM6IFY0TDIgSDI2NCBEZWNvZGVyClRoZSBJTVg2US9ETCBhbHNvIGhhcyBhbiBJ UFUgdGhhdCBoYXMgYW4gTTJNIGRyaXZlciB0aGF0IHByb3ZpZGVzIHRoZQpmb2xsb3dpbmcgZm9y IHNjYWxpbmcvY29sb3JzcGFjZSBjb252ZXJzaW9uOgogIHY0bDJjb252ZXJ0OiBWNEwyIFZpZGVv IENvbnZlcnRlcgoKSSBiZWxpZXZlIHdoYXQgSSdtIHJlYWRpbmcgaXMgdGhhdCB0aGUgSU1YOE0g TWluaSBIYW50cm8gY29kZWNzIGFyZQonc3RhdGVmdWwnIHdoZXJlIG1vcmUgc29mdHdhcmUgaXMg cmVxdWlyZWQgdG8gZHJpdmUgdGhlbSBhbmQgaXMKc3VwcG9ydGVkIGJ5IHRoZSBuZXdlciB2NGwy Y29kZWNzIHBsdWdpbi4gSSBoYXZlbid0IGJlZW4gYWJsZSB0bwp1bmRlcnN0YW5kIHdoYXQga2Vy bmVsIHZlcnNpb24vcmVxdWlyZW1lbnRzIHRoZSB2NGwyY29kZWNzIHBsdWdpbgp1c2Vycy9yZXF1 aXJlcy4KCkknbSBhbHNvIHRyeWluZyB0byB1bmRlcnN0YW5kIGhvdyB3ZSBjYW4gZ2V0IHNjYWxp bmcvY29sb3JzcGFjZQpjb252ZXJzaW9uIG9uIHRoZSBJTVg4TSBNaW5pLiBUaGUgSU1YOE0gbGFj a3MgYW4gSVBVLi4uIGlzIHRoZXJlIHNvbWUKd2F5IHRvIHV0aWxpemUgc2NhbGluZy9jb2xvcnNw YWNlIGNvbnZlcnNpb24gZnJvbSB0aGUgMkQgR1BVIGJvdW5kIHRvCnRoZSBldG5hdml2IGRyaXZl cj8KCkJlc3QgcmVnYXJkcywKClRpbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtl cm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=