From: zoan37 <agentzoan@gmail.com>
To: Kyrie Wu <kyrie.wu@mediatek.com>
Cc: Tiffany Lin <tiffany.lin@mediatek.com>,
Andrew-CT Chen <andrew-ct.chen@mediatek.com>,
Yunfei Dong <yunfei.dong@mediatek.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Hans Verkuil <hverkuil@xs4all.nl>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
Nathan Hebert <nhebert@chromium.org>,
Arnd Bergmann <arnd@arndb.de>, Irui Wang <irui.wang@mediatek.com>,
George Sun <george.sun@mediatek.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Andrzej Pietrasiewicz <andrzejtp2010@gmail.com>,
Yilong Zhou <yilong.zhou@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
Subject: Re: [PATCH v11 00/10] Enable video decoder & encoder for MT8189
Date: Sat, 10 Oct 2026 19:55:18 -0400 [thread overview]
Message-ID: <20261010235518.1078376-1-agentzoan@gmail.com> (raw)
In-Reply-To: <cover.1791623422.git.kyrie.wu@mediatek.com>
Hi Kyrie,
Thanks for the series. Test report from an MT8189 Chromebook (Lenovo
IdeaPad Slim 3 Chromebook, board "quigon" of the skywalker family):
next-20261008 with the other posted MT8189 series and this board's DT,
plus MT8196 decoder v8, MT8196 encoder v8 and this v11 on top, and
linux-firmware's mediatek/mt8189/scp.img (FW version e3c0782 Jan 30
2026; identical to the image ChromeOS ships).
VP9 decode: 240/240 frames bit-exact (1080p test stream through
libva-v4l2-request, checked against software decoding).
H.264 decode: the SCP hangs (watchdog timeout) and every frame is wrong.
The firmware has 'reserved' at the end of struct
vdec_h264_slice_info_ext (after crc[8]), not after 'timeout'; with the
current layout every slice parameter lands 8 bytes early. With only
this change on top of v11, H.264 decodes 240/240 frames bit-exact:
u16 timeout;
- u32 reserved;
u64 vdec_fb_va;
u32 crc[8];
+ u32 reserved;
};
I don't know which layout the MT8188/MT8195 firmware uses, so this may
need to depend on the platform or the firmware.
HEVC: MT8189 is pure single core, but the firmware capability makes the
driver advertise HEVC_SLICE (and AV1). The HEVC backend only implements
the LAT + core flow, and setting an HEVC format (here libva-v4l2-request
probing its profiles when ffmpeg opened the VA-API device) sends an
init message that crashes the SCP:
mtk-scp 1c400000.scp: SCP watchdog timeout! 0x0
remoteproc remoteproc0: crash detected in scp: type watchdog
scp ipi 14 ack time out !
scp_ipi_send+0x2ec/0xd5c [mtk_scp_ipi]
vpu_dec_init+0xe0/0x29c [mtk_vcodec_dec]
vdec_hevc_slice_init+0x88/0x250 [mtk_vcodec_dec]
vidioc_vdec_s_fmt+0x2a8/0x450 [mtk_vcodec_dec]
Not advertising HEVC and AV1 on MTK_VDEC_PURE_SINGLE_CORE (clearing
MTK_VDEC_FORMAT_HEVC_FRAME and MTK_VDEC_FORMAT_AV1_FRAME from
dec_capability after reading it from the firmware) avoids it; that's
what I run.
H.264 encode (patches 9 and 10 on MT8196 encoder v8): works. A 720p30
test pattern at 4 Mbit/s through ffmpeg's h264_v4l2m2m gives valid High
profile H.264, 60/60 frames, about 49 dB PSNR against the source on the
first frames.
For patches 9 and 10:
Tested-by: zoan37 <agentzoan@gmail.com>
Two board-side notes from bringing this up, in case they help whoever
writes the MT8189 DT and multimedia clocks: the VDE0 power domain needed
the larb4 gate as a subsys clock ("vdec-0", as in ChromeOS's
mt8189.dtsi), otherwise only the first decode after VDE0 powered up
worked; and the VEN1 clock controller must not use runtime PM (VEN0
then failed to prepare its subsys clock with -EACCES in the noirq resume
phase, genpd marked it on anyway, and every resume warned about
"already disabled" clocks).
The board's patches and notes are at
https://github.com/zoan37/lenovo-slim3-chromebook-omarchy
The testing and the fixes were done with help from an AI assistant
(Claude).
Thanks,
zoan37
prev parent reply other threads:[~2026-10-10 23:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-10 9:23 [PATCH v11 00/10] Enable video decoder & encoder for MT8189 Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 01/10] dt-bindings: media: mediatek: decoder: Add MT8189 mediatek,vcodec-decoder Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 02/10] media: mediatek: decoder: Add a new platform data member Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 03/10] media: mediatek: decoder: Move firmware selection to platform data Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 04/10] media: mediatek: vcodec: Refactor Decoder profile & level Handling Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 05/10] media: mediatek: vcodec: Add VP9 Probability Size Configuration Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 06/10] media: mediatek: vcodec: Fix vp9 4096x2176 fail for profile2 Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 07/10] media: mediatek: vcodec: add decoder compatible to support MT8189 Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 08/10] media: mediatek: vcodec: Fix media device node number Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 09/10] dt-bindings: media: Add MT8189 mediatek,vcodec-encoder Kyrie Wu
2026-10-10 9:23 ` [PATCH v11 10/10] media: mediatek: encoder: Add MT8189 encoder compatible data Kyrie Wu
2026-10-10 23:55 ` zoan37 [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261010235518.1078376-1-agentzoan@gmail.com \
--to=agentzoan@gmail.com \
--cc=andrew-ct.chen@mediatek.com \
--cc=andrzejtp2010@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=arnd@arndb.de \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=george.sun@mediatek.com \
--cc=hverkuil@xs4all.nl \
--cc=irui.wang@mediatek.com \
--cc=krzk+dt@kernel.org \
--cc=kyrie.wu@mediatek.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=mchehab@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=nhebert@chromium.org \
--cc=nicolas.dufresne@collabora.com \
--cc=robh@kernel.org \
--cc=tiffany.lin@mediatek.com \
--cc=yilong.zhou@mediatek.com \
--cc=yunfei.dong@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.