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 8611ACD6E6A for ; Wed, 3 Jun 2026 08:56:42 +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=Z0D/DvTeHWIClkOtJNT9Y17s62VST1qpaWt5Eihax0U=; b=UjRao7YM+A7E5J5PxL4idmG7Rq fK1zMpPisJve/pq6lK/iPRiw3OlRrjltpW1A/DjrRu8hu9k25+OuOdPuKq71gyYupEpEKhNv4KbaN dIYIp4kYH3GY8sSiwIlaVnF1A12OhmfYiFuqhkCaKcZsC0gC0qcU7QaPPPNkG4wnfcoBIxh1FWmNQ HAAx1fZxUSEyXdKS3EMXAhd9yg2ii78dCIgW3uOibjexBAU2M4hbGls6AYxZO8g8ZZ+DmfkQi5SUh sh6Oo9LdHMNahXws88a3K78VJU86BqnTkTp/z9tgXnXJ96vUJPI7daKPRq2l3vky4y7b3Tc4iAFoj EEZKcxmQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUhOz-0000000Ee7x-0DVW; Wed, 03 Jun 2026 08:56:41 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUhOx-0000000Ee5Y-0KZP; Wed, 03 Jun 2026 08:56:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Type:Content-Transfer-Encoding :MIME-Version:Message-ID:Date:Subject:CC:To:From:Sender:Reply-To:Content-ID: Content-Description:In-Reply-To:References; bh=Z0D/DvTeHWIClkOtJNT9Y17s62VST1qpaWt5Eihax0U=; b=fpjAAOPMAR433vZedKmxYeLlKU tZS7nCBF4gbhW8vmIzGCU1UqcJRfrHbCUeSzw1jLdDO1B5/s7ihNOWl5xmAOXkGyqake+VtH2jI3F mrF62i53uZE8MwWjDAu/zw+b4B4a5pbPC3uoF2Cqbo9tc1arxo8tp9aGe1xxCcJ/9RvQ2R35wHvuY Tsa2jVKE7yIjZsWZQ5fqm3M/omJoUP3qV2MqmZ2sPd3gFFO53yLRDUHK81ZpAu5TYLljQMUV8wIZg EWNtyz3gGa9sQUxXFvpSGqc8YcUQYDrQGa3ge+2NgnTKpMXBS5L02HkUMzXtuKg8XcwDrLNLtyDL7 I2irCrsQ==; Received: from mailgw01.mediatek.com ([216.200.240.184]) by desiato.infradead.org with esmtps (Exim 4.99.2 #2 (Red Hat Linux)) id 1wUhOt-0000000Bdzs-10k4; Wed, 03 Jun 2026 08:56:37 +0000 X-UUID: f62e2d665f2711f1afed4741b24580c9-20260603 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=Z0D/DvTeHWIClkOtJNT9Y17s62VST1qpaWt5Eihax0U=; b=Oq9/q85iLaFDBOdAQX+CDB2JWmQVWXTVcoYOGG3hbSIfBWUs3UKc0ssUBzW5V3L8bm3WZ1G9qHnPy6S4Pq8g/deJHaR2FKcEOc1FIdkTlKGbjCSHyHPV64v47XL8Ime6qmwjxLyPC5eMskGjNcM+s8x9uAZq/jqO945laGeQRm0=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.15,REQID:cba9e4ef-4ee0-4de5-9182-7a0c4769cf6c,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:e276073,CLOUDID:6dcbdb4a-0fc9-42b9-813e-4bf0d3f02fad,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102|136|836|865|888|898,TC:-5,Conten t:0|15|50,EDM:-3,IP:nil,URL:99|1,File:130,RT:0,Bulk:nil,QS:nil,BEC:-1,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: 2,SSN|SDN X-CID-BAS: 2,SSN|SDN,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR,TF_CID_SPAM_ULS X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: f62e2d665f2711f1afed4741b24580c9-20260603 Received: from mtkmbs09n2.mediatek.inc [(172.21.101.94)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 1328132602; Wed, 03 Jun 2026 01:41:06 -0700 Received: from mtkmbs13n2.mediatek.inc (172.21.101.108) by mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Wed, 3 Jun 2026 16:41:03 +0800 Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by mtkmbs13n2.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Wed, 3 Jun 2026 16:41:01 +0800 From: Kyrie Wu To: Tiffany Lin , Andrew-CT Chen , Yunfei Dong , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Nicolas Dufresne , Ricardo Ribalda , Kees Cook , Hans Verkuil , Haoxiang Li , Fei Shao , Chen-Yu Tsai , Laurent Pinchart , Sebastian Fricke , Benjamin Gaignard , Philipp Zabel , Qianfeng Rong , Jacopo Mondi , Irui Wang , Fan Wu , , , , , , Kyrie Wu CC: Sakari Ailus , Tzung-Bi Shih , Tomasz Figa Subject: [PATCH v5 00/14] media: mediatek: vcodec: support video decoder in mt8196 Date: Wed, 3 Jun 2026 16:40:30 +0800 Message-ID: <20260603084045.17488-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.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260603_095635_669635_887CC86F X-CRM114-Status: GOOD ( 18.57 ) 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 patch set adds support for the video decoder on the MediaTek MT8196 platform, leveraging the VCP microprocessor for enhanced performance. It introduces new firmware interfaces for kernel-side communication with VCP, adds MT8196 compatible, codec levels/profiles, and private data. Rewrites the AV1 driver to support extended VSI structures, then change irq table and cdf table size. This patch set depends on "Add MediaTek VCP remoteproc driver support"[1] [1] https://patchwork.kernel.org/project/linux-mediatek/cover/20260427111446.22955-1-xiangzhi.tang@mediatek.com/ Compliance Test Result: - v4l2-compliance: 48/49 tests passed, 1 failed (known issue) - fail: v4l2-test-controls.cpp(981): ret (got 13) - test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL Fluster Test Result: - H264: - Ran 95/135 tests successfully in 73.540 secs - H265: - Ran 142/147 tests successfully in 100.168 secs - VP9: - Ran 276/305 tests successfully in 106.804 secs - AV1: - Ran 240/242 tests successfully in 23.991 secs --- Changed in v5: - Rebase to latest codebase - Move vcp init method to driver pdata structures - change decoder dt-bindings patch's commit message - MT8189 base on MT8196 patch set Changed in v4: - Rebase to latest codebase - Move dt-bindings and compatible to the after of vcp driver ready - MT8189 base on MT8196 patch set Changed in v3: - Depends on change no update - Add Compliance and Fluster test result - Re-write the commit message for patch 12 - Change the patches according to review suggestion for patch: 3/4/5/6/14 Changed in v2: - re-write the commit message for patch 1 --- Yunfei Dong (14): media: mediatek: vcodec: support vcp architecture media: mediatek: vcodec: add driver to support vcp media: mediatek: vcodec: add driver to support vcp encoder media: mediatek: vcodec: get different firmware ipi id media: mediatek: vcodec: get share memory address media: mediatek: vcodec: define MT8196 vcodec levels. media: mediatek: vcodec: support 36bit iova address media: mediatek: vcodec: clean xpc status media: mediatek: vcodec: add debug information media: mediatek: vcodec: send share memory address to vcp dt-bindings: media: mediatek: vcodec: add decoder dt-bindings for mt8196 media: mediatek: vcodec: add decoder compatible to support mt8196 media: mediatek: decoder: fill av1 buffer size with picinfo media: mediatek: decoder: support av1 extend vsi .../media/mediatek,vcodec-subdev-decoder.yaml | 1 + .../media/platform/mediatek/vcodec/Kconfig | 4 + .../platform/mediatek/vcodec/common/Makefile | 4 + .../mediatek/vcodec/common/mtk_vcodec_dbgfs.c | 21 +- .../mediatek/vcodec/common/mtk_vcodec_fw.c | 39 +- .../mediatek/vcodec/common/mtk_vcodec_fw.h | 2 + .../vcodec/common/mtk_vcodec_fw_priv.h | 12 + .../vcodec/common/mtk_vcodec_fw_scp.c | 1 + .../vcodec/common/mtk_vcodec_fw_vcp.c | 555 ++++++++++++++++++ .../vcodec/common/mtk_vcodec_fw_vcp.h | 156 +++++ .../vcodec/common/mtk_vcodec_fw_vpu.c | 1 + .../vcodec/decoder/mtk_vcodec_dec_drv.c | 19 + .../vcodec/decoder/mtk_vcodec_dec_drv.h | 3 + .../vcodec/decoder/mtk_vcodec_dec_hw.c | 28 + .../vcodec/decoder/mtk_vcodec_dec_hw.h | 13 +- .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 6 + .../vcodec/decoder/vdec/vdec_av1_req_lat_if.c | 113 +++- .../decoder/vdec/vdec_h264_req_multi_if.c | 11 +- .../decoder/vdec/vdec_hevc_req_multi_if.c | 12 +- .../vcodec/decoder/vdec/vdec_vp8_req_if.c | 5 +- .../vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 27 +- .../mediatek/vcodec/decoder/vdec_ipi_msg.h | 2 + .../mediatek/vcodec/decoder/vdec_vpu_if.c | 12 +- .../mediatek/vcodec/encoder/mtk_vcodec_enc.c | 1 - .../mediatek/vcodec/encoder/mtk_vcodec_enc.h | 2 + .../vcodec/encoder/mtk_vcodec_enc_drv.c | 2 + .../vcodec/encoder/mtk_vcodec_enc_drv.h | 2 + 27 files changed, 1003 insertions(+), 51 deletions(-) create mode 100644 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.c create mode 100644 drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vcp.h -- 2.45.2