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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7FF8AC6FA86 for ; Thu, 15 Sep 2022 07:22:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=nGAuL40Ch/1UMiEEpop8uGdabsu/ZBuY/CheF0W9zbM=; b=poko35a+ssNEjrNIXmYiQuPQG5 LO27rFmAnr4PH2hELD2eDoLq+s7OJF+knTx40lO/1/Ni6aJ1hvGdPFgu0r9AyAC6OZ4lq8O3GgeBt EMIpO/UHxXJfxdcnhUkxPtPA7qEgKxmQyemp52cdav59TTtttRzC94AXVoTyYGiZCnlnraa0PhKHG ZSYyLpeLB8BE2NktUcMT75mMFpi+gBeWAUP7AglpX7qjSFLmqwi34ivBsqllj/LRkpZW7mbgl0jqu FAIo7Ma5r6mMf0BEYh+fpkQYB1KvvTjHJzHWxIhF7bYqAhU5jbsDDu+RTCtdHgaHhQfQ5lh97xXc+ oTNrJqRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYjCh-002gkw-4z; Thu, 15 Sep 2022 07:22:31 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYjCd-002gfU-Hb; Thu, 15 Sep 2022 07:22:29 +0000 X-UUID: e8a048177c3c4b6092dac5aad849c6f1-20220915 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=nGAuL40Ch/1UMiEEpop8uGdabsu/ZBuY/CheF0W9zbM=; b=aAERSzO5vZv7kgYFv6m6875QsX4B1epv452jtdLiAovON63WWha8dFqZ2FkRoZesPuBijTPWLL6wAP+51HKR8RC6ibAjG4x2UM9wLbZNfNZ3uLU0Dj8Fg+aKMtlcU/SJOARz5fNxDRNN/DqaAI7ab4vHSu3jzlcihR+h7/edusI=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.11,REQID:1055d0bc-18a1-4ee0-8a44-ddb49fc277a0,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:39a5ff1,CLOUDID:0b12b87b-ea28-4199-b57e-003c7d60873a,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:nil,TC:nil,Content:0,EDM:-3,IP:nil,U RL:1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0 X-UUID: e8a048177c3c4b6092dac5aad849c6f1-20220915 Received: from mtkmbs11n1.mediatek.inc [(172.21.101.185)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 686233891; Thu, 15 Sep 2022 00:22:23 -0700 Received: from mtkcas11.mediatek.inc (172.21.101.40) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.2.792.15; Thu, 15 Sep 2022 15:21:36 +0800 Received: from mhfsdcap04 (10.17.3.154) by mtkcas11.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 15 Sep 2022 15:21:35 +0800 Message-ID: <63cbb922a0b5df6af660919727ad9246142f75bf.camel@mediatek.com> Subject: Re: [V14,0/15] Enable jpeg enc & dec multi-hardwares for MT8195 From: kyrie.wu To: Irui Wang , Hans Verkuil , Mauro Carvalho Chehab , "Rob Herring" , Matthias Brugger , Tzung-Bi Shih , , , CC: , , , , , , Tomasz Figa , , Date: Thu, 15 Sep 2022 15:21:35 +0800 In-Reply-To: <20220915064337.2686-1-irui.wang@mediatek.com> References: <20220915064337.2686-1-irui.wang@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220915_002227_597187_D9CFC4FB X-CRM114-Status: GOOD ( 25.32 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org 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. 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 >