From: Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>
To: jorge.ramirez@oss.qualcomm.com, krzk+dt@kernel.org,
bryan.odonoghue@linaro.org, quic_vgarodia@quicinc.com,
quic_dikshita@quicinc.com, mchehab@kernel.org, robh@kernel.org,
conor+dt@kernel.org, konradybcio@kernel.org,
andersson@kernel.org
Cc: linux-arm-msm@vger.kernel.org, linux-media@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v5 0/5] media: venus: Add QCM2290 support with AR50_LITE core
Date: Thu, 26 Jun 2025 15:59:26 +0200 [thread overview]
Message-ID: <20250626135931.700937-1-jorge.ramirez@oss.qualcomm.com> (raw)
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
next reply other threads:[~2025-06-26 13:59 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-26 13:59 Jorge Ramirez-Ortiz [this message]
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
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=20250626135931.700937-1-jorge.ramirez@oss.qualcomm.com \
--to=jorge.ramirez@oss.qualcomm.com \
--cc=andersson@kernel.org \
--cc=bryan.odonoghue@linaro.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=quic_dikshita@quicinc.com \
--cc=quic_vgarodia@quicinc.com \
--cc=robh@kernel.org \
/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).