[PATCH v3 0/5] media: venus: Add QCM2290 support with AR50_LITE core

Jorge Ramirez-Ortiz posted 5 patches 3 months, 2 weeks ago
There is a newer version of this series
.../bindings/media/qcom,qcm2290-venus.yaml    | 117 ++++++++++++++
arch/arm64/boot/dts/qcom/qcm2290.dtsi         |  45 ++++++
drivers/media/platform/qcom/venus/Makefile    |   2 +-
drivers/media/platform/qcom/venus/core.c      |  51 +++++-
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, 482 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
[PATCH v3 0/5] media: venus: Add QCM2290 support with AR50_LITE core
Posted by Jorge Ramirez-Ortiz 3 months, 2 weeks ago
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.

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 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):
  dt-bindings: media: 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    | 117 ++++++++++++++
 arch/arm64/boot/dts/qcom/qcm2290.dtsi         |  45 ++++++
 drivers/media/platform/qcom/venus/Makefile    |   2 +-
 drivers/media/platform/qcom/venus/core.c      |  51 +++++-
 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, 482 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
Re: [PATCH v3 0/5] media: venus: Add QCM2290 support with AR50_LITE core
Posted by Krzysztof Kozlowski 3 months, 2 weeks ago
On 23/06/2025 09:49, Jorge Ramirez-Ortiz wrote:
> Changes since v2:
> - Removed IS_HFI/IS_VPU macros
> - checkpatch.pl --strict fixes:
>   - convert macro to static inline to avoid argument reuse side effect
> 
Do not attach (thread) your patchsets to some other threads (unrelated
or older versions). This buries them deep in the mailbox and might
interfere with applying entire sets.

Best regards,
Krzysztof
Re: [PATCH v3 0/5] media: venus: Add QCM2290 support with AR50_LITE core
Posted by Jorge Ramirez 3 months, 2 weeks ago
On 23/06/25 09:55:25, Krzysztof Kozlowski wrote:
> On 23/06/2025 09:49, Jorge Ramirez-Ortiz wrote:
> > Changes since v2:
> > - Removed IS_HFI/IS_VPU macros
> > - checkpatch.pl --strict fixes:
> >   - convert macro to static inline to avoid argument reuse side effect
> > 
> Do not attach (thread) your patchsets to some other threads (unrelated
> or older versions). This buries them deep in the mailbox and might
> interfere with applying entire sets.

ah interesting, I was reading somewhere that sets should be threaded.
sure will stop doing that (found it super annoying as well)

> 
> Best regards,
> Krzysztof
Re: [PATCH v3 0/5] media: venus: Add QCM2290 support with AR50_LITE core
Posted by Krzysztof Kozlowski 3 months, 2 weeks ago
On 23/06/2025 10:07, Jorge Ramirez wrote:
> On 23/06/25 09:55:25, Krzysztof Kozlowski wrote:
>> On 23/06/2025 09:49, Jorge Ramirez-Ortiz wrote:
>>> Changes since v2:
>>> - Removed IS_HFI/IS_VPU macros
>>> - checkpatch.pl --strict fixes:
>>>   - convert macro to static inline to avoid argument reuse side effect
>>>
>> Do not attach (thread) your patchsets to some other threads (unrelated
>> or older versions). This buries them deep in the mailbox and might
>> interfere with applying entire sets.
> 
> ah interesting, I was reading somewhere that sets should be threaded.
> sure will stop doing that (found it super annoying as well)
https://elixir.bootlin.com/linux/v6.15/source/Documentation/process/submitting-patches.rst#L831

Best regards,
Krzysztof
Re: [PATCH v3 0/5] media: venus: Add QCM2290 support with AR50_LITE core
Posted by Jorge Ramirez 3 months, 2 weeks ago
On 23/06/25 10:39:25, Krzysztof Kozlowski wrote:
> On 23/06/2025 10:07, Jorge Ramirez wrote:
> > On 23/06/25 09:55:25, Krzysztof Kozlowski wrote:
> >> On 23/06/2025 09:49, Jorge Ramirez-Ortiz wrote:
> >>> Changes since v2:
> >>> - Removed IS_HFI/IS_VPU macros
> >>> - checkpatch.pl --strict fixes:
> >>>   - convert macro to static inline to avoid argument reuse side effect
> >>>
> >> Do not attach (thread) your patchsets to some other threads (unrelated
> >> or older versions). This buries them deep in the mailbox and might
> >> interfere with applying entire sets.
> > 
> > ah interesting, I was reading somewhere that sets should be threaded.
> > sure will stop doing that (found it super annoying as well)
> https://elixir.bootlin.com/linux/v6.15/source/Documentation/process/submitting-patches.rst#L831
>

thanks will respin the patchset to version 4 without waiting then; if
this happened to you it will have happened to others. sorry about it.


> Best regards,
> Krzysztof