Devicetree
 help / color / mirror / Atom feed
* [PATCH v2 0/4] media: iris: bring up driver on SM6115-based platforms
@ 2026-05-15 11:59 Dmitry Baryshkov
  2026-05-15 11:59 ` [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC Dmitry Baryshkov
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-05-15 11:59 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Vikash Garodia,
	Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Jorge Ramirez-Ortiz, Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

The SM6115 / SM4250 / QRB4210 platforms use the AR50_LITE IP core as the
video en/decoder (the same as Agatti platform). Extend Iris driver to
support this platform. This has been tested on the Qualcomm RB2 board
with the normal HFI Gen1 firmware. HFI Gen2 firmware for AR50Lt doesn't
work yet on SM6115.

V4L2 compliance for Encoder fails due to firmware / driver error:
 qcom-iris 5a00000.video-codec: session error for command: 3007001, event id:1007, session id:d3b1e000

debian@debian:~$ v4l2-compliance -d /dev/video0
v4l2-compliance 1.30.1, 64 bits, 64-bit time_t

Compliance test for iris_driver device /dev/video0:

Driver Info:
        Driver name      : iris_driver
        Card type        : Iris Decoder
        Bus info         : platform:5a00000.video-codec
        Driver version   : 7.0.0
        Capabilities     : 0x84204000
                Video Memory-to-Memory Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04204000
                Video Memory-to-Memory Multiplanar
                Streaming
                Extended Pix Format
        Detected Stateful Decoder

Required ioctls:
        test VIDIOC_QUERYCAP: OK
        test invalid ioctls: OK

Allow for multiple opens:
        test second /dev/video0 open: OK
        test VIDIOC_QUERYCAP: OK
        test VIDIOC_G/S_PRIORITY: OK
        test for unlimited opens: OK

Debug ioctls:
        test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
        test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
        test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
        test VIDIOC_ENUMAUDIO: OK (Not Supported)
        test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
        test VIDIOC_G/S_AUDIO: OK (Not Supported)
        Inputs: 0 Audio Inputs: 0 Tuners: 0

Output ioctls:
        test VIDIOC_G/S_MODULATOR: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_ENUMAUDOUT: OK (Not Supported)
        test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
        test VIDIOC_G/S_AUDOUT: OK (Not Supported)
        Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
        test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
        test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
        test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
        test VIDIOC_G/S_EDID: OK (Not Supported)

Control ioctls:
        test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
        test VIDIOC_QUERYCTRL: OK
        test VIDIOC_G/S_CTRL: OK
        test VIDIOC_G/S/TRY_EXT_CTRLS: OK
        test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
        test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
        Standard Controls: 2 Private Controls: 0

Format ioctls:
        test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
        test VIDIOC_G/S_PARM: OK (Not Supported)
        test VIDIOC_G_FBUF: OK (Not Supported)
        test VIDIOC_G_FMT: OK
        test VIDIOC_TRY_FMT: OK
        test VIDIOC_S_FMT: OK
        test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
        test Cropping: OK
        test Composing: OK
        test Scaling: OK (Not Supported)

Codec ioctls:
        test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
        test VIDIOC_G_ENC_INDEX: OK (Not Supported)
        test VIDIOC_(TRY_)DECODER_CMD: OK

Buffer ioctls:
        test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
        test CREATE_BUFS maximum buffers: OK
        test VIDIOC_REMOVE_BUFS: OK
        test VIDIOC_EXPBUF: OK
        test Requests: OK (Not Supported)
        test blocking wait: OK

Total for iris_driver device /dev/video0: 48, Succeeded: 48, Failed: 0, Warnings: 0

debian@debian:~$ v4l2-compliance -d /dev/video1
v4l2-compliance 1.30.1, 64 bits, 64-bit time_t

Compliance test for iris_driver device /dev/video1:

Driver Info:
        Driver name      : iris_driver
        Card type        : Iris Encoder
        Bus info         : platform:5a00000.video-codec
        Driver version   : 7.0.0
        Capabilities     : 0x84204000
                Video Memory-to-Memory Multiplanar
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04204000
                Video Memory-to-Memory Multiplanar
                Streaming
                Extended Pix Format
        Detected Stateful Encoder

Required ioctls:
        test VIDIOC_QUERYCAP: OK
        test invalid ioctls: OK

Allow for multiple opens:
        test second /dev/video1 open: OK
        test VIDIOC_QUERYCAP: OK
        test VIDIOC_G/S_PRIORITY: OK
        test for unlimited opens: OK

Debug ioctls:
        test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
        test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
        test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
        test VIDIOC_ENUMAUDIO: OK (Not Supported)
        test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
        test VIDIOC_G/S_AUDIO: OK (Not Supported)
        Inputs: 0 Audio Inputs: 0 Tuners: 0

Output ioctls:
        test VIDIOC_G/S_MODULATOR: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_ENUMAUDOUT: OK (Not Supported)
        test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
        test VIDIOC_G/S_AUDOUT: OK (Not Supported)
        Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
        test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
        test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
        test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
        test VIDIOC_G/S_EDID: OK (Not Supported)

Control ioctls:
        test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
        test VIDIOC_QUERYCTRL: OK
        test VIDIOC_G/S_CTRL: OK
        test VIDIOC_G/S/TRY_EXT_CTRLS: OK
        test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
        test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
        Standard Controls: 18 Private Controls: 0

Format ioctls:
        test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
        test VIDIOC_G/S_PARM: OK
        test VIDIOC_G_FBUF: OK (Not Supported)
        test VIDIOC_G_FMT: OK
        test VIDIOC_TRY_FMT: OK
        test VIDIOC_S_FMT: OK
        test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
        test Cropping: OK
        test Composing: OK (Not Supported)
        test Scaling: OK (Not Supported)

Codec ioctls:
        test VIDIOC_(TRY_)ENCODER_CMD: OK
        test VIDIOC_G_ENC_INDEX: OK (Not Supported)
        test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

Buffer ioctls:
        test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
        test CREATE_BUFS maximum buffers: OK
        test VIDIOC_REMOVE_BUFS: OK
        test VIDIOC_EXPBUF: OK
        test Requests: OK (Not Supported)
                fail: v4l2-test-buffers.cpp(3101): thread_dqbuf.done
                fail: v4l2-test-buffers.cpp(3139): testBlockingDQBuf(node, q)
        test blocking wait: FAIL

Total for iris_driver device /dev/video1: 48, Succeeded: 47, Failed: 1, Warnings: 0
debian@debian:~$ 

Summary of the main fluster testsuites:

|Test|FFmpeg-H.264-v4l2m2m|GStreamer-H.264-V4L2|
|-|-|-|
|TOTAL|77/135|78/135|
|NOT SUPPORTED|0/135|0/135|
|FAIL/ERROR|58/135|57/135|
|TOTAL TIME|217.707s|100.952s|

|Test|FFmpeg-H.265-v4l2m2m|GStreamer-H.265-V4L2|
|-|-|-|
|TOTAL|123/147|128/147|
|NOT SUPPORTED|0/147|0/147|
|FAIL/ERROR|24/147|19/147|
|TOTAL TIME|213.377s|173.100s|

|Test|FFmpeg-VP9-v4l2m2m|GStreamer-VP9-V4L2|
|-|-|-|
|TOTAL|156/305|112/305|
|NOT SUPPORTED|0/305|0/305|
|FAIL/ERROR|149/305|193/305|
|TOTAL TIME|291.249s|174.203s|

Detailed test results can be seen at [1].

[1] https://github.com/linux-msm/fluster-tests/blob/trunk/iris-sm6115.md

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Changes in v2:
- Reinstantiated the qcom,qcm2290-venus compatible in the Venus schema
  (Rob)
- Link to v1: https://patch.msgid.link/20260507-iris-sm6115-v1-0-0b082ad8eea8@oss.qualcomm.com

---
Dmitry Baryshkov (4):
      clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC
      media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115
      arm64: dts: qcom: sm6115: add venus device
      arm64: dts: qcom: qrb4210-rb2: enable venus device

 .../bindings/media/qcom,qcm2290-venus.yaml         |  6 +-
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts           |  6 ++
 arch/arm64/boot/dts/qcom/sm6115.dtsi               | 65 ++++++++++++++++++++++
 drivers/clk/qcom/gcc-sm6115.c                      |  1 +
 4 files changed, 77 insertions(+), 1 deletion(-)
---
base-commit: 10f943b12e7cb338da00f10e129043ae27b33af4
change-id: 20260507-iris-sm6115-38e93e82f306
prerequisite-patch-id: cbbd40736f7a797ff76b0fe2b1ddfb559e14e666
prerequisite-patch-id: d4f40aee0948578a4195456554ba88c228d5bf7f
prerequisite-message-id: 20260330-iris-remote-fmts-v3-1-a26ab9e90101@oss.qualcomm.com
prerequisite-patch-id: aab511a6975936fb0198697fca7b61cc2277e1b4
prerequisite-change-id: 20260429-kodiak-gen2-support-v4-a7f055f15afb:v5
prerequisite-patch-id: cbbd40736f7a797ff76b0fe2b1ddfb559e14e666
prerequisite-patch-id: ac7f4d5dfb5cfec475ac4f3dee8f26077b5d1ab6
prerequisite-patch-id: aab511a6975936fb0198697fca7b61cc2277e1b4
prerequisite-patch-id: d4f40aee0948578a4195456554ba88c228d5bf7f
prerequisite-patch-id: 38d706b45998b7b5fbf90e27ecf9c856354f5a23
prerequisite-patch-id: 55342ab7d677ef4ca661d7ed4ad6d66b1216e3cd
prerequisite-change-id: 20260507-iris-ar50lt-06228469aa5b:v3
prerequisite-patch-id: cbbd40736f7a797ff76b0fe2b1ddfb559e14e666
prerequisite-patch-id: ac7f4d5dfb5cfec475ac4f3dee8f26077b5d1ab6
prerequisite-patch-id: aab511a6975936fb0198697fca7b61cc2277e1b4
prerequisite-patch-id: d4f40aee0948578a4195456554ba88c228d5bf7f
prerequisite-patch-id: 38d706b45998b7b5fbf90e27ecf9c856354f5a23
prerequisite-patch-id: 55342ab7d677ef4ca661d7ed4ad6d66b1216e3cd
prerequisite-patch-id: 802e2fd82c6cde3f860dff25465ce427a5e372ee
prerequisite-patch-id: 5a801f4a572dd3cac2bbbc2fbbaf34798c7bdf90
prerequisite-patch-id: da49d9e31a33f6508631cb7cabc5eb460c60668b
prerequisite-patch-id: 61316d5846c9aa27a6c4d2fa6462e4f8956f4a92
prerequisite-patch-id: e669517302297a7b315c9aa4f4189e4928091e0c
prerequisite-patch-id: a8a4e7d218a2814ba7b0595adf03e1487e6cbfe8
prerequisite-patch-id: e62e8285bcbddade64c026379f23a8c5ae70fe52
prerequisite-patch-id: cac29b25348e2e791638a0286283109f2546f9a7
prerequisite-patch-id: 83ec9808a31cd12904392ee82595ff9e55db0aac
prerequisite-patch-id: 4bbc6347b6e9cbacb539fabdab615d16354a0e49
prerequisite-patch-id: 31698727bfb6697f8c09f47466582b681018065d
prerequisite-patch-id: 76eafea8230160a3b5e6503c68a5c9c3c2d1497e
prerequisite-patch-id: b54c791467db7a2d8fdbdc493ea590ec4cc0168a
prerequisite-patch-id: 26e9083b709cc8f2f1184edf6b39fb89f365a9f1
prerequisite-patch-id: b5aee209067d60123300ade2e555975c24adcb51
prerequisite-patch-id: 7ffa3917e60dc2d4b545c8546169055d38b99746
prerequisite-patch-id: 25ddacd5d9cbce6dd2ae619dce24b0821b91072c
prerequisite-patch-id: d7a614d4a1a6b6e4bc4f1c98779a6d4f2136bb43
prerequisite-patch-id: e967194b69fe48d86c7a818bbd54b51a12da0b9d
prerequisite-patch-id: 96dfec1c2df69f748c1a4bd741628e946cb7bec1

Best regards,
--  
With best wishes
Dmitry


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

* [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC
  2026-05-15 11:59 [PATCH v2 0/4] media: iris: bring up driver on SM6115-based platforms Dmitry Baryshkov
@ 2026-05-15 11:59 ` Dmitry Baryshkov
  2026-05-15 12:12   ` Konrad Dybcio
  2026-05-15 11:59 ` [PATCH v2 2/4] media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115 Dmitry Baryshkov
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-05-15 11:59 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Vikash Garodia,
	Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Jorge Ramirez-Ortiz, Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

The venus video driver will uses dev_pm_genpd_set_hwmode() API to switch
the video GDSC to HW and SW control modes at runtime. This requires domain
to have the HW_CTRL_TRIGGER flag.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 drivers/clk/qcom/gcc-sm6115.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/clk/qcom/gcc-sm6115.c b/drivers/clk/qcom/gcc-sm6115.c
index 4c3804701e24..c5251aff9886 100644
--- a/drivers/clk/qcom/gcc-sm6115.c
+++ b/drivers/clk/qcom/gcc-sm6115.c
@@ -3218,6 +3218,7 @@ static struct gdsc gcc_vcodec0_gdsc = {
 	.pd = {
 		.name = "gcc_vcodec0",
 	},
+	.flags = HW_CTRL_TRIGGER,
 	.pwrsts = PWRSTS_OFF_ON,
 };
 

-- 
2.47.3


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

* [PATCH v2 2/4] media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115
  2026-05-15 11:59 [PATCH v2 0/4] media: iris: bring up driver on SM6115-based platforms Dmitry Baryshkov
  2026-05-15 11:59 ` [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC Dmitry Baryshkov
@ 2026-05-15 11:59 ` Dmitry Baryshkov
  2026-05-15 12:25   ` sashiko-bot
  2026-05-15 11:59 ` [PATCH v2 3/4] arm64: dts: qcom: sm6115: add venus device Dmitry Baryshkov
  2026-05-15 11:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable " Dmitry Baryshkov
  3 siblings, 1 reply; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-05-15 11:59 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Vikash Garodia,
	Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Jorge Ramirez-Ortiz, Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

The Qualcomm SM6115 platform contains the AR50_Lite core similar to the
one found on the QCM2290. Define new platform-specific compatible, while
using QCM2290 as a fallback.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml b/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
index 7e6dc410c2d2..ab4c56ee9182 100644
--- a/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
+++ b/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
@@ -18,7 +18,11 @@ allOf:
 
 properties:
   compatible:
-    const: qcom,qcm2290-venus
+    oneOf:
+      - items:
+        - const: qcom,sm6115-venus
+        - const: qcom,qcm2290-venus
+      - const: qcom,qcm2290-venus
 
   power-domains:
     maxItems: 3

-- 
2.47.3


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

* [PATCH v2 3/4] arm64: dts: qcom: sm6115: add venus device
  2026-05-15 11:59 [PATCH v2 0/4] media: iris: bring up driver on SM6115-based platforms Dmitry Baryshkov
  2026-05-15 11:59 ` [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC Dmitry Baryshkov
  2026-05-15 11:59 ` [PATCH v2 2/4] media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115 Dmitry Baryshkov
@ 2026-05-15 11:59 ` Dmitry Baryshkov
  2026-05-15 11:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable " Dmitry Baryshkov
  3 siblings, 0 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-05-15 11:59 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Vikash Garodia,
	Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Jorge Ramirez-Ortiz, Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

Define the video en/decoding device present on the SM6115 platform. The
core, AR50LT, is mostly compatible with the one present on the Agatti
devices, so it uses qcom,qcm2290-venus as a fallback.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/sm6115.dtsi | 65 ++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/sm6115.dtsi b/arch/arm64/boot/dts/qcom/sm6115.dtsi
index bd94eb87d6f9..3520802d1fed 100644
--- a/arch/arm64/boot/dts/qcom/sm6115.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm6115.dtsi
@@ -1853,6 +1853,71 @@ adreno_smmu: iommu@59a0000 {
 			#iommu-cells = <2>;
 		};
 
+		venus: video-codec@5a00000 {
+			compatible = "qcom,sm6115-venus",
+				     "qcom,qcm2290-venus";
+			reg = <0x0 0x5a00000 0x0 0xf0000>;
+			interrupts = <GIC_SPI 225 IRQ_TYPE_LEVEL_HIGH>;
+
+			power-domains = <&gcc GCC_VENUS_GDSC>,
+					<&gcc GCC_VCODEC0_GDSC>,
+					<&rpmpd SM6115_VDDCX>;
+			power-domain-names = "venus",
+					     "vcodec0",
+					     "cx";
+			operating-points-v2 = <&venus_opp_table>;
+
+			clocks = <&gcc GCC_VIDEO_VENUS_CTL_CLK>,
+				 <&gcc GCC_VIDEO_AHB_CLK>,
+				 <&gcc GCC_VENUS_CTL_AXI_CLK>,
+				 <&gcc GCC_VIDEO_THROTTLE_CORE_CLK>,
+				 <&gcc GCC_VIDEO_VCODEC0_SYS_CLK>,
+				 <&gcc GCC_VCODEC0_AXI_CLK>;
+			clock-names = "core",
+				      "iface",
+				      "bus",
+				      "throttle",
+				      "vcodec0_core",
+				      "vcodec0_bus";
+
+			memory-region = <&pil_video_mem>;
+			iommus = <&apps_smmu 0x860 0x0>,
+				 <&apps_smmu 0x880 0x0>;
+
+			interconnects = <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG
+					 &bimc SLAVE_EBI_CH0 RPM_ALWAYS_TAG>,
+					<&bimc MASTER_AMPSS_M0 RPM_ACTIVE_TAG
+					 &config_noc SLAVE_VENUS_CFG RPM_ACTIVE_TAG>;
+			interconnect-names = "video-mem",
+					     "cpu-cfg";
+
+			status = "disabled";
+
+			venus_opp_table: opp-table {
+				compatible = "operating-points-v2";
+
+				opp-133333333 {
+					opp-hz = /bits/ 64 <133333333>;
+					required-opps = <&rpmpd_opp_low_svs>;
+				};
+
+				opp-240000000 {
+					opp-hz = /bits/ 64 <240000000>;
+					required-opps = <&rpmpd_opp_svs>;
+				};
+
+				opp-300000000 {
+					opp-hz = /bits/ 64 <300000000>;
+					required-opps = <&rpmpd_opp_svs_plus>;
+				};
+
+				opp-384000000 {
+					opp-hz = /bits/ 64 <384000000>;
+					required-opps = <&rpmpd_opp_nom>;
+				};
+			};
+		};
+
 		mdss: display-subsystem@5e00000 {
 			compatible = "qcom,sm6115-mdss";
 			reg = <0x0 0x05e00000 0x0 0x1000>;

-- 
2.47.3


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

* [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable venus device
  2026-05-15 11:59 [PATCH v2 0/4] media: iris: bring up driver on SM6115-based platforms Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2026-05-15 11:59 ` [PATCH v2 3/4] arm64: dts: qcom: sm6115: add venus device Dmitry Baryshkov
@ 2026-05-15 11:59 ` Dmitry Baryshkov
  2026-05-15 12:18   ` Konrad Dybcio
  2026-05-15 12:57   ` sashiko-bot
  3 siblings, 2 replies; 9+ messages in thread
From: Dmitry Baryshkov @ 2026-05-15 11:59 UTC (permalink / raw)
  To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Vikash Garodia,
	Dikshita Agarwal, Bryan O'Donoghue, Mauro Carvalho Chehab,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Jorge Ramirez-Ortiz, Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

Enable the Venus en/decoding device on the Qualcomm RB2 board. The HFI
Gen2 firmware for AR50Lt platforms doesn't work on RB2, so fix the
firmware in the DT for now.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
 arch/arm64/boot/dts/qcom/qrb4210-rb2.dts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
index 1203172729fa..a6236b09cdbd 100644
--- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
+++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
@@ -739,6 +739,12 @@ &usb_qmpphy_out {
 	remote-endpoint = <&pmi632_ss_in>;
 };
 
+&venus {
+	firmware-name = "qcom/venus-6.0/venus.mbn";
+
+	status = "okay";
+};
+
 &wifi {
 	/* SoC */
 	vdd-0.8-cx-mx-supply = <&vreg_l8a_0p664>;

-- 
2.47.3


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

* Re: [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC
  2026-05-15 11:59 ` [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC Dmitry Baryshkov
@ 2026-05-15 12:12   ` Konrad Dybcio
  0 siblings, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-05-15 12:12 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Vikash Garodia, Dikshita Agarwal,
	Bryan O'Donoghue, Mauro Carvalho Chehab, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jorge Ramirez-Ortiz,
	Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

On 5/15/26 1:59 PM, Dmitry Baryshkov wrote:
> The venus video driver will uses dev_pm_genpd_set_hwmode() API to switch
> the video GDSC to HW and SW control modes at runtime. This requires domain
> to have the HW_CTRL_TRIGGER flag.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable venus device
  2026-05-15 11:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable " Dmitry Baryshkov
@ 2026-05-15 12:18   ` Konrad Dybcio
  2026-05-15 12:57   ` sashiko-bot
  1 sibling, 0 replies; 9+ messages in thread
From: Konrad Dybcio @ 2026-05-15 12:18 UTC (permalink / raw)
  To: Dmitry Baryshkov, Bjorn Andersson, Michael Turquette,
	Stephen Boyd, Vikash Garodia, Dikshita Agarwal,
	Bryan O'Donoghue, Mauro Carvalho Chehab, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Jorge Ramirez-Ortiz,
	Konrad Dybcio
  Cc: linux-arm-msm, linux-clk, linux-kernel, linux-media, devicetree

On 5/15/26 1:59 PM, Dmitry Baryshkov wrote:
> Enable the Venus en/decoding device on the Qualcomm RB2 board. The HFI
> Gen2 firmware for AR50Lt platforms doesn't work on RB2, so fix the
> firmware in the DT for now.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>

Konrad

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

* Re: [PATCH v2 2/4] media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115
  2026-05-15 11:59 ` [PATCH v2 2/4] media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115 Dmitry Baryshkov
@ 2026-05-15 12:25   ` sashiko-bot
  0 siblings, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-05-15 12:25 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: robh, devicetree, krzk+dt, conor+dt

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] The sequence under `items:` is incorrectly indented, which will cause a `dt_binding_check` failure due to `yamllint` strict indentation rules.
--

commit 43193b8fcb4051c6ff00308477a91cbef91be80b
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115

This commit adds a new compatible string for the Venus core on the Qualcomm
SM6115 platform, using QCM2290 as a fallback.

> diff --git a/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml b/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
> --- a/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
> +++ b/Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml
> @@ -18,7 +18,11 @@ allOf:
>  
>  properties:
>    compatible:
> -    const: qcom,qcm2290-venus
> +    oneOf:
> +      - items:
> +        - const: qcom,sm6115-venus
> +        - const: qcom,qcm2290-venus

Will this pass the yamllint checks during make dt_binding_check?

The sequence under the items: key appears to be incorrectly indented.
The file Documentation/devicetree/bindings/.yamllint configures yamllint with
indent-sequences: true. This configuration requires the sequence indicators (-)
to be indented further than the parent items: key.

> +      - const: qcom,qcm2290-venus
>  
>    power-domains:
>      maxItems: 3

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260515-iris-sm6115-v2-0-2ab75229de61@oss.qualcomm.com?part=2

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

* Re: [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable venus device
  2026-05-15 11:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable " Dmitry Baryshkov
  2026-05-15 12:18   ` Konrad Dybcio
@ 2026-05-15 12:57   ` sashiko-bot
  1 sibling, 0 replies; 9+ messages in thread
From: sashiko-bot @ 2026-05-15 12:57 UTC (permalink / raw)
  To: Dmitry Baryshkov; +Cc: conor+dt, krzk+dt, robh, devicetree

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The device tree override `firmware-name` has no functional effect, making the intended workaround a no-op.
--

commit 52a51e0f4e822b65926de689abb3bd0218261df9
Author: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

arm64: dts: qcom: qrb4210-rb2: enable venus device

Enable the Venus en/decoding device on the Qualcomm RB2 board. The HFI
Gen2 firmware for AR50Lt platforms doesn't work on RB2, so fix the
firmware in the DT for now.

> diff --git a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> index 1203172729faa..a6236b09cdbd9 100644
> --- a/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> +++ b/arch/arm64/boot/dts/qcom/qrb4210-rb2.dts
> @@ -739,6 +739,12 @@ &usb_qmpphy_out {
>  	remote-endpoint = <&pmi632_ss_in>;
>  };
>  
> +&venus {
> +	firmware-name = "qcom/venus-6.0/venus.mbn";

Does this firmware-name property actually change the driver behavior?

Looking at qcm2290_res in drivers/media/platform/qcom/venus/core.c (which
handles the qcom,qcm2290-venus fallback compatible used by this platform),
the default fwname is also qcom/venus-6.0/venus.mbn.

In drivers/media/platform/qcom/venus/firmware.c, if the firmware-name property
is absent, the driver falls back to core->res->fwname. Since the string
provided here exactly matches the default fallback, the override appears to
have no functional effect.

Was a different firmware name intended to avoid the broken HFI Gen2 firmware?

> +
> +	status = "okay";
> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260515-iris-sm6115-v2-0-2ab75229de61@oss.qualcomm.com?part=4

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

end of thread, other threads:[~2026-05-15 12:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-15 11:59 [PATCH v2 0/4] media: iris: bring up driver on SM6115-based platforms Dmitry Baryshkov
2026-05-15 11:59 ` [PATCH v2 1/4] clk: qcom: gcc-sm6115: Set HW_CTRL_TRIGGER for video GDSC Dmitry Baryshkov
2026-05-15 12:12   ` Konrad Dybcio
2026-05-15 11:59 ` [PATCH v2 2/4] media: dt-bindings: qcom,qcm2290-venus: add Venus on SM6115 Dmitry Baryshkov
2026-05-15 12:25   ` sashiko-bot
2026-05-15 11:59 ` [PATCH v2 3/4] arm64: dts: qcom: sm6115: add venus device Dmitry Baryshkov
2026-05-15 11:59 ` [PATCH v2 4/4] arm64: dts: qcom: qrb4210-rb2: enable " Dmitry Baryshkov
2026-05-15 12:18   ` Konrad Dybcio
2026-05-15 12:57   ` sashiko-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox