All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] Microship SAMA5D4 VPU support et al
@ 2021-03-11 15:40 ` Emil Velikov
  0 siblings, 0 replies; 52+ messages in thread
From: Emil Velikov @ 2021-03-11 15:40 UTC (permalink / raw)
  To: Ezequiel Garcia, Philipp Zabel, linux-media, linux-rockchip,
	Nicolas Ferre
  Cc: emil.l.velikov

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


^ permalink raw reply	[flat|nested] 52+ messages in thread

end of thread, other threads:[~2021-03-31 17:44 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-11 15:40 [PATCH v2 00/10] Microship SAMA5D4 VPU support et al Emil Velikov
2021-03-11 15:40 ` Emil Velikov
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   ` 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   ` 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   ` Emil Velikov
2021-03-11 15:40 ` [PATCH v2 04/10] media: hantro: imx: remove unused include Emil Velikov
2021-03-11 15:40   ` 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   ` Emil Velikov
2021-03-11 15:40 ` [PATCH v2 06/10] media: dt-bindings: Document SAMA5D4 VDEC bindings Emil Velikov
2021-03-11 15:40   ` Emil Velikov
2021-03-24 15:17   ` Rob Herring
2021-03-24 15:17     ` Rob Herring
2021-03-25 14:14     ` Emil Velikov
2021-03-25 14:14       ` Emil Velikov
2021-03-26 14:28       ` Ezequiel Garcia
2021-03-26 14:28         ` Ezequiel Garcia
2021-03-31 17:42         ` Emil Velikov
2021-03-31 17:42           ` Emil Velikov
2021-03-26 14:33     ` Ezequiel Garcia
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   ` 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   ` 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   ` Emil Velikov
2021-03-11 15:40   ` Emil Velikov
2021-03-11 15:40 ` [PATCH v2 10/10] ARM: configs: at91: sama5: enable the Hantro G1 engine Emil Velikov
2021-03-11 15:40   ` Emil Velikov
2021-03-11 15:40   ` Emil Velikov
2021-03-16 17:23 ` [PATCH v2 00/10] Microship SAMA5D4 VPU support et al Ezequiel Garcia
2021-03-16 17:23   ` Ezequiel Garcia
2021-03-24 12:49   ` Emil Velikov
2021-03-24 12:49     ` Emil Velikov
2021-03-24 13:44     ` Nicolas Ferre
2021-03-24 13:44       ` Nicolas Ferre
2021-03-25  8:48       ` Alexandre Belloni
2021-03-25  8:48         ` Alexandre Belloni
2021-03-25 14:22         ` Emil Velikov
2021-03-25 14:22           ` Emil Velikov
2021-03-29  9:53           ` Nicolas Ferre
2021-03-29  9:53             ` Nicolas Ferre
2021-03-31 17:36             ` Emil Velikov
2021-03-31 17:36               ` Emil Velikov
2021-03-25 15:50         ` Nicolas Ferre
2021-03-25 15:50           ` Nicolas Ferre
2021-03-24 19:58 ` Nicolas Dufresne
2021-03-24 19:58   ` Nicolas Dufresne

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.