From: Emil Velikov <emil.l.velikov@gmail.com>
To: Ezequiel Garcia <ezequiel@collabora.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
Nicolas Ferre <nicolas.ferre@microchip.com>
Cc: emil.l.velikov@gmail.com
Subject: [PATCH v2 00/10] Microship SAMA5D4 VPU support et al
Date: Thu, 11 Mar 2021 15:40:45 +0000 [thread overview]
Message-ID: <20210311154055.3496076-1-emil.l.velikov@gmail.com> (raw)
Hi all
This series adds support for the Microchip SAMA5D4 VPU, which it based
on the Hantro G1.
The hardware can support up-to 1280x720 for each of the MPEG2, VP8 and
H264 codecs. There is only a single decoder and no encoders on the SoC.
The Hantro G1 post-processing is also enabled on the platform.
To minimise duplication, the series starts with a few small cleanups.
As you may have noticed, this is my first patches series to linux-media,
so any tips how to make this as smoother process are appreciated.
Changes in v2:
- Add testing results in the cover letter (thanks Eze)
- s/Atmel/Microchip/ through the series (thanks Nicolas)
- Split defconfig change into separate commit (thanks Eze, Nicolas)
- Added Reviewed-by and Fixes tags (thanks Philipp)
- Split DT into separate commit, wrote binding document, fixup minor DT
warnings (thanks Eze)
- Rebased on top of 5.12-rc2, as per Linus' email to avoid 5.12-rc1
https://lwn.net/Articles/848265/
Testing
-------
- v4l-compliance
Command used:
v4l2-compliance -m0
Output summary:
v4l2-compliance 1.21.0-4740, 32 bits, 32-bit time_t
v4l2-compliance SHA: f253495fa6de 2021-03-06 15:32:09
Compliance test for hantro-vpu device /dev/media0:
Total for hantro-vpu device /dev/media0: 8, Succeeded: 8, Failed: 0,
Warnings: 0
Compliance test for hantro-vpu device /dev/video0:
Total for hantro-vpu device /dev/video0: 46, Succeeded: 46, Failed: 0,
Warnings: 0
- Post-processor testing
Command used:
gst-launch-1.0 -v filesrc location=test.mp4 ! decodebin3 !
video/x-raw,format=YUY2 ! ...
Confirmed the VPU is used by observing the interrupts triggering, strace
showed extra v4l2 ioctls - VIDIOC_S_FMT(... V4L2_PIX_FMT_YUYV ...)
- MPEG2 testing, custom ffmpeg from
https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-hwaccel-4.3
Command used:
ffmpeg -hwaccel drm -i mpeg2.mpeg2 -f rawvideo -pix_fmt yuv420p out.raw
Confirmed the VPU is used by observing the interrupts triggering, strace
showed the v4l2 ioctls being used plus played back the resulting file.
- VP8 testing, using fluster
Command used:
fluster.py run -ts VP8-TEST-VECTORS -d GStreamer-VP8-V4L2SL-Gst1.0
Output summary:
Running test suite VP8-TEST-VECTORS with decoder GStreamer-VP8-V4L2SL-Gst1.0
Ran 61 tests in 103.273s
FAILED (failures=9, errors=2)
- H264 testing, using fluster
Command used:
fluster.py run -ts JVT-AVC_V1 -d GStreamer-H.264-V4L2SL-Gst1.0
Output summary:
Running test suite JVT-AVC_V1 with decoder GStreamer-H.264-V4L2SL-Gst1.0
Ran 135 tests in 420.444s
FAILED (failures=9, errors=55)
Looking forward to your feedback,
Emil
Emil Velikov (10):
media: hantro: use G1_REG_INTERRUPT directly for the mpeg2
media: hantro: imx: reuse MB_DIM define
media: hantro: imx: remove duplicate dec_base init
media: hantro: imx: remove unused include
media: hantro: introduce hantro_g1.c for common API
media: dt-bindings: Document SAMA5D4 VDEC bindings
media: hantro: add initial SAMA5D4 support
ARM: dts: sama5d4: enable Hantro G1 VDEC
ARM: configs: at91: sama5: update with savedefconfig
ARM: configs: at91: sama5: enable the Hantro G1 engine
.../media/microchip,sama5d4-vdec.yaml | 59 +++++++++
arch/arm/boot/dts/sama5d4.dtsi | 9 ++
arch/arm/configs/sama5_defconfig | 40 +++---
drivers/staging/media/hantro/Kconfig | 10 +-
drivers/staging/media/hantro/Makefile | 4 +
drivers/staging/media/hantro/hantro_drv.c | 3 +
drivers/staging/media/hantro/hantro_g1.c | 39 ++++++
.../media/hantro/hantro_g1_mpeg2_dec.c | 5 +-
drivers/staging/media/hantro/hantro_hw.h | 4 +
drivers/staging/media/hantro/imx8m_vpu_hw.c | 27 +---
drivers/staging/media/hantro/rk3288_vpu_hw.c | 36 +-----
.../staging/media/hantro/sama5d4_vdec_hw.c | 117 ++++++++++++++++++
12 files changed, 274 insertions(+), 79 deletions(-)
create mode 100644 Documentation/devicetree/bindings/media/microchip,sama5d4-vdec.yaml
create mode 100644 drivers/staging/media/hantro/hantro_g1.c
create mode 100644 drivers/staging/media/hantro/sama5d4_vdec_hw.c
--
2.30.1
next reply other threads:[~2021-03-11 15:41 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-11 15:40 Emil Velikov [this message]
2021-03-11 15:40 ` [PATCH v2 01/10] media: hantro: use G1_REG_INTERRUPT directly for the mpeg2 Emil Velikov
2021-03-11 15:40 ` [PATCH v2 02/10] media: hantro: imx: reuse MB_DIM define Emil Velikov
2021-03-11 15:40 ` [PATCH v2 03/10] media: hantro: imx: remove duplicate dec_base init Emil Velikov
2021-03-11 15:40 ` [PATCH v2 04/10] media: hantro: imx: remove unused include Emil Velikov
2021-03-11 15:40 ` [PATCH v2 05/10] media: hantro: introduce hantro_g1.c for common API Emil Velikov
2021-03-11 15:40 ` [PATCH v2 06/10] media: dt-bindings: Document SAMA5D4 VDEC bindings Emil Velikov
2021-03-24 15:17 ` Rob Herring
2021-03-25 14:14 ` Emil Velikov
2021-03-26 14:28 ` Ezequiel Garcia
2021-03-31 17:42 ` Emil Velikov
2021-03-26 14:33 ` Ezequiel Garcia
2021-03-11 15:40 ` [PATCH v2 07/10] media: hantro: add initial SAMA5D4 support Emil Velikov
2021-03-11 15:40 ` [PATCH v2 08/10] ARM: dts: sama5d4: enable Hantro G1 VDEC Emil Velikov
2021-03-11 15:40 ` [PATCH v2 09/10] ARM: configs: at91: sama5: update with savedefconfig Emil Velikov
2021-03-11 15:40 ` [PATCH v2 10/10] ARM: configs: at91: sama5: enable the Hantro G1 engine Emil Velikov
2021-03-16 17:23 ` [PATCH v2 00/10] Microship SAMA5D4 VPU support et al Ezequiel Garcia
2021-03-24 12:49 ` Emil Velikov
2021-03-24 13:44 ` Nicolas Ferre
2021-03-25 8:48 ` Alexandre Belloni
2021-03-25 14:22 ` Emil Velikov
2021-03-29 9:53 ` Nicolas Ferre
2021-03-31 17:36 ` Emil Velikov
2021-03-25 15:50 ` Nicolas Ferre
2021-03-24 19:58 ` Nicolas Dufresne
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=20210311154055.3496076-1-emil.l.velikov@gmail.com \
--to=emil.l.velikov@gmail.com \
--cc=ezequiel@collabora.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=nicolas.ferre@microchip.com \
--cc=p.zabel@pengutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).