Re: [RFC V3 0/2] arm64: imx8mm: Enable Hantro VPUs
From: Nicolas Dufresne <hidden>
Date: 2021-12-03 03:57:37
Also in:
linux-arm-kernel, linux-devicetree, linux-media, linux-rockchip, lkml
Le mercredi 01 décembre 2021 à 22:16 -0600, Adam Ford a écrit :
The i.MX8M has two Hantro video decoders, called G1 and G2 which appear to be related to the video decoders used on the i.MX8MQ, but because of how the Mini handles the power domains, the VPU driver does not need to handle all the functions, so a new compatible flag is required. V3 is rebased from git://linuxtv.org/hverkuil/media_tree.git for-v5.17c This branch has support for VP9. I set cma=512M, but this may not be enough memory as some tests appeard to run out of memory
Consider passing -j1 to fluster and using patience, this will spare some memory. You can also increase the timeout (like -t 60), that often helps when CMA is involved (due to software conversion happening). Thanks for the serious testing, this is really appreciated that your submission really reflects the state.
V3 of this series has several changes: Update imx8m_vpu_hw to add missing 'reg' reference names for G2 and include references to VP9 Update device tree to remove IMX8MQ_VPU_RESET, remove some duplicate vpu clock parenting Fix missing reg-names from vpu_g2 node. Apply patch [1] to manage the power domains powering down. [1] - https://lore.kernel.org/linux-arm-kernel/20211016210547.171717-1-marex@denx.de/t/ (local) With the above, the following Fluster scores are produced: G1: ./fluster.py run -dGStreamer-H.264-V4L2SL-Gst1.0 Ran 90/135 tests successfully in 74.406 secs
This matches my results on imx8mq.
./fluster.py run -d GStreamer-VP8-V4L2SL-Gst1.0 Ran 55/61 tests successfully in 8.080 secs
Idem.
G2: ./fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0 Ran 127/303 tests successfully in 203.873 secs
Benjamin reports 129, it could be flux. This is still a bit early, hence the low score. But most streams do playback normally.
Fluster and G-Streamer were both built from their respective git repos using their respective master/main branches.
That gave me an idea, I'll try and print the GStreamer version/commit inside fluster along with fluster own commit (ideally in the short summary).
Adam Ford (2): media: hantro: Add support for i.MX8M Mini arm64: dts: imx8mm: Enable VPU-G1 and VPU-G2 arch/arm64/boot/dts/freescale/imx8mm.dtsi | 41 +++++++++++++ drivers/staging/media/hantro/hantro_drv.c | 2 + drivers/staging/media/hantro/hantro_hw.h | 2 + drivers/staging/media/hantro/imx8m_vpu_hw.c | 65 +++++++++++++++++++++ 4 files changed, 110 insertions(+)