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.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,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 6C09CC282D8 for ; Fri, 1 Feb 2019 11:22:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4691221905 for ; Fri, 1 Feb 2019 11:22:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729312AbfBALWM (ORCPT ); Fri, 1 Feb 2019 06:22:12 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:8461 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1729077AbfBALWL (ORCPT ); Fri, 1 Feb 2019 06:22:11 -0500 X-UUID: 6ad149b3ee0842abb63e1e7f346e5445-20190201 X-UUID: 6ad149b3ee0842abb63e1e7f346e5445-20190201 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw01.mediatek.com (envelope-from ) (mhqrelay.mediatek.com ESMTP with TLS) with ESMTP id 348000399; Fri, 01 Feb 2019 19:22:04 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs03n2.mediatek.inc (172.21.101.182) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 1 Feb 2019 19:21:56 +0800 Received: from mtkslt306.mediatek.inc (10.21.14.136) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Fri, 1 Feb 2019 19:21:56 +0800 From: Frederic Chen To: , , , , CC: , , , , , , , , , , , Subject: [RFC PATCH V0 0/7] media: platform: Add support for Digital Image Processing (DIP) on mt8183 SoC Date: Fri, 1 Feb 2019 19:21:24 +0800 Message-ID: <1549020091-42064-1-git-send-email-frederic.chen@mediatek.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-TM-SNTS-SMTP: CA264A73EA0FD9BE3A8B9ACEDDFE1DC7191A229C5BAC4219CCD3DF43A2E02B602000:8 X-MTK: N Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hello, This is the first version of the RFC patch series adding Digital Image Processing (DIP) driver on Mediatek mt8183 SoC, which will be used in camera features on CrOS application. It belongs to the first Mediatek’s ISP driver series based on V4L2 and media controller framework. I posted the main part of the DIP driver as RFC to discuss first and would like some review comments on the overall structure of the driver. Digital Image Processing (DIP) unit can accept the tuning parameters and adjust the image content in Mediatek ISP system. Furthermore, it performs demosaicing and noise reduction on the image to support the advanced camera features of the application. The DIP driver also support image format conversion, resizing and rotation with its hardware path. The driver is implemented with V4L2 and media controller framework. We have the following entities describing the DIP path. 1. Meta (output video device): connects to DIP sub device. It accepts the input tuning buffer from userspace. The metadata interface used currently is only a temporary solution to kick off driver development and is not ready for reviewed yet. 2. RAW (output video device): connects to DIP sub device. It accepts input image buffer from userspace. 3. DIP (sub device): connects to MDP-0 and MDP-1. When processing an image, DIP hardware support multiple output image with different size and format so it needs two capture video devices to return the streaming data to the user. 4. MDP-0 (capture video device): return the processed image data. 5. MDP-1 (capture video device): return the processed image data, the image size and format can be different from the ones of MDP-0. The overall file structure of the DIP driver is as following: * mtk_dip-dev-ctx-core.c: Implements common software flow of DIP driver. DIP driver supports two or more software contexts. For example, context 0 is created for preview path and context 1 is for capture path. Both the two contexts share the same DIP hardware to process the images. * mtk_dip-v4l2.c: Static DIP contexts configuration. * mtk_dip.c: Controls the hardware flow. * mtk_dip-dev.c: Implements context-independent flow. * mtk_dip-ctrl.c: Handles the HW ctrl request from userspace. * mtk_dip-smem-drv.c: Provides the shared memory management required operation. We reserved a memory region for the co-processor and DIP to exchange the tuning and hardware configuration data. * mtk_dip-v4l2-util.c: Implements V4L2 and vb2 ops. Frederic Chen (7): [media] dt-bindings: mt8183: Add binding for DIP shared memory dts: arm64: mt8183: Add DIP shared memory node [media] dt-bindings: mt8183: Added DIP-SMEM dt-bindings [media] dt-bindings: mt8183: Added DIP dt-bindings dts: arm64: mt8183: Add DIP nodes media: platform: Add Mediatek DIP driver KConfig [media] platform: mtk-isp: Add Mediatek DIP driver .../bindings/media/mediatek,dip_smem.txt | 29 + .../bindings/media/mediatek,mt8183-dip.txt | 35 + .../mediatek,reserve-memory-dip_smem.txt | 45 + arch/arm64/boot/dts/mediatek/mt8183.dtsi | 36 + drivers/media/platform/Kconfig | 2 + drivers/media/platform/mtk-isp/Kconfig | 21 + drivers/media/platform/mtk-isp/Makefile | 18 + drivers/media/platform/mtk-isp/isp_50/Makefile | 17 + drivers/media/platform/mtk-isp/isp_50/dip/Makefile | 35 + .../platform/mtk-isp/isp_50/dip/mtk_dip-core.h | 188 +++ .../platform/mtk-isp/isp_50/dip/mtk_dip-ctrl.c | 173 +++ .../platform/mtk-isp/isp_50/dip/mtk_dip-ctrl.h | 43 + .../platform/mtk-isp/isp_50/dip/mtk_dip-ctx.h | 319 ++++ .../mtk-isp/isp_50/dip/mtk_dip-dev-ctx-core.c | 1643 ++++++++++++++++++++ .../platform/mtk-isp/isp_50/dip/mtk_dip-dev.c | 374 +++++ .../platform/mtk-isp/isp_50/dip/mtk_dip-dev.h | 191 +++ .../platform/mtk-isp/isp_50/dip/mtk_dip-smem-drv.c | 452 ++++++ .../platform/mtk-isp/isp_50/dip/mtk_dip-smem.h | 25 + .../mtk-isp/isp_50/dip/mtk_dip-v4l2-util.c | 1000 ++++++++++++ .../mtk-isp/isp_50/dip/mtk_dip-v4l2-util.h | 38 + .../platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c | 292 ++++ .../platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.h | 60 + .../media/platform/mtk-isp/isp_50/dip/mtk_dip.c | 1385 +++++++++++++++++ .../media/platform/mtk-isp/isp_50/dip/mtk_dip.h | 93 ++ 24 files changed, 6514 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/mediatek,dip_smem.txt create mode 100644 Documentation/devicetree/bindings/media/mediatek,mt8183-dip.txt create mode 100644 Documentation/devicetree/bindings/reserved-memory/mediatek,reserve-memory-dip_smem.txt create mode 100644 drivers/media/platform/mtk-isp/Kconfig create mode 100644 drivers/media/platform/mtk-isp/Makefile create mode 100644 drivers/media/platform/mtk-isp/isp_50/Makefile create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/Makefile create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-core.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-ctrl.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-ctrl.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-ctx.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-dev-ctx-core.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-dev.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-dev.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-smem-drv.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-smem.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2-util.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2-util.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip-v4l2.h create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip.c create mode 100644 drivers/media/platform/mtk-isp/isp_50/dip/mtk_dip.h -- 1.9.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frederic Chen Subject: [RFC PATCH V0 0/7] media: platform: Add support for Digital Image Processing (DIP) on mt8183 SoC Date: Fri, 1 Feb 2019 19:21:24 +0800 Message-ID: <1549020091-42064-1-git-send-email-frederic.chen@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+glpam-linux-mediatek=m.gmane.org-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org To: hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org, laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org, tfiga-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org Cc: Sean.Cheng-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, Rynn.Wu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, holmes.chiou-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, Jerry-ch.Chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, jungo.lin-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, sj.huang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, christie.yu-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, frederic.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: linux-mediatek@lists.infradead.org SGVsbG8sCgpUaGlzIGlzIHRoZSBmaXJzdCB2ZXJzaW9uIG9mIHRoZSBSRkMgcGF0Y2ggc2VyaWVz IGFkZGluZyBEaWdpdGFsIEltYWdlClByb2Nlc3NpbmcgKERJUCkgZHJpdmVyIG9uIE1lZGlhdGVr IG10ODE4MyBTb0MsIHdoaWNoIHdpbGwgYmUgdXNlZCBpbiBjYW1lcmEKZmVhdHVyZXMgb24gQ3JP UyBhcHBsaWNhdGlvbi4gSXQgYmVsb25ncyB0byB0aGUgZmlyc3QgTWVkaWF0ZWvigJlzIElTUCBk cml2ZXIKc2VyaWVzIGJhc2VkIG9uIFY0TDIgYW5kIG1lZGlhIGNvbnRyb2xsZXIgZnJhbWV3b3Jr LiBJIHBvc3RlZCB0aGUgbWFpbiBwYXJ0IG9mCnRoZSBESVAgZHJpdmVyIGFzIFJGQyB0byBkaXNj dXNzIGZpcnN0IGFuZCB3b3VsZCBsaWtlIHNvbWUgcmV2aWV3IGNvbW1lbnRzIG9uCnRoZSBvdmVy YWxsIHN0cnVjdHVyZSBvZiB0aGUgZHJpdmVyLgoKRGlnaXRhbCBJbWFnZSBQcm9jZXNzaW5nIChE SVApIHVuaXQgY2FuIGFjY2VwdCB0aGUgdHVuaW5nIHBhcmFtZXRlcnMgYW5kIGFkanVzdAp0aGUg aW1hZ2UgY29udGVudCBpbiBNZWRpYXRlayBJU1Agc3lzdGVtLiBGdXJ0aGVybW9yZSwgaXQgcGVy Zm9ybXMgZGVtb3NhaWNpbmcKYW5kIG5vaXNlIHJlZHVjdGlvbiBvbiB0aGUgaW1hZ2UgdG8gc3Vw cG9ydCB0aGUgYWR2YW5jZWQgY2FtZXJhIGZlYXR1cmVzIG9mIHRoZQphcHBsaWNhdGlvbi4gVGhl IERJUCBkcml2ZXIgYWxzbyBzdXBwb3J0IGltYWdlIGZvcm1hdCBjb252ZXJzaW9uLCByZXNpemlu ZyBhbmQKcm90YXRpb24gd2l0aCBpdHMgaGFyZHdhcmUgcGF0aC4KClRoZSBkcml2ZXIgaXMgaW1w bGVtZW50ZWQgd2l0aCBWNEwyIGFuZCBtZWRpYSBjb250cm9sbGVyIGZyYW1ld29yay4gV2UgaGF2 ZSB0aGUKZm9sbG93aW5nIGVudGl0aWVzIGRlc2NyaWJpbmcgdGhlIERJUCBwYXRoLgoKMS4gTWV0 YSAob3V0cHV0IHZpZGVvIGRldmljZSk6IGNvbm5lY3RzIHRvIERJUCBzdWIgZGV2aWNlLiBJdCBh Y2NlcHRzIHRoZSBpbnB1dAogICB0dW5pbmcgYnVmZmVyIGZyb20gdXNlcnNwYWNlLiBUaGUgbWV0 YWRhdGEgaW50ZXJmYWNlIHVzZWQgY3VycmVudGx5IGlzIG9ubHkKICAgYSB0ZW1wb3Jhcnkgc29s dXRpb24gdG8ga2ljayBvZmYgZHJpdmVyIGRldmVsb3BtZW50IGFuZCBpcyBub3QgcmVhZHkgZm9y CiAgIHJldmlld2VkIHlldC4KCjIuIFJBVyAob3V0cHV0IHZpZGVvIGRldmljZSk6IGNvbm5lY3Rz IHRvIERJUCBzdWIgZGV2aWNlLiBJdCBhY2NlcHRzIGlucHV0IGltYWdlCiAgIGJ1ZmZlciBmcm9t IHVzZXJzcGFjZS4KCjMuIERJUCAoc3ViIGRldmljZSk6IGNvbm5lY3RzIHRvIE1EUC0wIGFuZCBN RFAtMS4gV2hlbiBwcm9jZXNzaW5nIGFuIGltYWdlLCBESVAKICAgaGFyZHdhcmUgc3VwcG9ydCBt dWx0aXBsZSBvdXRwdXQgaW1hZ2Ugd2l0aCBkaWZmZXJlbnQgc2l6ZSBhbmQgZm9ybWF0IHNvIGl0 CiAgIG5lZWRzIHR3byBjYXB0dXJlIHZpZGVvIGRldmljZXMgdG8gcmV0dXJuIHRoZSBzdHJlYW1p bmcgZGF0YSB0byB0aGUgdXNlci4KCjQuIE1EUC0wIChjYXB0dXJlIHZpZGVvIGRldmljZSk6IHJl dHVybiB0aGUgcHJvY2Vzc2VkIGltYWdlIGRhdGEuCgo1LiBNRFAtMSAoY2FwdHVyZSB2aWRlbyBk ZXZpY2UpOiByZXR1cm4gdGhlIHByb2Nlc3NlZCBpbWFnZSBkYXRhLCB0aGUgaW1hZ2UKICAgc2l6 ZSBhbmQgZm9ybWF0IGNhbiBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lcyBvZiBNRFAtMC4KClRo ZSBvdmVyYWxsIGZpbGUgc3RydWN0dXJlIG9mIHRoZSBESVAgZHJpdmVyIGlzIGFzIGZvbGxvd2lu ZzoKCiogbXRrX2RpcC1kZXYtY3R4LWNvcmUuYzogSW1wbGVtZW50cyBjb21tb24gc29mdHdhcmUg ZmxvdyBvZiBESVAgZHJpdmVyLgogIERJUCBkcml2ZXIgc3VwcG9ydHMgdHdvIG9yIG1vcmUgc29m dHdhcmUgY29udGV4dHMuIEZvciBleGFtcGxlLCBjb250ZXh0IDAgaXMKICBjcmVhdGVkIGZvciBw cmV2aWV3IHBhdGggYW5kIGNvbnRleHQgMSBpcyBmb3IgY2FwdHVyZSBwYXRoLiBCb3RoIHRoZSB0 d28KICBjb250ZXh0cyBzaGFyZSB0aGUgc2FtZSBESVAgaGFyZHdhcmUgdG8gcHJvY2VzcyB0aGUg aW1hZ2VzLgoqIG10a19kaXAtdjRsMi5jOiBTdGF0aWMgRElQIGNvbnRleHRzIGNvbmZpZ3VyYXRp b24uCiogbXRrX2RpcC5jOiBDb250cm9scyB0aGUgaGFyZHdhcmUgZmxvdy4KKiBtdGtfZGlwLWRl di5jOiBJbXBsZW1lbnRzIGNvbnRleHQtaW5kZXBlbmRlbnQgZmxvdy4KKiBtdGtfZGlwLWN0cmwu YzogSGFuZGxlcyB0aGUgSFcgY3RybCByZXF1ZXN0IGZyb20gdXNlcnNwYWNlLgoqIG10a19kaXAt c21lbS1kcnYuYzogUHJvdmlkZXMgdGhlIHNoYXJlZCBtZW1vcnkgbWFuYWdlbWVudCByZXF1aXJl ZCBvcGVyYXRpb24uCiAgV2UgcmVzZXJ2ZWQgYSBtZW1vcnkgcmVnaW9uIGZvciB0aGUgY28tcHJv Y2Vzc29yIGFuZCBESVAgdG8gZXhjaGFuZ2UgdGhlCiAgdHVuaW5nIGFuZCBoYXJkd2FyZSBjb25m aWd1cmF0aW9uIGRhdGEuCiogbXRrX2RpcC12NGwyLXV0aWwuYzogSW1wbGVtZW50cyBWNEwyIGFu ZCB2YjIgb3BzLgoKRnJlZGVyaWMgQ2hlbiAoNyk6CiAgW21lZGlhXSBkdC1iaW5kaW5nczogbXQ4 MTgzOiBBZGQgYmluZGluZyBmb3IgRElQIHNoYXJlZCBtZW1vcnkKICBkdHM6IGFybTY0OiBtdDgx ODM6IEFkZCBESVAgc2hhcmVkIG1lbW9yeSBub2RlCiAgW21lZGlhXSBkdC1iaW5kaW5nczogbXQ4 MTgzOiBBZGRlZCBESVAtU01FTSBkdC1iaW5kaW5ncwogIFttZWRpYV0gZHQtYmluZGluZ3M6IG10 ODE4MzogQWRkZWQgRElQIGR0LWJpbmRpbmdzCiAgZHRzOiBhcm02NDogbXQ4MTgzOiBBZGQgRElQ IG5vZGVzCiAgbWVkaWE6IHBsYXRmb3JtOiBBZGQgTWVkaWF0ZWsgRElQIGRyaXZlciBLQ29uZmln CiAgW21lZGlhXSBwbGF0Zm9ybTogbXRrLWlzcDogQWRkIE1lZGlhdGVrIERJUCBkcml2ZXIKCiAu Li4vYmluZGluZ3MvbWVkaWEvbWVkaWF0ZWssZGlwX3NtZW0udHh0ICAgICAgICAgICB8ICAgMjkg KwogLi4uL2JpbmRpbmdzL21lZGlhL21lZGlhdGVrLG10ODE4My1kaXAudHh0ICAgICAgICAgfCAg IDM1ICsKIC4uLi9tZWRpYXRlayxyZXNlcnZlLW1lbW9yeS1kaXBfc21lbS50eHQgICAgICAgICAg IHwgICA0NSArCiBhcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL210ODE4My5kdHNpICAgICAg ICAgICB8ICAgMzYgKwogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29uZmlnICAgICAgICAgICAg ICAgICAgICAgfCAgICAyICsKIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9LY29uZmln ICAgICAgICAgICAgIHwgICAyMSArCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1pc3AvTWFr ZWZpbGUgICAgICAgICAgICB8ICAgMTggKwogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNw L2lzcF81MC9NYWtlZmlsZSAgICAgfCAgIDE3ICsKIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LWlzcC9pc3BfNTAvZGlwL01ha2VmaWxlIHwgICAzNSArCiAuLi4vcGxhdGZvcm0vbXRrLWlzcC9p c3BfNTAvZGlwL210a19kaXAtY29yZS5oICAgICB8ICAxODggKysrCiAuLi4vcGxhdGZvcm0vbXRr LWlzcC9pc3BfNTAvZGlwL210a19kaXAtY3RybC5jICAgICB8ICAxNzMgKysrCiAuLi4vcGxhdGZv cm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtY3RybC5oICAgICB8ICAgNDMgKwogLi4uL3Bs YXRmb3JtL210ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLWN0eC5oICAgICAgfCAgMzE5ICsrKysK IC4uLi9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2RpcC1kZXYtY3R4LWNvcmUuYyAgICAgIHwgMTY0 MyArKysrKysrKysrKysrKysrKysrKwogLi4uL3BsYXRmb3JtL210ay1pc3AvaXNwXzUwL2RpcC9t dGtfZGlwLWRldi5jICAgICAgfCAgMzc0ICsrKysrCiAuLi4vcGxhdGZvcm0vbXRrLWlzcC9pc3Bf NTAvZGlwL210a19kaXAtZGV2LmggICAgICB8ICAxOTEgKysrCiAuLi4vcGxhdGZvcm0vbXRrLWlz cC9pc3BfNTAvZGlwL210a19kaXAtc21lbS1kcnYuYyB8ICA0NTIgKysrKysrCiAuLi4vcGxhdGZv cm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtc21lbS5oICAgICB8ICAgMjUgKwogLi4uL210 ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLXY0bDItdXRpbC5jICAgICAgICAgfCAxMDAwICsrKysr KysrKysrKwogLi4uL210ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLXY0bDItdXRpbC5oICAgICAg ICAgfCAgIDM4ICsKIC4uLi9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2RpcC12NGwy LmMgICAgIHwgIDI5MiArKysrCiAuLi4vcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19k aXAtdjRsMi5oICAgICB8ICAgNjAgKwogLi4uL21lZGlhL3BsYXRmb3JtL210ay1pc3AvaXNwXzUw L2RpcC9tdGtfZGlwLmMgICAgfCAxMzg1ICsrKysrKysrKysrKysrKysrCiAuLi4vbWVkaWEvcGxh dGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAuaCAgICB8ICAgOTMgKysKIDI0IGZpbGVz IGNoYW5nZWQsIDY1MTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZWRpYS9tZWRpYXRlayxkaXBfc21lbS50eHQKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVkaWEv bWVkaWF0ZWssbXQ4MTgzLWRpcC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvcmVzZXJ2ZWQtbWVtb3J5L21lZGlhdGVrLHJlc2VydmUtbWVt b3J5LWRpcF9zbWVtLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vbXRrLWlzcC9LY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstaXNwL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstaXNwL2lzcF81MC9NYWtlZmlsZQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL01ha2VmaWxlCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2Rp cC1jb3JlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1p c3AvaXNwXzUwL2RpcC9tdGtfZGlwLWN0cmwuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtY3RybC5oCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRr X2RpcC1jdHguaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LWlzcC9pc3BfNTAvZGlwL210a19kaXAtZGV2LWN0eC1jb3JlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLWRldi5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81 MC9kaXAvbXRrX2RpcC1kZXYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtc21lbS1kcnYuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAt c21lbS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNw L2lzcF81MC9kaXAvbXRrX2RpcC12NGwyLXV0aWwuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtdjRsMi11dGlsLmgK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1pc3AvaXNwXzUw L2RpcC9tdGtfZGlwLXY0bDIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtdjRsMi5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2RpcC5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9k aXAvbXRrX2RpcC5oCgotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpMaW51eC1tZWRpYXRlayBtYWlsaW5nIGxpc3QKTGludXgtbWVkaWF0 ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCg== 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.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,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 2E37CC282D8 for ; Fri, 1 Feb 2019 11:26:02 +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 F0F7021908 for ; Fri, 1 Feb 2019 11:26:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="YneofB5W" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F0F7021908 Authentication-Results: mail.kernel.org; dmarc=none (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=DKI5n8hOLJcHctRY75vLp0cGO43EnzqKatHCZvm69+4=; b=YneofB5W9Tmk12 21gkLSG8s77e0K1mkTnqmtFFcnDNoAdvMIiVEx7hVUXw9a58bSq9YWmVR8bqP53o6ha75S+k9VqPN DmZO58JhZCm5LDCvF2wGo1kR42ijgFm6iVtyuIx+NGq15BdD1HX63vY8iQMw7bmsmK4vFohx/vhXX MhLSlhkew+F6QaxEctCbrdbm8LTtMzwGH/w2GgbUFjjCxcvBQzfrwvJBxaS5Lv+0gpIaIfSoaFItp z6rBIIfvgz5dFj049SllXbRZz/xdJsMvWjcS57o/4SZkghiETT7esTYVKa/h0XYK3SfwMIGHcKFcB bnu2WbOg89z7PkaOWSmA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gpWxL-0000YP-Q6; Fri, 01 Feb 2019 11:25:59 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gpWub-0004wI-AN; Fri, 01 Feb 2019 11:23:16 +0000 X-UUID: 546c847047934b57af96f84fd696ba5c-20190201 X-UUID: 546c847047934b57af96f84fd696ba5c-20190201 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 153719678; Fri, 01 Feb 2019 03:22:12 -0800 Received: from mtkmbs03n2.mediatek.inc (172.21.101.182) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 1 Feb 2019 03:22:11 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs03n2.mediatek.inc (172.21.101.182) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 1 Feb 2019 19:21:56 +0800 Received: from mtkslt306.mediatek.inc (10.21.14.136) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Fri, 1 Feb 2019 19:21:56 +0800 From: Frederic Chen To: , , , , Subject: [RFC PATCH V0 0/7] media: platform: Add support for Digital Image Processing (DIP) on mt8183 SoC Date: Fri, 1 Feb 2019 19:21:24 +0800 Message-ID: <1549020091-42064-1-git-send-email-frederic.chen@mediatek.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-TM-SNTS-SMTP: CA264A73EA0FD9BE3A8B9ACEDDFE1DC7191A229C5BAC4219CCD3DF43A2E02B602000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190201_032309_591650_5EDB615B X-CRM114-Status: GOOD ( 10.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sean.Cheng@mediatek.com, Rynn.Wu@mediatek.com, srv_heupstream@mediatek.com, holmes.chiou@mediatek.com, Jerry-ch.Chen@mediatek.com, jungo.lin@mediatek.com, sj.huang@mediatek.com, christie.yu@mediatek.com, linux-mediatek@lists.infradead.org, frederic.chen@mediatek.com, 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 SGVsbG8sCgpUaGlzIGlzIHRoZSBmaXJzdCB2ZXJzaW9uIG9mIHRoZSBSRkMgcGF0Y2ggc2VyaWVz IGFkZGluZyBEaWdpdGFsIEltYWdlClByb2Nlc3NpbmcgKERJUCkgZHJpdmVyIG9uIE1lZGlhdGVr IG10ODE4MyBTb0MsIHdoaWNoIHdpbGwgYmUgdXNlZCBpbiBjYW1lcmEKZmVhdHVyZXMgb24gQ3JP UyBhcHBsaWNhdGlvbi4gSXQgYmVsb25ncyB0byB0aGUgZmlyc3QgTWVkaWF0ZWvigJlzIElTUCBk cml2ZXIKc2VyaWVzIGJhc2VkIG9uIFY0TDIgYW5kIG1lZGlhIGNvbnRyb2xsZXIgZnJhbWV3b3Jr LiBJIHBvc3RlZCB0aGUgbWFpbiBwYXJ0IG9mCnRoZSBESVAgZHJpdmVyIGFzIFJGQyB0byBkaXNj dXNzIGZpcnN0IGFuZCB3b3VsZCBsaWtlIHNvbWUgcmV2aWV3IGNvbW1lbnRzIG9uCnRoZSBvdmVy YWxsIHN0cnVjdHVyZSBvZiB0aGUgZHJpdmVyLgoKRGlnaXRhbCBJbWFnZSBQcm9jZXNzaW5nIChE SVApIHVuaXQgY2FuIGFjY2VwdCB0aGUgdHVuaW5nIHBhcmFtZXRlcnMgYW5kIGFkanVzdAp0aGUg aW1hZ2UgY29udGVudCBpbiBNZWRpYXRlayBJU1Agc3lzdGVtLiBGdXJ0aGVybW9yZSwgaXQgcGVy Zm9ybXMgZGVtb3NhaWNpbmcKYW5kIG5vaXNlIHJlZHVjdGlvbiBvbiB0aGUgaW1hZ2UgdG8gc3Vw cG9ydCB0aGUgYWR2YW5jZWQgY2FtZXJhIGZlYXR1cmVzIG9mIHRoZQphcHBsaWNhdGlvbi4gVGhl IERJUCBkcml2ZXIgYWxzbyBzdXBwb3J0IGltYWdlIGZvcm1hdCBjb252ZXJzaW9uLCByZXNpemlu ZyBhbmQKcm90YXRpb24gd2l0aCBpdHMgaGFyZHdhcmUgcGF0aC4KClRoZSBkcml2ZXIgaXMgaW1w bGVtZW50ZWQgd2l0aCBWNEwyIGFuZCBtZWRpYSBjb250cm9sbGVyIGZyYW1ld29yay4gV2UgaGF2 ZSB0aGUKZm9sbG93aW5nIGVudGl0aWVzIGRlc2NyaWJpbmcgdGhlIERJUCBwYXRoLgoKMS4gTWV0 YSAob3V0cHV0IHZpZGVvIGRldmljZSk6IGNvbm5lY3RzIHRvIERJUCBzdWIgZGV2aWNlLiBJdCBh Y2NlcHRzIHRoZSBpbnB1dAogICB0dW5pbmcgYnVmZmVyIGZyb20gdXNlcnNwYWNlLiBUaGUgbWV0 YWRhdGEgaW50ZXJmYWNlIHVzZWQgY3VycmVudGx5IGlzIG9ubHkKICAgYSB0ZW1wb3Jhcnkgc29s dXRpb24gdG8ga2ljayBvZmYgZHJpdmVyIGRldmVsb3BtZW50IGFuZCBpcyBub3QgcmVhZHkgZm9y CiAgIHJldmlld2VkIHlldC4KCjIuIFJBVyAob3V0cHV0IHZpZGVvIGRldmljZSk6IGNvbm5lY3Rz IHRvIERJUCBzdWIgZGV2aWNlLiBJdCBhY2NlcHRzIGlucHV0IGltYWdlCiAgIGJ1ZmZlciBmcm9t IHVzZXJzcGFjZS4KCjMuIERJUCAoc3ViIGRldmljZSk6IGNvbm5lY3RzIHRvIE1EUC0wIGFuZCBN RFAtMS4gV2hlbiBwcm9jZXNzaW5nIGFuIGltYWdlLCBESVAKICAgaGFyZHdhcmUgc3VwcG9ydCBt dWx0aXBsZSBvdXRwdXQgaW1hZ2Ugd2l0aCBkaWZmZXJlbnQgc2l6ZSBhbmQgZm9ybWF0IHNvIGl0 CiAgIG5lZWRzIHR3byBjYXB0dXJlIHZpZGVvIGRldmljZXMgdG8gcmV0dXJuIHRoZSBzdHJlYW1p bmcgZGF0YSB0byB0aGUgdXNlci4KCjQuIE1EUC0wIChjYXB0dXJlIHZpZGVvIGRldmljZSk6IHJl dHVybiB0aGUgcHJvY2Vzc2VkIGltYWdlIGRhdGEuCgo1LiBNRFAtMSAoY2FwdHVyZSB2aWRlbyBk ZXZpY2UpOiByZXR1cm4gdGhlIHByb2Nlc3NlZCBpbWFnZSBkYXRhLCB0aGUgaW1hZ2UKICAgc2l6 ZSBhbmQgZm9ybWF0IGNhbiBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgb25lcyBvZiBNRFAtMC4KClRo ZSBvdmVyYWxsIGZpbGUgc3RydWN0dXJlIG9mIHRoZSBESVAgZHJpdmVyIGlzIGFzIGZvbGxvd2lu ZzoKCiogbXRrX2RpcC1kZXYtY3R4LWNvcmUuYzogSW1wbGVtZW50cyBjb21tb24gc29mdHdhcmUg ZmxvdyBvZiBESVAgZHJpdmVyLgogIERJUCBkcml2ZXIgc3VwcG9ydHMgdHdvIG9yIG1vcmUgc29m dHdhcmUgY29udGV4dHMuIEZvciBleGFtcGxlLCBjb250ZXh0IDAgaXMKICBjcmVhdGVkIGZvciBw cmV2aWV3IHBhdGggYW5kIGNvbnRleHQgMSBpcyBmb3IgY2FwdHVyZSBwYXRoLiBCb3RoIHRoZSB0 d28KICBjb250ZXh0cyBzaGFyZSB0aGUgc2FtZSBESVAgaGFyZHdhcmUgdG8gcHJvY2VzcyB0aGUg aW1hZ2VzLgoqIG10a19kaXAtdjRsMi5jOiBTdGF0aWMgRElQIGNvbnRleHRzIGNvbmZpZ3VyYXRp b24uCiogbXRrX2RpcC5jOiBDb250cm9scyB0aGUgaGFyZHdhcmUgZmxvdy4KKiBtdGtfZGlwLWRl di5jOiBJbXBsZW1lbnRzIGNvbnRleHQtaW5kZXBlbmRlbnQgZmxvdy4KKiBtdGtfZGlwLWN0cmwu YzogSGFuZGxlcyB0aGUgSFcgY3RybCByZXF1ZXN0IGZyb20gdXNlcnNwYWNlLgoqIG10a19kaXAt c21lbS1kcnYuYzogUHJvdmlkZXMgdGhlIHNoYXJlZCBtZW1vcnkgbWFuYWdlbWVudCByZXF1aXJl ZCBvcGVyYXRpb24uCiAgV2UgcmVzZXJ2ZWQgYSBtZW1vcnkgcmVnaW9uIGZvciB0aGUgY28tcHJv Y2Vzc29yIGFuZCBESVAgdG8gZXhjaGFuZ2UgdGhlCiAgdHVuaW5nIGFuZCBoYXJkd2FyZSBjb25m aWd1cmF0aW9uIGRhdGEuCiogbXRrX2RpcC12NGwyLXV0aWwuYzogSW1wbGVtZW50cyBWNEwyIGFu ZCB2YjIgb3BzLgoKRnJlZGVyaWMgQ2hlbiAoNyk6CiAgW21lZGlhXSBkdC1iaW5kaW5nczogbXQ4 MTgzOiBBZGQgYmluZGluZyBmb3IgRElQIHNoYXJlZCBtZW1vcnkKICBkdHM6IGFybTY0OiBtdDgx ODM6IEFkZCBESVAgc2hhcmVkIG1lbW9yeSBub2RlCiAgW21lZGlhXSBkdC1iaW5kaW5nczogbXQ4 MTgzOiBBZGRlZCBESVAtU01FTSBkdC1iaW5kaW5ncwogIFttZWRpYV0gZHQtYmluZGluZ3M6IG10 ODE4MzogQWRkZWQgRElQIGR0LWJpbmRpbmdzCiAgZHRzOiBhcm02NDogbXQ4MTgzOiBBZGQgRElQ IG5vZGVzCiAgbWVkaWE6IHBsYXRmb3JtOiBBZGQgTWVkaWF0ZWsgRElQIGRyaXZlciBLQ29uZmln CiAgW21lZGlhXSBwbGF0Zm9ybTogbXRrLWlzcDogQWRkIE1lZGlhdGVrIERJUCBkcml2ZXIKCiAu Li4vYmluZGluZ3MvbWVkaWEvbWVkaWF0ZWssZGlwX3NtZW0udHh0ICAgICAgICAgICB8ICAgMjkg KwogLi4uL2JpbmRpbmdzL21lZGlhL21lZGlhdGVrLG10ODE4My1kaXAudHh0ICAgICAgICAgfCAg IDM1ICsKIC4uLi9tZWRpYXRlayxyZXNlcnZlLW1lbW9yeS1kaXBfc21lbS50eHQgICAgICAgICAg IHwgICA0NSArCiBhcmNoL2FybTY0L2Jvb3QvZHRzL21lZGlhdGVrL210ODE4My5kdHNpICAgICAg ICAgICB8ICAgMzYgKwogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9LY29uZmlnICAgICAgICAgICAg ICAgICAgICAgfCAgICAyICsKIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9LY29uZmln ICAgICAgICAgICAgIHwgICAyMSArCiBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1pc3AvTWFr ZWZpbGUgICAgICAgICAgICB8ICAgMTggKwogZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNw L2lzcF81MC9NYWtlZmlsZSAgICAgfCAgIDE3ICsKIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LWlzcC9pc3BfNTAvZGlwL01ha2VmaWxlIHwgICAzNSArCiAuLi4vcGxhdGZvcm0vbXRrLWlzcC9p c3BfNTAvZGlwL210a19kaXAtY29yZS5oICAgICB8ICAxODggKysrCiAuLi4vcGxhdGZvcm0vbXRr LWlzcC9pc3BfNTAvZGlwL210a19kaXAtY3RybC5jICAgICB8ICAxNzMgKysrCiAuLi4vcGxhdGZv cm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtY3RybC5oICAgICB8ICAgNDMgKwogLi4uL3Bs YXRmb3JtL210ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLWN0eC5oICAgICAgfCAgMzE5ICsrKysK IC4uLi9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2RpcC1kZXYtY3R4LWNvcmUuYyAgICAgIHwgMTY0 MyArKysrKysrKysrKysrKysrKysrKwogLi4uL3BsYXRmb3JtL210ay1pc3AvaXNwXzUwL2RpcC9t dGtfZGlwLWRldi5jICAgICAgfCAgMzc0ICsrKysrCiAuLi4vcGxhdGZvcm0vbXRrLWlzcC9pc3Bf NTAvZGlwL210a19kaXAtZGV2LmggICAgICB8ICAxOTEgKysrCiAuLi4vcGxhdGZvcm0vbXRrLWlz cC9pc3BfNTAvZGlwL210a19kaXAtc21lbS1kcnYuYyB8ICA0NTIgKysrKysrCiAuLi4vcGxhdGZv cm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtc21lbS5oICAgICB8ICAgMjUgKwogLi4uL210 ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLXY0bDItdXRpbC5jICAgICAgICAgfCAxMDAwICsrKysr KysrKysrKwogLi4uL210ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLXY0bDItdXRpbC5oICAgICAg ICAgfCAgIDM4ICsKIC4uLi9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2RpcC12NGwy LmMgICAgIHwgIDI5MiArKysrCiAuLi4vcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19k aXAtdjRsMi5oICAgICB8ICAgNjAgKwogLi4uL21lZGlhL3BsYXRmb3JtL210ay1pc3AvaXNwXzUw L2RpcC9tdGtfZGlwLmMgICAgfCAxMzg1ICsrKysrKysrKysrKysrKysrCiAuLi4vbWVkaWEvcGxh dGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAuaCAgICB8ICAgOTMgKysKIDI0IGZpbGVz IGNoYW5nZWQsIDY1MTQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50 YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9tZWRpYS9tZWRpYXRlayxkaXBfc21lbS50eHQKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbWVkaWEv bWVkaWF0ZWssbXQ4MTgzLWRpcC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBEb2N1bWVudGF0aW9u L2RldmljZXRyZWUvYmluZGluZ3MvcmVzZXJ2ZWQtbWVtb3J5L21lZGlhdGVrLHJlc2VydmUtbWVt b3J5LWRpcF9zbWVtLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZv cm0vbXRrLWlzcC9LY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstaXNwL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9tdGstaXNwL2lzcF81MC9NYWtlZmlsZQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL01ha2VmaWxlCiBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2Rp cC1jb3JlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1p c3AvaXNwXzUwL2RpcC9tdGtfZGlwLWN0cmwuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv bWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtY3RybC5oCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRr X2RpcC1jdHguaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LWlzcC9pc3BfNTAvZGlwL210a19kaXAtZGV2LWN0eC1jb3JlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1pc3AvaXNwXzUwL2RpcC9tdGtfZGlwLWRldi5j CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81 MC9kaXAvbXRrX2RpcC1kZXYuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtc21lbS1kcnYuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAt c21lbS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNw L2lzcF81MC9kaXAvbXRrX2RpcC12NGwyLXV0aWwuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvbWVkaWEvcGxhdGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtdjRsMi11dGlsLmgK IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay1pc3AvaXNwXzUw L2RpcC9tdGtfZGlwLXY0bDIuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWVkaWEvcGxh dGZvcm0vbXRrLWlzcC9pc3BfNTAvZGlwL210a19kaXAtdjRsMi5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9kaXAvbXRrX2RpcC5jCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstaXNwL2lzcF81MC9k aXAvbXRrX2RpcC5oCgotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==