linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/5] media: venus: Add QCM2290 support with AR50_LITE core
@ 2025-06-26 13:59 Jorge Ramirez-Ortiz
  2025-06-26 13:59 ` [PATCH v5 1/5] media: dt-bindings: venus: Add qcm2290 dt schema Jorge Ramirez-Ortiz
                   ` (4 more replies)
  0 siblings, 5 replies; 42+ messages in thread
From: Jorge Ramirez-Ortiz @ 2025-06-26 13:59 UTC (permalink / raw)
  To: jorge.ramirez, krzk+dt, bryan.odonoghue, quic_vgarodia,
	quic_dikshita, mchehab, robh, conor+dt, konradybcio, andersson
  Cc: linux-arm-msm, linux-media, devicetree, linux-kernel

Changes since v4:
- patch 1/5:
  - added reviewed by: Krzysztof Kozlowski
  - updated example section
- patch 2/5:
  - added reviewed by: Bryan O'Donoghue
  - Fixed Co-developed-by order
- patch 3/5:
- patch 4/5:
 - removed encode-node (userspace exposure)
 - fixed Co-developed-by order
- patch 5/5:
 - fixed venus register region
 - power-domain-names: one per line
 - clock-names: one per line
 - fixed interconnect tags
 - empty line before subnode
 - enable the venus node

Changes since v3:
- Fixed schema commit subject.

Changes since v2:
- Removed IS_HFI/IS_VPU macros
- checkpatch.pl --strict fixes:
  - convert macro to static inline to avoid argument reuse side effect

Changes since v1:
- Added IS_HFI macro usage
- Moved schema patch to top
- Fixed commit messages

This patch series adds support for the Venus video decoder/encoder block
present on the Qualcomm QCM2290.

Only video decoding is supported in this set - video encoding should
follow up in the coming weeks.

The QCM2290 integrates an AR50_LITE core, a low-power implementation of
Venus supporting H.264, HEVC (H.265), and VP9 decoding.

The series includes:
  - DT binding schema for qcom,qcm2290-venus
  - SoC integration via qcm2290.dtsi
  - Resource table definitions and frequency scaling
  - Platform capability registration for the AR50_LITE core decoding block.

Decoding was verified on the QCOM RB1 platform using GStreamer with V4L2-based
decode plugins. The following pipelines were used for playback 1280x720 and
1920x1080 H.264, HEVC and VP9 videos from https://www.elecard.com/videos.

[H.264]
gst-launch-1.0 filesrc location=videos/xxxxx.mp4 \
  ! qtdemux name=demux demux.video_0 ! queue ! h264parse ! v4l2h264dec \
  ! videoconvert ! autovideosink

[H.265]
gst-launch-1.0 filesrc location=videos/xxxxx.mp4 \
  ! qtdemux name=demux demux.video_0 ! queue ! h265parse ! v4l2h265dec \
  ! videoconvert ! autovideosink

[VP9]
gst-launch-1.0 filesrc location=videos/xxxxx.webm \
  ! matroskademux ! queue ! v4l2vp9dec \
  ! videoconvert ! autovideosink

[Fluster]
The H.264 decoder was also tested using the Fluster test suite
(version: v0.4.0-12-g33566abd0964).
 Target: GStreamer-H.264-V4L2-Gst1.0, Test Suite: JVT-AVC_V1
 Result: 126/135 tests passed
 Failures:
 FM1_BT_B, FM1_FT_E, FM2_SVA_C, BA3_SVA_C, SP1_BT_A,
 SP2_BT_B, MR6_BT_B, MR7_BT_B, MR8_BT_B

---

Jorge Ramirez-Ortiz (5):
  media: dt-bindings: venus: Add qcm2290 dt schema
  media: venus: vdec: AR50_LITE video core support
  media: venus: hfi_plat_v6_lite: Populate decode capabilities
  media: venus: core: Add qcm2290 DT compatible and resource data
  arm64: dts: qcom: qcm2290: Add venus video node

 .../bindings/media/qcom,qcm2290-venus.yaml    | 127 +++++++++++++++
 arch/arm64/boot/dts/qcom/qcm2290.dtsi         |  57 +++++++
 drivers/media/platform/qcom/venus/Makefile    |   2 +-
 drivers/media/platform/qcom/venus/core.c      |  50 +++++-
 drivers/media/platform/qcom/venus/core.h      |  11 +-
 drivers/media/platform/qcom/venus/firmware.c  |   8 +-
 drivers/media/platform/qcom/venus/helpers.c   |  80 ++++++++++
 drivers/media/platform/qcom/venus/helpers.h   |   2 +
 .../media/platform/qcom/venus/hfi_helper.h    |  10 +-
 .../media/platform/qcom/venus/hfi_platform.c  |   2 +
 .../media/platform/qcom/venus/hfi_platform.h  |   1 +
 .../qcom/venus/hfi_platform_v6_lite.c         | 148 ++++++++++++++++++
 drivers/media/platform/qcom/venus/hfi_venus.c |  14 +-
 .../media/platform/qcom/venus/pm_helpers.c    |   1 +
 drivers/media/platform/qcom/venus/vdec.c      |  15 +-
 15 files changed, 503 insertions(+), 25 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
 create mode 100644 drivers/media/platform/qcom/venus/hfi_platform_v6_lite.c

-- 
2.34.1


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

end of thread, other threads:[~2025-07-14 23:00 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-26 13:59 [PATCH v5 0/5] media: venus: Add QCM2290 support with AR50_LITE core Jorge Ramirez-Ortiz
2025-06-26 13:59 ` [PATCH v5 1/5] media: dt-bindings: venus: Add qcm2290 dt schema Jorge Ramirez-Ortiz
2025-06-26 14:40   ` Bryan O'Donoghue
2025-06-27 12:06   ` Vikash Garodia
2025-07-07  9:06     ` Jorge Ramirez
2025-07-07  9:26       ` Jorge Ramirez
2025-07-07  9:29         ` Bryan O'Donoghue
2025-07-07  9:46           ` Jorge Ramirez
2025-07-14 23:00             ` Dmitry Baryshkov
2025-06-26 13:59 ` [PATCH v5 2/5] media: venus: vdec: AR50_LITE video core support Jorge Ramirez-Ortiz
2025-06-27 12:47   ` Dikshita Agarwal
2025-06-27 15:18     ` Jorge Ramirez
2025-06-30  6:47       ` Dikshita Agarwal
2025-07-08 19:14         ` Jorge Ramirez
2025-07-10  8:55           ` Dikshita Agarwal
2025-07-11 11:33             ` Jorge Ramirez
2025-06-26 13:59 ` [PATCH v5 3/5] media: venus: hfi_plat_v6_lite: Populate decode capabilities Jorge Ramirez-Ortiz
2025-06-26 14:43   ` Bryan O'Donoghue
2025-06-27 13:32   ` Dikshita Agarwal
2025-07-07  9:13     ` Jorge Ramirez
2025-07-07  9:29       ` Dikshita Agarwal
2025-07-07  9:56         ` Jorge Ramirez
2025-06-26 13:59 ` [PATCH v5 4/5] media: venus: core: Add qcm2290 DT compatible and resource data Jorge Ramirez-Ortiz
2025-06-26 14:37   ` Bryan O'Donoghue
2025-06-27 13:16   ` Dikshita Agarwal
2025-07-07  9:09     ` Jorge Ramirez
2025-07-07  9:19       ` Konrad Dybcio
2025-07-13  8:19         ` Jorge Ramirez
2025-06-26 13:59 ` [PATCH v5 5/5] arm64: dts: qcom: qcm2290: Add venus video node Jorge Ramirez-Ortiz
2025-06-26 14:05   ` Krzysztof Kozlowski
2025-06-26 14:25     ` Jorge Ramirez
2025-06-26 18:24       ` Konrad Dybcio
2025-06-27 12:10   ` Vikash Garodia
2025-06-27 12:33     ` Jorge Ramirez
2025-06-27 14:58       ` Vikash Garodia
2025-06-27 15:08         ` Jorge Ramirez
2025-06-27 15:12           ` Vikash Garodia
2025-06-27 15:20             ` Konrad Dybcio
2025-06-27 15:23               ` Vikash Garodia
2025-06-27 15:27                 ` Konrad Dybcio
2025-07-07  9:15                   ` Jorge Ramirez
2025-07-07  9:15             ` Jorge Ramirez

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).