Message ID | 20250528063633.14054-1-irui.wang@mediatek.com (mailing list archive) |
---|---|
Headers |
Received: from sv.mirrors.kernel.org ([139.178.88.99]) by linuxtv.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from <linux-media+bounces-33492-patchwork=linuxtv.org@vger.kernel.org>) id 1uKAPR-0005SY-1u for patchwork@linuxtv.org; Wed, 28 May 2025 06:37:20 +0000 Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 2A7033B3398 for <patchwork@linuxtv.org>; Wed, 28 May 2025 06:36:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CF30624418F; Wed, 28 May 2025 06:36:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="gaBhY6vh" X-Original-To: linux-media@vger.kernel.org Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 126D81F1311; Wed, 28 May 2025 06:36:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.61.82.184 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748414213; cv=none; b=r6rucUfZQfDHsdqrdH3F8WGUCyO0MT6+EOGzslLdOLmqEDZRP20S4e6W5LG+VL4AL8DTVspbwH3lpFNoPckYvK+8XJhuqjSA3sjI1VPcO4p9JyKHmrTpKKnOJVDV4EqEjAtCQKSSXh+OAXOdjXQQ5BE4Ym1xrgK+wFev+v/KQW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748414213; c=relaxed/simple; bh=ovFdTaprjOIeRb2n+M/T3BI9kg+v90mr3uiPISNSqas=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=EPseS8j7faMBd4CxKFRToxhg+guZhbf4wZPzJZVlONlKURsbi7ZCisGYEAQjjSv1rjnfnGiZd9E0Tp9mWB/7FMGE207uM4EWLyl7dyw0UenD6PSWhwS1wpjLCS0h9cIhG0xHAg7w8BjuPCd8bo90GOnkVqDrLZs2kFFRC+mO0X0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=gaBhY6vh; arc=none smtp.client-ip=210.61.82.184 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com X-UUID: 1dcfc6ae3b8e11f082f7f7ac98dee637-20250528 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=Pi6jBiS4l/lbcJz+jihJBHjaEwGKqWTJS4hBHOWOmzE=; b=gaBhY6vhO2Zpd1fLRGX912RgYwzij61FwOshvSuCNv2Ep6zrOYe4yQ6rc8cQ7b27nbwZdv9VS5yLT28wxuoUVYddWdG+Y2om6HVyrgAc+sqHe5rgPqVeMDA+HP7ypAUVXq+7vpV4AO64EZNe2+w5a3P27IT3gPHZ6yA6/o0ShhM=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.2.1,REQID:78a1a08c-8165-4458-87af-9df95859c12a,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:f001d047-ee4f-4716-aedb-66601021a588,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0|50,EDM:-3,IP:ni l,URL: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: 1dcfc6ae3b8e11f082f7f7ac98dee637-20250528 Received: from mtkmbs11n2.mediatek.inc [(172.21.101.187)] by mailgw02.mediatek.com (envelope-from <irui.wang@mediatek.com>) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 782266097; Wed, 28 May 2025 14:36:42 +0800 Received: from mtkmbs11n1.mediatek.inc (172.21.101.185) 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.1258.39; Wed, 28 May 2025 14:36:39 +0800 Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by mtkmbs11n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1258.39 via Frontend Transport; Wed, 28 May 2025 14:36:39 +0800 From: Irui Wang <irui.wang@mediatek.com> To: Hans Verkuil <hverkuil-cisco@xs4all.nl>, Mauro Carvalho Chehab <mchehab@kernel.org>, Rob Herring <robh+dt@kernel.org>, Matthias Brugger <matthias.bgg@gmail.com>, Krzysztof Kozlowski <krzk+dt@kernel.org>, <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>, Yunfei Dong <yunfei.dong@mediatek.com>, Longfei Wang <longfei.wang@mediatek.com>, Irui Wang <irui.wang@mediatek.com> Subject: [PATCH v2 0/6] Add support for MT8196 video encoder Date: Wed, 28 May 2025 14:36:26 +0800 Message-ID: <20250528063633.14054-1-irui.wang@mediatek.com> X-Mailer: git-send-email 2.46.0 Precedence: bulk X-Mailing-List: linux-media@vger.kernel.org List-Id: <linux-media.vger.kernel.org> List-Subscribe: <mailto:linux-media+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-media+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-MTK: N X-LSpam-Score: -8.6 (--------) X-LSpam-Report: No, score=-8.6 required=5.0 tests=ARC_SIGNED=0.001,ARC_VALID=-0.1,BAYES_00=-1.9,DKIM_SIGNED=0.1,DKIM_VALID=-0.1,DKIM_VALID_AU=-0.1,DMARC_PASS=-0.001,HEADER_FROM_DIFFERENT_DOMAINS=0.5,MAILING_LIST_MULTI=-1,RCVD_IN_DNSWL_MED=-2.3,RCVD_IN_VALIDITY_CERTIFIED=-3,RCVD_IN_VALIDITY_RPBL=1.31,RCVD_IN_VALIDITY_SAFE=-2,SPF_HELO_NONE=0.001,SPF_PASS=-0.001,UNPARSEABLE_RELAY=0.001 autolearn=unavailable autolearn_force=no |
Series |
Add support for MT8196 video encoder
|
|
Message
Irui Wang
May 28, 2025, 6:36 a.m. UTC
This patch series add support for MT8196 video encoder. patch 1~3: Add a new encoder driver interface for new VCP firmware. patch 4~6: Add MT8196 encoder driver platform data. About adding new driver support, the v4l2-compliance report shows: "Total for mtk-vcodec-enc device /dev/video3: 47, Succeeded: 46, Failed: 1, Warnings: 0" The 1 Failed case is not caused by current patch set. This patch set depends on "media: mediatek: vcodec: support video decoder in mt8196"[1] [1] https://patchwork.linuxtv.org/project/linux-media/list/?series=15232 Change in v2: - Add support for VCP encode process. - Add MT8196 encoder driver platform data. - Rebase encoder patch onto decoder's patch set. - Fix some review comments in v1. Irui Wang (6): media: mediatek: encoder: Add a new encoder driver interface media: mediatek: encoder: Add support for common firmware interface media: mediatek: encoder: Add support for VCP encode process media: mediatek: encoder: Add a new platform data member dt-bindings: media: mediatek: encoder: Add encoder dt-bindings for MT8196 media: mediatek: encoder: Add MT8196 encoder compatible data .../media/mediatek,vcodec-encoder.yaml | 12 + .../mediatek/vcodec/common/mtk_vcodec_fw.c | 19 + .../mediatek/vcodec/common/mtk_vcodec_fw.h | 2 + .../vcodec/common/mtk_vcodec_fw_priv.h | 1 + .../vcodec/common/mtk_vcodec_fw_vcp.c | 6 + .../platform/mediatek/vcodec/encoder/Makefile | 1 + .../mediatek/vcodec/encoder/mtk_vcodec_enc.c | 37 +- .../vcodec/encoder/mtk_vcodec_enc_drv.c | 28 + .../vcodec/encoder/mtk_vcodec_enc_drv.h | 15 +- .../vcodec/encoder/venc/venc_common_if.c | 678 ++++++++++++++++++ .../vcodec/encoder/venc/venc_h264_if.c | 8 +- .../mediatek/vcodec/encoder/venc_drv_if.c | 3 +- .../mediatek/vcodec/encoder/venc_drv_if.h | 11 +- .../mediatek/vcodec/encoder/venc_ipi_msg.h | 26 + .../mediatek/vcodec/encoder/venc_vpu_if.c | 51 +- 15 files changed, 843 insertions(+), 55 deletions(-) create mode 100644 drivers/media/platform/mediatek/vcodec/encoder/venc/venc_common_if.c
Comments
Hi, Le mercredi 28 mai 2025 à 14:36 +0800, Irui Wang a écrit : > This patch series add support for MT8196 video encoder. > patch 1~3: Add a new encoder driver interface for new VCP firmware. > patch 4~6: Add MT8196 encoder driver platform data. > > About adding new driver support, the v4l2-compliance report shows: > "Total for mtk-vcodec-enc device /dev/video3: 47, Succeeded: 46, Failed: 1, Warnings: 0" > The 1 Failed case is not caused by current patch set. We really want to see the full report, simply reply to this cover letter with the entire report to fix it. Nicolas > > This patch set depends on "media: mediatek: vcodec: support video decoder in mt8196"[1] > > [1] https://patchwork.linuxtv.org/project/linux-media/list/?series=15232 > > Change in v2: > - Add support for VCP encode process. > - Add MT8196 encoder driver platform data. > - Rebase encoder patch onto decoder's patch set. > - Fix some review comments in v1. > > Irui Wang (6): > media: mediatek: encoder: Add a new encoder driver interface > media: mediatek: encoder: Add support for common firmware interface > media: mediatek: encoder: Add support for VCP encode process > media: mediatek: encoder: Add a new platform data member > dt-bindings: media: mediatek: encoder: Add encoder dt-bindings for > MT8196 > media: mediatek: encoder: Add MT8196 encoder compatible data > > .../media/mediatek,vcodec-encoder.yaml | 12 + > .../mediatek/vcodec/common/mtk_vcodec_fw.c | 19 + > .../mediatek/vcodec/common/mtk_vcodec_fw.h | 2 + > .../vcodec/common/mtk_vcodec_fw_priv.h | 1 + > .../vcodec/common/mtk_vcodec_fw_vcp.c | 6 + > .../platform/mediatek/vcodec/encoder/Makefile | 1 + > .../mediatek/vcodec/encoder/mtk_vcodec_enc.c | 37 +- > .../vcodec/encoder/mtk_vcodec_enc_drv.c | 28 + > .../vcodec/encoder/mtk_vcodec_enc_drv.h | 15 +- > .../vcodec/encoder/venc/venc_common_if.c | 678 ++++++++++++++++++ > .../vcodec/encoder/venc/venc_h264_if.c | 8 +- > .../mediatek/vcodec/encoder/venc_drv_if.c | 3 +- > .../mediatek/vcodec/encoder/venc_drv_if.h | 11 +- > .../mediatek/vcodec/encoder/venc_ipi_msg.h | 26 + > .../mediatek/vcodec/encoder/venc_vpu_if.c | 51 +- > 15 files changed, 843 insertions(+), 55 deletions(-) > create mode 100644 drivers/media/platform/mediatek/vcodec/encoder/venc/venc_common_if.c
Dear Nicolas, Thank you for your reply. the failed case is VIDIOC_(UN)SUBSCRIBE_EVENT fail: v4l2-test-controls.cpp(1171): node->codec_mask & STATEFUL_ENCODER test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL because encoder driver is not register v4l2_ioctl_ops .vidioc_(un)subscribe_event The full report is below: v4l2-compliance -d /dev/video3 v4l2-compliance 1.28.1, 64 bits, 64-bit time_t Compliance test for mtk-vcodec-enc device /dev/video3: Driver Info: Driver name : mtk-vcodec-enc Card type : MT8196 video encoder Bus info : platform:38020000.video-codec Driver version : 6.6.76 Capabilities : 0x84204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Device Capabilities Device Caps : 0x04204000 Video Memory-to-Memory Multiplanar Streaming Extended Pix Format Detected Stateful Encoder Required ioctls: test VIDIOC_QUERYCAP: OK test invalid ioctls: OK Allow for multiple opens: test second /dev/video3 open: OK test VIDIOC_QUERYCAP: OK test VIDIOC_G/S_PRIORITY: OK test for unlimited opens: OK Debug ioctls: test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported) test VIDIOC_LOG_STATUS: OK (Not Supported) Input ioctls: test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported) test VIDIOC_ENUMAUDIO: OK (Not Supported) test VIDIOC_G/S/ENUMINPUT: OK (Not Supported) test VIDIOC_G/S_AUDIO: OK (Not Supported) Inputs: 0 Audio Inputs: 0 Tuners: 0 Output ioctls: test VIDIOC_G/S_MODULATOR: OK (Not Supported) test VIDIOC_G/S_FREQUENCY: OK (Not Supported) test VIDIOC_ENUMAUDOUT: OK (Not Supported) test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported) test VIDIOC_G/S_AUDOUT: OK (Not Supported) Outputs: 0 Audio Outputs: 0 Modulators: 0 Input/Output configuration ioctls: test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported) test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported) test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported) test VIDIOC_G/S_EDID: OK (Not Supported) Control ioctls: test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK test VIDIOC_QUERYCTRL: OK test VIDIOC_G/S_CTRL: OK test VIDIOC_G/S/TRY_EXT_CTRLS: OK fail: v4l2-test-controls.cpp(1171): node->codec_mask & STATEFUL_ENCODER test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: FAIL test VIDIOC_G/S_JPEGCOMP: OK (Not Supported) Standard Controls: 16 Private Controls: 0 Format ioctls: test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK test VIDIOC_G/S_PARM: OK test VIDIOC_G_FBUF: OK (Not Supported) test VIDIOC_G_FMT: OK test VIDIOC_TRY_FMT: OK test VIDIOC_S_FMT: OK test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported) test Cropping: OK test Composing: OK (Not Supported) test Scaling: OK (Not Supported) Codec ioctls: test VIDIOC_(TRY_)ENCODER_CMD: OK test VIDIOC_G_ENC_INDEX: OK (Not Supported) test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported) Buffer ioctls: test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK test CREATE_BUFS maximum buffers: OK test VIDIOC_REMOVE_BUFS: OK test VIDIOC_EXPBUF: OK test Requests: OK (Not Supported) Total for mtk-vcodec-enc device /dev/video3: 47, Succeeded: 46, Failed: 1, Warnings:0 On Fri, 2025-05-30 at 10:40 -0400, Nicolas Dufresne wrote: > External email : Please do not click links or open attachments until > you have verified the sender or the content. > > > Hi, > > Le mercredi 28 mai 2025 à 14:36 +0800, Irui Wang a écrit : > > This patch series add support for MT8196 video encoder. > > patch 1~3: Add a new encoder driver interface for new VCP firmware. > > patch 4~6: Add MT8196 encoder driver platform data. > > > > About adding new driver support, the v4l2-compliance report shows: > > "Total for mtk-vcodec-enc device /dev/video3: 47, Succeeded: 46, > > Failed: 1, Warnings: 0" > > The 1 Failed case is not caused by current patch set. > > We really want to see the full report, simply reply to this cover > letter with > the entire report to fix it. > > Nicolas > > > > > This patch set depends on "media: mediatek: vcodec: support video > > decoder in mt8196"[1] > > > > [1] > > https://urldefense.com/v3/__https://patchwork.linuxtv.org/project/linux-media/list/?series=15232__;!!CTRNKA9wMg0ARbw!ne2002IRjhf6EKghCo-bSq_d-P_FNNtNZblQ1BHNJvvRejenXTbX2xvZNG93GyFWHSdydW_3ek9M_8kHU4BI_ZhTiofyWkQ$ > > > > Change in v2: > > - Add support for VCP encode process. > > - Add MT8196 encoder driver platform data. > > - Rebase encoder patch onto decoder's patch set. > > - Fix some review comments in v1. > > > > Irui Wang (6): > > media: mediatek: encoder: Add a new encoder driver interface > > media: mediatek: encoder: Add support for common firmware > > interface > > media: mediatek: encoder: Add support for VCP encode process > > media: mediatek: encoder: Add a new platform data member > > dt-bindings: media: mediatek: encoder: Add encoder dt-bindings > > for > > MT8196 > > media: mediatek: encoder: Add MT8196 encoder compatible data > > > > .../media/mediatek,vcodec-encoder.yaml | 12 + > > .../mediatek/vcodec/common/mtk_vcodec_fw.c | 19 + > > .../mediatek/vcodec/common/mtk_vcodec_fw.h | 2 + > > .../vcodec/common/mtk_vcodec_fw_priv.h | 1 + > > .../vcodec/common/mtk_vcodec_fw_vcp.c | 6 + > > .../platform/mediatek/vcodec/encoder/Makefile | 1 + > > .../mediatek/vcodec/encoder/mtk_vcodec_enc.c | 37 +- > > .../vcodec/encoder/mtk_vcodec_enc_drv.c | 28 + > > .../vcodec/encoder/mtk_vcodec_enc_drv.h | 15 +- > > .../vcodec/encoder/venc/venc_common_if.c | 678 > > ++++++++++++++++++ > > .../vcodec/encoder/venc/venc_h264_if.c | 8 +- > > .../mediatek/vcodec/encoder/venc_drv_if.c | 3 +- > > .../mediatek/vcodec/encoder/venc_drv_if.h | 11 +- > > .../mediatek/vcodec/encoder/venc_ipi_msg.h | 26 + > > .../mediatek/vcodec/encoder/venc_vpu_if.c | 51 +- > > 15 files changed, 843 insertions(+), 55 deletions(-) > > create mode 100644 > > drivers/media/platform/mediatek/vcodec/encoder/venc/venc_common_if. > > c