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=-3.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT 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 D406AC43331 for ; Fri, 3 Apr 2020 09:52:12 +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 5D8F920737 for ; Fri, 3 Apr 2020 09:52:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="iZLG54GT"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="D/IqbjcM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5D8F920737 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=xpHrus+vCArhbMhjmhKwCI1PVu1+ecr97lNN91zspGs=; b=iZLG54GTYaokja IAVxSk3niVAJ1LKqPQbMFOuBP9pnafLW8KL6iEHzN+HOyVdxGjYE3Yq6o0qvx6G9+oTr2Mg7xojB3 9lNQ1j09QLAJu6kD0tv602GyziFkN2T3MmB82Fj4kewSNahaXYXy3v3PxGJLP0YX0Egfl1p5U9Ynw MqNc7vSRaG3p2l+4Yr/4x232/xWe7CmOVCxplKisGVOuOHuwovveYxgY9b0ukYfDmNRtCpPHc+SLh eTXSEKUhNgXeF5/7o6D7Zck9Wq0ONnGJ+ZnV4B+BVH/hviBRDro+FMYu0O2ZG5JQw8RXQmrKqYdz5 5hFl4xecrloWYVFh5VqQ==; 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 1jKIzY-0001Vo-Te; Fri, 03 Apr 2020 09:52:00 +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 1jKIyJ-0000F8-2F; Fri, 03 Apr 2020 09:50:45 +0000 X-UUID: 102ca61c4b9a409697109a7b1750c445-20200403 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=4/Szp22TIeFRKkKdg5sgHMM/fFpzOCDCJv8H3zfVTdw=; b=D/IqbjcMyrdY52uApA/madOirMHdJqOaeSZUiKAqxcd7KM1Y9OKP9kFDNeZOTJUHlgnGjUxsdKFk7jycBmMl7OlZLlC8xjkvqK7YBC9rF7B4KPIfmgPgkT6/KtUT+s22D3YtCXu7aeUi9lsoc+inuDSFbbus9qmwjNzlA3TO8vQ=; X-UUID: 102ca61c4b9a409697109a7b1750c445-20200403 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1523184563; Fri, 03 Apr 2020 01:50:33 -0800 Received: from mtkmbs05n1.mediatek.inc (172.21.101.15) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 3 Apr 2020 02:40:34 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 3 Apr 2020 17:40:31 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 3 Apr 2020 17:40:30 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v8 00/14] Add support for mt2701 JPEG ENC support Date: Fri, 3 Apr 2020 17:40:19 +0800 Message-ID: <20200403094033.8288-1-xia.jiang@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-20200403_025043_154210_E029B6ED X-CRM114-Status: UNSURE ( 9.83 ) 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: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, sj.huang@mediatek.com, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski 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 This patchset add support for mt2701 JPEG ENC support. This is the compliance test result for jpeg dec and enc. The JPEG dec log: ------------------------------------------------------------ Compliance test for mtk-jpeg device /dev/video0: Driver Info: Driver name : mtk-jpeg Card type : mtk-jpeg decoder Bus info : platform:15004000.jpegdec Driver version : 5.6.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 JPEG 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 test invalid ioctls: 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 (Not Supported) test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 0 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 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: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mtk-jpeg device /dev/video0: 45, Succeeded: 45, Failed: 0, Warnings: 0 ------------------------------------------------------------ The JPEG enc log: ------------------------------------------------------------ v4l2-compliance -d /dev/video1 v4l2-compliance SHA: 38f4ce74275ae4625463f7eec78764715a0b6246, 32 bits, 32-bit time_t Compliance test for mtk-jpeg device /dev/video1: Driver Info: Driver name : mtk-jpeg Card type : mtk-jpeg encoder Bus info : platform:1500a000.jpegenc Driver version : 5.6.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 JPEG Encoder Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second /dev/video1 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK test invalid ioctls: 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: 4 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 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: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mtk-jpeg device /dev/video1: 45, Succeeded: 45, Failed: 0, Warnings: 0 ------------------------------------------------------------ Change compared to v7: -add one patch for improving getting and requesting irq flow. -add one patch for improving power on and off flow. -add one patch for changing the fixed device node number to unfixed value. -add one patch for improving the implementation of the system PM ops. -cancel the patch of improving jpeg decoder s_selection flow. -jpeg encoder and decoder use separate callbacks instead of repeating the if/else in every callback. -improve vidioc_try_fmt() implementation that can be shared by jpeg encoder and decoder. -fix the bug of jpeg encoder s_selection. -cancel the state of the jpeg encoder. -improve jpeg encoder and decoder set default params flow. -put the clock names and other datas in a match_data struct. -fix the bug of geting correctly quality value. -do the all the bits' settings of one register in one function. -move the code of mtk_jpeg_enc_reg.h to mtk_jpeg_enc_hw.h and delete mtk_jpeg_enc_reg.h. Xia Jiang (14): media: platform: Improve subscribe event flow for bug fixing media: platform: Improve queue set up flow for bug fixing media: platform: Improve getting and requesting irq flow for bug fixing media: platform: Change the fixed device node number to unfixed value media: platform: Improve power on and power off flow media: platform: Improve the implementation of the system PM ops media: platform: Use kernel native functions for improving code quality media: platform: Change case for improving code quality media: platform: Change MTK_JPEG_COMP_MAX macro definition location media: platform: Delete redundant code for improving code quality media: dt-bindings: Add jpeg enc device tree node document arm: dts: Add jpeg enc device tree node media: platform: Rename jpeg dec file name media: platform: Add jpeg dec/enc feature .../bindings/media/mediatek-jpeg-encoder.txt | 37 + arch/arm/boot/dts/mt2701.dtsi | 13 + drivers/media/platform/mtk-jpeg/Makefile | 5 +- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 1119 +++++++++++++---- .../media/platform/mtk-jpeg/mtk_jpeg_core.h | 62 +- .../{mtk_jpeg_hw.c => mtk_jpeg_dec_hw.c} | 10 +- .../{mtk_jpeg_hw.h => mtk_jpeg_dec_hw.h} | 14 +- ...{mtk_jpeg_parse.c => mtk_jpeg_dec_parse.c} | 2 +- ...{mtk_jpeg_parse.h => mtk_jpeg_dec_parse.h} | 2 +- .../{mtk_jpeg_reg.h => mtk_jpeg_dec_reg.h} | 19 +- .../media/platform/mtk-jpeg/mtk_jpeg_enc_hw.c | 193 +++ .../media/platform/mtk-jpeg/mtk_jpeg_enc_hw.h | 123 ++ 12 files changed, 1285 insertions(+), 314 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.txt rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_hw.c => mtk_jpeg_dec_hw.c} (98%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_hw.h => mtk_jpeg_dec_hw.h} (89%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_parse.c => mtk_jpeg_dec_parse.c} (98%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_parse.h => mtk_jpeg_dec_parse.h} (92%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_reg.h => mtk_jpeg_dec_reg.h} (77%) create mode 100644 drivers/media/platform/mtk-jpeg/mtk_jpeg_enc_hw.c create mode 100644 drivers/media/platform/mtk-jpeg/mtk_jpeg_enc_hw.h -- 2.18.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=-3.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT 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 0F2A8C43331 for ; Fri, 3 Apr 2020 09:52:23 +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 D0E1720737 for ; Fri, 3 Apr 2020 09:52:22 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Y4k9rqfE"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="D/IqbjcM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D0E1720737 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=bl9fyBR0eb7TpdrNTP+EZh5oiloq2wUlDU9TBdLeHbU=; b=Y4k9rqfEOujIWw 1YQG9hwm7NRpdwVxJAlxMQzq6g20ICk/yebAkpHJhvmtIJfEGO3p5BsDEY1zPUEZV8vlIxAKTwwnZ miDVkeEGqltaSx701rffYvtetsKegYceTcPvTsollrsrYsfmQj9xsnBISV/BWa/df/5+RnT1tr82R I4MGBjdXfv4v/YQG2TrJ4JgGYzELeMgVJq6te9s8kN0lv36PdSDugoYeyqgNwZLiHDPA6lUfGqBIh 0kYFCPeCnDsIfKPpJKlTKuhmrTCGY2pCLM46bftUcomKIcU+lyrY7eTkvfwU2X3APRT3Y+zhl/ePh BtzniWs8g5o9FZwbxUhg==; 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 1jKIzt-0001lr-7m; Fri, 03 Apr 2020 09:52:21 +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 1jKIyJ-0000F8-2F; Fri, 03 Apr 2020 09:50:45 +0000 X-UUID: 102ca61c4b9a409697109a7b1750c445-20200403 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=4/Szp22TIeFRKkKdg5sgHMM/fFpzOCDCJv8H3zfVTdw=; b=D/IqbjcMyrdY52uApA/madOirMHdJqOaeSZUiKAqxcd7KM1Y9OKP9kFDNeZOTJUHlgnGjUxsdKFk7jycBmMl7OlZLlC8xjkvqK7YBC9rF7B4KPIfmgPgkT6/KtUT+s22D3YtCXu7aeUi9lsoc+inuDSFbbus9qmwjNzlA3TO8vQ=; X-UUID: 102ca61c4b9a409697109a7b1750c445-20200403 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 1523184563; Fri, 03 Apr 2020 01:50:33 -0800 Received: from mtkmbs05n1.mediatek.inc (172.21.101.15) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 3 Apr 2020 02:40:34 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 3 Apr 2020 17:40:31 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 3 Apr 2020 17:40:30 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , "Matthias Brugger" , Rick Chang Subject: [PATCH v8 00/14] Add support for mt2701 JPEG ENC support Date: Fri, 3 Apr 2020 17:40:19 +0800 Message-ID: <20200403094033.8288-1-xia.jiang@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-20200403_025043_154210_E029B6ED X-CRM114-Status: UNSURE ( 9.83 ) 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: maoguang.meng@mediatek.com, devicetree@vger.kernel.org, mojahsu@chromium.org, srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Tomasz Figa , senozhatsky@chromium.org, sj.huang@mediatek.com, drinkcat@chromium.org, linux-mediatek@lists.infradead.org, linux-media@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Marek Szyprowski 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 This patchset add support for mt2701 JPEG ENC support. This is the compliance test result for jpeg dec and enc. The JPEG dec log: ------------------------------------------------------------ Compliance test for mtk-jpeg device /dev/video0: Driver Info: Driver name : mtk-jpeg Card type : mtk-jpeg decoder Bus info : platform:15004000.jpegdec Driver version : 5.6.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 JPEG 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 test invalid ioctls: 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 (Not Supported) test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 0 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 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: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mtk-jpeg device /dev/video0: 45, Succeeded: 45, Failed: 0, Warnings: 0 ------------------------------------------------------------ The JPEG enc log: ------------------------------------------------------------ v4l2-compliance -d /dev/video1 v4l2-compliance SHA: 38f4ce74275ae4625463f7eec78764715a0b6246, 32 bits, 32-bit time_t Compliance test for mtk-jpeg device /dev/video1: Driver Info: Driver name : mtk-jpeg Card type : mtk-jpeg encoder Bus info : platform:1500a000.jpegenc Driver version : 5.6.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 JPEG Encoder Required ioctls: test VIDIOC_QUERYCAP: OK Allow for multiple opens: test second /dev/video1 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK test invalid ioctls: 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: 4 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 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: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mtk-jpeg device /dev/video1: 45, Succeeded: 45, Failed: 0, Warnings: 0 ------------------------------------------------------------ Change compared to v7: -add one patch for improving getting and requesting irq flow. -add one patch for improving power on and off flow. -add one patch for changing the fixed device node number to unfixed value. -add one patch for improving the implementation of the system PM ops. -cancel the patch of improving jpeg decoder s_selection flow. -jpeg encoder and decoder use separate callbacks instead of repeating the if/else in every callback. -improve vidioc_try_fmt() implementation that can be shared by jpeg encoder and decoder. -fix the bug of jpeg encoder s_selection. -cancel the state of the jpeg encoder. -improve jpeg encoder and decoder set default params flow. -put the clock names and other datas in a match_data struct. -fix the bug of geting correctly quality value. -do the all the bits' settings of one register in one function. -move the code of mtk_jpeg_enc_reg.h to mtk_jpeg_enc_hw.h and delete mtk_jpeg_enc_reg.h. Xia Jiang (14): media: platform: Improve subscribe event flow for bug fixing media: platform: Improve queue set up flow for bug fixing media: platform: Improve getting and requesting irq flow for bug fixing media: platform: Change the fixed device node number to unfixed value media: platform: Improve power on and power off flow media: platform: Improve the implementation of the system PM ops media: platform: Use kernel native functions for improving code quality media: platform: Change case for improving code quality media: platform: Change MTK_JPEG_COMP_MAX macro definition location media: platform: Delete redundant code for improving code quality media: dt-bindings: Add jpeg enc device tree node document arm: dts: Add jpeg enc device tree node media: platform: Rename jpeg dec file name media: platform: Add jpeg dec/enc feature .../bindings/media/mediatek-jpeg-encoder.txt | 37 + arch/arm/boot/dts/mt2701.dtsi | 13 + drivers/media/platform/mtk-jpeg/Makefile | 5 +- .../media/platform/mtk-jpeg/mtk_jpeg_core.c | 1119 +++++++++++++---- .../media/platform/mtk-jpeg/mtk_jpeg_core.h | 62 +- .../{mtk_jpeg_hw.c => mtk_jpeg_dec_hw.c} | 10 +- .../{mtk_jpeg_hw.h => mtk_jpeg_dec_hw.h} | 14 +- ...{mtk_jpeg_parse.c => mtk_jpeg_dec_parse.c} | 2 +- ...{mtk_jpeg_parse.h => mtk_jpeg_dec_parse.h} | 2 +- .../{mtk_jpeg_reg.h => mtk_jpeg_dec_reg.h} | 19 +- .../media/platform/mtk-jpeg/mtk_jpeg_enc_hw.c | 193 +++ .../media/platform/mtk-jpeg/mtk_jpeg_enc_hw.h | 123 ++ 12 files changed, 1285 insertions(+), 314 deletions(-) create mode 100644 Documentation/devicetree/bindings/media/mediatek-jpeg-encoder.txt rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_hw.c => mtk_jpeg_dec_hw.c} (98%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_hw.h => mtk_jpeg_dec_hw.h} (89%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_parse.c => mtk_jpeg_dec_parse.c} (98%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_parse.h => mtk_jpeg_dec_parse.h} (92%) rename drivers/media/platform/mtk-jpeg/{mtk_jpeg_reg.h => mtk_jpeg_dec_reg.h} (77%) create mode 100644 drivers/media/platform/mtk-jpeg/mtk_jpeg_enc_hw.c create mode 100644 drivers/media/platform/mtk-jpeg/mtk_jpeg_enc_hw.h -- 2.18.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=-3.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_GIT 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 61A67C2D0E8 for ; Fri, 3 Apr 2020 09:41:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2534220B1F for ; Fri, 3 Apr 2020 09:41:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="Mj5LAgPF" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390709AbgDCJko (ORCPT ); Fri, 3 Apr 2020 05:40:44 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:36555 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2390621AbgDCJkn (ORCPT ); Fri, 3 Apr 2020 05:40:43 -0400 X-UUID: b357c882bb3048478ab6e58fce4c8eb3-20200403 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=4/Szp22TIeFRKkKdg5sgHMM/fFpzOCDCJv8H3zfVTdw=; b=Mj5LAgPFYjk1ZGpwFSBYgk6ME8+UYg8Q8ChGGXVE/QTWXbOOXHmqV7tHKoorrNFmwOP0hhW+rgdM9oqohezAET38k4jfxRDJV3TGb9shVQ0+80yoVBEm86sBeg2dF+u3aZFxNSsqsjXFMbJqUcxQIwYeinNcwtYCYO6/bbFYylU=; X-UUID: b357c882bb3048478ab6e58fce4c8eb3-20200403 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1326038586; Fri, 03 Apr 2020 17:40:35 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 3 Apr 2020 17:40:31 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 3 Apr 2020 17:40:30 +0800 From: Xia Jiang To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Rick Chang CC: , , , , , Marek Szyprowski , Tomasz Figa , , , , , , Subject: [PATCH v8 00/14] Add support for mt2701 JPEG ENC support Date: Fri, 3 Apr 2020 17:40:19 +0800 Message-ID: <20200403094033.8288-1-xia.jiang@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 VGhpcyBwYXRjaHNldCBhZGQgc3VwcG9ydCBmb3IgbXQyNzAxIEpQRUcgRU5DIHN1cHBvcnQuDQoN ClRoaXMgaXMgdGhlIGNvbXBsaWFuY2UgdGVzdCByZXN1bHQgZm9yIGpwZWcgZGVjIGFuZCBlbmMu DQoNClRoZSBKUEVHIGRlYyBsb2c6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpDb21wbGlhbmNlIHRlc3QgZm9yIG10ay1qcGVnIGRldmljZSAvZGV2L3Zp ZGVvMDoNCg0KRHJpdmVyIEluZm86DQogICAgICAgIERyaXZlciBuYW1lICAgICAgOiBtdGstanBl Zw0KICAgICAgICBDYXJkIHR5cGUgICAgICAgIDogbXRrLWpwZWcgZGVjb2Rlcg0KICAgICAgICBC dXMgaW5mbyAgICAgICAgIDogcGxhdGZvcm06MTUwMDQwMDAuanBlZ2RlYw0KICAgICAgICBEcml2 ZXIgdmVyc2lvbiAgIDogNS42LjANCiAgICAgICAgQ2FwYWJpbGl0aWVzICAgICA6IDB4ODQyMDQw MDANCiAgICAgICAgICAgICAgICBWaWRlbyBNZW1vcnktdG8tTWVtb3J5IE11bHRpcGxhbmFyDQog ICAgICAgICAgICAgICAgU3RyZWFtaW5nDQogICAgICAgICAgICAgICAgRXh0ZW5kZWQgUGl4IEZv cm1hdA0KICAgICAgICAgICAgICAgIERldmljZSBDYXBhYmlsaXRpZXMNCiAgICAgICAgRGV2aWNl IENhcHMgICAgICA6IDB4MDQyMDQwMDANCiAgICAgICAgICAgICAgICBWaWRlbyBNZW1vcnktdG8t TWVtb3J5IE11bHRpcGxhbmFyDQogICAgICAgICAgICAgICAgU3RyZWFtaW5nDQogICAgICAgICAg ICAgICAgRXh0ZW5kZWQgUGl4IEZvcm1hdA0KICAgICAgICBEZXRlY3RlZCBKUEVHIERlY29kZXIN Cg0KUmVxdWlyZWQgaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19RVUVSWUNBUDogT0sNCg0K QWxsb3cgZm9yIG11bHRpcGxlIG9wZW5zOg0KICAgICAgICB0ZXN0IHNlY29uZCAvZGV2L3ZpZGVv MCBvcGVuOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19RVUVSWUNBUDogT0sNCiAgICAgICAgdGVz dCBWSURJT0NfRy9TX1BSSU9SSVRZOiBPSw0KICAgICAgICB0ZXN0IGZvciB1bmxpbWl0ZWQgb3Bl bnM6IE9LDQoNCiAgICAgICAgdGVzdCBpbnZhbGlkIGlvY3RsczogT0sNCkRlYnVnIGlvY3RsczoN CiAgICAgICAgdGVzdCBWSURJT0NfREJHX0cvU19SRUdJU1RFUjogT0sgKE5vdCBTdXBwb3J0ZWQp DQogICAgICAgIHRlc3QgVklESU9DX0xPR19TVEFUVVM6IE9LIChOb3QgU3VwcG9ydGVkKQ0KDQpJ bnB1dCBpb2N0bHM6DQogICAgICAgIHRlc3QgVklESU9DX0cvU19UVU5FUi9FTlVNX0ZSRVFfQkFO RFM6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19HL1NfRlJFUVVFTkNZ OiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfU19IV19GUkVRX1NFRUs6 IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19FTlVNQVVESU86IE9LIChO b3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19HL1MvRU5VTUlOUFVUOiBPSyAoTm90 IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0FVRElPOiBPSyAoTm90IFN1cHBv cnRlZCkNCiAgICAgICAgSW5wdXRzOiAwIEF1ZGlvIElucHV0czogMCBUdW5lcnM6IDANCg0KT3V0 cHV0IGlvY3RsczoNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX01PRFVMQVRPUjogT0sgKE5vdCBT dXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0cvU19GUkVRVUVOQ1k6IE9LIChOb3QgU3Vw cG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19FTlVNQVVET1VUOiBPSyAoTm90IFN1cHBvcnRl ZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TL0VOVU1PVVRQVVQ6IE9LIChOb3QgU3VwcG9ydGVk KQ0KICAgICAgICB0ZXN0IFZJRElPQ19HL1NfQVVET1VUOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAg ICAgICAgT3V0cHV0czogMCBBdWRpbyBPdXRwdXRzOiAwIE1vZHVsYXRvcnM6IDANCg0KSW5wdXQv T3V0cHV0IGNvbmZpZ3VyYXRpb24gaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19FTlVNL0cv Uy9RVUVSWV9TVEQ6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19FTlVN L0cvUy9RVUVSWV9EVl9USU1JTkdTOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBW SURJT0NfRFZfVElNSU5HU19DQVA6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJ RElPQ19HL1NfRURJRDogT0sgKE5vdCBTdXBwb3J0ZWQpDQoNCkNvbnRyb2wgaW9jdGxzOg0KICAg ICAgICB0ZXN0IFZJRElPQ19RVUVSWV9FWFRfQ1RSTC9RVUVSWU1FTlU6IE9LDQogICAgICAgIHRl c3QgVklESU9DX1FVRVJZQ1RSTDogT0sNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0NUUkw6IE9L DQogICAgICAgIHRlc3QgVklESU9DX0cvUy9UUllfRVhUX0NUUkxTOiBPSw0KICAgICAgICB0ZXN0 IFZJRElPQ18oVU4pU1VCU0NSSUJFX0VWRU5UL0RRRVZFTlQ6IE9LIChOb3QgU3VwcG9ydGVkKQ0K ICAgICAgICB0ZXN0IFZJRElPQ19HL1NfSlBFR0NPTVA6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAg ICAgICBTdGFuZGFyZCBDb250cm9sczogMCBQcml2YXRlIENvbnRyb2xzOiAwDQoNCkZvcm1hdCBp b2N0bHM6DQogICAgICAgIHRlc3QgVklESU9DX0VOVU1fRk1UL0ZSQU1FU0laRVMvRlJBTUVJTlRF UlZBTFM6IE9LDQogICAgICAgIHRlc3QgVklESU9DX0cvU19QQVJNOiBPSyAoTm90IFN1cHBvcnRl ZCkNCiAgICAgICAgdGVzdCBWSURJT0NfR19GQlVGOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAg ICAgdGVzdCBWSURJT0NfR19GTVQ6IE9LDQogICAgICAgIHRlc3QgVklESU9DX1RSWV9GTVQ6IE9L DQogICAgICAgIHRlc3QgVklESU9DX1NfRk1UOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19HX1NM SUNFRF9WQklfQ0FQOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBDcm9wcGluZzog T0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgQ29tcG9zaW5nOiBPSw0KICAgICAgICB0 ZXN0IFNjYWxpbmc6IE9LIChOb3QgU3VwcG9ydGVkKQ0KDQpDb2RlYyBpb2N0bHM6DQogICAgICAg IHRlc3QgVklESU9DXyhUUllfKUVOQ09ERVJfQ01EOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAg ICAgdGVzdCBWSURJT0NfR19FTkNfSU5ERVg6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0 ZXN0IFZJRElPQ18oVFJZXylERUNPREVSX0NNRDogT0sgKE5vdCBTdXBwb3J0ZWQpDQoNCkJ1ZmZl ciBpb2N0bHM6DQogICAgICAgIHRlc3QgVklESU9DX1JFUUJVRlMvQ1JFQVRFX0JVRlMvUVVFUllC VUY6IE9LDQogICAgICAgIHRlc3QgVklESU9DX0VYUEJVRjogT0sNCiAgICAgICAgdGVzdCBSZXF1 ZXN0czogT0sgKE5vdCBTdXBwb3J0ZWQpDQoNClRvdGFsIGZvciBtdGstanBlZyBkZXZpY2UgL2Rl di92aWRlbzA6IDQ1LCBTdWNjZWVkZWQ6IDQ1LCBGYWlsZWQ6IDAsIFdhcm5pbmdzOiAwDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cg0KVGhlIEpQRUcgZW5jIGxvZzoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQp2NGwyLWNvbXBsaWFuY2UgLWQgL2Rldi92aWRl bzEgDQp2NGwyLWNvbXBsaWFuY2UgU0hBOiAzOGY0Y2U3NDI3NWFlNDYyNTQ2M2Y3ZWVjNzg3NjQ3 MTVhMGI2MjQ2LCAzMiBiaXRzLCAzMi1iaXQgdGltZV90DQoNCkNvbXBsaWFuY2UgdGVzdCBmb3Ig bXRrLWpwZWcgZGV2aWNlIC9kZXYvdmlkZW8xOg0KDQpEcml2ZXIgSW5mbzoNCiAgICAgICAgRHJp dmVyIG5hbWUgICAgICA6IG10ay1qcGVnDQogICAgICAgIENhcmQgdHlwZSAgICAgICAgOiBtdGst anBlZyBlbmNvZGVyDQogICAgICAgIEJ1cyBpbmZvICAgICAgICAgOiBwbGF0Zm9ybToxNTAwYTAw MC5qcGVnZW5jDQogICAgICAgIERyaXZlciB2ZXJzaW9uICAgOiA1LjYuMA0KICAgICAgICBDYXBh YmlsaXRpZXMgICAgIDogMHg4NDIwNDAwMA0KICAgICAgICAgICAgICAgIFZpZGVvIE1lbW9yeS10 by1NZW1vcnkgTXVsdGlwbGFuYXINCiAgICAgICAgICAgICAgICBTdHJlYW1pbmcNCiAgICAgICAg ICAgICAgICBFeHRlbmRlZCBQaXggRm9ybWF0DQogICAgICAgICAgICAgICAgRGV2aWNlIENhcGFi aWxpdGllcw0KICAgICAgICBEZXZpY2UgQ2FwcyAgICAgIDogMHgwNDIwNDAwMA0KICAgICAgICAg ICAgICAgIFZpZGVvIE1lbW9yeS10by1NZW1vcnkgTXVsdGlwbGFuYXINCiAgICAgICAgICAgICAg ICBTdHJlYW1pbmcNCiAgICAgICAgICAgICAgICBFeHRlbmRlZCBQaXggRm9ybWF0DQogICAgICAg IERldGVjdGVkIEpQRUcgRW5jb2Rlcg0KDQpSZXF1aXJlZCBpb2N0bHM6DQogICAgICAgIHRlc3Qg VklESU9DX1FVRVJZQ0FQOiBPSw0KDQpBbGxvdyBmb3IgbXVsdGlwbGUgb3BlbnM6DQogICAgICAg IHRlc3Qgc2Vjb25kIC9kZXYvdmlkZW8xIG9wZW46IE9LDQogICAgICAgIHRlc3QgVklESU9DX1FV RVJZQ0FQOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19HL1NfUFJJT1JJVFk6IE9LDQogICAgICAg IHRlc3QgZm9yIHVubGltaXRlZCBvcGVuczogT0sNCg0KICAgICAgICB0ZXN0IGludmFsaWQgaW9j dGxzOiBPSw0KRGVidWcgaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19EQkdfRy9TX1JFR0lT VEVSOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfTE9HX1NUQVRVUzog T0sgKE5vdCBTdXBwb3J0ZWQpDQoNCklucHV0IGlvY3RsczoNCiAgICAgICAgdGVzdCBWSURJT0Nf Ry9TX1RVTkVSL0VOVU1fRlJFUV9CQU5EUzogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRl c3QgVklESU9DX0cvU19GUkVRVUVOQ1k6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0 IFZJRElPQ19TX0hXX0ZSRVFfU0VFSzogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3Qg VklESU9DX0VOVU1BVURJTzogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9D X0cvUy9FTlVNSU5QVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19H L1NfQVVESU86IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICBJbnB1dHM6IDAgQXVkaW8gSW5w dXRzOiAwIFR1bmVyczogMA0KDQpPdXRwdXQgaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19H L1NfTU9EVUxBVE9SOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAgICAgICAgdGVzdCBWSURJT0NfRy9T X0ZSRVFVRU5DWTogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0VOVU1B VURPVVQ6IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19HL1MvRU5VTU9V VFBVVDogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0cvU19BVURPVVQ6 IE9LIChOb3QgU3VwcG9ydGVkKQ0KICAgICAgICBPdXRwdXRzOiAwIEF1ZGlvIE91dHB1dHM6IDAg TW9kdWxhdG9yczogMA0KDQpJbnB1dC9PdXRwdXQgY29uZmlndXJhdGlvbiBpb2N0bHM6DQogICAg ICAgIHRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX1NURDogT0sgKE5vdCBTdXBwb3J0ZWQpDQog ICAgICAgIHRlc3QgVklESU9DX0VOVU0vRy9TL1FVRVJZX0RWX1RJTUlOR1M6IE9LIChOb3QgU3Vw cG9ydGVkKQ0KICAgICAgICB0ZXN0IFZJRElPQ19EVl9USU1JTkdTX0NBUDogT0sgKE5vdCBTdXBw b3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0cvU19FRElEOiBPSyAoTm90IFN1cHBvcnRlZCkN Cg0KQ29udHJvbCBpb2N0bHM6DQogICAgICAgIHRlc3QgVklESU9DX1FVRVJZX0VYVF9DVFJML1FV RVJZTUVOVTogT0sNCiAgICAgICAgdGVzdCBWSURJT0NfUVVFUllDVFJMOiBPSw0KICAgICAgICB0 ZXN0IFZJRElPQ19HL1NfQ1RSTDogT0sNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TL1RSWV9FWFRf Q1RSTFM6IE9LDQogICAgICAgIHRlc3QgVklESU9DXyhVTilTVUJTQ1JJQkVfRVZFTlQvRFFFVkVO VDogT0sNCiAgICAgICAgdGVzdCBWSURJT0NfRy9TX0pQRUdDT01QOiBPSyAoTm90IFN1cHBvcnRl ZCkNCiAgICAgICAgU3RhbmRhcmQgQ29udHJvbHM6IDQgUHJpdmF0ZSBDb250cm9sczogMA0KDQpG b3JtYXQgaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19FTlVNX0ZNVC9GUkFNRVNJWkVTL0ZS QU1FSU5URVJWQUxTOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19HL1NfUEFSTTogT0sgKE5vdCBT dXBwb3J0ZWQpDQogICAgICAgIHRlc3QgVklESU9DX0dfRkJVRjogT0sgKE5vdCBTdXBwb3J0ZWQp DQogICAgICAgIHRlc3QgVklESU9DX0dfRk1UOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19UUllf Rk1UOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19TX0ZNVDogT0sNCiAgICAgICAgdGVzdCBWSURJ T0NfR19TTElDRURfVkJJX0NBUDogT0sgKE5vdCBTdXBwb3J0ZWQpDQogICAgICAgIHRlc3QgQ3Jv cHBpbmc6IE9LDQogICAgICAgIHRlc3QgQ29tcG9zaW5nOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAg ICAgICAgdGVzdCBTY2FsaW5nOiBPSyAoTm90IFN1cHBvcnRlZCkNCg0KQ29kZWMgaW9jdGxzOg0K ICAgICAgICB0ZXN0IFZJRElPQ18oVFJZXylFTkNPREVSX0NNRDogT0sgKE5vdCBTdXBwb3J0ZWQp DQogICAgICAgIHRlc3QgVklESU9DX0dfRU5DX0lOREVYOiBPSyAoTm90IFN1cHBvcnRlZCkNCiAg ICAgICAgdGVzdCBWSURJT0NfKFRSWV8pREVDT0RFUl9DTUQ6IE9LIChOb3QgU3VwcG9ydGVkKQ0K DQpCdWZmZXIgaW9jdGxzOg0KICAgICAgICB0ZXN0IFZJRElPQ19SRVFCVUZTL0NSRUFURV9CVUZT L1FVRVJZQlVGOiBPSw0KICAgICAgICB0ZXN0IFZJRElPQ19FWFBCVUY6IE9LDQogICAgICAgIHRl c3QgUmVxdWVzdHM6IE9LIChOb3QgU3VwcG9ydGVkKQ0KDQpUb3RhbCBmb3IgbXRrLWpwZWcgZGV2 aWNlIC9kZXYvdmlkZW8xOiA0NSwgU3VjY2VlZGVkOiA0NSwgRmFpbGVkOiAwLCBXYXJuaW5nczog MA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQoNCkNoYW5nZSBjb21wYXJlZCB0byB2NzoNCi1hZGQgb25lIHBhdGNoIGZvciBpbXBy b3ZpbmcgZ2V0dGluZyBhbmQgcmVxdWVzdGluZyBpcnEgZmxvdy4NCi1hZGQgb25lIHBhdGNoIGZv ciBpbXByb3ZpbmcgcG93ZXIgb24gYW5kIG9mZiBmbG93Lg0KLWFkZCBvbmUgcGF0Y2ggZm9yIGNo YW5naW5nIHRoZSBmaXhlZCBkZXZpY2Ugbm9kZSBudW1iZXIgdG8gdW5maXhlZCB2YWx1ZS4NCi1h ZGQgb25lIHBhdGNoIGZvciBpbXByb3ZpbmcgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzeXN0 ZW0gUE0gb3BzLg0KLWNhbmNlbCB0aGUgcGF0Y2ggb2YgaW1wcm92aW5nIGpwZWcgZGVjb2RlciBz X3NlbGVjdGlvbiBmbG93Lg0KLWpwZWcgZW5jb2RlciBhbmQgZGVjb2RlciB1c2Ugc2VwYXJhdGUg Y2FsbGJhY2tzIGluc3RlYWQgb2YgcmVwZWF0aW5nIHRoZSBpZi9lbHNlDQogaW4gZXZlcnkgY2Fs bGJhY2suDQotaW1wcm92ZSB2aWRpb2NfdHJ5X2ZtdCgpIGltcGxlbWVudGF0aW9uIHRoYXQgY2Fu IGJlIHNoYXJlZCBieSBqcGVnIGVuY29kZXIgYW5kIGRlY29kZXIuDQotZml4IHRoZSBidWcgb2Yg anBlZyBlbmNvZGVyIHNfc2VsZWN0aW9uLg0KLWNhbmNlbCB0aGUgc3RhdGUgb2YgdGhlIGpwZWcg ZW5jb2Rlci4NCi1pbXByb3ZlIGpwZWcgZW5jb2RlciBhbmQgZGVjb2RlciBzZXQgZGVmYXVsdCBw YXJhbXMgZmxvdy4NCi1wdXQgdGhlIGNsb2NrIG5hbWVzIGFuZCBvdGhlciBkYXRhcyBpbiBhIG1h dGNoX2RhdGEgc3RydWN0Lg0KLWZpeCB0aGUgYnVnIG9mIGdldGluZyBjb3JyZWN0bHkgcXVhbGl0 eSB2YWx1ZS4NCi1kbyB0aGUgYWxsIHRoZSBiaXRzJyBzZXR0aW5ncyBvZiBvbmUgcmVnaXN0ZXIg aW4gb25lIGZ1bmN0aW9uLg0KLW1vdmUgdGhlIGNvZGUgb2YgbXRrX2pwZWdfZW5jX3JlZy5oIHRv IG10a19qcGVnX2VuY19ody5oIGFuZCBkZWxldGUgbXRrX2pwZWdfZW5jX3JlZy5oLg0KDQpYaWEg SmlhbmcgKDE0KToNCiAgbWVkaWE6IHBsYXRmb3JtOiBJbXByb3ZlIHN1YnNjcmliZSBldmVudCBm bG93IGZvciBidWcgZml4aW5nDQogIG1lZGlhOiBwbGF0Zm9ybTogSW1wcm92ZSBxdWV1ZSBzZXQg dXAgZmxvdyBmb3IgYnVnIGZpeGluZw0KICBtZWRpYTogcGxhdGZvcm06IEltcHJvdmUgZ2V0dGlu ZyBhbmQgcmVxdWVzdGluZyBpcnEgZmxvdyBmb3IgYnVnDQogICAgZml4aW5nDQogIG1lZGlhOiBw bGF0Zm9ybTogQ2hhbmdlIHRoZSBmaXhlZCBkZXZpY2Ugbm9kZSBudW1iZXIgdG8gdW5maXhlZCB2 YWx1ZQ0KICBtZWRpYTogcGxhdGZvcm06IEltcHJvdmUgcG93ZXIgb24gYW5kIHBvd2VyIG9mZiBm bG93DQogIG1lZGlhOiBwbGF0Zm9ybTogSW1wcm92ZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhl IHN5c3RlbSBQTSBvcHMNCiAgbWVkaWE6IHBsYXRmb3JtOiBVc2Uga2VybmVsIG5hdGl2ZSBmdW5j dGlvbnMgZm9yIGltcHJvdmluZyBjb2RlDQogICAgcXVhbGl0eQ0KICBtZWRpYTogcGxhdGZvcm06 IENoYW5nZSBjYXNlIGZvciBpbXByb3ZpbmcgY29kZSBxdWFsaXR5DQogIG1lZGlhOiBwbGF0Zm9y bTogQ2hhbmdlIE1US19KUEVHX0NPTVBfTUFYIG1hY3JvIGRlZmluaXRpb24gbG9jYXRpb24NCiAg bWVkaWE6IHBsYXRmb3JtOiBEZWxldGUgcmVkdW5kYW50IGNvZGUgZm9yIGltcHJvdmluZyBjb2Rl IHF1YWxpdHkNCiAgbWVkaWE6IGR0LWJpbmRpbmdzOiBBZGQganBlZyBlbmMgZGV2aWNlIHRyZWUg bm9kZSBkb2N1bWVudA0KICBhcm06IGR0czogQWRkIGpwZWcgZW5jIGRldmljZSB0cmVlIG5vZGUN CiAgbWVkaWE6IHBsYXRmb3JtOiBSZW5hbWUganBlZyBkZWMgZmlsZSBuYW1lDQogIG1lZGlhOiBw bGF0Zm9ybTogQWRkIGpwZWcgZGVjL2VuYyBmZWF0dXJlDQoNCiAuLi4vYmluZGluZ3MvbWVkaWEv bWVkaWF0ZWstanBlZy1lbmNvZGVyLnR4dCAgfCAgIDM3ICsNCiBhcmNoL2FybS9ib290L2R0cy9t dDI3MDEuZHRzaSAgICAgICAgICAgICAgICAgfCAgIDEzICsNCiBkcml2ZXJzL21lZGlhL3BsYXRm b3JtL210ay1qcGVnL01ha2VmaWxlICAgICAgfCAgICA1ICstDQogLi4uL21lZGlhL3BsYXRmb3Jt L210ay1qcGVnL210a19qcGVnX2NvcmUuYyAgIHwgMTExOSArKysrKysrKysrKysrLS0tLQ0KIC4u Li9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19jb3JlLmggICB8ICAgNjIgKy0NCiAu Li4ve210a19qcGVnX2h3LmMgPT4gbXRrX2pwZWdfZGVjX2h3LmN9ICAgICAgfCAgIDEwICstDQog Li4uL3ttdGtfanBlZ19ody5oID0+IG10a19qcGVnX2RlY19ody5ofSAgICAgIHwgICAxNCArLQ0K IC4uLnttdGtfanBlZ19wYXJzZS5jID0+IG10a19qcGVnX2RlY19wYXJzZS5jfSB8ICAgIDIgKy0N CiAuLi57bXRrX2pwZWdfcGFyc2UuaCA9PiBtdGtfanBlZ19kZWNfcGFyc2UuaH0gfCAgICAyICst DQogLi4uL3ttdGtfanBlZ19yZWcuaCA9PiBtdGtfanBlZ19kZWNfcmVnLmh9ICAgIHwgICAxOSAr LQ0KIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19lbmNfaHcuYyB8ICAxOTMg KysrDQogLi4uL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL210a19qcGVnX2VuY19ody5oIHwgIDEy MyArKw0KIDEyIGZpbGVzIGNoYW5nZWQsIDEyODUgaW5zZXJ0aW9ucygrKSwgMzE0IGRlbGV0aW9u cygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvbWVkaWEvbWVkaWF0ZWstanBlZy1lbmNvZGVyLnR4dA0KIHJlbmFtZSBkcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay1qcGVnL3ttdGtfanBlZ19ody5jID0+IG10a19qcGVnX2RlY19ody5jfSAo OTglKQ0KIHJlbmFtZSBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL3ttdGtfanBlZ19o dy5oID0+IG10a19qcGVnX2RlY19ody5ofSAoODklKQ0KIHJlbmFtZSBkcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay1qcGVnL3ttdGtfanBlZ19wYXJzZS5jID0+IG10a19qcGVnX2RlY19wYXJzZS5j fSAoOTglKQ0KIHJlbmFtZSBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1qcGVnL3ttdGtfanBl Z19wYXJzZS5oID0+IG10a19qcGVnX2RlY19wYXJzZS5ofSAoOTIlKQ0KIHJlbmFtZSBkcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay1qcGVnL3ttdGtfanBlZ19yZWcuaCA9PiBtdGtfanBlZ19kZWNf cmVnLmh9ICg3NyUpDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0v bXRrLWpwZWcvbXRrX2pwZWdfZW5jX2h3LmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS9tdGstanBlZy9tdGtfanBlZ19lbmNfaHcuaA0KDQotLSANCjIuMTguMA0K DQo=