[PATCH V2 00/10] media: hantro: imx8mq/imx8mm: Let VPU decoders get controlled by vpu-blk-ctrl
Benjamin Gaignard
benjamin.gaignard at collabora.com
Thu Dec 16 06:58:40 PST 2021
Le 16/12/2021 à 12:12, Adam Ford a écrit :
> Both the i.MX8MQ and i.MX8MM have G1 and G2 decoders.
> The two decoders are similar, but the imx8mm lacks the
> post-processor, so they will have distinct compatible flags.
>
> From what I can tell, the G2 decoder wasn't working, so splitting
> the i.MX8MQ VPU into G1 and G2 makes it easier to control them
> independently since the TRM of both the i.MX8MQ and
> i.MX8MM list them as distinct IP blocks. This also allowed G2 to
> become available.
>
> With them being split, the power-domain can shift to the
> vpu-blk-ctrl which is available on both i.MX8MQ and i.MX8MM,
> but some of bits are different, so they'll have separate bindings.
>
> Lastly, with the G1 and G2 operational, enable the i.MX8MM.
> On the i.MX8MM, the clock speed of 600MHz was chosen to match
> the default of the kernel repo from NXP and can be overwritten
> by board files for anyone who under/over volts the power rail.
>
> There seems to be some disagreement between the TRM and the Datasheet
> for the imx8mq as to whether the speed should be 300MHz (TRM) or
> 600MHz (datasheet), so feedback from NXP would be very much
> appreciated.
>
> The repo used as the starting point was:
> git://linuxtv.org/hverkuil/media_tree.git for-v5.17e
>
> Fluster was run on both i.MX8MM and i.MX8MQ
>
> At 600 MHz, the i.MX8MM had the following:
>
> ./fluster.py run -d GStreamer-VP8-V4L2SL-Gst1.0
> Ran 55/61 tests successfully in 8.299 secs
>
> ./fluster.py run -dGStreamer-H.264-V4L2SL-Gst1.0
> Ran 90/135 tests successfully in 71.200 secs
>
> ./fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0
> Ran 139/303 tests successfully in 218.079 secs
>
> The i.MX8MQ had the following:
>
> ./fluster.py run -d GStreamer-VP8-V4L2SL-Gst1.0
> Ran 55/61 tests successfully in 7.732 secs
>
> ./fluster.py run -dGStreamer-H.264-V4L2SL-Gst1.0
> Ran 90/135 tests successfully in 58.558 secs
>
> ./fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0
> Ran 144/303 tests successfully in 271.373 secs
I have tested this series on top of media_stage/master branch
with IMX6MQ:
./fluster.py run -d GStreamer-VP8-V4L2SL-Gst1.0
Ran 57/61 tests successfully in 32.725 secs
./fluster.py run -d GStreamer-H.264-V4L2SL-Gst1.0
Ran 89/135 tests successfully in 131.632 secs
./fluster.py run -d GStreamer-VP9-V4L2SL-Gst1.0
Ran 146/303 tests successfully in 304.345 secs
./fluster.py run -d GStreamer-H.265-V4L2SL-Gst1.0 -j 1
Ran 77/147 tests successfully in 1047.211 secs
For this series:
Tested-by: Benjamin Gaignard <benjamin.gaignard at collabora.com>
Thanks to fix this problem.
Benjamin
>
> V2: Remove references to legacy dt-binding from YAML, but keep
> it in the driver so older device trees can still be used.
> Fix typos in YAML
> Remove reg-names, interrupt-names, and clock-names from YAML,
> since each node will only have one of each, they're not necessary
> Add Fluster scores to cover letter for i.MX8MQ
>
> Adam Ford (7):
> dt-bindings: media: nxp,imx8mq-vpu: Split G1 and G2 nodes
> media: hantro: Allow i.MX8MQ G1 and G2 to run independently
> arm64: dts: imx8mq: Enable both G1 and G2 VPU's with vpu-blk-ctrl
> arm64: dts: imx8mm: Fix VPU Hanging
> dt-bindings: media: nxp,imx8mq-vpu: Add support for G1 and G2 on
> imx8mm
> media: hantro: Add support for i.MX8MM
> arm64: dts: imx8mm: Enable Hantro G1 and G2 video decoders
>
> Lucas Stach (3):
> dt-bindings: power: imx8mq: add defines for VPU blk-ctrl domains
> dt-bindings: soc: add binding for i.MX8MQ VPU blk-ctrl
> soc: imx: imx8m-blk-ctrl: add i.MX8MQ VPU blk-ctrl
>
> .../bindings/media/nxp,imx8mq-vpu.yaml | 93 +++++++++++--------
> .../soc/imx/fsl,imx8mq-vpu-blk-ctrl.yaml | 71 ++++++++++++++
> arch/arm64/boot/dts/freescale/imx8mm.dtsi | 23 ++++-
> arch/arm64/boot/dts/freescale/imx8mq.dtsi | 63 ++++++++-----
> drivers/soc/imx/imx8m-blk-ctrl.c | 68 +++++++++++++-
> drivers/staging/media/hantro/hantro_drv.c | 3 +
> drivers/staging/media/hantro/hantro_hw.h | 3 +
> drivers/staging/media/hantro/imx8m_vpu_hw.c | 75 ++++++++++++---
> include/dt-bindings/power/imx8mq-power.h | 3 +
> 9 files changed, 324 insertions(+), 78 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/soc/imx/fsl,imx8mq-vpu-blk-ctrl.yaml
>
>
> base-commit: d1888b0bfd2ddef2e8a81505ffa200b92cc32e0c
More information about the linux-arm-kernel
mailing list