Received: by 2002:a05:6358:489b:b0:bb:da1:e618 with SMTP id x27csp492870rwn; Thu, 15 Sep 2022 01:47:39 -0700 (PDT) X-Google-Smtp-Source: AA6agR6iCTnTmoCL/5jkO6murTF5KlUYe6gBSjtgAQrZZMcMPfpFz//gST46SxiXvSsEUkj3Lkz6 X-Received: by 2002:a05:6402:1e8f:b0:440:eb20:7a05 with SMTP id f15-20020a0564021e8f00b00440eb207a05mr33179094edf.169.1663231658845; Thu, 15 Sep 2022 01:47:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1663231658; cv=none; d=google.com; s=arc-20160816; b=TU3f24iC3BK+trm63nnBDnQjsmpqxTDh4fXul2fa8eWVM0bKLR68439aaFavnyt8gO o+YcIzcnrj+uPw9+glY2nROjX0h5YQkgPxDaKpHEnCrhSmsJBRAxV4kGdvRxDrmbtLmK ArM3WxxPgYAPXeTfWzT3Tp+4gtw7ZhOwL5JdNtVkOK+DobGAC7mlstFvG/KrU1ovp00y lInRzIrTeOgKwwku4fqn3A4Cr93S1iGKMm32EZBIIHnRubykWz7WA/F6USLZOlzAFmn2 jLpKZ+6ZnAWJy1nC4cjSox3kr5Y1dSWnKcXh2zKWBgD/Z0WW5btQ6kP7/WiWDiOVKJ4x /2jg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id; bh=jsbwmNhW5NdaPvMNlL3UKRdtNb4LvqIaaMUO7Aoy8xw=; b=oX/gvow+6hxg8Pl13kKbtR4LQ7qjXK4OpsR4SUjdvIIjDICNouoUvD+8aN3YeAGbNu EwiIjUsMOt8HpORBtxaQGuueYcgwf0qq1vNZl5h3VylzRvEUTkswIqRLT2NKdxkKPnjb X55J01RPosgBKPQAVBoCp5ZCGbV9ojVRdwSA3BkVp8wrlqLT2pwrEvwP0N0jQ+dg+Y0O MGk4ovmt2NGuvvRjka/HGLJolBEUT8lqxW7U/7s7cP/0HPzP/YrAmeVoCKB01CtegNmV VBimjYbOhaNlwycTxN41NxzqfodinqrnzzXVNaJOZy8KJNMSCM5M/bnYbUdx6aAziDXj 0QPg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xs4all.nl Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id o22-20020a170906975600b00780041c35c5si7097959ejy.390.2022.09.15.01.47.13; Thu, 15 Sep 2022 01:47:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=xs4all.nl Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229873AbiIOHl0 (ORCPT + 99 others); Thu, 15 Sep 2022 03:41:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229950AbiIOHlX (ORCPT ); Thu, 15 Sep 2022 03:41:23 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD0398B2F1; Thu, 15 Sep 2022 00:41:19 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id EE42B62173; Thu, 15 Sep 2022 07:41:18 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E64CC433D6; Thu, 15 Sep 2022 07:41:14 +0000 (UTC) Message-ID: <96d148dc-6525-9977-c1a9-2b1affa889e7@xs4all.nl> Date: Thu, 15 Sep 2022 08:41:12 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 Subject: Re: [V14,0/15] Enable jpeg enc & dec multi-hardwares for MT8195 To: "kyrie.wu" , Irui Wang , Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , Tzung-Bi Shih , angelogioacchino.delregno@collabora.com, nicolas.dufresne@collabora.com, wenst@chromium.org Cc: Project_Global_Chrome_Upstream_Group@mediatek.com, linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Tomasz Figa , xia.jiang@mediatek.com, maoguang.meng@mediatek.com References: <20220915064337.2686-1-irui.wang@mediatek.com> <63cbb922a0b5df6af660919727ad9246142f75bf.camel@mediatek.com> Content-Language: en-US From: Hans Verkuil In-Reply-To: <63cbb922a0b5df6af660919727ad9246142f75bf.camel@mediatek.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-8.2 required=5.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,NICE_REPLY_A,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Irui, On 9/15/22 08:21, kyrie.wu wrote: > On Thu, 2022-09-15 at 14:43 +0800, Irui Wang wrote: >> From: kyrie wu >> >> This series adds support for multi hardwares jpeg enc & dec, >> by first adding use of_platform_populate to manage each hardware >> information:interrupt, clock, register bases and power. >> Secondly add jpeg enc & dec work queue to deal with the encoding >> or decoding requests of multi-hardwares at the same time. >> Lastly, add output picture reorder function interface to >> eliminate the out of order images. >> >> This series has been tested with MT8195 Gstreamer. >> Encoding and decoding worked for this chip. > > Hi Hans, > > I'm terrible sorry for that I didn't notice you picked all > patches series includes jpeg enc + dec. > Please overlook the V14 and I will send a new series to fix > kernel-doc warns. No, I didn't pick it up. The branch Angelo pointed to is just the branch I used to compile test your series, I haven't posted a PR for it. Next week I'll try again with v14 to check if it passes all my compile tests, and if OK, then I'll post a PR. Patches are picked up if I post a PR and they are marked as 'Under Review' in patchwork. When Mauro merges them in our tree, then the state goes to 'Accepted'. Regards, Hans > > Thanks. > > Regards, > Kyrie. >> >> Patches 1 Adds jpeg encoder dt-bindings for mt8195 >> >> Patches 2 jpeg encoder builds two module for using Multi-HW, >> export some functions to make them visible by other modules. >> >> Patches 3 use devm_of_platform_populate to manage multi-hardware. >> >> Patch 4 add jpeg encoding timeout function to judge hardware timeout. >> >> Patch 5 add encoding work queue to deal with multi-hardware encoding >> at the same time. >> >> Patch 6 add output picture reorder function to order images. >> >> Patch 7 add stop cmd function to deal with EOS operation. >> >> Patch 8 Adds jpeg decoder dt-bindings for mt8195 >> >> Patches 9 jpeg decoder builds three module for using Multi-HW, >> export some functions to make them visible by other modules. >> >> Patch 10 use of_platform_populate to manage multi-hardware. >> >> Patch 11 add jpeg decoding timeout function to judge hardware >> timeout. >> >> Patch 12 add decoding work queue to deal with multi-hardware decoding >> at the same time. >> >> Patch 13 add output picture reorder function to order images. >> >> Patch 14 refactor jpegdec func interface for HW working. >> >> Patch 15 add stop cmd function to deal with EOS operation. >> >> --- >> This series patches dependent on: >> media_stage tree: >> [1] >> > https://git.linuxtv.org/media_stage.git/commit/?id=b3627647f9ea7473d10fb08a95fd7c4133a17ca4 >> >> patch1 new jpegdec dt-bindings included files >> [2] MM IOMMU binding: >> > https://patchwork.kernel.org/project/linux-mediatek/patch/20220217113453.13658-2-yong.wu@mediatek.com/ >> >> [3] MT8195 power domain: >> > https://patchwork.kernel.org/project/linux-mediatek/list/?series=580579 >> >> Changes compared with v13: >> - some modifications for patch v13's review comments. >> - fix kernel robot check errors. >> - fix kernel-doc check warns. >> - fix sparse check warns. >> - combine jpeg encoder series with decoder series into >> one single series. >> >> Changes compared with v12: >> - some modifications for patch v12's review comments. >> >> Changes compared with v11: >> - some modifications for patch v11's review comments. >> - fix yaml file check errors. >> >> Changes compared with v10: >> - some modifications for patch v10's review comments. >> - fix Gstreamer test errors. >> >> Changes compared with v9: >> - some modifications for patch v9's review comments. >> >> Changes compared with v8: >> - some modifications for patch v8's review comments. >> - add stop cmd function. >> >> Changes compared with v7: >> - some modifications for patch v6's review comments. >> >> Changes compared with v6: >> - new yaml file for mt8195 jpeg encoder. >> - some modifications for patch v5's review comments. >> >> Changes compared with v5: >> - use of_platform_populate to replace component framework to >> manage multi-hardware in patch 2. >> >> Changes compared with v4: >> - No change compaered with v4 >> >> Changes compared with v3: >> - Structure patches for consistency, non-backward >> compatible and do not break any existing functionality >> >> Changes compared with v2: >> - Split the last two patches into several patches >> to enhance readability >> - Correct some syntax errors >> - Explain why the component framework is used >> >> Changes compared with v1: >> - Add jpeg encoder dt-bindings for MT8195 >> - Use component framework to manage jpegenc HW >> - Add jpegenc output pic reorder function interface >> >> kyrie wu (15): >> dt-bindings: mediatek: Add mediatek, mt8195-jpgenc compatible >> mtk-jpegenc: export jpeg encoder functions >> mtk-jpegenc: support jpegenc multi-hardware >> mtk-jpegenc: add jpegenc timeout func interface >> mtk-jpegenc: add jpeg encode worker interface >> mtk-jpegenc: add output pic reorder interface >> mtk-jpegenc: add stop cmd interface for jpgenc >> dt-bindings: mediatek: Add mediatek,mt8195-jpgdec compatible >> media: mtk-jpegdec: export jpeg decoder functions >> media: mtk-jpegdec: support jpegdec multi-hardware >> media: mtk-jpegdec: add jpegdec timeout func interface >> media: mtk-jpegdec: add jpeg decode worker interface >> media: mtk-jpegdec: add output pic reorder interface >> media: mtk-jpegdec: refactor jpegdec func interface >> mtk-jpegdec: add stop cmd interface for jpgdec >> >> .../media/mediatek,mt8195-jpegdec.yaml | 169 ++++++ >> .../media/mediatek,mt8195-jpegenc.yaml | 147 ++++++ >> drivers/media/platform/mediatek/jpeg/Makefile | 14 +- >> .../platform/mediatek/jpeg/mtk_jpeg_core.c | 490 >> ++++++++++++++++-- >> .../platform/mediatek/jpeg/mtk_jpeg_core.h | 169 +++++- >> .../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 315 ++++++++++- >> .../platform/mediatek/jpeg/mtk_jpeg_dec_hw.h | 6 +- >> .../platform/mediatek/jpeg/mtk_jpeg_dec_reg.h | 1 + >> .../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 255 +++++++++ >> 9 files changed, 1483 insertions(+), 83 deletions(-) >> create mode 100644 >> Documentation/devicetree/bindings/media/mediatek,mt8195-jpegdec.yaml >> create mode 100644 >> Documentation/devicetree/bindings/media/mediatek,mt8195-jpegenc.yaml >> >