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=-8.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT 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 B268DC43603 for ; Wed, 4 Dec 2019 12:47:48 +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 8626B2077B for ; Wed, 4 Dec 2019 12:47:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="g4i8QcFg"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="l9JzWrF9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8626B2077B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com 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=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=xsvmDr3lnrdV61ORL7GjYO24UfpH37PFDKNBuUf/ydU=; b=g4i8QcFgfvU6k0 A/YJ9L7pCRKAHhuFuxCbQ0cYz09iZniRDNs7+aeio8A6sHwqPP+a/hmL1FjJj+R+7rBhvSD9306IO jJv0M6Co1cM7Fcs3QltheGcPozvFg8cwM3fOdkHmw8bsC/7AsW+P2XfqbAXqUPnI1OFPPVoSI0o+T zxeZHu0RuBxKMf2DterlEKlQSq5hkGti17cme0onqh3jjT+unRrd7puU0H66ZMUbjr2ziJMpg5bEA j3wYXHHIfPf35aYNROnTt1+zGEzhJWgT7shQ1HxShFiFAla8bYYhOJ/C4xZQhLsYFnNS7yLE/rr0y WkMqrDtvLiu+VOiE7v7Q==; 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 1icU4K-0003bd-6L; Wed, 04 Dec 2019 12:47:48 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1icU4H-0003aT-GB; Wed, 04 Dec 2019 12:47:47 +0000 X-UUID: 3f01b92ee6ce4b07a9902acd5680482c-20191204 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=ZJ4kkueZ5M1fVXPW34E8ZBOmqDHVewldVKMweLBs5DU=; b=l9JzWrF9OqyRA1W5sV7jsp3BBuweo/Kdae4X6lmwRR0lce+c4+38W68KgyrYqRjdW/nJceROPkrJn9Oyi5vLNY+eO9dnz/BMVyCVgdflTeCFHjh7RGgXkVowL+3eGucrOYMV02EksH+5K71Gbb0TIoGXjkdjxenFtbOfllFz17I=; X-UUID: 3f01b92ee6ce4b07a9902acd5680482c-20191204 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 696293361; Wed, 04 Dec 2019 04:47:39 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 4 Dec 2019 04:48:27 -0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 4 Dec 2019 20:47:30 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 4 Dec 2019 20:46:40 +0800 From: Jerry-ch Chen To: , , , , Subject: [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC Date: Wed, 4 Dec 2019 20:47:28 +0800 Message-ID: <20191204124732.10932-1-Jerry-Ch.chen@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191204_044745_549696_C60FF7EB X-CRM114-Status: UNSURE ( 7.17 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Sean.Cheng@mediatek.com, Rynn.Wu@mediatek.com, pihsun@chromium.org, srv_heupstream@mediatek.com, Jerry-ch.Chen@mediatek.com, jungo.lin@mediatek.com, sj.huang@mediatek.com, yuzhao@chromium.org, linux-mediatek@lists.infradead.org, zwisler@chromium.org, christie.yu@mediatek.com, frederic.chen@mediatek.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Hello, This RFC patch series is adding Face Detection (FD) driver on Mediatek mt8183 SoC. It belongs to the first Mediatek's camera driver series based on V4L2 and media controller framework. I posted the main part of the FD driver as RFC to discuss first and would like some review comments. ============== Introduction ============== Face Detection (FD) unit provides hardware accelerated face detection feature. It can detect different sizes of faces in a given image. The driver is implemented as a normal V4L2 memory-to-memory device and supports V4L2 controls for detection settings. It has two buffer queues. 1. Video output buffer: RAW image for face detection. 2. Meta capture buffer: Result of the detected faces. ================== Changes in v4 ================== RFC v4 includes the following modification: 1. Includes v4l2-mem2mem changes: add v4l2_m2m_suspend, v4l2_m2m_resume 2. Move FD V4L2 control ids back inside FD driver 3. Depend on newer SCP driver api 4. Add exit hw flow for FD driver 5. Add hardware timeout handling in the FD firmware 6. Move allocation of dma buffer from connect / disconnect to driver probe / remove Todo: - Add v4l2 control menus for private mtk fd control ================== Changes in v3 ================== RFC v3 includes the following modification: 1. Adjust the private control ids and place them in include/uapi/linux/mtk-fd-v4l2-controls.h 2. Merge struct mtk_fd_hw info struct mtk_fd_dev 3. Define FD meta capture buffer in include/uapi/linux/videodev2.h 4. Remove the usage of get_reserved_memory by scp driver, use dma_alloc api instead Todo: - Add v4l2 control menus for private mtk fd control - Refine the job finish flow when system suspend ================== Changes in v2 ================== RFC v2 includes the following modification: 1. Implement FD as a V4L2 mem2mem driver 2. Replace meta input with V4L2 controls ================== Changes in v1 ================== RFC v1 includes the following modification: 1. Uses Request API instead of FD's buffer collection design 2. removed unnecessary abstraction structurally, including mtk_fd_ctx and related ops 3. removed the fd_smem node from device tree 4. Fixed the common issues Tomasz commented on Mediatek ISP Pass 1's RFC v0 patch series ================== Dependent patch ================== FD driver depends on SCP driver. The patches are as following: [1]. Add support for mt8183 SCP https://patchwork.kernel.org/cover/1152350/ ================== Compliance test ================== * Version: https://git.linuxtv.org/v4l-utils.git/commit/?id=b16f9e945d74aa5 * Note: Some failures are caused by the implementation of FD driver, whic is a m2m device with VIDEO_OUT and META_CAPTURE queues, therefore we can't set V4L2_CAP_VIDEO_M2M in device capability, and fail in some non-m2m v4l2 test cases. * Test command: v4l2-compliance -m 2 * test output: v4l2-compliance SHA: not available, 32 bits Compliance test for mtk-fd-4.0 device /dev/media2: Media Driver Info: Driver name : mtk-fd-4.0 Model : mtk-fd-4.0 Serial : Bus info : platform:1502b000.fd Media version : 4.19.84 Hardware revision: 0x00000000 (0) Driver version : 4.19.84 Required ioctls: test MEDIA_IOC_DEVICE_INFO: OK Allow for multiple opens: test second /dev/media2 open: OK test MEDIA_IOC_DEVICE_INFO: OK test for unlimited opens: OK Media Controller ioctls: test MEDIA_IOC_G_TOPOLOGY: OK Entities: 3 Interfaces: 1 Pads: 4 Links: 4 test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK test MEDIA_IOC_SETUP_LINK: OK Total for mtk-fd-4.0 device /dev/media2: 7, Succeeded: 7, Failed: 0, Warnings: 0 -------------------------------------------------------------------------------- Compliance test for mtk-fd-4.0 device /dev/video32: Driver Info: Driver name : mtk-fd-4.0 Card type : mtk-fd-4.0 Bus info : platform:1502b000.fd Driver version : 4.19.84 Capabilities : 0x84a02000 Video Output Multiplanar Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04a02000 Video Output Multiplanar Metadata Capture Streaming Extended Pix Format Media Driver Info: Driver name : mtk-fd-4.0 Model : mtk-fd-4.0 Serial : Bus info : platform:1502b000.fd Media version : 4.19.84 Hardware revision: 0x00000000 (0) Driver version : 4.19.84 Interface Info: ID : 0x0300000c Type : V4L Video Entity Info: ID : 0x00000001 (1) Name : mtk-fd-4.0-source Function : V4L2 I/O Pad 0x01000002 : 0: Source Link 0x02000008: to remote pad 0x1000005 of entity 'mtk-fd-4.0-proc': Data, Enabled, Immutable Required ioctls: test MC information (see 'Media Driver Info' above): OK fail: v4l2-compliance.cpp(668): dcaps & output_caps test VIDIOC_QUERYCAP: FAIL Allow for multiple opens: test second /dev/video32 open: OK fail: v4l2-compliance.cpp(668): dcaps & output_caps test VIDIOC_QUERYCAP: FAIL 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: 1 Private Controls: 6 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK (Not Supported) test VIDIOC_G_FBUF: OK (Not Supported) fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT test VIDIOC_G_FMT: FAIL fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT test VIDIOC_TRY_FMT: FAIL fail: v4l2-test-formats.cpp(457): pixelformat ffffffff (-BE) for buftype 10 not reported by ENUM_FMT test VIDIOC_S_FMT: FAIL test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK (Not Supported) test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: fail: v4l2-test-buffers.cpp(667): q2.reqbufs(node->node2, 1) != EBUSY test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL test VIDIOC_EXPBUF: OK test Requests: OK Total for mtk-fd-4.0 device /dev/video32: 45, Succeeded: 39, Failed: 6, Warnings: 0 Grand Total for mtk-fd-4.0 device /dev/media2: 52, Succeeded: 46, Failed: 6, Warnings: 0 _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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=-8.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT 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 8558DC2D0B1 for ; Wed, 4 Dec 2019 12:47:50 +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 4C15A2077B for ; Wed, 4 Dec 2019 12:47:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="gY9jGSSD"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="l9JzWrF9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4C15A2077B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com 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:Message-ID:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=S08AzQAlAgKH0xUj+YALfvG/oV3x0gLeaputjtHA6gI=; b=gY9jGSSDnkCwF2 taue1YnvNxBAzUfKnCbDfaWnNKBW2187E8YKgFrfC9AX6WOob9x9S0LroXOkLnmFgZGomkonwp4V9 tS7BrWs50Ez90vjLMzw3vtALTc24fWVATGY1OW/rzsYCByrDfbpBcHu/lL5n2a6x1FiymaY1WRGV1 BDfH1E4g2xN8t1sfg9BduVl1mxN2ti8AbrzsMRAKa89HJ9GgoGsuLF5KnUHb/1DdQw+Q0KxOWN8GT rE8zCTHafuRKGyfOdz52q8i1IVAk4V8ZGZ34L3IfviwjDB+0ZI7AOJdpm3coWJSerDy78G/vBXWcc 0jwBRQnZWTnFNmOO1REQ==; 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 1icU4L-0003cQ-F5; Wed, 04 Dec 2019 12:47:49 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1icU4H-0003aT-GB; Wed, 04 Dec 2019 12:47:47 +0000 X-UUID: 3f01b92ee6ce4b07a9902acd5680482c-20191204 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=ZJ4kkueZ5M1fVXPW34E8ZBOmqDHVewldVKMweLBs5DU=; b=l9JzWrF9OqyRA1W5sV7jsp3BBuweo/Kdae4X6lmwRR0lce+c4+38W68KgyrYqRjdW/nJceROPkrJn9Oyi5vLNY+eO9dnz/BMVyCVgdflTeCFHjh7RGgXkVowL+3eGucrOYMV02EksH+5K71Gbb0TIoGXjkdjxenFtbOfllFz17I=; X-UUID: 3f01b92ee6ce4b07a9902acd5680482c-20191204 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 696293361; Wed, 04 Dec 2019 04:47:39 -0800 Received: from mtkmbs07n1.mediatek.inc (172.21.101.16) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 4 Dec 2019 04:48:27 -0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 4 Dec 2019 20:47:30 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 4 Dec 2019 20:46:40 +0800 From: Jerry-ch Chen To: , , , , Subject: [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC Date: Wed, 4 Dec 2019 20:47:28 +0800 Message-ID: <20191204124732.10932-1-Jerry-Ch.chen@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191204_044745_549696_C60FF7EB X-CRM114-Status: UNSURE ( 7.17 ) X-CRM114-Notice: Please train this message. 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: devicetree@vger.kernel.org, Sean.Cheng@mediatek.com, Rynn.Wu@mediatek.com, pihsun@chromium.org, srv_heupstream@mediatek.com, Jerry-ch.Chen@mediatek.com, jungo.lin@mediatek.com, sj.huang@mediatek.com, yuzhao@chromium.org, linux-mediatek@lists.infradead.org, zwisler@chromium.org, christie.yu@mediatek.com, frederic.chen@mediatek.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hello, This RFC patch series is adding Face Detection (FD) driver on Mediatek mt8183 SoC. It belongs to the first Mediatek's camera driver series based on V4L2 and media controller framework. I posted the main part of the FD driver as RFC to discuss first and would like some review comments. ============== Introduction ============== Face Detection (FD) unit provides hardware accelerated face detection feature. It can detect different sizes of faces in a given image. The driver is implemented as a normal V4L2 memory-to-memory device and supports V4L2 controls for detection settings. It has two buffer queues. 1. Video output buffer: RAW image for face detection. 2. Meta capture buffer: Result of the detected faces. ================== Changes in v4 ================== RFC v4 includes the following modification: 1. Includes v4l2-mem2mem changes: add v4l2_m2m_suspend, v4l2_m2m_resume 2. Move FD V4L2 control ids back inside FD driver 3. Depend on newer SCP driver api 4. Add exit hw flow for FD driver 5. Add hardware timeout handling in the FD firmware 6. Move allocation of dma buffer from connect / disconnect to driver probe / remove Todo: - Add v4l2 control menus for private mtk fd control ================== Changes in v3 ================== RFC v3 includes the following modification: 1. Adjust the private control ids and place them in include/uapi/linux/mtk-fd-v4l2-controls.h 2. Merge struct mtk_fd_hw info struct mtk_fd_dev 3. Define FD meta capture buffer in include/uapi/linux/videodev2.h 4. Remove the usage of get_reserved_memory by scp driver, use dma_alloc api instead Todo: - Add v4l2 control menus for private mtk fd control - Refine the job finish flow when system suspend ================== Changes in v2 ================== RFC v2 includes the following modification: 1. Implement FD as a V4L2 mem2mem driver 2. Replace meta input with V4L2 controls ================== Changes in v1 ================== RFC v1 includes the following modification: 1. Uses Request API instead of FD's buffer collection design 2. removed unnecessary abstraction structurally, including mtk_fd_ctx and related ops 3. removed the fd_smem node from device tree 4. Fixed the common issues Tomasz commented on Mediatek ISP Pass 1's RFC v0 patch series ================== Dependent patch ================== FD driver depends on SCP driver. The patches are as following: [1]. Add support for mt8183 SCP https://patchwork.kernel.org/cover/1152350/ ================== Compliance test ================== * Version: https://git.linuxtv.org/v4l-utils.git/commit/?id=b16f9e945d74aa5 * Note: Some failures are caused by the implementation of FD driver, whic is a m2m device with VIDEO_OUT and META_CAPTURE queues, therefore we can't set V4L2_CAP_VIDEO_M2M in device capability, and fail in some non-m2m v4l2 test cases. * Test command: v4l2-compliance -m 2 * test output: v4l2-compliance SHA: not available, 32 bits Compliance test for mtk-fd-4.0 device /dev/media2: Media Driver Info: Driver name : mtk-fd-4.0 Model : mtk-fd-4.0 Serial : Bus info : platform:1502b000.fd Media version : 4.19.84 Hardware revision: 0x00000000 (0) Driver version : 4.19.84 Required ioctls: test MEDIA_IOC_DEVICE_INFO: OK Allow for multiple opens: test second /dev/media2 open: OK test MEDIA_IOC_DEVICE_INFO: OK test for unlimited opens: OK Media Controller ioctls: test MEDIA_IOC_G_TOPOLOGY: OK Entities: 3 Interfaces: 1 Pads: 4 Links: 4 test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK test MEDIA_IOC_SETUP_LINK: OK Total for mtk-fd-4.0 device /dev/media2: 7, Succeeded: 7, Failed: 0, Warnings: 0 -------------------------------------------------------------------------------- Compliance test for mtk-fd-4.0 device /dev/video32: Driver Info: Driver name : mtk-fd-4.0 Card type : mtk-fd-4.0 Bus info : platform:1502b000.fd Driver version : 4.19.84 Capabilities : 0x84a02000 Video Output Multiplanar Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04a02000 Video Output Multiplanar Metadata Capture Streaming Extended Pix Format Media Driver Info: Driver name : mtk-fd-4.0 Model : mtk-fd-4.0 Serial : Bus info : platform:1502b000.fd Media version : 4.19.84 Hardware revision: 0x00000000 (0) Driver version : 4.19.84 Interface Info: ID : 0x0300000c Type : V4L Video Entity Info: ID : 0x00000001 (1) Name : mtk-fd-4.0-source Function : V4L2 I/O Pad 0x01000002 : 0: Source Link 0x02000008: to remote pad 0x1000005 of entity 'mtk-fd-4.0-proc': Data, Enabled, Immutable Required ioctls: test MC information (see 'Media Driver Info' above): OK fail: v4l2-compliance.cpp(668): dcaps & output_caps test VIDIOC_QUERYCAP: FAIL Allow for multiple opens: test second /dev/video32 open: OK fail: v4l2-compliance.cpp(668): dcaps & output_caps test VIDIOC_QUERYCAP: FAIL 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: 1 Private Controls: 6 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK (Not Supported) test VIDIOC_G_FBUF: OK (Not Supported) fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT test VIDIOC_G_FMT: FAIL fail: v4l2-test-formats.cpp(457): pixelformat 00000000 () for buftype 10 not reported by ENUM_FMT test VIDIOC_TRY_FMT: FAIL fail: v4l2-test-formats.cpp(457): pixelformat ffffffff (-BE) for buftype 10 not reported by ENUM_FMT test VIDIOC_S_FMT: FAIL test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK (Not Supported) test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported) test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: fail: v4l2-test-buffers.cpp(667): q2.reqbufs(node->node2, 1) != EBUSY test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL test VIDIOC_EXPBUF: OK test Requests: OK Total for mtk-fd-4.0 device /dev/video32: 45, Succeeded: 39, Failed: 6, Warnings: 0 Grand Total for mtk-fd-4.0 device /dev/media2: 52, Succeeded: 46, Failed: 6, Warnings: 0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel 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=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,USER_AGENT_GIT 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 F17B5C2D0B1 for ; Wed, 4 Dec 2019 12:47:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id C84A020862 for ; Wed, 4 Dec 2019 12:47:44 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="l9JzWrF9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726215AbfLDMrn (ORCPT ); Wed, 4 Dec 2019 07:47:43 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:39963 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726832AbfLDMrn (ORCPT ); Wed, 4 Dec 2019 07:47:43 -0500 X-UUID: b6f36a78d48241b1aa44667a8493c234-20191204 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=ZJ4kkueZ5M1fVXPW34E8ZBOmqDHVewldVKMweLBs5DU=; b=l9JzWrF9OqyRA1W5sV7jsp3BBuweo/Kdae4X6lmwRR0lce+c4+38W68KgyrYqRjdW/nJceROPkrJn9Oyi5vLNY+eO9dnz/BMVyCVgdflTeCFHjh7RGgXkVowL+3eGucrOYMV02EksH+5K71Gbb0TIoGXjkdjxenFtbOfllFz17I=; X-UUID: b6f36a78d48241b1aa44667a8493c234-20191204 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1462201680; Wed, 04 Dec 2019 20:47:37 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Wed, 4 Dec 2019 20:47:30 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Wed, 4 Dec 2019 20:46:40 +0800 From: Jerry-ch Chen To: , , , , CC: , , , , , , , , , , , , , , Subject: [RFC PATCH V4 0/4] media: platform: Add support for Face Detection (FD) on mt8183 SoC Date: Wed, 4 Dec 2019 20:47:28 +0800 Message-ID: <20191204124732.10932-1-Jerry-Ch.chen@mediatek.com> X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org SGVsbG8sDQoNClRoaXMgUkZDIHBhdGNoIHNlcmllcyBpcyBhZGRpbmcgRmFjZSBEZXRlY3Rpb24g KEZEKSBkcml2ZXIgb24gTWVkaWF0ZWsNCm10ODE4MyBTb0MuIEl0IGJlbG9uZ3MgdG8gdGhlIGZp cnN0IE1lZGlhdGVrJ3MgY2FtZXJhIGRyaXZlciBzZXJpZXMgYmFzZWQNCm9uIFY0TDIgYW5kIG1l ZGlhIGNvbnRyb2xsZXIgZnJhbWV3b3JrLiBJIHBvc3RlZCB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBG RA0KZHJpdmVyIGFzIFJGQyB0byBkaXNjdXNzIGZpcnN0IGFuZCB3b3VsZCBsaWtlIHNvbWUgcmV2 aWV3IGNvbW1lbnRzLg0KDQo9PT09PT09PT09PT09PQ0KSW50cm9kdWN0aW9uDQo9PT09PT09PT09 PT09PQ0KDQpGYWNlIERldGVjdGlvbiAoRkQpIHVuaXQgcHJvdmlkZXMgaGFyZHdhcmUgYWNjZWxl cmF0ZWQgZmFjZSBkZXRlY3Rpb24NCmZlYXR1cmUuIEl0IGNhbiBkZXRlY3QgZGlmZmVyZW50IHNp emVzIG9mIGZhY2VzIGluIGEgZ2l2ZW4gaW1hZ2UuDQoNClRoZSBkcml2ZXIgaXMgaW1wbGVtZW50 ZWQgYXMgYSBub3JtYWwgVjRMMiBtZW1vcnktdG8tbWVtb3J5IGRldmljZSBhbmQNCnN1cHBvcnRz IFY0TDIgY29udHJvbHMgZm9yIGRldGVjdGlvbiBzZXR0aW5ncy4gSXQgaGFzIHR3byBidWZmZXIg cXVldWVzLg0KDQoxLiBWaWRlbyBvdXRwdXQgYnVmZmVyOiBSQVcgaW1hZ2UgZm9yIGZhY2UgZGV0 ZWN0aW9uLg0KDQoyLiBNZXRhIGNhcHR1cmUgYnVmZmVyOiBSZXN1bHQgb2YgdGhlIGRldGVjdGVk IGZhY2VzLg0KDQo9PT09PT09PT09PT09PT09PT0NCkNoYW5nZXMgaW4gdjQNCj09PT09PT09PT09 PT09PT09PQ0KDQpSRkMgdjQgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBtb2RpZmljYXRpb246DQox LiBJbmNsdWRlcyB2NGwyLW1lbTJtZW0gY2hhbmdlczogYWRkIHY0bDJfbTJtX3N1c3BlbmQsIHY0 bDJfbTJtX3Jlc3VtZQ0KDQoyLiBNb3ZlIEZEIFY0TDIgY29udHJvbCBpZHMgYmFjayBpbnNpZGUg RkQgZHJpdmVyDQoNCjMuIERlcGVuZCBvbiBuZXdlciBTQ1AgZHJpdmVyIGFwaQ0KDQo0LiBBZGQg ZXhpdCBodyBmbG93IGZvciBGRCBkcml2ZXINCg0KNS4gQWRkIGhhcmR3YXJlIHRpbWVvdXQgaGFu ZGxpbmcgaW4gdGhlIEZEIGZpcm13YXJlDQoNCjYuIE1vdmUgYWxsb2NhdGlvbiBvZiBkbWEgYnVm ZmVyIGZyb20gY29ubmVjdCAvIGRpc2Nvbm5lY3QgdG8gZHJpdmVyIHByb2JlDQovIHJlbW92ZQ0K DQpUb2RvOg0KIC0gQWRkIHY0bDIgY29udHJvbCBtZW51cyBmb3IgcHJpdmF0ZSBtdGsgZmQgY29u dHJvbA0KPT09PT09PT09PT09PT09PT09DQpDaGFuZ2VzIGluIHYzDQo9PT09PT09PT09PT09PT09 PT0NCg0KUkZDIHYzIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgbW9kaWZpY2F0aW9uOg0KMS4gQWRq dXN0IHRoZSBwcml2YXRlIGNvbnRyb2wgaWRzIGFuZCBwbGFjZSB0aGVtIGluDQogaW5jbHVkZS91 YXBpL2xpbnV4L210ay1mZC12NGwyLWNvbnRyb2xzLmgNCg0KMi4gTWVyZ2Ugc3RydWN0IG10a19m ZF9odyBpbmZvIHN0cnVjdCBtdGtfZmRfZGV2DQoNCjMuIERlZmluZSBGRCBtZXRhIGNhcHR1cmUg YnVmZmVyIGluIGluY2x1ZGUvdWFwaS9saW51eC92aWRlb2RldjIuaA0KDQo0LiBSZW1vdmUgdGhl IHVzYWdlIG9mIGdldF9yZXNlcnZlZF9tZW1vcnkgYnkgc2NwIGRyaXZlciwNCiB1c2UgZG1hX2Fs bG9jIGFwaSBpbnN0ZWFkDQoNClRvZG86DQogLSBBZGQgdjRsMiBjb250cm9sIG1lbnVzIGZvciBw cml2YXRlIG10ayBmZCBjb250cm9sDQogLSBSZWZpbmUgdGhlIGpvYiBmaW5pc2ggZmxvdyB3aGVu IHN5c3RlbSBzdXNwZW5kDQo9PT09PT09PT09PT09PT09PT0NCkNoYW5nZXMgaW4gdjINCj09PT09 PT09PT09PT09PT09PQ0KDQpSRkMgdjIgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBtb2RpZmljYXRp b246DQoxLiBJbXBsZW1lbnQgRkQgYXMgYSBWNEwyIG1lbTJtZW0gZHJpdmVyDQoNCjIuIFJlcGxh Y2UgbWV0YSBpbnB1dCB3aXRoIFY0TDIgY29udHJvbHMNCg0KPT09PT09PT09PT09PT09PT09DQpD aGFuZ2VzIGluIHYxDQo9PT09PT09PT09PT09PT09PT0NCg0KUkZDIHYxIGluY2x1ZGVzIHRoZSBm b2xsb3dpbmcgbW9kaWZpY2F0aW9uOg0KMS4gVXNlcyBSZXF1ZXN0IEFQSSBpbnN0ZWFkIG9mIEZE J3MgYnVmZmVyIGNvbGxlY3Rpb24gZGVzaWduDQoNCjIuIHJlbW92ZWQgdW5uZWNlc3NhcnkgYWJz dHJhY3Rpb24gc3RydWN0dXJhbGx5LCBpbmNsdWRpbmcgbXRrX2ZkX2N0eCBhbmQNCnJlbGF0ZWQg b3BzDQoNCjMuIHJlbW92ZWQgdGhlIGZkX3NtZW0gbm9kZSBmcm9tIGRldmljZSB0cmVlDQoNCjQu IEZpeGVkIHRoZSBjb21tb24gaXNzdWVzIFRvbWFzeiBjb21tZW50ZWQgb24gTWVkaWF0ZWsgSVNQ IFBhc3MgMSdzIFJGQyB2MA0KcGF0Y2ggc2VyaWVzDQoNCj09PT09PT09PT09PT09PT09PQ0KRGVw ZW5kZW50IHBhdGNoDQo9PT09PT09PT09PT09PT09PT0NCg0KRkQgZHJpdmVyIGRlcGVuZHMgb24g U0NQIGRyaXZlci4gVGhlIHBhdGNoZXMgYXJlIGFzIGZvbGxvd2luZzoNCg0KWzFdLiBBZGQgc3Vw cG9ydCBmb3IgbXQ4MTgzIFNDUA0KaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9jb3Zlci8x MTUyMzUwLw0KDQo9PT09PT09PT09PT09PT09PT0NCkNvbXBsaWFuY2UgdGVzdA0KPT09PT09PT09 PT09PT09PT09DQoNCiogVmVyc2lvbjogaHR0cHM6Ly9naXQubGludXh0di5vcmcvdjRsLXV0aWxz LmdpdC9jb21taXQvP2lkPWIxNmY5ZTk0NWQ3NGFhNQ0KKiBOb3RlOiBTb21lIGZhaWx1cmVzIGFy ZSBjYXVzZWQgYnkgdGhlIGltcGxlbWVudGF0aW9uIG9mIEZEIGRyaXZlciwNCiAgICAgICAgd2hp YyBpcyBhIG0ybSBkZXZpY2Ugd2l0aCBWSURFT19PVVQgYW5kIE1FVEFfQ0FQVFVSRSBxdWV1ZXMs DQogICAgICAgIHRoZXJlZm9yZSB3ZSBjYW4ndCBzZXQgVjRMMl9DQVBfVklERU9fTTJNIGluIGRl dmljZSBjYXBhYmlsaXR5LCBhbmQNCiAgICAgICAgZmFpbCBpbiBzb21lIG5vbi1tMm0gdjRsMiB0 ZXN0IGNhc2VzLg0KKiBUZXN0IGNvbW1hbmQ6IHY0bDItY29tcGxpYW5jZSAtbSAyDQoqIHRlc3Qg b3V0cHV0Og0KDQp2NGwyLWNvbXBsaWFuY2UgU0hBOiBub3QgYXZhaWxhYmxlLCAzMiBiaXRzDQoN CkNvbXBsaWFuY2UgdGVzdCBmb3IgbXRrLWZkLTQuMCBkZXZpY2UgL2Rldi9tZWRpYTI6DQoNCk1l ZGlhIERyaXZlciBJbmZvOg0KICAgICAgICBEcml2ZXIgbmFtZSAgICAgIDogbXRrLWZkLTQuMA0K ICAgICAgICBNb2RlbCAgICAgICAgICAgIDogbXRrLWZkLTQuMA0KICAgICAgICBTZXJpYWwgICAg ICAgICAgIDoNCiAgICAgICAgQnVzIGluZm8gICAgICAgICA6IHBsYXRmb3JtOjE1MDJiMDAwLmZk DQogICAgICAgIE1lZGlhIHZlcnNpb24gICAgOiA0LjE5Ljg0DQogICAgICAgIEhhcmR3YXJlIHJl dmlzaW9uOiAweDAwMDAwMDAwICgwKQ0KICAgICAgICBEcml2ZXIgdmVyc2lvbiAgIDogNC4xOS44 NA0KDQpSZXF1aXJlZCBpb2N0bHM6DQogICAgICAgIHRlc3QgTUVESUFfSU9DX0RFVklDRV9JTkZP OiBPSw0KDQpBbGxvdyBmb3IgbXVsdGlwbGUgb3BlbnM6DQogICAgICAgIHRlc3Qgc2Vjb25kIC9k ZXYvbWVkaWEyIG9wZW46IE9LDQogICAgICAgIHRlc3QgTUVESUFfSU9DX0RFVklDRV9JTkZPOiBP Sw0KICAgICAgICB0ZXN0IGZvciB1bmxpbWl0ZWQgb3BlbnM6IE9LDQoNCk1lZGlhIENvbnRyb2xs ZXIgaW9jdGxzOg0KICAgICAgICB0ZXN0IE1FRElBX0lPQ19HX1RPUE9MT0dZOiBPSw0KICAgICAg ICBFbnRpdGllczogMyBJbnRlcmZhY2VzOiAxIFBhZHM6IDQgTGlua3M6IDQNCiAgICAgICAgdGVz dCBNRURJQV9JT0NfRU5VTV9FTlRJVElFUy9MSU5LUzogT0sNCiAgICAgICAgdGVzdCBNRURJQV9J T0NfU0VUVVBfTElOSzogT0sNCg0KVG90YWwgZm9yIG10ay1mZC00LjAgZGV2aWNlIC9kZXYvbWVk aWEyOiA3LCBTdWNjZWVkZWQ6IDcsIEZhaWxlZDogMCwgV2FybmluZ3M6IDANCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpDb21wbGlhbmNlIHRlc3QgZm9yIG10ay1mZC00LjAgZGV2aWNlIC9kZXYv dmlkZW8zMjoNCg0KRHJpdmVyIEluZm86DQogICAgICAgIERyaXZlciBuYW1lICAgICAgOiBtdGst ZmQtNC4wDQogICAgICAgIENhcmQgdHlwZSAgICAgICAgOiBtdGstZmQtNC4wDQogICAgICAgIEJ1 cyBpbmZvICAgICAgICAgOiBwbGF0Zm9ybToxNTAyYjAwMC5mZA0KICAgICAgICBEcml2ZXIgdmVy c2lvbiAgIDogNC4xOS44NA0KICAgICAgICBDYXBhYmlsaXRpZXMgICAgIDogMHg4NGEwMjAwMA0K ICAgICAgICAgICAgICAgIFZpZGVvIE91dHB1dCBNdWx0aXBsYW5hcg0KICAgICAgICAgICAgICAg IE1ldGFkYXRhIENhcHR1cmUNCiAgICAgICAgICAgICAgICBTdHJlYW1pbmcNCiAgICAgICAgICAg ICAgICBFeHRlbmRlZCBQaXggRm9ybWF0DQogICAgICAgICAgICAgICAgRGV2aWNlIENhcGFiaWxp dGllcw0KICAgICAgICBEZXZpY2UgQ2FwcyAgICAgIDogMHgwNGEwMjAwMA0KICAgICAgICAgICAg ICAgIFZpZGVvIE91dHB1dCBNdWx0aXBsYW5hcg0KICAgICAgICAgICAgICAgIE1ldGFkYXRhIENh cHR1cmUNCiAgICAgICAgICAgICAgICBTdHJlYW1pbmcNCiAgICAgICAgICAgICAgICBFeHRlbmRl ZCBQaXggRm9ybWF0DQpNZWRpYSBEcml2ZXIgSW5mbzoNCiAgICAgICAgRHJpdmVyIG5hbWUgICAg ICA6IG10ay1mZC00LjANCiAgICAgICAgTW9kZWwgICAgICAgICAgICA6IG10ay1mZC00LjANCiAg ICAgICAgU2VyaWFsICAgICAgICAgICA6DQogICAgICAgIEJ1cyBpbmZvICAgICAgICAgOiBwbGF0 Zm9ybToxNTAyYjAwMC5mZA0KICAgICAgICBNZWRpYSB2ZXJzaW9uICAgIDogNC4xOS44NA0KICAg ICAgICBIYXJkd2FyZSByZXZpc2lvbjogMHgwMDAwMDAwMCAoMCkNCiAgICAgICAgRHJpdmVyIHZl cnNpb24gICA6IDQuMTkuODQNCkludGVyZmFjZSBJbmZvOg0KICAgICAgICBJRCAgICAgICAgICAg ICAgIDogMHgwMzAwMDAwYw0KICAgICAgICBUeXBlICAgICAgICAgICAgIDogVjRMIFZpZGVvDQpF bnRpdHkgSW5mbzoNCiAgICAgICAgSUQgICAgICAgICAgICAgICA6IDB4MDAwMDAwMDEgKDEpDQog ICAgICAgIE5hbWUgICAgICAgICAgICAgOiBtdGstZmQtNC4wLXNvdXJjZQ0KICAgICAgICBGdW5j dGlvbiAgICAgICAgIDogVjRMMiBJL08NCiAgICAgICAgUGFkIDB4MDEwMDAwMDIgICA6IDA6IFNv dXJjZQ0KICAgICAgICAgIExpbmsgMHgwMjAwMDAwODogdG8gcmVtb3RlIHBhZCAweDEwMDAwMDUg b2YgZW50aXR5ICdtdGstZmQtNC4wLXByb2MnOiBEYXRhLCBFbmFibGVkLCBJbW11dGFibGUNCg0K UmVxdWlyZWQgaW9jdGxzOg0KICAgICAgICB0ZXN0IE1DIGluZm9ybWF0aW9uIChzZWUgJ01lZGlh IERyaXZlciBJbmZvJyBhYm92ZSk6IE9LDQogICAgICAgICAgICAgICAgZmFpbDogdjRsMi1jb21w bGlhbmNlLmNwcCg2NjgpOiBkY2FwcyAmIG91dHB1dF9jYXBzDQogICAgICAgIHRlc3QgVklESU9D X1FVRVJZQ0FQOiBGQUlMDQoNCkFsbG93IGZvciBtdWx0aXBsZSBvcGVuczoNCiAgICAgICAgdGVz dCBzZWNvbmQgL2Rldi92aWRlbzMyIG9wZW46IE9LDQogICAgICAgICAgICAgICAgZmFpbDogdjRs Mi1jb21wbGlhbmNlLmNwcCg2NjgpOiBkY2FwcyAmIG91dHB1dF9jYXBzDQogICAgICAgIHRlc3Qg VklESU9DX1FVRVJZQ0FQOiBGQUlMDQogICAgICAgIHRlc3QgVklESU9DX0cvU19QUklPUklUWTog T0sNCiAgICAgICAgdGVzdCBmb3IgdW5saW1pdGVkIG9wZW5zOiBPSw0KDQpEZWJ1ZyBpb2N0bHM6 DQogICAgICAgIHRlc3QgVklESU9DX0RCR19HL1NfUkVHSVNURVI6IE9LIChOb3QgU3VwcG9ydGVk KQ0KICAgICAgICB0ZXN0IFZJRElPQ19MT0dfU1RBVFVTOiBPSyAoTm90IFN1cHBvcnRlZCkNCg0K SW5wdXQgaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19HL1NfVFVORVIvRU5VTV9GUkVRX0JB TkRTOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0ZSRVFVRU5D WTogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX1NfSFdfRlJFUV9TRUVL OiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRU5VTUFVRElPOiBPSyAo Tm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TL0VOVU1JTlBVVDogT0sgKE5v dCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0cvU19BVURJTzogT0sgKE5vdCBTdXBw b3J0ZWQpDQogICAgICAgIElucHV0czogMCBBdWRpbyBJbnB1dHM6IDAgVHVuZXJzOiAwDQoNCk91 dHB1dCBpb2N0bHM6DQogICAgICAgIHRlc3QgVklESU9DX0cvU19NT0RVTEFUT1I6IE9LIChOb3Qg U3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19HL1NfRlJFUVVFTkNZOiBPSyAoTm90IFN1 cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRU5VTUFVRE9VVDogT0sgKE5vdCBTdXBwb3J0 ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0cvUy9FTlVNT1VUUFVUOiBPSyAoTm90IFN1cHBvcnRl ZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0FVRE9VVDogT0sgKE5vdCBTdXBwb3J0ZWQpDQog ICAgICAgIE91dHB1dHM6IDAgQXVkaW8gT3V0cHV0czogMCBNb2R1bGF0b3JzOiAwDQoNCklucHV0 L091dHB1dCBjb25maWd1cmF0aW9uIGlvY3RsczoNCiAgICAgICAgdGVzdCBWSURJT0NfRU5VTS9H L1MvUVVFUllfU1REOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRU5V TS9HL1MvUVVFUllfRFZfVElNSU5HUzogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3Qg VklESU9DX0RWX1RJTUlOR1NfQ0FQOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBW SURJT0NfRy9TX0VESUQ6IE9LIChOb3QgU3VwcG9ydGVkKQ0KDQpDb250cm9sIGlvY3RsczoNCiAg ICAgICAgdGVzdCBWSURJT0NfUVVFUllfRVhUX0NUUkwvUVVFUllNRU5VOiBPSw0KICAgICAgICB0 ZXN0IFZJRElPQ19RVUVSWUNUUkw6IE9LDQogICAgICAgIHRlc3QgVklESU9DX0cvU19DVFJMOiBP Sw0KICAgICAgICB0ZXN0IFZJRElPQ19HL1MvVFJZX0VYVF9DVFJMUzogT0sNCiAgICAgICAgdGVz dCBWSURJT0NfKFVOKVNVQlNDUklCRV9FVkVOVC9EUUVWRU5UOiBPSw0KICAgICAgICB0ZXN0IFZJ RElPQ19HL1NfSlBFR0NPTVA6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICBTdGFuZGFyZCBD b250cm9sczogMSBQcml2YXRlIENvbnRyb2xzOiA2DQoNCkZvcm1hdCBpb2N0bHM6DQogICAgICAg IHRlc3QgVklESU9DX0VOVU1fRk1UL0ZSQU1FU0laRVMvRlJBTUVJTlRFUlZBTFM6IE9LDQogICAg ICAgIHRlc3QgVklESU9DX0cvU19QQVJNOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVz dCBWSURJT0NfR19GQlVGOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgICAgICAgICBmYWls OiB2NGwyLXRlc3QtZm9ybWF0cy5jcHAoNDU3KTogcGl4ZWxmb3JtYXQgMDAwMDAwMDAgKCkgZm9y IGJ1ZnR5cGUgMTAgbm90IHJlcG9ydGVkIGJ5IEVOVU1fRk1UDQogICAgICAgIHRlc3QgVklESU9D X0dfRk1UOiBGQUlMDQogICAgICAgICAgICAgICAgZmFpbDogdjRsMi10ZXN0LWZvcm1hdHMuY3Bw KDQ1Nyk6IHBpeGVsZm9ybWF0IDAwMDAwMDAwICgpIGZvciBidWZ0eXBlIDEwIG5vdCByZXBvcnRl ZCBieSBFTlVNX0ZNVA0KICAgICAgICB0ZXN0IFZJRElPQ19UUllfRk1UOiBGQUlMDQogICAgICAg ICAgICAgICAgZmFpbDogdjRsMi10ZXN0LWZvcm1hdHMuY3BwKDQ1Nyk6IHBpeGVsZm9ybWF0IGZm ZmZmZmZmICgtQkUpIGZvciBidWZ0eXBlIDEwIG5vdCByZXBvcnRlZCBieSBFTlVNX0ZNVA0KICAg ICAgICB0ZXN0IFZJRElPQ19TX0ZNVDogRkFJTA0KICAgICAgICB0ZXN0IFZJRElPQ19HX1NMSUNF RF9WQklfQ0FQOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBDcm9wcGluZzogT0sg KE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgQ29tcG9zaW5nOiBPSyAoTm90IFN1cHBvcnRl ZCkNCiAgICAgICAgdGVzdCBTY2FsaW5nOiBPSyAoTm90IFN1cHBvcnRlZCkNCg0KQ29kZWMgaW9j dGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDogT0sgKE5vdCBTdXBw b3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0dfRU5DX0lOREVYOiBPSyAoTm90IFN1cHBvcnRl ZCkNCiAgICAgICAgdGVzdCBWSURJT0NfKFRSWV8pREVDT0RFUl9DTUQ6IE9LIChOb3QgU3VwcG9y dGVkKQ0KDQpCdWZmZXIgaW9jdGxzOg0KICAgICAgICAgICAgICAgIGZhaWw6IHY0bDItdGVzdC1i dWZmZXJzLmNwcCg2NjcpOiBxMi5yZXFidWZzKG5vZGUtPm5vZGUyLCAxKSAhPSBFQlVTWQ0KICAg ICAgICB0ZXN0IFZJRElPQ19SRVFCVUZTL0NSRUFURV9CVUZTL1FVRVJZQlVGOiBGQUlMDQogICAg ICAgIHRlc3QgVklESU9DX0VYUEJVRjogT0sNCiAgICAgICAgdGVzdCBSZXF1ZXN0czogT0sNCg0K VG90YWwgZm9yIG10ay1mZC00LjAgZGV2aWNlIC9kZXYvdmlkZW8zMjogNDUsIFN1Y2NlZWRlZDog MzksIEZhaWxlZDogNiwgV2FybmluZ3M6IDANCg0KR3JhbmQgVG90YWwgZm9yIG10ay1mZC00LjAg ZGV2aWNlIC9kZXYvbWVkaWEyOiA1MiwgU3VjY2VlZGVkOiA0NiwgRmFpbGVkOiA2LCBXYXJuaW5n czogMA0K