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 EB441C5B549 for ; Fri, 30 May 2025 07:48:02 +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-Type: Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:CC: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=tUjyCWk78nrbNtIdynsQ7wKlp/qy1AJHyD8Mcd0RHgk=; b=l1EWVEizI1fFdYNQpEs1v3h1mk DUJuK3NaTooozhV+q2elicoODVkseaSXWHGG7pYvg1cV0JYt9zARU7FGZ8OkKDYPBQexDc48XUkNy A+vp3bfus3jzv7Bb9F1HBx1IS80WdQAyPTCoENcWyCZPdN1jqZDNEEIi4DMUjOxTiJg9QFQGyfkBU Y4cYgINyXDHjqowzpGusv30PcMJKWdgbsR2/eteERBbZr3SFpQGKOztj8VZFEFiOEyxZXxLJXCzhO 12YmnTwwcngaxoCjMSWIrIHFqhgUOn7DuPziV3dWVMrd6qqLkqkAH+YIfP9kDKdII4vYho14c2dip Argtezyg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uKuTB-0000000HVHz-48qz; Fri, 30 May 2025 07:48:01 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uKuR1-0000000HUfn-2NHM; Fri, 30 May 2025 07:45:49 +0000 X-UUID: 16cc87783d2a11f08d385d50fb11b32d-20250530 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject:CC:To:From; bh=tUjyCWk78nrbNtIdynsQ7wKlp/qy1AJHyD8Mcd0RHgk=; b=Jvcu5Axg/DO9suNIwAR4dYFqfr08qctNzixDCcZyrXFR//bLqyJQFvfLFTJIG+pDb1GYcwmgn+/mzsQkqa0azOu1eX26MgYZgEjSRILaWQA7kQpcsiYLSHROOi8ZLp0vKm/emqnFgoZhLEu/IUi2eXTHJ2MKK9Z7vtXnATHNP6Q=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.2.1,REQID:4ab3c785-c147-4d74-a4c0-c2e97ff9b6a0,IP:0,UR L:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r elease,TS:0 X-CID-META: VersionHash:0ef645f,CLOUDID:07cf2458-abad-4ac2-9923-3af0a8a9a079,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0|50,EDM:-3,IP:ni l,URL:99|1,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0, LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULS X-UUID: 16cc87783d2a11f08d385d50fb11b32d-20250530 Received: from mtkmbs13n1.mediatek.inc [(172.21.101.193)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 389865148; Fri, 30 May 2025 00:45:42 -0700 Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.39; Fri, 30 May 2025 15:45:39 +0800 Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1258.39 via Frontend Transport; Fri, 30 May 2025 15:45:38 +0800 From: Kyrie Wu To: Hans Verkuil , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Kyrie Wu , , , , , CC: Subject: [PATCH v5 00/12] Enable jpeg enc & dec multi-hardwares for MT8196 Date: Fri, 30 May 2025 15:45:25 +0800 Message-ID: <20250530074537.26338-1-kyrie.wu@mediatek.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250530_004547_612676_2D7FF80C X-CRM114-Status: GOOD ( 10.93 ) 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 This series adds support for mt8196 multi-hardwares jpeg enc & dec, by first adding mt8196 jpegdec and jpegenc compatible to install kernel driver. Add smmu setting to support smmu and iommu at the same time. Secondly refactor buffer and clock setting to support multi-hw jpeg working. Lastly, fix some bugs, including resolution change handleing, stop streaming sw flow and others. This series has been tested with MT8196 tast test. Encoding and decoding worked for this chip. Patches 1-3 Adds jpeg encoder and decoder compatible. Patches 4 add jpeg smmu sid setting. Patches 5 fix jpeg hw count setting to support different chips. Patches 6 refactor jpeg buffer payload setting to handle buffer size bug while resolution changed. Patches 7 reconstruct jpeg dst buffer layout. Patches 8 fix multi-core stop streaming flow Patches 9 refactor multi-core clk suspend/resume setting Patches 10 fix decoding buffer number setting timing issue Patches 11 refactor decoding resolution change operation Patches 12 fix remove buffer operation --- This series patches dependent on: [1] https://patchwork.linuxtv.org/project/linux-media/patch/20250424090824.5309-1-jianhua.lin@mediatek.com/ Changes compared with v4: --fix kernel robot build errors for patch 4. --add reviewer for patch 1 and patch 2. Changes compared with v3: --change patch subject of jpeg encoder and decoder compatible. Changes compared with v2: --refactor smmu sid setting function interface --Some modifications for patch v2's review comments. Changes compared with v1: --refine jpeg dt-bindings for MT8196 --optimize software code to manage jpeg HW count --refactor smmu sid setting function interface --Some modifications for patch v1's review comments. Kyrie Wu (12): media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgdec compatible media: dt-bindings: mediatek,jpeg: Add mediatek, mt8196-jpgenc compatible media: mediatek: jpeg: add jpeg compatible media: mediatek: jpeg: add jpeg smmu sid setting media: mediatek: jpeg: fix jpeg hw count setting media: mediatek: jpeg: refactor jpeg buffer payload setting media: mediatek: jpeg: refactor jpeg dst buffer layout media: mediatek: jpeg: fix stop streaming flow for multi-core media: mediatek: jpeg: refactor multi-core clk suspend and resume setting media: mediatek: jpeg: fix decoding buffer number setting timing issue media: mediatek: jpeg: refactor decoding resolution change operation media: mediatek: jpeg: fix remove buffer operation for multi-core .../media/mediatek,mt8195-jpegdec.yaml | 8 +- .../media/mediatek,mt8195-jpegenc.yaml | 8 +- .../platform/mediatek/jpeg/mtk_jpeg_core.c | 169 +++++++++++++----- .../platform/mediatek/jpeg/mtk_jpeg_core.h | 21 ++- .../platform/mediatek/jpeg/mtk_jpeg_dec_hw.c | 112 +++++++++++- .../platform/mediatek/jpeg/mtk_jpeg_enc_hw.c | 112 +++++++++++- 6 files changed, 377 insertions(+), 53 deletions(-) -- 2.46.0