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=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 AACB5C4360C for ; Sun, 13 Oct 2019 01:08:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 69DD92089F for ; Sun, 13 Oct 2019 01:08:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=ndufresne-ca.20150623.gappssmtp.com header.i=@ndufresne-ca.20150623.gappssmtp.com header.b="fpT712Tj" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728165AbfJMBIf (ORCPT ); Sat, 12 Oct 2019 21:08:35 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:40717 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727499AbfJMBIe (ORCPT ); Sat, 12 Oct 2019 21:08:34 -0400 Received: by mail-qt1-f196.google.com with SMTP id m61so19761625qte.7 for ; Sat, 12 Oct 2019 18:08:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ndufresne-ca.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=RiiTwpQS0mYXMCffosrGRNKPibt05f52ictxLJwzvMU=; b=fpT712Tjpp9uPzY85eDF0u+LnkZ1H6ejeS1YrHZD9pKSCvqNQrio4Zr+6YsMZZOMIO kOZ+hnsfdXLEHLe/cycvv7n8ROM5xDNotmBPVC+U8w/9k3CpuX6UU1ojQGIaH+d286Ck oRWxh3t3PSylyyysnTSRUEGuGmXmNn232Eey3AeSzxBvZPG+FKQfbRb35RJHB5qekQ08 66zpa3f5445bql3MNKROPZ29uqWYvyrA+k7LKE2r6e+6pYlxfOKLRWir4I3LPONDQY9X txW/oNKUYGeGoU395gE9hqKvnnucgGNH3GbgxrOoxupTwBjfECjhOHS4XugtFyjaCbH4 b5dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=RiiTwpQS0mYXMCffosrGRNKPibt05f52ictxLJwzvMU=; b=CmzV2zYYFt4kQ+RfQnnfDUlQ/vdcdsvzMXqDpshvR3PPHXDDBgL0e5CygX6B8i7nPh T6glns/z+buJYCo0+YuqSPGoeJfA2M/znXeXndaPiabOrXyAXtoUN0aTKmg6q2BhKjzt cy1zZ0xVECIopMrPNv4xhhNddexL8HFTBIGzLZCHQEMoUV+bVkEpKNOZN6vvVhncStHE isqNhKFkRFUsLv89VVuAj7HG5L5rFFxRaKzyivQpnF8GrJhJiS0Lw8P6zm7Lva9FUezZ m6n+O22Z679kFbxNvWbHrDDJbfY6sZ5TQ/BMkT0j1O3f4WyEvJkyiXVw7hW6ZfXSdNi8 N1bQ== X-Gm-Message-State: APjAAAVh4OqpBoLvqb6q5U1SzzaApmg0tiJgia8vNtLuvC2Cz+cN9CiM bSBsQ4qoEfjtwrEk1y0HL77FJA== X-Google-Smtp-Source: APXvYqw5Qlzus9NC2+DxGhuvgV3/CCP1I0biun6Wwc03PRi5rg3PVvDhH04cGhtGm00ois8o47RN9A== X-Received: by 2002:ac8:708f:: with SMTP id y15mr25342761qto.247.1570928913106; Sat, 12 Oct 2019 18:08:33 -0700 (PDT) Received: from skullcanyon ([192.222.193.21]) by smtp.gmail.com with ESMTPSA id u39sm6944344qtj.34.2019.10.12.18.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Oct 2019 18:08:31 -0700 (PDT) Message-ID: Subject: Re: [PATCH 0/2] media: meson: vdec: Add compliant H264 support From: Nicolas Dufresne To: Maxime Jourdan , Mauro Carvalho Chehab , Hans Verkuil Cc: Kevin Hilman , Jerome Brunet , Neil Armstrong , Martin Blumenstingl , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org Date: Sat, 12 Oct 2019 21:08:29 -0400 In-Reply-To: <20191007145909.29979-1-mjourdan@baylibre.com> References: <20191007145909.29979-1-mjourdan@baylibre.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.32.4 (3.32.4-1.fc30) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le lundi 07 octobre 2019 à 16:59 +0200, Maxime Jourdan a écrit : > Hello, > > This patch series aims to bring H.264 support as well as compliance update > to the amlogic stateful video decoder driver. > > There is 1 issue that remains currently: > > - The following codepath had to be commented out from v4l2-compliance as > it led to stalling: > > if (node->codec_mask & STATEFUL_DECODER) { > struct v4l2_decoder_cmd cmd; > buffer buf_cap(m2m_q); > > memset(&cmd, 0, sizeof(cmd)); > cmd.cmd = V4L2_DEC_CMD_STOP; > > /* No buffers are queued, call STREAMON, then STOP */ > fail_on_test(node->streamon(q.g_type())); > fail_on_test(node->streamon(m2m_q.g_type())); > fail_on_test(doioctl(node, VIDIOC_DECODER_CMD, &cmd)); > > fail_on_test(buf_cap.querybuf(node, 0)); > fail_on_test(buf_cap.qbuf(node)); > fail_on_test(buf_cap.dqbuf(node)); > fail_on_test(!(buf_cap.g_flags() & V4L2_BUF_FLAG_LAST)); > for (unsigned p = 0; p < buf_cap.g_num_planes(); p++) > fail_on_test(buf_cap.g_bytesused(p)); > fail_on_test(node->streamoff(q.g_type())); > fail_on_test(node->streamoff(m2m_q.g_type())); > > /* Call STREAMON, queue one CAPTURE buffer, then STOP */ > fail_on_test(node->streamon(q.g_type())); > fail_on_test(node->streamon(m2m_q.g_type())); > fail_on_test(buf_cap.querybuf(node, 0)); > fail_on_test(buf_cap.qbuf(node)); > fail_on_test(doioctl(node, VIDIOC_DECODER_CMD, &cmd)); > > fail_on_test(buf_cap.dqbuf(node)); > fail_on_test(!(buf_cap.g_flags() & V4L2_BUF_FLAG_LAST)); > for (unsigned p = 0; p < buf_cap.g_num_planes(); p++) > fail_on_test(buf_cap.g_bytesused(p)); > fail_on_test(node->streamoff(q.g_type())); > fail_on_test(node->streamoff(m2m_q.g_type())); > } > > The reason for this is because the driver has a limitation where all > capturebuffers must be queued to the driver before STREAMON is effective. > The firmware needs to know in advance what all the buffers are before > starting to decode. > This limitation is enforced via q->min_buffers_needed. > As such, in this compliance codepath, STREAMON is never actually called > driver-side and there is a stall on fail_on_test(buf_cap.dqbuf(node)); > > > One last detail: V4L2_FMT_FLAG_DYN_RESOLUTION is currently not recognized > by v4l2-compliance, so it was left out for the test. However, it is > present in the patch series. > > The second patch has 3 "Alignment should match open parenthesis" lines > where I preferred to keep them that way. > > Thanks Stanimir for sharing your HDR file creation tools, this was very > helpful :). I tried to test this with a pending branch of GStreamer supporting dynamic resolution changes. The even driver mechanism does not seem to work with this driver. I've grepped the code, and don't see any places were the event would be emitted. Then I grepped, and it seems the driver accept source_change subscription but does not set V4L2_FMT_FLAG_DYN_RESOLUTION. I believe these two things are bit redundant and confusing, I'll fix the proposed patch never the less, and see if that makes it work. > > Maxime > > # v4l2-compliance --stream-from-hdr test-25fps.h264.hdr -s250 > v4l2-compliance SHA: a162244d47d4bb01d0692da879dce5a070f118e7, 64 bits > > Compliance test for meson-vdec device /dev/video0: > > Driver Info: > Driver name : meson-vdec > Card type : Amlogic Video Decoder > Bus info : platform:meson-vdec > Driver version : 5.4.0 > Capabilities : 0x84204000 > Video Memory-to-Memory Multiplanar > Streaming > Extended Pix Format > Device Capabilities > Device Caps : 0x04204000 > Video Memory-to-Memory Multiplanar > Streaming > Extended Pix Format > Detected Stateful Decoder > > Required ioctls: > test VIDIOC_QUERYCAP: OK > > Allow for multiple opens: > test second /dev/video0 open: OK > test VIDIOC_QUERYCAP: OK > test VIDIOC_G/S_PRIORITY: OK > test for unlimited opens: OK > > Debug ioctls: > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) > test VIDIOC_LOG_STATUS: OK (Not Supported) > > Input ioctls: > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) > test VIDIOC_G/S_FREQUENCY: OK (Not Supported) > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) > test VIDIOC_ENUMAUDIO: OK (Not Supported) > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) > test VIDIOC_G/S_AUDIO: OK (Not Supported) > Inputs: 0 Audio Inputs: 0 Tuners: 0 > > Output ioctls: > test VIDIOC_G/S_MODULATOR: OK (Not Supported) > test VIDIOC_G/S_FREQUENCY: OK (Not Supported) > test VIDIOC_ENUMAUDOUT: OK (Not Supported) > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) > test VIDIOC_G/S_AUDOUT: OK (Not Supported) > Outputs: 0 Audio Outputs: 0 Modulators: 0 > > Input/Output configuration ioctls: > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) > test VIDIOC_G/S_EDID: OK (Not Supported) > > Control ioctls: > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK > test VIDIOC_QUERYCTRL: OK > test VIDIOC_G/S_CTRL: OK > test VIDIOC_G/S/TRY_EXT_CTRLS: OK > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) > Standard Controls: 2 Private Controls: 0 > > Format ioctls: > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK > test VIDIOC_G/S_PARM: OK (Not Supported) > test VIDIOC_G_FBUF: OK (Not Supported) > test VIDIOC_G_FMT: OK > test VIDIOC_TRY_FMT: OK > test VIDIOC_S_FMT: OK > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) > test Cropping: OK (Not Supported) > test Composing: OK (Not Supported) > test Scaling: OK > > Codec ioctls: > test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) > test VIDIOC_G_ENC_INDEX: OK (Not Supported) > test VIDIOC_(TRY_)DECODER_CMD: OK > > Buffer ioctls: > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK > test VIDIOC_EXPBUF: OK > test Requests: OK (Not Supported) > > Test input 0: > > Streaming ioctls: > test read/write: OK (Not Supported) > test blocking wait: OK > Video Capture Multiplanar: Captured 250 buffers > test MMAP (select): OK > Video Capture Multiplanar: Captured 250 buffers > test MMAP (epoll): OK > test USERPTR (select): OK (Not Supported) > test DMABUF: Cannot test, specify --expbuf-device > > Total for meson-vdec device /dev/video0: 49, Succeeded: 49, Failed: 0, Warnings: 0 > > Maxime Jourdan (2): > media: meson: vdec: bring up to compliance > media: meson: vdec: add H.264 decoding support > > drivers/staging/media/meson/vdec/Makefile | 2 +- > drivers/staging/media/meson/vdec/codec_h264.c | 482 ++++++++++++++++++ > drivers/staging/media/meson/vdec/codec_h264.h | 14 + > drivers/staging/media/meson/vdec/esparser.c | 34 +- > drivers/staging/media/meson/vdec/vdec.c | 70 ++- > drivers/staging/media/meson/vdec/vdec.h | 14 +- > .../staging/media/meson/vdec/vdec_helpers.c | 85 ++- > .../staging/media/meson/vdec/vdec_helpers.h | 6 +- > .../staging/media/meson/vdec/vdec_platform.c | 43 ++ > 9 files changed, 654 insertions(+), 96 deletions(-) > create mode 100644 drivers/staging/media/meson/vdec/codec_h264.c > create mode 100644 drivers/staging/media/meson/vdec/codec_h264.h > 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=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 E72C2C4360C for ; Sun, 13 Oct 2019 01:08:57 +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 B61422089F for ; Sun, 13 Oct 2019 01:08:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="WDJd5jQ9"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=ndufresne-ca.20150623.gappssmtp.com header.i=@ndufresne-ca.20150623.gappssmtp.com header.b="fpT712Tj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B61422089F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ndufresne.ca Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=LFDoJ1MZWZIiM9Ef9A19rKS4NvCEY6RR6J34S+aTo+g=; b=WDJd5jQ9NB4wOJ snwoYwXPwMOLU81gAYLmxxvgDvLb/6U/CXH3hWPuZ/kEtZCjIidUfAzHCEqa20LVS617K2wVrH+yY vny0o1IKyWpkBDtO0kMo9oE9bnc3o/X7bM4AmkHn3krmM3ffTBiJ1WAiYyfcT8Gx8oeGyaNK8EXkq NWzjtEpPQR1KFWtuTnL1NEgb+B3zal7RnQD1pd7Tz1BUjuTygFbY0/qAUTmRN+sMDQ7IHiGAJzvmZ molXOhnBiuv02ySnhR/oqGQ40wD9Q3vN0zk5dkwjkPmYgymndL9tqWQenv+zc7byVHcA1d/eziVx/ VZz4ytKt7CcHGCDGN4+w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iJSNE-0000LP-TI; Sun, 13 Oct 2019 01:08:40 +0000 Received: from mail-qt1-x843.google.com ([2607:f8b0:4864:20::843]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iJSNA-0000KV-Px for linux-arm-kernel@lists.infradead.org; Sun, 13 Oct 2019 01:08:39 +0000 Received: by mail-qt1-x843.google.com with SMTP id t20so14417798qtr.10 for ; Sat, 12 Oct 2019 18:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ndufresne-ca.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=RiiTwpQS0mYXMCffosrGRNKPibt05f52ictxLJwzvMU=; b=fpT712Tjpp9uPzY85eDF0u+LnkZ1H6ejeS1YrHZD9pKSCvqNQrio4Zr+6YsMZZOMIO kOZ+hnsfdXLEHLe/cycvv7n8ROM5xDNotmBPVC+U8w/9k3CpuX6UU1ojQGIaH+d286Ck oRWxh3t3PSylyyysnTSRUEGuGmXmNn232Eey3AeSzxBvZPG+FKQfbRb35RJHB5qekQ08 66zpa3f5445bql3MNKROPZ29uqWYvyrA+k7LKE2r6e+6pYlxfOKLRWir4I3LPONDQY9X txW/oNKUYGeGoU395gE9hqKvnnucgGNH3GbgxrOoxupTwBjfECjhOHS4XugtFyjaCbH4 b5dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=RiiTwpQS0mYXMCffosrGRNKPibt05f52ictxLJwzvMU=; b=CRQf53opVgABNxYyoZZNLD3ZgBPpFPm6wW9W3oXnQC4gdoGxZ1I23JBoWwLMrVwzgR kkmfGRBwp6X2K3cjHfHp87L9Ve7Kz563m56maKX/Pv3pWv3z8IU7wK/ukR5SAOuDVGYw Mqyzgcgv6NGyvqA/ieuLB3IRJrdFW1lm/IPnmierHmAQ0+F73o//QIVRxFaAlhGHFPz/ B4Mzog1xgow/s5Sr2hcUTrDxsWYjpgU3iCd0fBZYY6Fr8x8cxHq0vJ0E0bcb6mMZwezW v4H3nbkF7p6jJUhnISVBRD0iLFLe1mRgOStwSNIZlvlHtbcbGeKR6RdOfh9sF71t+l+t f0GQ== X-Gm-Message-State: APjAAAWsJEf3ofr4h/zaLHTNK8zC2QKVAy3NWLYCzRJbho3pASug5RS1 smKpjXj7UOCpVK+JB/CAwcZmWQ== X-Google-Smtp-Source: APXvYqw5Qlzus9NC2+DxGhuvgV3/CCP1I0biun6Wwc03PRi5rg3PVvDhH04cGhtGm00ois8o47RN9A== X-Received: by 2002:ac8:708f:: with SMTP id y15mr25342761qto.247.1570928913106; Sat, 12 Oct 2019 18:08:33 -0700 (PDT) Received: from skullcanyon ([192.222.193.21]) by smtp.gmail.com with ESMTPSA id u39sm6944344qtj.34.2019.10.12.18.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Oct 2019 18:08:31 -0700 (PDT) Message-ID: Subject: Re: [PATCH 0/2] media: meson: vdec: Add compliant H264 support From: Nicolas Dufresne To: Maxime Jourdan , Mauro Carvalho Chehab , Hans Verkuil Date: Sat, 12 Oct 2019 21:08:29 -0400 In-Reply-To: <20191007145909.29979-1-mjourdan@baylibre.com> References: <20191007145909.29979-1-mjourdan@baylibre.com> User-Agent: Evolution 3.32.4 (3.32.4-1.fc30) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191012_180837_003341_932BED37 X-CRM114-Status: GOOD ( 22.45 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , Martin Blumenstingl , Kevin Hilman , linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Jerome Brunet , linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org TGUgbHVuZGkgMDcgb2N0b2JyZSAyMDE5IMOgIDE2OjU5ICswMjAwLCBNYXhpbWUgSm91cmRhbiBh IMOpY3JpdCA6Cj4gSGVsbG8sCj4gCj4gVGhpcyBwYXRjaCBzZXJpZXMgYWltcyB0byBicmluZyBI LjI2NCBzdXBwb3J0IGFzIHdlbGwgYXMgY29tcGxpYW5jZSB1cGRhdGUKPiB0byB0aGUgYW1sb2dp YyBzdGF0ZWZ1bCB2aWRlbyBkZWNvZGVyIGRyaXZlci4KPiAKPiBUaGVyZSBpcyAxIGlzc3VlIHRo YXQgcmVtYWlucyBjdXJyZW50bHk6Cj4gCj4gIC0gVGhlIGZvbGxvd2luZyBjb2RlcGF0aCBoYWQg dG8gYmUgY29tbWVudGVkIG91dCBmcm9tIHY0bDItY29tcGxpYW5jZSBhcwo+IGl0IGxlZCB0byBz dGFsbGluZzoKPiAKPiBpZiAobm9kZS0+Y29kZWNfbWFzayAmIFNUQVRFRlVMX0RFQ09ERVIpIHsK PiAJc3RydWN0IHY0bDJfZGVjb2Rlcl9jbWQgY21kOwo+IAlidWZmZXIgYnVmX2NhcChtMm1fcSk7 Cj4gCj4gCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7Cj4gCWNtZC5jbWQgPSBWNEwyX0RF Q19DTURfU1RPUDsKPiAKPiAJLyogTm8gYnVmZmVycyBhcmUgcXVldWVkLCBjYWxsIFNUUkVBTU9O LCB0aGVuIFNUT1AgKi8KPiAJZmFpbF9vbl90ZXN0KG5vZGUtPnN0cmVhbW9uKHEuZ190eXBlKCkp KTsKPiAJZmFpbF9vbl90ZXN0KG5vZGUtPnN0cmVhbW9uKG0ybV9xLmdfdHlwZSgpKSk7Cj4gCWZh aWxfb25fdGVzdChkb2lvY3RsKG5vZGUsIFZJRElPQ19ERUNPREVSX0NNRCwgJmNtZCkpOwo+IAo+ IAlmYWlsX29uX3Rlc3QoYnVmX2NhcC5xdWVyeWJ1Zihub2RlLCAwKSk7Cj4gCWZhaWxfb25fdGVz dChidWZfY2FwLnFidWYobm9kZSkpOwo+IAlmYWlsX29uX3Rlc3QoYnVmX2NhcC5kcWJ1Zihub2Rl KSk7Cj4gCWZhaWxfb25fdGVzdCghKGJ1Zl9jYXAuZ19mbGFncygpICYgVjRMMl9CVUZfRkxBR19M QVNUKSk7Cj4gCWZvciAodW5zaWduZWQgcCA9IDA7IHAgPCBidWZfY2FwLmdfbnVtX3BsYW5lcygp OyBwKyspCj4gCQlmYWlsX29uX3Rlc3QoYnVmX2NhcC5nX2J5dGVzdXNlZChwKSk7Cj4gCWZhaWxf b25fdGVzdChub2RlLT5zdHJlYW1vZmYocS5nX3R5cGUoKSkpOwo+IAlmYWlsX29uX3Rlc3Qobm9k ZS0+c3RyZWFtb2ZmKG0ybV9xLmdfdHlwZSgpKSk7Cj4gCj4gCS8qIENhbGwgU1RSRUFNT04sIHF1 ZXVlIG9uZSBDQVBUVVJFIGJ1ZmZlciwgdGhlbiBTVE9QICovCj4gCWZhaWxfb25fdGVzdChub2Rl LT5zdHJlYW1vbihxLmdfdHlwZSgpKSk7Cj4gCWZhaWxfb25fdGVzdChub2RlLT5zdHJlYW1vbiht Mm1fcS5nX3R5cGUoKSkpOwo+IAlmYWlsX29uX3Rlc3QoYnVmX2NhcC5xdWVyeWJ1Zihub2RlLCAw KSk7Cj4gCWZhaWxfb25fdGVzdChidWZfY2FwLnFidWYobm9kZSkpOwo+IAlmYWlsX29uX3Rlc3Qo ZG9pb2N0bChub2RlLCBWSURJT0NfREVDT0RFUl9DTUQsICZjbWQpKTsKPiAKPiAJZmFpbF9vbl90 ZXN0KGJ1Zl9jYXAuZHFidWYobm9kZSkpOwo+IAlmYWlsX29uX3Rlc3QoIShidWZfY2FwLmdfZmxh Z3MoKSAmIFY0TDJfQlVGX0ZMQUdfTEFTVCkpOwo+IAlmb3IgKHVuc2lnbmVkIHAgPSAwOyBwIDwg YnVmX2NhcC5nX251bV9wbGFuZXMoKTsgcCsrKQo+IAkJZmFpbF9vbl90ZXN0KGJ1Zl9jYXAuZ19i eXRlc3VzZWQocCkpOwo+IAlmYWlsX29uX3Rlc3Qobm9kZS0+c3RyZWFtb2ZmKHEuZ190eXBlKCkp KTsKPiAJZmFpbF9vbl90ZXN0KG5vZGUtPnN0cmVhbW9mZihtMm1fcS5nX3R5cGUoKSkpOwo+IH0K PiAKPiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIGJlY2F1c2UgdGhlIGRyaXZlciBoYXMgYSBsaW1p dGF0aW9uIHdoZXJlIGFsbAo+IGNhcHR1cmVidWZmZXJzIG11c3QgYmUgcXVldWVkIHRvIHRoZSBk cml2ZXIgYmVmb3JlIFNUUkVBTU9OIGlzIGVmZmVjdGl2ZS4KPiBUaGUgZmlybXdhcmUgbmVlZHMg dG8ga25vdyBpbiBhZHZhbmNlIHdoYXQgYWxsIHRoZSBidWZmZXJzIGFyZSBiZWZvcmUKPiBzdGFy dGluZyB0byBkZWNvZGUuCj4gVGhpcyBsaW1pdGF0aW9uIGlzIGVuZm9yY2VkIHZpYSBxLT5taW5f YnVmZmVyc19uZWVkZWQuCj4gQXMgc3VjaCwgaW4gdGhpcyBjb21wbGlhbmNlIGNvZGVwYXRoLCBT VFJFQU1PTiBpcyBuZXZlciBhY3R1YWxseSBjYWxsZWQKPiBkcml2ZXItc2lkZSBhbmQgdGhlcmUg aXMgYSBzdGFsbCBvbiBmYWlsX29uX3Rlc3QoYnVmX2NhcC5kcWJ1Zihub2RlKSk7Cj4gCj4gCj4g T25lIGxhc3QgZGV0YWlsOiBWNEwyX0ZNVF9GTEFHX0RZTl9SRVNPTFVUSU9OIGlzIGN1cnJlbnRs eSBub3QgcmVjb2duaXplZAo+IGJ5IHY0bDItY29tcGxpYW5jZSwgc28gaXQgd2FzIGxlZnQgb3V0 IGZvciB0aGUgdGVzdC4gSG93ZXZlciwgaXQgaXMKPiBwcmVzZW50IGluIHRoZSBwYXRjaCBzZXJp ZXMuCj4gCj4gVGhlIHNlY29uZCBwYXRjaCBoYXMgMyAiQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzIiBsaW5lcwo+IHdoZXJlIEkgcHJlZmVycmVkIHRvIGtlZXAgdGhlbSB0 aGF0IHdheS4KPiAKPiBUaGFua3MgU3RhbmltaXIgZm9yIHNoYXJpbmcgeW91ciBIRFIgZmlsZSBj cmVhdGlvbiB0b29scywgdGhpcyB3YXMgdmVyeQo+IGhlbHBmdWwgOikuCgpJIHRyaWVkIHRvIHRl c3QgdGhpcyB3aXRoIGEgcGVuZGluZyBicmFuY2ggb2YgR1N0cmVhbWVyIHN1cHBvcnRpbmcKZHlu YW1pYyByZXNvbHV0aW9uIGNoYW5nZXMuIFRoZSBldmVuIGRyaXZlciBtZWNoYW5pc20gZG9lcyBu b3Qgc2VlbSB0bwp3b3JrIHdpdGggdGhpcyBkcml2ZXIuIEkndmUgZ3JlcHBlZCB0aGUgY29kZSwg YW5kIGRvbid0IHNlZSBhbnkgcGxhY2VzCndlcmUgdGhlIGV2ZW50IHdvdWxkIGJlIGVtaXR0ZWQu CgpUaGVuIEkgZ3JlcHBlZCwgYW5kIGl0IHNlZW1zIHRoZSBkcml2ZXIgYWNjZXB0IHNvdXJjZV9j aGFuZ2UKc3Vic2NyaXB0aW9uIGJ1dCBkb2VzIG5vdCBzZXQgVjRMMl9GTVRfRkxBR19EWU5fUkVT T0xVVElPTi4gSSBiZWxpZXZlCnRoZXNlIHR3byB0aGluZ3MgYXJlIGJpdCByZWR1bmRhbnQgYW5k IGNvbmZ1c2luZywgSSdsbCBmaXggdGhlIHByb3Bvc2VkCnBhdGNoIG5ldmVyIHRoZSBsZXNzLCBh bmQgc2VlIGlmIHRoYXQgbWFrZXMgaXQgd29yay4KCj4gCj4gTWF4aW1lCj4gCj4gIyB2NGwyLWNv bXBsaWFuY2UgLS1zdHJlYW0tZnJvbS1oZHIgdGVzdC0yNWZwcy5oMjY0LmhkciAtczI1MAo+IHY0 bDItY29tcGxpYW5jZSBTSEE6IGExNjIyNDRkNDdkNGJiMDFkMDY5MmRhODc5ZGNlNWEwNzBmMTE4 ZTcsIDY0IGJpdHMKPiAKPiBDb21wbGlhbmNlIHRlc3QgZm9yIG1lc29uLXZkZWMgZGV2aWNlIC9k ZXYvdmlkZW8wOgo+IAo+IERyaXZlciBJbmZvOgo+IAlEcml2ZXIgbmFtZSAgICAgIDogbWVzb24t dmRlYwo+IAlDYXJkIHR5cGUgICAgICAgIDogQW1sb2dpYyBWaWRlbyBEZWNvZGVyCj4gCUJ1cyBp bmZvICAgICAgICAgOiBwbGF0Zm9ybTptZXNvbi12ZGVjCj4gCURyaXZlciB2ZXJzaW9uICAgOiA1 LjQuMAo+IAlDYXBhYmlsaXRpZXMgICAgIDogMHg4NDIwNDAwMAo+IAkJVmlkZW8gTWVtb3J5LXRv LU1lbW9yeSBNdWx0aXBsYW5hcgo+IAkJU3RyZWFtaW5nCj4gCQlFeHRlbmRlZCBQaXggRm9ybWF0 Cj4gCQlEZXZpY2UgQ2FwYWJpbGl0aWVzCj4gCURldmljZSBDYXBzICAgICAgOiAweDA0MjA0MDAw Cj4gCQlWaWRlbyBNZW1vcnktdG8tTWVtb3J5IE11bHRpcGxhbmFyCj4gCQlTdHJlYW1pbmcKPiAJ CUV4dGVuZGVkIFBpeCBGb3JtYXQKPiAJRGV0ZWN0ZWQgU3RhdGVmdWwgRGVjb2Rlcgo+IAo+IFJl cXVpcmVkIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUVVFUllDQVA6IE9LCj4gCj4gQWxsb3cgZm9y IG11bHRpcGxlIG9wZW5zOgo+IAl0ZXN0IHNlY29uZCAvZGV2L3ZpZGVvMCBvcGVuOiBPSwo+IAl0 ZXN0IFZJRElPQ19RVUVSWUNBUDogT0sKPiAJdGVzdCBWSURJT0NfRy9TX1BSSU9SSVRZOiBPSwo+ IAl0ZXN0IGZvciB1bmxpbWl0ZWQgb3BlbnM6IE9LCj4gCj4gRGVidWcgaW9jdGxzOgo+IAl0ZXN0 IFZJRElPQ19EQkdfRy9TX1JFR0lTVEVSOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJ T0NfTE9HX1NUQVRVUzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4gSW5wdXQgaW9jdGxzOgo+IAl0 ZXN0IFZJRElPQ19HL1NfVFVORVIvRU5VTV9GUkVRX0JBTkRTOiBPSyAoTm90IFN1cHBvcnRlZCkK PiAJdGVzdCBWSURJT0NfRy9TX0ZSRVFVRU5DWTogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3Qg VklESU9DX1NfSFdfRlJFUV9TRUVLOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0Nf RU5VTUFVRElPOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0NfRy9TL0VOVU1JTlBV VDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0cvU19BVURJTzogT0sgKE5vdCBT dXBwb3J0ZWQpCj4gCUlucHV0czogMCBBdWRpbyBJbnB1dHM6IDAgVHVuZXJzOiAwCj4gCj4gT3V0 cHV0IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRy9TX01PRFVMQVRPUjogT0sgKE5vdCBTdXBwb3J0 ZWQpCj4gCXRlc3QgVklESU9DX0cvU19GUkVRVUVOQ1k6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0 ZXN0IFZJRElPQ19FTlVNQVVET1VUOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0Nf Ry9TL0VOVU1PVVRQVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19HL1NfQVVE T1VUOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJT3V0cHV0czogMCBBdWRpbyBPdXRwdXRzOiAwIE1v ZHVsYXRvcnM6IDAKPiAKPiBJbnB1dC9PdXRwdXQgY29uZmlndXJhdGlvbiBpb2N0bHM6Cj4gCXRl c3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX1NURDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3Qg VklESU9DX0VOVU0vRy9TL1FVRVJZX0RWX1RJTUlOR1M6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0 ZXN0IFZJRElPQ19EVl9USU1JTkdTX0NBUDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklE SU9DX0cvU19FRElEOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBDb250cm9sIGlvY3RsczoKPiAJ dGVzdCBWSURJT0NfUVVFUllfRVhUX0NUUkwvUVVFUllNRU5VOiBPSwo+IAl0ZXN0IFZJRElPQ19R VUVSWUNUUkw6IE9LCj4gCXRlc3QgVklESU9DX0cvU19DVFJMOiBPSwo+IAl0ZXN0IFZJRElPQ19H L1MvVFJZX0VYVF9DVFJMUzogT0sKPiAJdGVzdCBWSURJT0NfKFVOKVNVQlNDUklCRV9FVkVOVC9E UUVWRU5UOiBPSwo+IAl0ZXN0IFZJRElPQ19HL1NfSlBFR0NPTVA6IE9LIChOb3QgU3VwcG9ydGVk KQo+IAlTdGFuZGFyZCBDb250cm9sczogMiBQcml2YXRlIENvbnRyb2xzOiAwCj4gCj4gRm9ybWF0 IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRU5VTV9GTVQvRlJBTUVTSVpFUy9GUkFNRUlOVEVSVkFM UzogT0sKPiAJdGVzdCBWSURJT0NfRy9TX1BBUk06IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0 IFZJRElPQ19HX0ZCVUY6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19HX0ZNVDog T0sKPiAJdGVzdCBWSURJT0NfVFJZX0ZNVDogT0sKPiAJdGVzdCBWSURJT0NfU19GTVQ6IE9LCj4g CXRlc3QgVklESU9DX0dfU0xJQ0VEX1ZCSV9DQVA6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0 IENyb3BwaW5nOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBDb21wb3Npbmc6IE9LIChOb3Qg U3VwcG9ydGVkKQo+IAl0ZXN0IFNjYWxpbmc6IE9LCj4gCj4gQ29kZWMgaW9jdGxzOgo+IAl0ZXN0 IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklE SU9DX0dfRU5DX0lOREVYOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0NfKFRSWV8p REVDT0RFUl9DTUQ6IE9LCj4gCj4gQnVmZmVyIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUkVRQlVG Uy9DUkVBVEVfQlVGUy9RVUVSWUJVRjogT0sKPiAJdGVzdCBWSURJT0NfRVhQQlVGOiBPSwo+IAl0 ZXN0IFJlcXVlc3RzOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBUZXN0IGlucHV0IDA6Cj4gCj4g U3RyZWFtaW5nIGlvY3RsczoKPiAJdGVzdCByZWFkL3dyaXRlOiBPSyAoTm90IFN1cHBvcnRlZCkK PiAJdGVzdCBibG9ja2luZyB3YWl0OiBPSwo+IAlWaWRlbyBDYXB0dXJlIE11bHRpcGxhbmFyOiBD YXB0dXJlZCAyNTAgYnVmZmVycyAgIAo+IAl0ZXN0IE1NQVAgKHNlbGVjdCk6IE9LCj4gCVZpZGVv IENhcHR1cmUgTXVsdGlwbGFuYXI6IENhcHR1cmVkIDI1MCBidWZmZXJzICAgCj4gCXRlc3QgTU1B UCAoZXBvbGwpOiBPSwo+IAl0ZXN0IFVTRVJQVFIgKHNlbGVjdCk6IE9LIChOb3QgU3VwcG9ydGVk KQo+IAl0ZXN0IERNQUJVRjogQ2Fubm90IHRlc3QsIHNwZWNpZnkgLS1leHBidWYtZGV2aWNlCj4g Cj4gVG90YWwgZm9yIG1lc29uLXZkZWMgZGV2aWNlIC9kZXYvdmlkZW8wOiA0OSwgU3VjY2VlZGVk OiA0OSwgRmFpbGVkOiAwLCBXYXJuaW5nczogMAo+IAo+IE1heGltZSBKb3VyZGFuICgyKToKPiAg IG1lZGlhOiBtZXNvbjogdmRlYzogYnJpbmcgdXAgdG8gY29tcGxpYW5jZQo+ICAgbWVkaWE6IG1l c29uOiB2ZGVjOiBhZGQgSC4yNjQgZGVjb2Rpbmcgc3VwcG9ydAo+IAo+ICBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvbWVzb24vdmRlYy9NYWtlZmlsZSAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9zdGFn aW5nL21lZGlhL21lc29uL3ZkZWMvY29kZWNfaDI2NC5jIHwgNDgyICsrKysrKysrKysrKysrKysr Kwo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy9jb2RlY19oMjY0LmggfCAgMTQg Kwo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy9lc3BhcnNlci5jICAgfCAgMzQg Ky0KPiAgZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvdmRlYy5jICAgICAgIHwgIDcw ICsrLQo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjLmggICAgICAgfCAg MTQgKy0KPiAgLi4uL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjX2hlbHBlcnMuYyAgIHwg IDg1ICsrLQo+ICAuLi4vc3RhZ2luZy9tZWRpYS9tZXNvbi92ZGVjL3ZkZWNfaGVscGVycy5oICAg fCAgIDYgKy0KPiAgLi4uL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjX3BsYXRmb3JtLmMg IHwgIDQzICsrCj4gIDkgZmlsZXMgY2hhbmdlZCwgNjU0IGluc2VydGlvbnMoKyksIDk2IGRlbGV0 aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29u L3ZkZWMvY29kZWNfaDI2NC5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdpbmcv bWVkaWEvbWVzb24vdmRlYy9jb2RlY19oMjY0LmgKPiAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdAps aW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg== 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=-0.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS autolearn=no 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 AF716C10F14 for ; Sun, 13 Oct 2019 01:09:03 +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 7E1D72089F for ; Sun, 13 Oct 2019 01:09:03 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="tBdihUVm"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=ndufresne-ca.20150623.gappssmtp.com header.i=@ndufresne-ca.20150623.gappssmtp.com header.b="fpT712Tj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7E1D72089F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ndufresne.ca Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=9xF9Zr0ErPsOJEBJXZNLolGGMITbQ1ClDPOR2IhQlPg=; b=tBdihUVmnfpC+p iyCJYM470vM9JjtIS06+FlYX+7fabqxCc24FtD1o/lDUuwS1euU0cw+mA5CGxe+OdNui4ZXgegnvZ xXZb0TwScVxzPOzx60xjkxsZE16woOBfiG9QUtOlBrMIQV9EqR5psUOHRoKIHu93ZbODW37TCSS4g NXlYBsBdzMvLXzhp3WX9vye0kU7aEkOoGsl3GYQc1uV8Dp2JZVCyEmRYw0AG7+47tGekv7Gjst5Sz 0WVNugxeLw3zoA3WWcYYvI0J3NzU9ZGUCEZXwfi15Rpp4YRotCE22zJwi/6O8afwzWhyvpfAS3R7W Wv/b0sjxvsQhqSL4OSeQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1iJSNM-0000T8-Eu; Sun, 13 Oct 2019 01:08:48 +0000 Received: from mail-qt1-x842.google.com ([2607:f8b0:4864:20::842]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iJSNA-0000KW-Px for linux-amlogic@lists.infradead.org; Sun, 13 Oct 2019 01:08:39 +0000 Received: by mail-qt1-x842.google.com with SMTP id m15so19799744qtq.2 for ; Sat, 12 Oct 2019 18:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ndufresne-ca.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=RiiTwpQS0mYXMCffosrGRNKPibt05f52ictxLJwzvMU=; b=fpT712Tjpp9uPzY85eDF0u+LnkZ1H6ejeS1YrHZD9pKSCvqNQrio4Zr+6YsMZZOMIO kOZ+hnsfdXLEHLe/cycvv7n8ROM5xDNotmBPVC+U8w/9k3CpuX6UU1ojQGIaH+d286Ck oRWxh3t3PSylyyysnTSRUEGuGmXmNn232Eey3AeSzxBvZPG+FKQfbRb35RJHB5qekQ08 66zpa3f5445bql3MNKROPZ29uqWYvyrA+k7LKE2r6e+6pYlxfOKLRWir4I3LPONDQY9X txW/oNKUYGeGoU395gE9hqKvnnucgGNH3GbgxrOoxupTwBjfECjhOHS4XugtFyjaCbH4 b5dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=RiiTwpQS0mYXMCffosrGRNKPibt05f52ictxLJwzvMU=; b=LoylszgRTYroQXUtbXWPZSMwNaGxuIqel36/OqYsxTT0a20dfzo8QAMMujs3QDcswb 2qbjq4GWQpPMYqkgAfKB/1yW2IhekSKTKBHgsAoR5aVnt3K7np8Is5xVo1vpZ0LWfnAJ bJeYm/x7GIS52Di9JMOBXgNcUX43VGWpoLYO08vAF5MXnTc/ZhquUKxUwyrsgDScnxWC JwzqqQmQRCQQJStg7Ep0BKUpCnSuhHOQR59jcxGuG+8B75huNbSN+jcxGU35hvfLHeWD p/V14d7oPJy313D5E5eGUf5Ld1215mvXebueNN4WYAY5vwJk75j0uH6wS/vL+7WCL7Hh q05A== X-Gm-Message-State: APjAAAXmeuhuet+wZ5VKTf6TIDzfS8RDXHKpNtp6fJCNiWJO0MljgUtD g5dmlBNiyfYwgr2LNXDdc5/q5g== X-Google-Smtp-Source: APXvYqw5Qlzus9NC2+DxGhuvgV3/CCP1I0biun6Wwc03PRi5rg3PVvDhH04cGhtGm00ois8o47RN9A== X-Received: by 2002:ac8:708f:: with SMTP id y15mr25342761qto.247.1570928913106; Sat, 12 Oct 2019 18:08:33 -0700 (PDT) Received: from skullcanyon ([192.222.193.21]) by smtp.gmail.com with ESMTPSA id u39sm6944344qtj.34.2019.10.12.18.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 12 Oct 2019 18:08:31 -0700 (PDT) Message-ID: Subject: Re: [PATCH 0/2] media: meson: vdec: Add compliant H264 support From: Nicolas Dufresne To: Maxime Jourdan , Mauro Carvalho Chehab , Hans Verkuil Date: Sat, 12 Oct 2019 21:08:29 -0400 In-Reply-To: <20191007145909.29979-1-mjourdan@baylibre.com> References: <20191007145909.29979-1-mjourdan@baylibre.com> User-Agent: Evolution 3.32.4 (3.32.4-1.fc30) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191012_180837_003645_4AC61144 X-CRM114-Status: GOOD ( 20.79 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Neil Armstrong , Martin Blumenstingl , Kevin Hilman , linux-kernel@vger.kernel.org, linux-amlogic@lists.infradead.org, Jerome Brunet , linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org TGUgbHVuZGkgMDcgb2N0b2JyZSAyMDE5IMOgIDE2OjU5ICswMjAwLCBNYXhpbWUgSm91cmRhbiBh IMOpY3JpdCA6Cj4gSGVsbG8sCj4gCj4gVGhpcyBwYXRjaCBzZXJpZXMgYWltcyB0byBicmluZyBI LjI2NCBzdXBwb3J0IGFzIHdlbGwgYXMgY29tcGxpYW5jZSB1cGRhdGUKPiB0byB0aGUgYW1sb2dp YyBzdGF0ZWZ1bCB2aWRlbyBkZWNvZGVyIGRyaXZlci4KPiAKPiBUaGVyZSBpcyAxIGlzc3VlIHRo YXQgcmVtYWlucyBjdXJyZW50bHk6Cj4gCj4gIC0gVGhlIGZvbGxvd2luZyBjb2RlcGF0aCBoYWQg dG8gYmUgY29tbWVudGVkIG91dCBmcm9tIHY0bDItY29tcGxpYW5jZSBhcwo+IGl0IGxlZCB0byBz dGFsbGluZzoKPiAKPiBpZiAobm9kZS0+Y29kZWNfbWFzayAmIFNUQVRFRlVMX0RFQ09ERVIpIHsK PiAJc3RydWN0IHY0bDJfZGVjb2Rlcl9jbWQgY21kOwo+IAlidWZmZXIgYnVmX2NhcChtMm1fcSk7 Cj4gCj4gCW1lbXNldCgmY21kLCAwLCBzaXplb2YoY21kKSk7Cj4gCWNtZC5jbWQgPSBWNEwyX0RF Q19DTURfU1RPUDsKPiAKPiAJLyogTm8gYnVmZmVycyBhcmUgcXVldWVkLCBjYWxsIFNUUkVBTU9O LCB0aGVuIFNUT1AgKi8KPiAJZmFpbF9vbl90ZXN0KG5vZGUtPnN0cmVhbW9uKHEuZ190eXBlKCkp KTsKPiAJZmFpbF9vbl90ZXN0KG5vZGUtPnN0cmVhbW9uKG0ybV9xLmdfdHlwZSgpKSk7Cj4gCWZh aWxfb25fdGVzdChkb2lvY3RsKG5vZGUsIFZJRElPQ19ERUNPREVSX0NNRCwgJmNtZCkpOwo+IAo+ IAlmYWlsX29uX3Rlc3QoYnVmX2NhcC5xdWVyeWJ1Zihub2RlLCAwKSk7Cj4gCWZhaWxfb25fdGVz dChidWZfY2FwLnFidWYobm9kZSkpOwo+IAlmYWlsX29uX3Rlc3QoYnVmX2NhcC5kcWJ1Zihub2Rl KSk7Cj4gCWZhaWxfb25fdGVzdCghKGJ1Zl9jYXAuZ19mbGFncygpICYgVjRMMl9CVUZfRkxBR19M QVNUKSk7Cj4gCWZvciAodW5zaWduZWQgcCA9IDA7IHAgPCBidWZfY2FwLmdfbnVtX3BsYW5lcygp OyBwKyspCj4gCQlmYWlsX29uX3Rlc3QoYnVmX2NhcC5nX2J5dGVzdXNlZChwKSk7Cj4gCWZhaWxf b25fdGVzdChub2RlLT5zdHJlYW1vZmYocS5nX3R5cGUoKSkpOwo+IAlmYWlsX29uX3Rlc3Qobm9k ZS0+c3RyZWFtb2ZmKG0ybV9xLmdfdHlwZSgpKSk7Cj4gCj4gCS8qIENhbGwgU1RSRUFNT04sIHF1 ZXVlIG9uZSBDQVBUVVJFIGJ1ZmZlciwgdGhlbiBTVE9QICovCj4gCWZhaWxfb25fdGVzdChub2Rl LT5zdHJlYW1vbihxLmdfdHlwZSgpKSk7Cj4gCWZhaWxfb25fdGVzdChub2RlLT5zdHJlYW1vbiht Mm1fcS5nX3R5cGUoKSkpOwo+IAlmYWlsX29uX3Rlc3QoYnVmX2NhcC5xdWVyeWJ1Zihub2RlLCAw KSk7Cj4gCWZhaWxfb25fdGVzdChidWZfY2FwLnFidWYobm9kZSkpOwo+IAlmYWlsX29uX3Rlc3Qo ZG9pb2N0bChub2RlLCBWSURJT0NfREVDT0RFUl9DTUQsICZjbWQpKTsKPiAKPiAJZmFpbF9vbl90 ZXN0KGJ1Zl9jYXAuZHFidWYobm9kZSkpOwo+IAlmYWlsX29uX3Rlc3QoIShidWZfY2FwLmdfZmxh Z3MoKSAmIFY0TDJfQlVGX0ZMQUdfTEFTVCkpOwo+IAlmb3IgKHVuc2lnbmVkIHAgPSAwOyBwIDwg YnVmX2NhcC5nX251bV9wbGFuZXMoKTsgcCsrKQo+IAkJZmFpbF9vbl90ZXN0KGJ1Zl9jYXAuZ19i eXRlc3VzZWQocCkpOwo+IAlmYWlsX29uX3Rlc3Qobm9kZS0+c3RyZWFtb2ZmKHEuZ190eXBlKCkp KTsKPiAJZmFpbF9vbl90ZXN0KG5vZGUtPnN0cmVhbW9mZihtMm1fcS5nX3R5cGUoKSkpOwo+IH0K PiAKPiBUaGUgcmVhc29uIGZvciB0aGlzIGlzIGJlY2F1c2UgdGhlIGRyaXZlciBoYXMgYSBsaW1p dGF0aW9uIHdoZXJlIGFsbAo+IGNhcHR1cmVidWZmZXJzIG11c3QgYmUgcXVldWVkIHRvIHRoZSBk cml2ZXIgYmVmb3JlIFNUUkVBTU9OIGlzIGVmZmVjdGl2ZS4KPiBUaGUgZmlybXdhcmUgbmVlZHMg dG8ga25vdyBpbiBhZHZhbmNlIHdoYXQgYWxsIHRoZSBidWZmZXJzIGFyZSBiZWZvcmUKPiBzdGFy dGluZyB0byBkZWNvZGUuCj4gVGhpcyBsaW1pdGF0aW9uIGlzIGVuZm9yY2VkIHZpYSBxLT5taW5f YnVmZmVyc19uZWVkZWQuCj4gQXMgc3VjaCwgaW4gdGhpcyBjb21wbGlhbmNlIGNvZGVwYXRoLCBT VFJFQU1PTiBpcyBuZXZlciBhY3R1YWxseSBjYWxsZWQKPiBkcml2ZXItc2lkZSBhbmQgdGhlcmUg aXMgYSBzdGFsbCBvbiBmYWlsX29uX3Rlc3QoYnVmX2NhcC5kcWJ1Zihub2RlKSk7Cj4gCj4gCj4g T25lIGxhc3QgZGV0YWlsOiBWNEwyX0ZNVF9GTEFHX0RZTl9SRVNPTFVUSU9OIGlzIGN1cnJlbnRs eSBub3QgcmVjb2duaXplZAo+IGJ5IHY0bDItY29tcGxpYW5jZSwgc28gaXQgd2FzIGxlZnQgb3V0 IGZvciB0aGUgdGVzdC4gSG93ZXZlciwgaXQgaXMKPiBwcmVzZW50IGluIHRoZSBwYXRjaCBzZXJp ZXMuCj4gCj4gVGhlIHNlY29uZCBwYXRjaCBoYXMgMyAiQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzIiBsaW5lcwo+IHdoZXJlIEkgcHJlZmVycmVkIHRvIGtlZXAgdGhlbSB0 aGF0IHdheS4KPiAKPiBUaGFua3MgU3RhbmltaXIgZm9yIHNoYXJpbmcgeW91ciBIRFIgZmlsZSBj cmVhdGlvbiB0b29scywgdGhpcyB3YXMgdmVyeQo+IGhlbHBmdWwgOikuCgpJIHRyaWVkIHRvIHRl c3QgdGhpcyB3aXRoIGEgcGVuZGluZyBicmFuY2ggb2YgR1N0cmVhbWVyIHN1cHBvcnRpbmcKZHlu YW1pYyByZXNvbHV0aW9uIGNoYW5nZXMuIFRoZSBldmVuIGRyaXZlciBtZWNoYW5pc20gZG9lcyBu b3Qgc2VlbSB0bwp3b3JrIHdpdGggdGhpcyBkcml2ZXIuIEkndmUgZ3JlcHBlZCB0aGUgY29kZSwg YW5kIGRvbid0IHNlZSBhbnkgcGxhY2VzCndlcmUgdGhlIGV2ZW50IHdvdWxkIGJlIGVtaXR0ZWQu CgpUaGVuIEkgZ3JlcHBlZCwgYW5kIGl0IHNlZW1zIHRoZSBkcml2ZXIgYWNjZXB0IHNvdXJjZV9j aGFuZ2UKc3Vic2NyaXB0aW9uIGJ1dCBkb2VzIG5vdCBzZXQgVjRMMl9GTVRfRkxBR19EWU5fUkVT T0xVVElPTi4gSSBiZWxpZXZlCnRoZXNlIHR3byB0aGluZ3MgYXJlIGJpdCByZWR1bmRhbnQgYW5k IGNvbmZ1c2luZywgSSdsbCBmaXggdGhlIHByb3Bvc2VkCnBhdGNoIG5ldmVyIHRoZSBsZXNzLCBh bmQgc2VlIGlmIHRoYXQgbWFrZXMgaXQgd29yay4KCj4gCj4gTWF4aW1lCj4gCj4gIyB2NGwyLWNv bXBsaWFuY2UgLS1zdHJlYW0tZnJvbS1oZHIgdGVzdC0yNWZwcy5oMjY0LmhkciAtczI1MAo+IHY0 bDItY29tcGxpYW5jZSBTSEE6IGExNjIyNDRkNDdkNGJiMDFkMDY5MmRhODc5ZGNlNWEwNzBmMTE4 ZTcsIDY0IGJpdHMKPiAKPiBDb21wbGlhbmNlIHRlc3QgZm9yIG1lc29uLXZkZWMgZGV2aWNlIC9k ZXYvdmlkZW8wOgo+IAo+IERyaXZlciBJbmZvOgo+IAlEcml2ZXIgbmFtZSAgICAgIDogbWVzb24t dmRlYwo+IAlDYXJkIHR5cGUgICAgICAgIDogQW1sb2dpYyBWaWRlbyBEZWNvZGVyCj4gCUJ1cyBp bmZvICAgICAgICAgOiBwbGF0Zm9ybTptZXNvbi12ZGVjCj4gCURyaXZlciB2ZXJzaW9uICAgOiA1 LjQuMAo+IAlDYXBhYmlsaXRpZXMgICAgIDogMHg4NDIwNDAwMAo+IAkJVmlkZW8gTWVtb3J5LXRv LU1lbW9yeSBNdWx0aXBsYW5hcgo+IAkJU3RyZWFtaW5nCj4gCQlFeHRlbmRlZCBQaXggRm9ybWF0 Cj4gCQlEZXZpY2UgQ2FwYWJpbGl0aWVzCj4gCURldmljZSBDYXBzICAgICAgOiAweDA0MjA0MDAw Cj4gCQlWaWRlbyBNZW1vcnktdG8tTWVtb3J5IE11bHRpcGxhbmFyCj4gCQlTdHJlYW1pbmcKPiAJ CUV4dGVuZGVkIFBpeCBGb3JtYXQKPiAJRGV0ZWN0ZWQgU3RhdGVmdWwgRGVjb2Rlcgo+IAo+IFJl cXVpcmVkIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUVVFUllDQVA6IE9LCj4gCj4gQWxsb3cgZm9y IG11bHRpcGxlIG9wZW5zOgo+IAl0ZXN0IHNlY29uZCAvZGV2L3ZpZGVvMCBvcGVuOiBPSwo+IAl0 ZXN0IFZJRElPQ19RVUVSWUNBUDogT0sKPiAJdGVzdCBWSURJT0NfRy9TX1BSSU9SSVRZOiBPSwo+ IAl0ZXN0IGZvciB1bmxpbWl0ZWQgb3BlbnM6IE9LCj4gCj4gRGVidWcgaW9jdGxzOgo+IAl0ZXN0 IFZJRElPQ19EQkdfRy9TX1JFR0lTVEVSOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJ T0NfTE9HX1NUQVRVUzogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCj4gSW5wdXQgaW9jdGxzOgo+IAl0 ZXN0IFZJRElPQ19HL1NfVFVORVIvRU5VTV9GUkVRX0JBTkRTOiBPSyAoTm90IFN1cHBvcnRlZCkK PiAJdGVzdCBWSURJT0NfRy9TX0ZSRVFVRU5DWTogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3Qg VklESU9DX1NfSFdfRlJFUV9TRUVLOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0Nf RU5VTUFVRElPOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0NfRy9TL0VOVU1JTlBV VDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklESU9DX0cvU19BVURJTzogT0sgKE5vdCBT dXBwb3J0ZWQpCj4gCUlucHV0czogMCBBdWRpbyBJbnB1dHM6IDAgVHVuZXJzOiAwCj4gCj4gT3V0 cHV0IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRy9TX01PRFVMQVRPUjogT0sgKE5vdCBTdXBwb3J0 ZWQpCj4gCXRlc3QgVklESU9DX0cvU19GUkVRVUVOQ1k6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0 ZXN0IFZJRElPQ19FTlVNQVVET1VUOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0Nf Ry9TL0VOVU1PVVRQVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19HL1NfQVVE T1VUOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJT3V0cHV0czogMCBBdWRpbyBPdXRwdXRzOiAwIE1v ZHVsYXRvcnM6IDAKPiAKPiBJbnB1dC9PdXRwdXQgY29uZmlndXJhdGlvbiBpb2N0bHM6Cj4gCXRl c3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX1NURDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3Qg VklESU9DX0VOVU0vRy9TL1FVRVJZX0RWX1RJTUlOR1M6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0 ZXN0IFZJRElPQ19EVl9USU1JTkdTX0NBUDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklE SU9DX0cvU19FRElEOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBDb250cm9sIGlvY3RsczoKPiAJ dGVzdCBWSURJT0NfUVVFUllfRVhUX0NUUkwvUVVFUllNRU5VOiBPSwo+IAl0ZXN0IFZJRElPQ19R VUVSWUNUUkw6IE9LCj4gCXRlc3QgVklESU9DX0cvU19DVFJMOiBPSwo+IAl0ZXN0IFZJRElPQ19H L1MvVFJZX0VYVF9DVFJMUzogT0sKPiAJdGVzdCBWSURJT0NfKFVOKVNVQlNDUklCRV9FVkVOVC9E UUVWRU5UOiBPSwo+IAl0ZXN0IFZJRElPQ19HL1NfSlBFR0NPTVA6IE9LIChOb3QgU3VwcG9ydGVk KQo+IAlTdGFuZGFyZCBDb250cm9sczogMiBQcml2YXRlIENvbnRyb2xzOiAwCj4gCj4gRm9ybWF0 IGlvY3RsczoKPiAJdGVzdCBWSURJT0NfRU5VTV9GTVQvRlJBTUVTSVpFUy9GUkFNRUlOVEVSVkFM UzogT0sKPiAJdGVzdCBWSURJT0NfRy9TX1BBUk06IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0 IFZJRElPQ19HX0ZCVUY6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0IFZJRElPQ19HX0ZNVDog T0sKPiAJdGVzdCBWSURJT0NfVFJZX0ZNVDogT0sKPiAJdGVzdCBWSURJT0NfU19GTVQ6IE9LCj4g CXRlc3QgVklESU9DX0dfU0xJQ0VEX1ZCSV9DQVA6IE9LIChOb3QgU3VwcG9ydGVkKQo+IAl0ZXN0 IENyb3BwaW5nOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBDb21wb3Npbmc6IE9LIChOb3Qg U3VwcG9ydGVkKQo+IAl0ZXN0IFNjYWxpbmc6IE9LCj4gCj4gQ29kZWMgaW9jdGxzOgo+IAl0ZXN0 IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDogT0sgKE5vdCBTdXBwb3J0ZWQpCj4gCXRlc3QgVklE SU9DX0dfRU5DX0lOREVYOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAJdGVzdCBWSURJT0NfKFRSWV8p REVDT0RFUl9DTUQ6IE9LCj4gCj4gQnVmZmVyIGlvY3RsczoKPiAJdGVzdCBWSURJT0NfUkVRQlVG Uy9DUkVBVEVfQlVGUy9RVUVSWUJVRjogT0sKPiAJdGVzdCBWSURJT0NfRVhQQlVGOiBPSwo+IAl0 ZXN0IFJlcXVlc3RzOiBPSyAoTm90IFN1cHBvcnRlZCkKPiAKPiBUZXN0IGlucHV0IDA6Cj4gCj4g U3RyZWFtaW5nIGlvY3RsczoKPiAJdGVzdCByZWFkL3dyaXRlOiBPSyAoTm90IFN1cHBvcnRlZCkK PiAJdGVzdCBibG9ja2luZyB3YWl0OiBPSwo+IAlWaWRlbyBDYXB0dXJlIE11bHRpcGxhbmFyOiBD YXB0dXJlZCAyNTAgYnVmZmVycyAgIAo+IAl0ZXN0IE1NQVAgKHNlbGVjdCk6IE9LCj4gCVZpZGVv IENhcHR1cmUgTXVsdGlwbGFuYXI6IENhcHR1cmVkIDI1MCBidWZmZXJzICAgCj4gCXRlc3QgTU1B UCAoZXBvbGwpOiBPSwo+IAl0ZXN0IFVTRVJQVFIgKHNlbGVjdCk6IE9LIChOb3QgU3VwcG9ydGVk KQo+IAl0ZXN0IERNQUJVRjogQ2Fubm90IHRlc3QsIHNwZWNpZnkgLS1leHBidWYtZGV2aWNlCj4g Cj4gVG90YWwgZm9yIG1lc29uLXZkZWMgZGV2aWNlIC9kZXYvdmlkZW8wOiA0OSwgU3VjY2VlZGVk OiA0OSwgRmFpbGVkOiAwLCBXYXJuaW5nczogMAo+IAo+IE1heGltZSBKb3VyZGFuICgyKToKPiAg IG1lZGlhOiBtZXNvbjogdmRlYzogYnJpbmcgdXAgdG8gY29tcGxpYW5jZQo+ICAgbWVkaWE6IG1l c29uOiB2ZGVjOiBhZGQgSC4yNjQgZGVjb2Rpbmcgc3VwcG9ydAo+IAo+ICBkcml2ZXJzL3N0YWdp bmcvbWVkaWEvbWVzb24vdmRlYy9NYWtlZmlsZSAgICAgfCAgIDIgKy0KPiAgZHJpdmVycy9zdGFn aW5nL21lZGlhL21lc29uL3ZkZWMvY29kZWNfaDI2NC5jIHwgNDgyICsrKysrKysrKysrKysrKysr Kwo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy9jb2RlY19oMjY0LmggfCAgMTQg Kwo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy9lc3BhcnNlci5jICAgfCAgMzQg Ky0KPiAgZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29uL3ZkZWMvdmRlYy5jICAgICAgIHwgIDcw ICsrLQo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjLmggICAgICAgfCAg MTQgKy0KPiAgLi4uL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjX2hlbHBlcnMuYyAgIHwg IDg1ICsrLQo+ICAuLi4vc3RhZ2luZy9tZWRpYS9tZXNvbi92ZGVjL3ZkZWNfaGVscGVycy5oICAg fCAgIDYgKy0KPiAgLi4uL3N0YWdpbmcvbWVkaWEvbWVzb24vdmRlYy92ZGVjX3BsYXRmb3JtLmMg IHwgIDQzICsrCj4gIDkgZmlsZXMgY2hhbmdlZCwgNjU0IGluc2VydGlvbnMoKyksIDk2IGRlbGV0 aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL21lZGlhL21lc29u L3ZkZWMvY29kZWNfaDI2NC5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL3N0YWdpbmcv bWVkaWEvbWVzb24vdmRlYy9jb2RlY19oMjY0LmgKPiAKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hbWxvZ2ljIG1haWxpbmcgbGlzdApsaW51 eC1hbWxvZ2ljQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hbWxvZ2ljCg==