From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 7BCE6C28D15 for ; Wed, 3 Mar 2021 15:19:05 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3C28260240 for ; Wed, 3 Mar 2021 15:19:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233391AbhCCPSk (ORCPT ); Wed, 3 Mar 2021 10:18:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232143AbhCCKaz (ORCPT ); Wed, 3 Mar 2021 05:30:55 -0500 Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 87F71C061756 for ; Wed, 3 Mar 2021 02:30:10 -0800 (PST) Received: by mail-lf1-x132.google.com with SMTP id q25so16045953lfc.8 for ; Wed, 03 Mar 2021 02:30:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ul5d5eo5jjguw4uCkJHVtdEjPOboupeNtSzAVz4Rmio=; b=ThpGElSJaCEbZZncSCI7UVnPIpXqQjO7Q4JJCYgYQ5obCM9YSBam90bydANSj3gDJj goYyHSbLByqsIFWn/0d9nyPpQrSNEwpWzB1GvB89Pmnx90aZRKA/uvkwcHmfaj47ChC/ g4MbCiU8TMHgSsfVHS1LWSrMaKVvq+02Hdhak= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ul5d5eo5jjguw4uCkJHVtdEjPOboupeNtSzAVz4Rmio=; b=Z0pIqyrGD6uyHuT+lRkZ25NIwwIUcJJUfjhKLBLbS50z2ZlqPfN6lpdvJQ7PwYcv5j V1vfYSITxMwe/xWA0XrvFYpBX0Huj1GUAPeJ+eGKM9x3ZRTSwnWM3e4q9/hAVPqLn5FQ 7CshAzdT60cill+Q+EiwrY2WjE+yHqcEtsZFegt7YIiIomahsUUF/LoQNS0uqnFrNH6q WGdK/zwSHDYPhAY+CDdfJhIr+OzoOg4TmZA1DH7/QIPPubgM4SCqFxJMyeqIPmVM/F7z eORe+c5AkMIISjAeWq3XfS5QNCKFfK7Oqd5kClpd2Nf2Yk0t43p067ymTk0/LwnQ00Oj zAKw== X-Gm-Message-State: AOAM530OElj+nzoABZAMUY6/h4r+UITuota/MGVJQRBej1a8lJ4rWo6r XpM0DLKje4WZPLI0OKXgnaPNM1nbN/Asjg== X-Google-Smtp-Source: ABdhPJzKYMXHunCLE1/2dL31gais9whUWj0O2jXIJTIesAQqDT9IFw4vwjdoA97nmMJzvxrAsoO/xQ== X-Received: by 2002:a19:8085:: with SMTP id b127mr15319429lfd.25.1614767408411; Wed, 03 Mar 2021 02:30:08 -0800 (PST) Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com. [209.85.167.42]) by smtp.gmail.com with ESMTPSA id s6sm2919649lfe.97.2021.03.03.02.30.07 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Mar 2021 02:30:07 -0800 (PST) Received: by mail-lf1-f42.google.com with SMTP id q25so16045825lfc.8 for ; Wed, 03 Mar 2021 02:30:07 -0800 (PST) X-Received: by 2002:a19:712:: with SMTP id 18mr14809919lfh.591.1614767406688; Wed, 03 Mar 2021 02:30:06 -0800 (PST) MIME-Version: 1.0 References: <20210225101612.2832444-1-acourbot@chromium.org> <20210225101612.2832444-4-acourbot@chromium.org> <4cb93f828695f7f6307077da466a58ba478c9824.camel@ndufresne.ca> In-Reply-To: <4cb93f828695f7f6307077da466a58ba478c9824.camel@ndufresne.ca> From: Alexandre Courbot Date: Wed, 3 Mar 2021 19:29:55 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 3/8] media: add Mediatek's MM21 format To: Nicolas Dufresne Cc: Tiffany Lin , Andrew-CT Chen , Rob Herring , Yunfei Dong , Mauro Carvalho Chehab , Hans Verkuil , Linux Media Mailing List , LKML , "moderated list:ARM/Mediatek SoC support" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Nicolas, On Wed, Mar 3, 2021 at 2:38 AM Nicolas Dufresne wrot= e: > > Le jeudi 25 f=C3=A9vrier 2021 =C3=A0 19:16 +0900, Alexandre Courbot a =C3= =A9crit : > > Add Mediatek's non-compressed 8 bit block video mode. This format is > > produced by the MT8183 codec and can be converted to a non-proprietary > > format by the MDP3 component. > > > > Signed-off-by: Alexandre Courbot > > --- > > Documentation/userspace-api/media/v4l/pixfmt-reserved.rst | 7 +++++++ > > drivers/media/v4l2-core/v4l2-ioctl.c | 1 + > > include/uapi/linux/videodev2.h | 1 + > > 3 files changed, 9 insertions(+) > > > > diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst > > b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst > > index c9231e18859b..187ea89f7a25 100644 > > --- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst > > +++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst > > @@ -242,6 +242,13 @@ please make a proposal on the linux-media mailing = list. > > It is an opaque intermediate format and the MDP hardware must b= e > > used to convert ``V4L2_PIX_FMT_MT21C`` to ``V4L2_PIX_FMT_NV12M`= `, > > ``V4L2_PIX_FMT_YUV420M`` or ``V4L2_PIX_FMT_YVU420``. > > + * .. _V4L2-PIX-FMT-MM21: > > + > > + - ``V4L2_PIX_FMT_MM21`` > > + - 'MM21' > > + - Non-compressed, tiled two-planar format used by Mediatek MT818= 3. > > + This is an opaque intermediate format and the MDP3 hardware can= be > > + used to convert it to other formats. > > * .. _V4L2-PIX-FMT-SUNXI-TILED-NV12: > > The SUNXI one was a mistake, it's linear layout 32x32 tiles. The problem= with > calling this a vendor format, is that other vendor might be using it too.= But > they won't know and the format might endup duplicated, even if it's the s= ame > one. > > So here's my request, have you tried to understand a bit more what the ti= ling > layout is ? Could be tiled + SAND, could use zigzag layout like Samsung d= o. I > think if we can avoid vendor formats, we can preserve the pixel format li= st > sanity here. Most of the HW I've encoutered was very easy to reverse, eve= n if > undocumented (except the compressed one). Unfortunately I don't think I can look too closely into that, for non-technical reasons. But if MTK could come forward and document their format, that would be indeed ideal. > > If not possible, I would like to suggest: > > V4L2_PIX_FMT_MTK_NV21 > > The important part is to add a clear seperation for the vendor name, it e= asy to > recognize then. The MTK prefix makes sense, but I do not know if NV21 is a correct denomination for that format. Note that we have another MTK-only format currently named V4L2_PIX_FMT_MT21C, which is already public. It would be nice to rename it as well, but since it is part of the public API I'm afraid the cat is already out of the bag for that one... > > > > > - ``V4L2_PIX_FMT_SUNXI_TILED_NV12`` > > diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2- > > core/v4l2-ioctl.c > > index 31d1342e61e8..0b85b2bbc628 100644 > > --- a/drivers/media/v4l2-core/v4l2-ioctl.c > > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c > > @@ -1384,6 +1384,7 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc = *fmt) > > case V4L2_PIX_FMT_TM6000: descr =3D "A/V + VBI Mux Packet= "; break; > > case V4L2_PIX_FMT_CIT_YYVYUY: descr =3D "GSPCA CIT YYVYUY"; b= reak; > > case V4L2_PIX_FMT_KONICA420: descr =3D "GSPCA KONICA420"; br= eak; > > + case V4L2_PIX_FMT_MM21: descr =3D "Mediatek 8-bit block= format"; > > break; > > case V4L2_PIX_FMT_HSV24: descr =3D "24-bit HSV 8-8-8"; b= reak; > > case V4L2_PIX_FMT_HSV32: descr =3D "32-bit XHSV 8-8-8-8"= ; break; > > case V4L2_SDR_FMT_CU8: descr =3D "Complex U8"; break; > > diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videod= ev2.h > > index 79dbde3bcf8d..e6890dae76ec 100644 > > --- a/include/uapi/linux/videodev2.h > > +++ b/include/uapi/linux/videodev2.h > > @@ -731,6 +731,7 @@ struct v4l2_pix_format { > > #define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greys= cale > > 12-bit L/R interleaved */ > > #define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth= data > > 16-bit */ > > #define V4L2_PIX_FMT_MT21C v4l2_fourcc('M', 'T', '2', '1') /* Media= tek > > compressed block mode */ > > +#define V4L2_PIX_FMT_MM21 v4l2_fourcc('M', 'M', '2', '1') /* Media= tek 8- > > bit block mode, two non-contiguous planes */ > > #define V4L2_PIX_FMT_INZI v4l2_fourcc('I', 'N', 'Z', 'I') /* Intel= Planar > > Greyscale 10-bit and Depth 16-bit */ > > #define V4L2_PIX_FMT_SUNXI_TILED_NV12 v4l2_fourcc('S', 'T', '1', '2') = /* > > Sunxi Tiled NV12 Format */ > > #define V4L2_PIX_FMT_CNF4 v4l2_fourcc('C', 'N', 'F', '4') /* Intel= 4-bit > > packed depth confidence information */ > > 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,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 4DFABC433DB for ; Wed, 3 Mar 2021 20:48:53 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 B953C64EF4 for ; Wed, 3 Mar 2021 20:48:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B953C64EF4 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; 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=uUIhRi09RhmtWtnJeRGV9HBKTGj2Q/nlhRqWNnUmmh4=; b=jd5rFi0W+1SoVp1VVqfopo4Fc vaoOoXQmfG9OYHcv4M5QS0Hu57kozr89l6kpp/Dzf9X6wVtGBBpVqTzpXKTQWPdMkYaDYf2EgIJFD UDFf5VQ9vKPmr7a55f6qUPo4X0z7cuyC5Dah7eCCYPqcNlounxGIAcEGRJQQ2aTWwwO8AsE1qU/sk SMzwWpz20f6bUOO4vuXIBKbF9UAJWDvBzh+0ZJQgYyQUnLBR6BhubQXqWfwX51yEwQ/tgzAk/Wo4i Aw4aY/awxqojOP8OMn6kjk5jeRHnijbNVF+v1Ixmu0A5I1gSFTOU9wowvMND3fehFD2aKzia/wCn0 227Lg/O0A==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHYPv-006TnD-D4; Wed, 03 Mar 2021 20:48:29 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHT6v-005JEZ-D5 for linux-mediatek@desiato.infradead.org; Wed, 03 Mar 2021 15:08:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version:Sender :Reply-To:Content-ID:Content-Description; bh=ul5d5eo5jjguw4uCkJHVtdEjPOboupeNtSzAVz4Rmio=; b=agBmNMxAnq7McmdEEphzNtboh1 tsQT1vqnd2/hj25flnIaPzjqARAT0Sy7d1l0ztfrnNlNVmDK0ovXlr51INA83Q/sZnKASpBPumqzD wsnQQk3/j7ndGlC+vyCXN8B/I0LL+/J4S7hxuawZ1eaTkUBCon/aORJhrdNqV/aGicbUy5M+eowMy zgPa40m96IczijM2yroDuGVHB1kEt2yC0FLyaJRDlKOUaHiNzVCmUHtcyT4li/GJKQmpWUwDbc5I3 OXkEyHqzqKf6yRstpFwWk1PfAXCYIYba3tyAvsVOryvq1cSROc9bnvhEqNYohOtMjOA9znTEoI5Kq CEHgrsnw==; Received: from mail-lj1-x22e.google.com ([2a00:1450:4864:20::22e]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHOmf-002BRQ-6w for linux-mediatek@lists.infradead.org; Wed, 03 Mar 2021 10:31:13 +0000 Received: by mail-lj1-x22e.google.com with SMTP id u18so14317568ljd.3 for ; Wed, 03 Mar 2021 02:31:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ul5d5eo5jjguw4uCkJHVtdEjPOboupeNtSzAVz4Rmio=; b=ThpGElSJaCEbZZncSCI7UVnPIpXqQjO7Q4JJCYgYQ5obCM9YSBam90bydANSj3gDJj goYyHSbLByqsIFWn/0d9nyPpQrSNEwpWzB1GvB89Pmnx90aZRKA/uvkwcHmfaj47ChC/ g4MbCiU8TMHgSsfVHS1LWSrMaKVvq+02Hdhak= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ul5d5eo5jjguw4uCkJHVtdEjPOboupeNtSzAVz4Rmio=; b=plJDqK+1v9zO1d4dgKX9+rKM7V5+cTNjY2V16MzKLptwAYkerFcIXku4PXdedIpQ0+ aFgjZ/4PI9K1FnS8Rs9RSKskCe/rRq1uf6lwAjaE1r+D5YgmQgZIbGXu9zZr+OC73kFS JDdLoQ3yVJgOYMr5Q76XQs8u0fLjPgApjNFHYbemj34V7FqrLRG0QKUKVrwajugB1eVs h1QkBRiTYwRPpysOfkyBMvOxBM2Lkdon5xcsuqNlMA6uDzj3xFZCkNQW33hDlpoaH8H+ GvvT+h3JBRKJ0UgV/vqv74cwYjJjehoX9lEtsFRlFZJIn3YRCuOUqxuSIIl5oLDZl0dA xjOQ== X-Gm-Message-State: AOAM533XLY0CerB1dmZywbO0AMs/+u5Z2Z3stwA2dazK3s70jUOZciaG PSMVcC+cMzvqraC8tD+8+aHCi9lBLL5EQA== X-Google-Smtp-Source: ABdhPJxEl/htd71M9QwuMTJ9p2g2LETuiN+wbEuGxVd0O+7mhKwV8Mh63GtsWTWSg8ybE0VYXRhS2A== X-Received: by 2002:a2e:5cc7:: with SMTP id q190mr13601608ljb.37.1614767409856; Wed, 03 Mar 2021 02:30:09 -0800 (PST) Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com. [209.85.167.45]) by smtp.gmail.com with ESMTPSA id o26sm1292541ljc.138.2021.03.03.02.30.07 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 03 Mar 2021 02:30:07 -0800 (PST) Received: by mail-lf1-f45.google.com with SMTP id z11so36218406lfb.9 for ; Wed, 03 Mar 2021 02:30:07 -0800 (PST) X-Received: by 2002:a19:712:: with SMTP id 18mr14809919lfh.591.1614767406688; Wed, 03 Mar 2021 02:30:06 -0800 (PST) MIME-Version: 1.0 References: <20210225101612.2832444-1-acourbot@chromium.org> <20210225101612.2832444-4-acourbot@chromium.org> <4cb93f828695f7f6307077da466a58ba478c9824.camel@ndufresne.ca> In-Reply-To: <4cb93f828695f7f6307077da466a58ba478c9824.camel@ndufresne.ca> From: Alexandre Courbot Date: Wed, 3 Mar 2021 19:29:55 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 3/8] media: add Mediatek's MM21 format To: Nicolas Dufresne Cc: Tiffany Lin , Andrew-CT Chen , Rob Herring , Yunfei Dong , Mauro Carvalho Chehab , Hans Verkuil , Linux Media Mailing List , LKML , "moderated list:ARM/Mediatek SoC support" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210303_103113_500280_C2ED4E34 X-CRM114-Status: GOOD ( 25.64 ) X-BeenThere: linux-mediatek@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-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGkgTmljb2xhcywKCk9uIFdlZCwgTWFyIDMsIDIwMjEgYXQgMjozOCBBTSBOaWNvbGFzIER1ZnJl c25lIDxuaWNvbGFzQG5kdWZyZXNuZS5jYT4gd3JvdGU6Cj4KPiBMZSBqZXVkaSAyNSBmw6l2cmll ciAyMDIxIMOgIDE5OjE2ICswOTAwLCBBbGV4YW5kcmUgQ291cmJvdCBhIMOpY3JpdCA6Cj4gPiBB ZGQgTWVkaWF0ZWsncyBub24tY29tcHJlc3NlZCA4IGJpdCBibG9jayB2aWRlbyBtb2RlLiBUaGlz IGZvcm1hdCBpcwo+ID4gcHJvZHVjZWQgYnkgdGhlIE1UODE4MyBjb2RlYyBhbmQgY2FuIGJlIGNv bnZlcnRlZCB0byBhIG5vbi1wcm9wcmlldGFyeQo+ID4gZm9ybWF0IGJ5IHRoZSBNRFAzIGNvbXBv bmVudC4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kcmUgQ291cmJvdCA8YWNvdXJib3RA Y2hyb21pdW0ub3JnPgo+ID4gLS0tCj4gPiAgRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL21l ZGlhL3Y0bC9waXhmbXQtcmVzZXJ2ZWQucnN0IHwgNyArKysrKysrCj4gPiAgZHJpdmVycy9tZWRp YS92NGwyLWNvcmUvdjRsMi1pb2N0bC5jICAgICAgICAgICAgICAgICAgICAgIHwgMSArCj4gPiAg aW5jbHVkZS91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMSArCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKPiA+Cj4gPiBkaWZm IC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi91c2Vyc3BhY2UtYXBpL21lZGlhL3Y0bC9waXhmbXQtcmVz ZXJ2ZWQucnN0Cj4gPiBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9tZWRpYS92NGwvcGl4 Zm10LXJlc2VydmVkLnJzdAo+ID4gaW5kZXggYzkyMzFlMTg4NTliLi4xODdlYTg5ZjdhMjUgMTAw NjQ0Cj4gPiAtLS0gYS9Eb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEvdjRsL3BpeGZt dC1yZXNlcnZlZC5yc3QKPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vdXNlcnNwYWNlLWFwaS9tZWRp YS92NGwvcGl4Zm10LXJlc2VydmVkLnJzdAo+ID4gQEAgLTI0Miw2ICsyNDIsMTMgQEAgcGxlYXNl IG1ha2UgYSBwcm9wb3NhbCBvbiB0aGUgbGludXgtbWVkaWEgbWFpbGluZyBsaXN0Lgo+ID4gICAg ICAgICBJdCBpcyBhbiBvcGFxdWUgaW50ZXJtZWRpYXRlIGZvcm1hdCBhbmQgdGhlIE1EUCBoYXJk d2FyZSBtdXN0IGJlCj4gPiAgICAgICAgIHVzZWQgdG8gY29udmVydCBgYFY0TDJfUElYX0ZNVF9N VDIxQ2BgIHRvIGBgVjRMMl9QSVhfRk1UX05WMTJNYGAsCj4gPiAgICAgICAgIGBgVjRMMl9QSVhf Rk1UX1lVVjQyME1gYCBvciBgYFY0TDJfUElYX0ZNVF9ZVlU0MjBgYC4KPiA+ICsgICAgKiAuLiBf VjRMMi1QSVgtRk1ULU1NMjE6Cj4gPiArCj4gPiArICAgICAgLSBgYFY0TDJfUElYX0ZNVF9NTTIx YGAKPiA+ICsgICAgICAtICdNTTIxJwo+ID4gKyAgICAgIC0gTm9uLWNvbXByZXNzZWQsIHRpbGVk IHR3by1wbGFuYXIgZm9ybWF0IHVzZWQgYnkgTWVkaWF0ZWsgTVQ4MTgzLgo+ID4gKyAgICAgICBU aGlzIGlzIGFuIG9wYXF1ZSBpbnRlcm1lZGlhdGUgZm9ybWF0IGFuZCB0aGUgTURQMyBoYXJkd2Fy ZSBjYW4gYmUKPiA+ICsgICAgICAgdXNlZCB0byBjb252ZXJ0IGl0IHRvIG90aGVyIGZvcm1hdHMu Cj4gPiAgICAgICogLi4gX1Y0TDItUElYLUZNVC1TVU5YSS1USUxFRC1OVjEyOgo+Cj4gVGhlIFNV TlhJIG9uZSB3YXMgYSBtaXN0YWtlLCAgaXQncyBsaW5lYXIgbGF5b3V0IDMyeDMyIHRpbGVzLiBU aGUgcHJvYmxlbSB3aXRoCj4gY2FsbGluZyB0aGlzIGEgdmVuZG9yIGZvcm1hdCwgaXMgdGhhdCBv dGhlciB2ZW5kb3IgbWlnaHQgYmUgdXNpbmcgaXQgdG9vLiBCdXQKPiB0aGV5IHdvbid0IGtub3cg YW5kIHRoZSBmb3JtYXQgbWlnaHQgZW5kdXAgZHVwbGljYXRlZCwgZXZlbiBpZiBpdCdzIHRoZSBz YW1lCj4gb25lLgo+Cj4gU28gaGVyZSdzIG15IHJlcXVlc3QsIGhhdmUgeW91IHRyaWVkIHRvIHVu ZGVyc3RhbmQgYSBiaXQgbW9yZSB3aGF0IHRoZSB0aWxpbmcKPiBsYXlvdXQgaXMgPyBDb3VsZCBi ZSB0aWxlZCArIFNBTkQsIGNvdWxkIHVzZSB6aWd6YWcgbGF5b3V0IGxpa2UgU2Ftc3VuZyBkby4g SQo+IHRoaW5rIGlmIHdlIGNhbiBhdm9pZCB2ZW5kb3IgZm9ybWF0cywgd2UgY2FuIHByZXNlcnZl IHRoZSBwaXhlbCBmb3JtYXQgbGlzdAo+IHNhbml0eSBoZXJlLiBNb3N0IG9mIHRoZSBIVyBJJ3Zl IGVuY291dGVyZWQgd2FzIHZlcnkgZWFzeSB0byByZXZlcnNlLCBldmVuIGlmCj4gdW5kb2N1bWVu dGVkIChleGNlcHQgdGhlIGNvbXByZXNzZWQgb25lKS4KClVuZm9ydHVuYXRlbHkgSSBkb24ndCB0 aGluayBJIGNhbiBsb29rIHRvbyBjbG9zZWx5IGludG8gdGhhdCwgZm9yCm5vbi10ZWNobmljYWwg cmVhc29ucy4gQnV0IGlmIE1USyBjb3VsZCBjb21lIGZvcndhcmQgYW5kIGRvY3VtZW50CnRoZWly IGZvcm1hdCwgdGhhdCB3b3VsZCBiZSBpbmRlZWQgaWRlYWwuCgo+Cj4gSWYgbm90IHBvc3NpYmxl LCBJIHdvdWxkIGxpa2UgdG8gc3VnZ2VzdDoKPgo+ICAgVjRMMl9QSVhfRk1UX01US19OVjIxCj4K PiBUaGUgaW1wb3J0YW50IHBhcnQgaXMgdG8gYWRkIGEgY2xlYXIgc2VwZXJhdGlvbiBmb3IgdGhl IHZlbmRvciBuYW1lLCBpdCBlYXN5IHRvCj4gcmVjb2duaXplIHRoZW4uCgpUaGUgTVRLIHByZWZp eCBtYWtlcyBzZW5zZSwgYnV0IEkgZG8gbm90IGtub3cgaWYgTlYyMSBpcyBhIGNvcnJlY3QKZGVu b21pbmF0aW9uIGZvciB0aGF0IGZvcm1hdC4gTm90ZSB0aGF0IHdlIGhhdmUgYW5vdGhlciBNVEst b25seQpmb3JtYXQgY3VycmVudGx5IG5hbWVkIFY0TDJfUElYX0ZNVF9NVDIxQywgd2hpY2ggaXMg YWxyZWFkeSBwdWJsaWMuIEl0CndvdWxkIGJlIG5pY2UgdG8gcmVuYW1lIGl0IGFzIHdlbGwsIGJ1 dCBzaW5jZSBpdCBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMKQVBJIEknbSBhZnJhaWQgdGhlIGNhdCBp cyBhbHJlYWR5IG91dCBvZiB0aGUgYmFnIGZvciB0aGF0IG9uZS4uLgoKPgo+ID4KPiA+ICAgICAg ICAtIGBgVjRMMl9QSVhfRk1UX1NVTlhJX1RJTEVEX05WMTJgYAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi0K PiA+IGNvcmUvdjRsMi1pb2N0bC5jCj4gPiBpbmRleCAzMWQxMzQyZTYxZTguLjBiODViMmJiYzYy OCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYwo+ ID4gKysrIGIvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1pb2N0bC5jCj4gPiBAQCAtMTM4 NCw2ICsxMzg0LDcgQEAgc3RhdGljIHZvaWQgdjRsX2ZpbGxfZm10ZGVzYyhzdHJ1Y3QgdjRsMl9m bXRkZXNjICpmbXQpCj4gPiAgICAgICAgIGNhc2UgVjRMMl9QSVhfRk1UX1RNNjAwMDogICAgICAg ZGVzY3IgPSAiQS9WICsgVkJJIE11eCBQYWNrZXQiOyBicmVhazsKPiA+ICAgICAgICAgY2FzZSBW NEwyX1BJWF9GTVRfQ0lUX1lZVllVWTogICBkZXNjciA9ICJHU1BDQSBDSVQgWVlWWVVZIjsgYnJl YWs7Cj4gPiAgICAgICAgIGNhc2UgVjRMMl9QSVhfRk1UX0tPTklDQTQyMDogICAgZGVzY3IgPSAi R1NQQ0EgS09OSUNBNDIwIjsgYnJlYWs7Cj4gPiArICAgICAgIGNhc2UgVjRMMl9QSVhfRk1UX01N MjE6ICAgICAgICAgZGVzY3IgPSAiTWVkaWF0ZWsgOC1iaXQgYmxvY2sgZm9ybWF0IjsKPiA+IGJy ZWFrOwo+ID4gICAgICAgICBjYXNlIFY0TDJfUElYX0ZNVF9IU1YyNDogICAgICAgIGRlc2NyID0g IjI0LWJpdCBIU1YgOC04LTgiOyBicmVhazsKPiA+ICAgICAgICAgY2FzZSBWNEwyX1BJWF9GTVRf SFNWMzI6ICAgICAgICBkZXNjciA9ICIzMi1iaXQgWEhTViA4LTgtOC04IjsgYnJlYWs7Cj4gPiAg ICAgICAgIGNhc2UgVjRMMl9TRFJfRk1UX0NVODogICAgICAgICAgZGVzY3IgPSAiQ29tcGxleCBV OCI7IGJyZWFrOwo+ID4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIu aCBiL2luY2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIuaAo+ID4gaW5kZXggNzlkYmRlM2JjZjhk Li5lNjg5MGRhZTc2ZWMgMTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvdmlkZW9k ZXYyLmgKPiA+ICsrKyBiL2luY2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIuaAo+ID4gQEAgLTcz MSw2ICs3MzEsNyBAQCBzdHJ1Y3QgdjRsMl9waXhfZm9ybWF0IHsKPiA+ICAjZGVmaW5lIFY0TDJf UElYX0ZNVF9ZMTJJICAgICB2NGwyX2ZvdXJjYygnWScsICcxJywgJzInLCAnSScpIC8qIEdyZXlz Y2FsZQo+ID4gMTItYml0IEwvUiBpbnRlcmxlYXZlZCAqLwo+ID4gICNkZWZpbmUgVjRMMl9QSVhf Rk1UX1oxNiAgICAgIHY0bDJfZm91cmNjKCdaJywgJzEnLCAnNicsICcgJykgLyogRGVwdGggZGF0 YQo+ID4gMTYtYml0ICovCj4gPiAgI2RlZmluZSBWNEwyX1BJWF9GTVRfTVQyMUMgICAgdjRsMl9m b3VyY2MoJ00nLCAnVCcsICcyJywgJzEnKSAvKiBNZWRpYXRlawo+ID4gY29tcHJlc3NlZCBibG9j ayBtb2RlICAqLwo+ID4gKyNkZWZpbmUgVjRMMl9QSVhfRk1UX01NMjEgICAgIHY0bDJfZm91cmNj KCdNJywgJ00nLCAnMicsICcxJykgLyogTWVkaWF0ZWsgOC0KPiA+IGJpdCBibG9jayBtb2RlLCB0 d28gbm9uLWNvbnRpZ3VvdXMgcGxhbmVzICovCj4gPiAgI2RlZmluZSBWNEwyX1BJWF9GTVRfSU5a SSAgICAgdjRsMl9mb3VyY2MoJ0knLCAnTicsICdaJywgJ0knKSAvKiBJbnRlbCBQbGFuYXIKPiA+ IEdyZXlzY2FsZSAxMC1iaXQgYW5kIERlcHRoIDE2LWJpdCAqLwo+ID4gICNkZWZpbmUgVjRMMl9Q SVhfRk1UX1NVTlhJX1RJTEVEX05WMTIgdjRsMl9mb3VyY2MoJ1MnLCAnVCcsICcxJywgJzInKSAv Kgo+ID4gU3VueGkgVGlsZWQgTlYxMiBGb3JtYXQgKi8KPiA+ICAjZGVmaW5lIFY0TDJfUElYX0ZN VF9DTkY0ICAgICB2NGwyX2ZvdXJjYygnQycsICdOJywgJ0YnLCAnNCcpIC8qIEludGVsIDQtYml0 Cj4gPiBwYWNrZWQgZGVwdGggY29uZmlkZW5jZSBpbmZvcm1hdGlvbiAqLwo+Cj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW1lZGlhdGVrIG1h aWxpbmcgbGlzdApMaW51eC1tZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbWVkaWF0ZWsK