* [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers
@ 2026-01-31 13:58 Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 1/5] arm64: dts: qcom: sc7280-chrome-common: disable Venus Dmitry Baryshkov
` (6 more replies)
0 siblings, 7 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-31 13:58 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
As the Venus and Iris drivers are close to the "feature parity" for the
common platforms (SC7280, SM8250), in order to get more attention to
squashing bugs from the Iris driver, flip the switch and default to the
Iris driver if both are enabled. The Iris driver has several
regressions, but hopefully they can be fixed through the development
cycle by the respective team. Also it is better to fail the test than
crash the device (which Venus driver does a lot).
Note: then intention is to land this in 6.21, which might let us to
drop those platforms from the Venus driver in 6.22+.
Testing methodology: fluster test-suite, single-threaded mode, SM8250
device (RB5).
$ ./fluster.py r -j 1 -d GStreamer-H.264-V4L2-Gst1.0 -s -so out-h264.md -ts JVT-AVC_V1
$ ./fluster.py r -j 1 -d GStreamer-H.265-V4L2-Gst1.0 -s -so out-h265.md -ts JCT-VC-HEVC_V1
$ ./fluster.py r -j 1 -d GStreamer-VP9-V4L2-Gst1.0 -s -so out-vp9.md
For H.264:
Only the main set was used on both platforms
On Venus pass 126/135
On Iris pass 78/135
- Fail on Iris, but pass on Venus:
cabac_mot_fld0_full, cabac_mot_mbaff0_full, cabac_mot_picaff0_full,
CAFI1_SVA_C, CAMA1_Sony_C, cama1_vtc_c, cama2_vtc_b, cama3_vtc_b,
CAMACI3_Sony_C, CAMASL3_Sony_B, CAMP_MOT_MBAFF_L30,
CAMP_MOT_MBAFF_L31, CANLMA2_Sony_C, CANLMA3_Sony_C,
cavlc_mot_fld0_full_B, cavlc_mot_mbaff0_full_B,
cavlc_mot_picaff0_full_B, CVCANLMA2_Sony_C, CVFI1_Sony_D, CVFI1_SVA_C,
CVFI2_Sony_H, CVFI2_SVA_C, CVMA1_Sony_D, CVMAPAQP3_Sony_E,
CVMAQP2_Sony_G, CVMAQP3_Sony_D, CVMP_MOT_FLD_L30_B,
CVMP_MOT_FRM_L31_B, CVNLFI1_Sony_C, CVNLFI2_Sony_H, FI1_Sony_E,
MR9_BT_B, Sharp_MP_Field_1_B, Sharp_MP_Field_2_B, Sharp_MP_Field_3_B,
Sharp_MP_PAFF_1r2, Sharp_MP_PAFF_2r
- Fail on Venus, but pass on Iris:
BA3_SVA_C
For Venus several tests crash the firmware or crash the device,
so test-suite was executed with extra:
-sv CABREF3_Sand_D CAMANL1_TOSHIBA_B CAMA1_TOSHIBA_B \
CAMA3_Sand_E CAMANL2_TOSHIBA_B CAMANL3_Sand_E CAPA1_TOSHIBA_B \
CAPAMA3_Sand_F CVMA1_TOSHIBA_B CVMANL1_TOSHIBA_B CVMANL2_TOSHIBA_B \
CVPA1_TOSHIBA_B
For H.265:
Only the main set was used on both platforms
On Venus pass 135/147
On Iris pass 133/147
- Fail on Iris, but pass on Venus:
INITQP_B_Main10_Sony_1, WP_A_MAIN10_Toshiba_3,
WPP_A_ericsson_MAIN10_2, WPP_B_ericsson_MAIN10_2,
WPP_C_ericsson_MAIN10_2, WPP_E_ericsson_MAIN10_2,
WPP_F_ericsson_MAIN10_2
- Fail on Venus, but pass on Iris:
ipcm_A_NEC_3, ipcm_B_NEC_3, ipcm_C_NEC_3, ipcm_D_NEC_3, ipcm_E_NEC_2,
IPRED_B_Nokia_3, VPSSPSPPS_A_MainConcept_1
For VP9 codec:
On Venus pass 174/311
On Iris pass 232/311
- Fail on Venus, but pass on Iris:
vp90-2-05-resize.ivf, vp90-2-14-resize-10frames-fp-tiles-1-2-4-8,
vp90-2-14-resize-10frames-fp-tiles-1-2,
vp90-2-14-resize-10frames-fp-tiles-1-4,
vp90-2-14-resize-10frames-fp-tiles-1-8,
vp90-2-14-resize-10frames-fp-tiles-2-1,
vp90-2-14-resize-10frames-fp-tiles-2-4,
vp90-2-14-resize-10frames-fp-tiles-2-8,
vp90-2-14-resize-10frames-fp-tiles-4-1,
vp90-2-14-resize-10frames-fp-tiles-4-2,
vp90-2-14-resize-10frames-fp-tiles-4-8,
vp90-2-14-resize-10frames-fp-tiles-8-1,
vp90-2-14-resize-10frames-fp-tiles-8-2,
vp90-2-14-resize-10frames-fp-tiles-8-4-2-1,
vp90-2-14-resize-10frames-fp-tiles-8-4, vp90-2-14-resize-fp-tiles-1-16,
vp90-2-14-resize-fp-tiles-1-2-4-8-16, vp90-2-14-resize-fp-tiles-1-2,
vp90-2-14-resize-fp-tiles-1-4, vp90-2-14-resize-fp-tiles-16-1,
vp90-2-14-resize-fp-tiles-16-2, vp90-2-14-resize-fp-tiles-16-4,
vp90-2-14-resize-fp-tiles-16-8-4-2-1, vp90-2-14-resize-fp-tiles-16-8,
vp90-2-14-resize-fp-tiles-1-8, vp90-2-14-resize-fp-tiles-2-16,
vp90-2-14-resize-fp-tiles-2-1, vp90-2-14-resize-fp-tiles-2-4,
vp90-2-14-resize-fp-tiles-2-8, vp90-2-14-resize-fp-tiles-4-16,
vp90-2-14-resize-fp-tiles-4-1, vp90-2-14-resize-fp-tiles-4-2,
vp90-2-14-resize-fp-tiles-4-8, vp90-2-14-resize-fp-tiles-8-16,
vp90-2-14-resize-fp-tiles-8-1, vp90-2-14-resize-fp-tiles-8-2,
vp90-2-14-resize-fp-tiles-8-4, vp90-2-15-segkey,
vp90-2-21-resize_inter_1280x720_5_1-2, vp90-2-21-resize_inter_1280x720_5_3-4,
vp90-2-21-resize_inter_1280x720_7_1-2, vp90-2-21-resize_inter_1280x720_7_3-4,
vp90-2-21-resize_inter_1920x1080_5_1-2,
vp90-2-21-resize_inter_1920x1080_5_3-4,
vp90-2-21-resize_inter_1920x1080_7_1-2,
vp90-2-21-resize_inter_1920x1080_7_3-4,
vp90-2-21-resize_inter_320x180_5_3-4, vp90-2-21-resize_inter_320x180_7_3-4,
vp90-2-21-resize_inter_320x240_5_3-4, vp90-2-21-resize_inter_320x240_7_3-4,
vp90-2-21-resize_inter_640x360_5_1-2, vp90-2-21-resize_inter_640x360_5_3-4,
vp90-2-21-resize_inter_640x360_7_1-2, vp90-2-21-resize_inter_640x360_7_3-4,
vp90-2-21-resize_inter_640x480_5_1-2, vp90-2-21-resize_inter_640x480_5_3-4,
vp90-2-21-resize_inter_640x480_7_1-2, vp90-2-21-resize_inter_640x480_7_3-4
$ 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:aa00000.video-codec
Driver version : 6.19.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
$ 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:aa00000.video-codec
Driver version : 6.19.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)
test blocking wait: OK
Total for iris_driver device /dev/video1: 48, Succeeded: 48, Failed: 0, Warnings: 0
For SC7280, the results match the SM8250 ones.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Changes in v4:
- Fixed building (Dikshita)
- Changed H265D_MAX_SLICE to have the same value as in Venus, fixing
H.265 decoding on SC7280
- Link to v3: https://lore.kernel.org/r/20260127-venus-iris-flip-switch-v3-0-7f37689f4b39@oss.qualcomm.com
Changes in v3:
- Dropped dependency on the sc8280xp patchset, this will probably go in
earlier.
- Updated commit messages for DT bindings (Konrad)
- Link to v2: https://lore.kernel.org/r/20260126-venus-iris-flip-switch-v2-0-b0ea05e1739a@oss.qualcomm.com
Changes in v2:
- Sorted out SC7280 Chromebook bindings (Stephan)
- Dropped most of ifdef from venus (Vikash, Konrad)
- Added testign results to the cover letter.
- Link to v1: https://lore.kernel.org/r/20251119-venus-iris-flip-switch-v1-1-852369f66e36@oss.qualcomm.com
---
Dmitry Baryshkov (5):
arm64: dts: qcom: sc7280-chrome-common: disable Venus
media: dt-bindings: qcom,sc7280-venus: drop non-PAS support
media: dt-bindings: qcom-sc7180-venus: move video-firmware here
media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
media: qcom: venus: flip the venus/iris switch
.../devicetree/bindings/media/qcom,sc7180-venus.yaml | 15 +++++++++++++++
.../devicetree/bindings/media/qcom,sc7280-venus.yaml | 10 ++--------
.../devicetree/bindings/media/qcom,venus-common.yaml | 15 ---------------
arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi | 11 -----------
drivers/media/platform/qcom/iris/Makefile | 5 +----
drivers/media/platform/qcom/iris/iris_probe.c | 2 --
drivers/media/platform/qcom/iris/iris_vpu_buffer.h | 2 +-
drivers/media/platform/qcom/venus/core.c | 6 ++++++
drivers/media/platform/qcom/venus/core.h | 11 +++++++++++
9 files changed, 36 insertions(+), 41 deletions(-)
---
base-commit: 4c87cdd0328495759f6e9f9f4e1e53ef8032a76f
change-id: 20251119-venus-iris-flip-switch-d59a3fbc6a4b
Best regards,
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread* [PATCH v4 1/5] arm64: dts: qcom: sc7280-chrome-common: disable Venus
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
@ 2026-01-31 13:58 ` Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 2/5] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support Dmitry Baryshkov
` (5 subsequent siblings)
6 siblings, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-31 13:58 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
Iris driver doesn't support non-PAS/TZ setup for setting up the Iris
core. It's expected that the ABI that is going to be used in a long-term
would be different from the defined venus-firmware subnode.
Granted that the SC7280 Chromebooks were cancelled before reaching wide
audience and granted the feature ABI changes, drop venus configuration
for SC7280 ChromeOS devices.
Suggested-by: Stephan Gerhold <stephan.gerhold@linaro.org>
Cc: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Acked-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
index 617a39d32488..debf62baec9b 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-chrome-common.dtsi
@@ -140,17 +140,6 @@ &scm {
dma-coherent;
};
-&venus {
- iommus = <&apps_smmu 0x2180 0x20>,
- <&apps_smmu 0x2184 0x20>;
-
- status = "okay";
-
- video-firmware {
- iommus = <&apps_smmu 0x21a2 0x0>;
- };
-};
-
&watchdog {
status = "okay";
};
--
2.47.3
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v4 2/5] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 1/5] arm64: dts: qcom: sc7280-chrome-common: disable Venus Dmitry Baryshkov
@ 2026-01-31 13:58 ` Dmitry Baryshkov
2026-02-02 6:26 ` Dikshita Agarwal
2026-01-31 13:58 ` [PATCH v4 3/5] media: dt-bindings: qcom-sc7180-venus: move video-firmware here Dmitry Baryshkov
` (4 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-31 13:58 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Krzysztof Kozlowski
The only users of the non-PAS setup on SC7280 platform are the ChromeOS
devices, which were cancelled before reaching end users. Iris, the
alternative driver for the same hardware, does not support non-PAS
setup. It is expected that in future both Venus and Iris devices will
use different ABI for non-PAS (EL2) setup.
In order to declare only the future-proof hardware description drop
support for non-PAS setup from the SC7280 Venus schema (breaking almost
non-existing SC7280 ChromeOS devices).
The dropped iommus entry reflects the extra stream, which should not be
treated in the same way as the main one (which doesn't match the usage
described by the iommus definition).
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml b/Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml
index 413c5b4ee650..9725fcb761dc 100644
--- a/Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml
+++ b/Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml
@@ -43,8 +43,7 @@ properties:
- const: vcodec_bus
iommus:
- minItems: 1
- maxItems: 2
+ maxItems: 1
interconnects:
maxItems: 2
@@ -120,12 +119,7 @@ examples:
<&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
interconnect-names = "cpu-cfg", "video-mem";
- iommus = <&apps_smmu 0x2180 0x20>,
- <&apps_smmu 0x2184 0x20>;
+ iommus = <&apps_smmu 0x2180 0x20>;
memory-region = <&video_mem>;
-
- video-firmware {
- iommus = <&apps_smmu 0x21a2 0x0>;
- };
};
--
2.47.3
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v4 2/5] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support
2026-01-31 13:58 ` [PATCH v4 2/5] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support Dmitry Baryshkov
@ 2026-02-02 6:26 ` Dikshita Agarwal
0 siblings, 0 replies; 19+ messages in thread
From: Dikshita Agarwal @ 2026-02-02 6:26 UTC (permalink / raw)
To: Dmitry Baryshkov, Vikash Garodia, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Krzysztof Kozlowski
On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> The only users of the non-PAS setup on SC7280 platform are the ChromeOS
> devices, which were cancelled before reaching end users. Iris, the
> alternative driver for the same hardware, does not support non-PAS
> setup. It is expected that in future both Venus and Iris devices will
> use different ABI for non-PAS (EL2) setup.
>
> In order to declare only the future-proof hardware description drop
> support for non-PAS setup from the SC7280 Venus schema (breaking almost
> non-existing SC7280 ChromeOS devices).
>
> The dropped iommus entry reflects the extra stream, which should not be
> treated in the same way as the main one (which doesn't match the usage
> described by the iommus definition).
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/media/qcom,sc7280-venus.yaml | 10 ++--------
> 1 file changed, 2 insertions(+), 8 deletions(-)
>
Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Thanks,
Dikshita
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v4 3/5] media: dt-bindings: qcom-sc7180-venus: move video-firmware here
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 1/5] arm64: dts: qcom: sc7280-chrome-common: disable Venus Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 2/5] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support Dmitry Baryshkov
@ 2026-01-31 13:58 ` Dmitry Baryshkov
2026-02-02 6:26 ` Dikshita Agarwal
2026-01-31 13:58 ` [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280 Dmitry Baryshkov
` (3 subsequent siblings)
6 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-31 13:58 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Krzysztof Kozlowski
As SC7180 is the only remaining user of the non-TZ / non-PAS setup which
uses the video-firmware subnode, move its definition from the common
schema to the SC7180-specific one.
These properties do not accurately describe the hardware. Future
platforms that are going to support non-TZ setup will use different
semantics and different DT ABI (using the iommu-map property).
Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
.../devicetree/bindings/media/qcom,sc7180-venus.yaml | 15 +++++++++++++++
.../devicetree/bindings/media/qcom,venus-common.yaml | 15 ---------------
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml b/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml
index bfd8b1ad4731..b21bed314848 100644
--- a/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml
+++ b/Documentation/devicetree/bindings/media/qcom,sc7180-venus.yaml
@@ -91,6 +91,21 @@ properties:
deprecated: true
additionalProperties: false
+ video-firmware:
+ type: object
+ additionalProperties: false
+
+ description: |
+ Firmware subnode is needed when the platform does not
+ have TrustZone.
+
+ properties:
+ iommus:
+ maxItems: 1
+
+ required:
+ - iommus
+
required:
- compatible
- power-domain-names
diff --git a/Documentation/devicetree/bindings/media/qcom,venus-common.yaml b/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
index 3153d91f9d18..59a3fde846d2 100644
--- a/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
+++ b/Documentation/devicetree/bindings/media/qcom,venus-common.yaml
@@ -47,21 +47,6 @@ properties:
minItems: 1
maxItems: 4
- video-firmware:
- type: object
- additionalProperties: false
-
- description: |
- Firmware subnode is needed when the platform does not
- have TrustZone.
-
- properties:
- iommus:
- maxItems: 1
-
- required:
- - iommus
-
required:
- reg
- clocks
--
2.47.3
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v4 3/5] media: dt-bindings: qcom-sc7180-venus: move video-firmware here
2026-01-31 13:58 ` [PATCH v4 3/5] media: dt-bindings: qcom-sc7180-venus: move video-firmware here Dmitry Baryshkov
@ 2026-02-02 6:26 ` Dikshita Agarwal
0 siblings, 0 replies; 19+ messages in thread
From: Dikshita Agarwal @ 2026-02-02 6:26 UTC (permalink / raw)
To: Dmitry Baryshkov, Vikash Garodia, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Krzysztof Kozlowski
On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> As SC7180 is the only remaining user of the non-TZ / non-PAS setup which
> uses the video-firmware subnode, move its definition from the common
> schema to the SC7180-specific one.
>
> These properties do not accurately describe the hardware. Future
> platforms that are going to support non-TZ setup will use different
> semantics and different DT ABI (using the iommu-map property).
>
> Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> .../devicetree/bindings/media/qcom,sc7180-venus.yaml | 15 +++++++++++++++
> .../devicetree/bindings/media/qcom,venus-common.yaml | 15 ---------------
> 2 files changed, 15 insertions(+), 15 deletions(-)
>
Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Thanks,
Dikshita
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
` (2 preceding siblings ...)
2026-01-31 13:58 ` [PATCH v4 3/5] media: dt-bindings: qcom-sc7180-venus: move video-firmware here Dmitry Baryshkov
@ 2026-01-31 13:58 ` Dmitry Baryshkov
2026-02-02 10:23 ` Konrad Dybcio
` (2 more replies)
2026-01-31 13:58 ` [PATCH v4 5/5] media: qcom: venus: flip the venus/iris switch Dmitry Baryshkov
` (2 subsequent siblings)
6 siblings, 3 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-31 13:58 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree
Follow the commit bfe1326573ff ("venus: Fix for H265 decoding failure.")
and increase H265D_MAX_SLICE following firmware requirements on that
platform. Otherwise decoding of the H.265 streams fails withthe
"insufficient scratch_1 buffer size" from the firmware.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/media/platform/qcom/iris/iris_vpu_buffer.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
index 12640eb5ed8c..8c0d6b7b5de8 100644
--- a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
+++ b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
@@ -67,7 +67,7 @@ struct iris_inst;
#define SIZE_DOLBY_RPU_METADATA (41 * 1024)
#define H264_CABAC_HDR_RATIO_HD_TOT 1
#define H264_CABAC_RES_RATIO_HD_TOT 3
-#define H265D_MAX_SLICE 1200
+#define H265D_MAX_SLICE 3600
#define SIZE_H265D_HW_PIC_T SIZE_H264D_HW_PIC_T
#define H265_CABAC_HDR_RATIO_HD_TOT 2
#define H265_CABAC_RES_RATIO_HD_TOT 2
--
2.47.3
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
2026-01-31 13:58 ` [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280 Dmitry Baryshkov
@ 2026-02-02 10:23 ` Konrad Dybcio
2026-02-02 10:36 ` Vikash Garodia
2026-02-02 10:41 ` Vikash Garodia
2026-02-03 6:06 ` Dikshita Agarwal
2 siblings, 1 reply; 19+ messages in thread
From: Konrad Dybcio @ 2026-02-02 10:23 UTC (permalink / raw)
To: Dmitry Baryshkov, Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree
On 1/31/26 2:58 PM, Dmitry Baryshkov wrote:
> Follow the commit bfe1326573ff ("venus: Fix for H265 decoding failure.")
> and increase H265D_MAX_SLICE following firmware requirements on that
> platform. Otherwise decoding of the H.265 streams fails withthe
> "insufficient scratch_1 buffer size" from the firmware.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
Since it's matching venus:
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
As a side question, is there anything wrong if we allocate a buffer that's
bigger (or say, vastly bigger) than what the fw expects?
Like, if we allocated 10 GiB for $reasons, would the fw just happily
take it?
Konrad
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
2026-02-02 10:23 ` Konrad Dybcio
@ 2026-02-02 10:36 ` Vikash Garodia
2026-02-02 10:52 ` Konrad Dybcio
0 siblings, 1 reply; 19+ messages in thread
From: Vikash Garodia @ 2026-02-02 10:36 UTC (permalink / raw)
To: Konrad Dybcio, Dmitry Baryshkov, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree
On 2/2/2026 3:53 PM, Konrad Dybcio wrote:
> On 1/31/26 2:58 PM, Dmitry Baryshkov wrote:
>> Follow the commit bfe1326573ff ("venus: Fix for H265 decoding failure.")
>> and increase H265D_MAX_SLICE following firmware requirements on that
>> platform. Otherwise decoding of the H.265 streams fails withthe
>> "insufficient scratch_1 buffer size" from the firmware.
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>> ---
>
> Since it's matching venus:
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
>
> As a side question, is there anything wrong if we allocate a buffer that's
> bigger (or say, vastly bigger) than what the fw expects?
>
> Like, if we allocated 10 GiB for $reasons, would the fw just happily
> take it?
Yes they would, as long as its bigger, they are happy. We are already
struggling to get the usecase (concurrent ones) within 4 GiB, and with
vastly bigger internal buffers, we would even worsen the available iova.
Regards,
Vikash
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
2026-02-02 10:36 ` Vikash Garodia
@ 2026-02-02 10:52 ` Konrad Dybcio
0 siblings, 0 replies; 19+ messages in thread
From: Konrad Dybcio @ 2026-02-02 10:52 UTC (permalink / raw)
To: Vikash Garodia, Dmitry Baryshkov, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree
On 2/2/26 11:36 AM, Vikash Garodia wrote:
>
> On 2/2/2026 3:53 PM, Konrad Dybcio wrote:
>> On 1/31/26 2:58 PM, Dmitry Baryshkov wrote:
>>> Follow the commit bfe1326573ff ("venus: Fix for H265 decoding failure.")
>>> and increase H265D_MAX_SLICE following firmware requirements on that
>>> platform. Otherwise decoding of the H.265 streams fails withthe
>>> "insufficient scratch_1 buffer size" from the firmware.
>>>
>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
>>> ---
>>
>> Since it's matching venus:
>>
>> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
>>
>> As a side question, is there anything wrong if we allocate a buffer that's
>> bigger (or say, vastly bigger) than what the fw expects?
>>
>> Like, if we allocated 10 GiB for $reasons, would the fw just happily
>> take it?
>
> Yes they would, as long as its bigger, they are happy. We are already struggling to get the usecase (concurrent ones) within 4 GiB, and with vastly bigger internal buffers, we would even worsen the available iova.
I see, thanks
Konrad
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
2026-01-31 13:58 ` [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280 Dmitry Baryshkov
2026-02-02 10:23 ` Konrad Dybcio
@ 2026-02-02 10:41 ` Vikash Garodia
2026-02-03 6:06 ` Dikshita Agarwal
2 siblings, 0 replies; 19+ messages in thread
From: Vikash Garodia @ 2026-02-02 10:41 UTC (permalink / raw)
To: Dmitry Baryshkov, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree
On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> Follow the commit bfe1326573ff ("venus: Fix for H265 decoding failure.")
> and increase H265D_MAX_SLICE following firmware requirements on that
> platform. Otherwise decoding of the H.265 streams fails withthe
> "insufficient scratch_1 buffer size" from the firmware.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/media/platform/qcom/iris/iris_vpu_buffer.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
> index 12640eb5ed8c..8c0d6b7b5de8 100644
> --- a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
> +++ b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
> @@ -67,7 +67,7 @@ struct iris_inst;
> #define SIZE_DOLBY_RPU_METADATA (41 * 1024)
> #define H264_CABAC_HDR_RATIO_HD_TOT 1
> #define H264_CABAC_RES_RATIO_HD_TOT 3
> -#define H265D_MAX_SLICE 1200
> +#define H265D_MAX_SLICE 3600
> #define SIZE_H265D_HW_PIC_T SIZE_H264D_HW_PIC_T
> #define H265_CABAC_HDR_RATIO_HD_TOT 2
> #define H265_CABAC_RES_RATIO_HD_TOT 2
>
Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280
2026-01-31 13:58 ` [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280 Dmitry Baryshkov
2026-02-02 10:23 ` Konrad Dybcio
2026-02-02 10:41 ` Vikash Garodia
@ 2026-02-03 6:06 ` Dikshita Agarwal
2 siblings, 0 replies; 19+ messages in thread
From: Dikshita Agarwal @ 2026-02-03 6:06 UTC (permalink / raw)
To: Dmitry Baryshkov, Vikash Garodia, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree
On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> Follow the commit bfe1326573ff ("venus: Fix for H265 decoding failure.")
> and increase H265D_MAX_SLICE following firmware requirements on that
> platform. Otherwise decoding of the H.265 streams fails withthe
> "insufficient scratch_1 buffer size" from the firmware.
>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/media/platform/qcom/iris/iris_vpu_buffer.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
> index 12640eb5ed8c..8c0d6b7b5de8 100644
> --- a/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
> +++ b/drivers/media/platform/qcom/iris/iris_vpu_buffer.h
> @@ -67,7 +67,7 @@ struct iris_inst;
> #define SIZE_DOLBY_RPU_METADATA (41 * 1024)
> #define H264_CABAC_HDR_RATIO_HD_TOT 1
> #define H264_CABAC_RES_RATIO_HD_TOT 3
> -#define H265D_MAX_SLICE 1200
> +#define H265D_MAX_SLICE 3600
> #define SIZE_H265D_HW_PIC_T SIZE_H264D_HW_PIC_T
> #define H265_CABAC_HDR_RATIO_HD_TOT 2
> #define H265_CABAC_RES_RATIO_HD_TOT 2
>
Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Thanks,
Dikshita
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v4 5/5] media: qcom: venus: flip the venus/iris switch
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
` (3 preceding siblings ...)
2026-01-31 13:58 ` [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280 Dmitry Baryshkov
@ 2026-01-31 13:58 ` Dmitry Baryshkov
2026-02-02 6:25 ` Dikshita Agarwal
2026-02-02 6:30 ` [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Vikash Garodia
2026-03-24 3:42 ` (subset) " Bjorn Andersson
6 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-01-31 13:58 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Konrad Dybcio
With the Iris and Venus driver having more or less feature parity for
"HFI 6xx" platforms and with Iris gaining support for SC7280, flip the
switch. Use Iris by default for SM8250 and SC7280, the platforms which
are supported by both drivers, and use Venus only if Iris is not
compiled at all. Use IS_ENABLED to strip out the code and data
structures which are used by the disabled platforms.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
---
drivers/media/platform/qcom/iris/Makefile | 5 +----
drivers/media/platform/qcom/iris/iris_probe.c | 2 --
drivers/media/platform/qcom/venus/core.c | 6 ++++++
drivers/media/platform/qcom/venus/core.h | 11 +++++++++++
4 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/drivers/media/platform/qcom/iris/Makefile b/drivers/media/platform/qcom/iris/Makefile
index 2abbd3aeb4af..2fde45f81727 100644
--- a/drivers/media/platform/qcom/iris/Makefile
+++ b/drivers/media/platform/qcom/iris/Makefile
@@ -10,6 +10,7 @@ qcom-iris-objs += iris_buffer.o \
iris_hfi_gen2_packet.o \
iris_hfi_gen2_response.o \
iris_hfi_queue.o \
+ iris_platform_gen1.o \
iris_platform_gen2.o \
iris_power.o \
iris_probe.o \
@@ -26,8 +27,4 @@ qcom-iris-objs += iris_buffer.o \
iris_vpu_buffer.o \
iris_vpu_common.o \
-ifeq ($(CONFIG_VIDEO_QCOM_VENUS),)
-qcom-iris-objs += iris_platform_gen1.o
-endif
-
obj-$(CONFIG_VIDEO_QCOM_IRIS) += qcom-iris.o
diff --git a/drivers/media/platform/qcom/iris/iris_probe.c b/drivers/media/platform/qcom/iris/iris_probe.c
index ddaacda523ec..7b612ad37e4f 100644
--- a/drivers/media/platform/qcom/iris/iris_probe.c
+++ b/drivers/media/platform/qcom/iris/iris_probe.c
@@ -352,7 +352,6 @@ static const struct of_device_id iris_dt_match[] = {
.compatible = "qcom,qcs8300-iris",
.data = &qcs8300_data,
},
-#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_VENUS))
{
.compatible = "qcom,sc7280-venus",
.data = &sc7280_data,
@@ -361,7 +360,6 @@ static const struct of_device_id iris_dt_match[] = {
.compatible = "qcom,sm8250-venus",
.data = &sm8250_data,
},
-#endif
{
.compatible = "qcom,sm8550-iris",
.data = &sm8550_data,
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
index 24d2b2fd0340..646dae3407b4 100644
--- a/drivers/media/platform/qcom/venus/core.c
+++ b/drivers/media/platform/qcom/venus/core.c
@@ -949,6 +949,7 @@ static const struct venus_resources sc7180_res = {
.enc_nodename = "video-encoder",
};
+#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_IRIS))
static const struct freq_tbl sm8250_freq_table[] = {
{ 0, 444000000 },
{ 0, 366000000 },
@@ -1069,6 +1070,7 @@ static const struct venus_resources sc7280_res = {
.dec_nodename = "video-decoder",
.enc_nodename = "video-encoder",
};
+#endif
static const struct bw_tbl qcm2290_bw_table_dec[] = {
{ 352800, 597000, 0, 746000, 0 }, /* 1080p@30 + 720p@30 */
@@ -1125,11 +1127,15 @@ static const struct of_device_id venus_dt_match[] = {
{ .compatible = "qcom,msm8998-venus", .data = &msm8998_res, },
{ .compatible = "qcom,qcm2290-venus", .data = &qcm2290_res, },
{ .compatible = "qcom,sc7180-venus", .data = &sc7180_res, },
+#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_IRIS))
{ .compatible = "qcom,sc7280-venus", .data = &sc7280_res, },
+#endif
{ .compatible = "qcom,sdm660-venus", .data = &sdm660_res, },
{ .compatible = "qcom,sdm845-venus", .data = &sdm845_res, },
{ .compatible = "qcom,sdm845-venus-v2", .data = &sdm845_res_v2, },
+#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_IRIS))
{ .compatible = "qcom,sm8250-venus", .data = &sm8250_res, },
+#endif
{ }
};
MODULE_DEVICE_TABLE(of, venus_dt_match);
diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platform/qcom/venus/core.h
index 7506f5d0f609..c7acacaa53b8 100644
--- a/drivers/media/platform/qcom/venus/core.h
+++ b/drivers/media/platform/qcom/venus/core.h
@@ -54,8 +54,10 @@ enum vpu_version {
VPU_VERSION_AR50,
VPU_VERSION_AR50_LITE,
VPU_VERSION_IRIS1,
+#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_IRIS))
VPU_VERSION_IRIS2,
VPU_VERSION_IRIS2_1,
+#endif
};
struct firmware_version {
@@ -525,13 +527,22 @@ struct venus_inst {
#define IS_V1(core) ((core)->res->hfi_version == HFI_VERSION_1XX)
#define IS_V3(core) ((core)->res->hfi_version == HFI_VERSION_3XX)
#define IS_V4(core) ((core)->res->hfi_version == HFI_VERSION_4XX)
+#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_IRIS))
#define IS_V6(core) ((core)->res->hfi_version == HFI_VERSION_6XX)
+#else
+#define IS_V6(core) (0)
+#endif
#define IS_AR50(core) ((core)->res->vpu_version == VPU_VERSION_AR50)
#define IS_AR50_LITE(core) ((core)->res->vpu_version == VPU_VERSION_AR50_LITE)
#define IS_IRIS1(core) ((core)->res->vpu_version == VPU_VERSION_IRIS1)
+#if (!IS_ENABLED(CONFIG_VIDEO_QCOM_IRIS))
#define IS_IRIS2(core) ((core)->res->vpu_version == VPU_VERSION_IRIS2)
#define IS_IRIS2_1(core) ((core)->res->vpu_version == VPU_VERSION_IRIS2_1)
+#else
+#define IS_IRIS2(core) (0)
+#define IS_IRIS2_1(core) (0)
+#endif
static inline bool is_lite(struct venus_core *core)
{
--
2.47.3
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v4 5/5] media: qcom: venus: flip the venus/iris switch
2026-01-31 13:58 ` [PATCH v4 5/5] media: qcom: venus: flip the venus/iris switch Dmitry Baryshkov
@ 2026-02-02 6:25 ` Dikshita Agarwal
0 siblings, 0 replies; 19+ messages in thread
From: Dikshita Agarwal @ 2026-02-02 6:25 UTC (permalink / raw)
To: Dmitry Baryshkov, Vikash Garodia, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Konrad Dybcio
On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> With the Iris and Venus driver having more or less feature parity for
> "HFI 6xx" platforms and with Iris gaining support for SC7280, flip the
> switch. Use Iris by default for SM8250 and SC7280, the platforms which
> are supported by both drivers, and use Venus only if Iris is not
> compiled at all. Use IS_ENABLED to strip out the code and data
> structures which are used by the disabled platforms.
>
> Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
> Reviewed-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> ---
> drivers/media/platform/qcom/iris/Makefile | 5 +----
> drivers/media/platform/qcom/iris/iris_probe.c | 2 --
> drivers/media/platform/qcom/venus/core.c | 6 ++++++
> drivers/media/platform/qcom/venus/core.h | 11 +++++++++++
> 4 files changed, 18 insertions(+), 6 deletions(-)
>
Reviewed-by: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>
Thanks,
Dikshita
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
` (4 preceding siblings ...)
2026-01-31 13:58 ` [PATCH v4 5/5] media: qcom: venus: flip the venus/iris switch Dmitry Baryshkov
@ 2026-02-02 6:30 ` Vikash Garodia
2026-02-02 6:42 ` Vikash Garodia
2026-03-24 3:42 ` (subset) " Bjorn Andersson
6 siblings, 1 reply; 19+ messages in thread
From: Vikash Garodia @ 2026-02-02 6:30 UTC (permalink / raw)
To: Dmitry Baryshkov, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> As the Venus and Iris drivers are close to the "feature parity" for the
> common platforms (SC7280, SM8250), in order to get more attention to
> squashing bugs from the Iris driver, flip the switch and default to the
> Iris driver if both are enabled. The Iris driver has several
> regressions, but hopefully they can be fixed through the development
> cycle by the respective team. Also it is better to fail the test than
> crash the device (which Venus driver does a lot).
>
> Note: then intention is to land this in 6.21, which might let us to
> drop those platforms from the Venus driver in 6.22+.
>
> Testing methodology: fluster test-suite, single-threaded mode, SM8250
> device (RB5).
Fluster results for SC7280 is regressing, which we were discussing in
earlier version of this series, need to be fixed. All tests were failing
but one for h265 decode.
Regards,
Vikash
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers
2026-02-02 6:30 ` [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Vikash Garodia
@ 2026-02-02 6:42 ` Vikash Garodia
2026-02-02 9:24 ` Dmitry Baryshkov
0 siblings, 1 reply; 19+ messages in thread
From: Vikash Garodia @ 2026-02-02 6:42 UTC (permalink / raw)
To: Dmitry Baryshkov, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Bjorn Andersson, Konrad Dybcio,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
On 2/2/2026 12:00 PM, Vikash Garodia wrote:
>
> On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
>> As the Venus and Iris drivers are close to the "feature parity" for the
>> common platforms (SC7280, SM8250), in order to get more attention to
>> squashing bugs from the Iris driver, flip the switch and default to the
>> Iris driver if both are enabled. The Iris driver has several
>> regressions, but hopefully they can be fixed through the development
>> cycle by the respective team. Also it is better to fail the test than
>> crash the device (which Venus driver does a lot).
>>
>> Note: then intention is to land this in 6.21, which might let us to
>> drop those platforms from the Venus driver in 6.22+.
>>
>> Testing methodology: fluster test-suite, single-threaded mode, SM8250
>> device (RB5).
>
> Fluster results for SC7280 is regressing, which we were discussing in
> earlier version of this series, need to be fixed. All tests were failing
> but one for h265 decode.
I see the patch (#4/5) to increase the size, please add the fluster
report on sc7280.
>
> Regards,
> Vikash
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers
2026-02-02 6:42 ` Vikash Garodia
@ 2026-02-02 9:24 ` Dmitry Baryshkov
2026-02-02 10:40 ` Vikash Garodia
0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2026-02-02 9:24 UTC (permalink / raw)
To: Vikash Garodia
Cc: Dikshita Agarwal, Abhinav Kumar, Bryan O'Donoghue,
Mauro Carvalho Chehab, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Stanimir Varbanov, linux-media, linux-arm-msm, linux-kernel,
devicetree, Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
On Mon, Feb 02, 2026 at 12:12:01PM +0530, Vikash Garodia wrote:
>
> On 2/2/2026 12:00 PM, Vikash Garodia wrote:
> >
> > On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
> > > As the Venus and Iris drivers are close to the "feature parity" for the
> > > common platforms (SC7280, SM8250), in order to get more attention to
> > > squashing bugs from the Iris driver, flip the switch and default to the
> > > Iris driver if both are enabled. The Iris driver has several
> > > regressions, but hopefully they can be fixed through the development
> > > cycle by the respective team. Also it is better to fail the test than
> > > crash the device (which Venus driver does a lot).
> > >
> > > Note: then intention is to land this in 6.21, which might let us to
> > > drop those platforms from the Venus driver in 6.22+.
> > >
> > > Testing methodology: fluster test-suite, single-threaded mode, SM8250
> > > device (RB5).
> >
> > Fluster results for SC7280 is regressing, which we were discussing in
> > earlier version of this series, need to be fixed. All tests were failing
> > but one for h265 decode.
>
> I see the patch (#4/5) to increase the size, please add the fluster report
> on sc7280.
From the cover letter:
For SC7280, the results match the SM8250 ones.
Anyway, the relevant part:
|Test|GStreamer-H.265-V4L2-Gst1.0|
|TOTAL|133/147|
|TOTAL TIME|82.276s|
|-|-|
|Profile|GStreamer-H.265-V4L2-Gst1.0|
|MAIN|132/135|
|MAIN_10|0/11|
|MAIN_STILL_PICTURE|1/1|
# GLOBAL SUMMARY
|TOTALS|GStreamer-H.265-V4L2-Gst1.0|
|-|-|
|TOTAL|133/147|
|TOTAL TIME|82.276s|
|-|-|
|Profile|GStreamer-H.265-V4L2-Gst1.0|
|MAIN|132/135|
|MAIN_10|0/11|
|MAIN_STILL_PICTURE|1/1|
|-|-|
>
> >
> > Regards,
> > Vikash
> >
>
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers
2026-02-02 9:24 ` Dmitry Baryshkov
@ 2026-02-02 10:40 ` Vikash Garodia
0 siblings, 0 replies; 19+ messages in thread
From: Vikash Garodia @ 2026-02-02 10:40 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Dikshita Agarwal, Abhinav Kumar, Bryan O'Donoghue,
Mauro Carvalho Chehab, cros-qcom-dts-watchers, Bjorn Andersson,
Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Stanimir Varbanov, linux-media, linux-arm-msm, linux-kernel,
devicetree, Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
On 2/2/2026 2:54 PM, Dmitry Baryshkov wrote:
> On Mon, Feb 02, 2026 at 12:12:01PM +0530, Vikash Garodia wrote:
>>
>> On 2/2/2026 12:00 PM, Vikash Garodia wrote:
>>>
>>> On 1/31/2026 7:28 PM, Dmitry Baryshkov wrote:
>>>> As the Venus and Iris drivers are close to the "feature parity" for the
>>>> common platforms (SC7280, SM8250), in order to get more attention to
>>>> squashing bugs from the Iris driver, flip the switch and default to the
>>>> Iris driver if both are enabled. The Iris driver has several
>>>> regressions, but hopefully they can be fixed through the development
>>>> cycle by the respective team. Also it is better to fail the test than
>>>> crash the device (which Venus driver does a lot).
>>>>
>>>> Note: then intention is to land this in 6.21, which might let us to
>>>> drop those platforms from the Venus driver in 6.22+.
>>>>
>>>> Testing methodology: fluster test-suite, single-threaded mode, SM8250
>>>> device (RB5).
>>>
>>> Fluster results for SC7280 is regressing, which we were discussing in
>>> earlier version of this series, need to be fixed. All tests were failing
>>> but one for h265 decode.
>>
>> I see the patch (#4/5) to increase the size, please add the fluster report
>> on sc7280.
>
> From the cover letter:
>
> For SC7280, the results match the SM8250 ones.
>
> Anyway, the relevant part:
>
> |Test|GStreamer-H.265-V4L2-Gst1.0|
> |TOTAL|133/147|
> |TOTAL TIME|82.276s|
>
> |-|-|
> |Profile|GStreamer-H.265-V4L2-Gst1.0|
> |MAIN|132/135|
> |MAIN_10|0/11|
> |MAIN_STILL_PICTURE|1/1|
>
>
> # GLOBAL SUMMARY
> |TOTALS|GStreamer-H.265-V4L2-Gst1.0|
> |-|-|
> |TOTAL|133/147|
> |TOTAL TIME|82.276s|
> |-|-|
> |Profile|GStreamer-H.265-V4L2-Gst1.0|
> |MAIN|132/135|
> |MAIN_10|0/11|
> |MAIN_STILL_PICTURE|1/1|
> |-|-|
>
Thank you, good to see this.
>
>>
>>>
>>> Regards,
>>> Vikash
>>>
>>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: (subset) [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
` (5 preceding siblings ...)
2026-02-02 6:30 ` [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Vikash Garodia
@ 2026-03-24 3:42 ` Bjorn Andersson
6 siblings, 0 replies; 19+ messages in thread
From: Bjorn Andersson @ 2026-03-24 3:42 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Abhinav Kumar,
Bryan O'Donoghue, Mauro Carvalho Chehab,
cros-qcom-dts-watchers, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Stanimir Varbanov,
Dmitry Baryshkov
Cc: linux-media, linux-arm-msm, linux-kernel, devicetree,
Stephan Gerhold, Douglas Anderson, Konrad Dybcio,
Krzysztof Kozlowski
On Sat, 31 Jan 2026 15:58:49 +0200, Dmitry Baryshkov wrote:
> As the Venus and Iris drivers are close to the "feature parity" for the
> common platforms (SC7280, SM8250), in order to get more attention to
> squashing bugs from the Iris driver, flip the switch and default to the
> Iris driver if both are enabled. The Iris driver has several
> regressions, but hopefully they can be fixed through the development
> cycle by the respective team. Also it is better to fail the test than
> crash the device (which Venus driver does a lot).
>
> [...]
Applied, thanks!
[1/5] arm64: dts: qcom: sc7280-chrome-common: disable Venus
commit: a9ca757518f35f336c43c5bc3b36856dd8d1ce54
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2026-03-24 3:42 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-31 13:58 [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 1/5] arm64: dts: qcom: sc7280-chrome-common: disable Venus Dmitry Baryshkov
2026-01-31 13:58 ` [PATCH v4 2/5] media: dt-bindings: qcom,sc7280-venus: drop non-PAS support Dmitry Baryshkov
2026-02-02 6:26 ` Dikshita Agarwal
2026-01-31 13:58 ` [PATCH v4 3/5] media: dt-bindings: qcom-sc7180-venus: move video-firmware here Dmitry Baryshkov
2026-02-02 6:26 ` Dikshita Agarwal
2026-01-31 13:58 ` [PATCH v4 4/5] media: qcom: iris: increase H265D_MAX_SLICE to fix H.265 decoding on SC7280 Dmitry Baryshkov
2026-02-02 10:23 ` Konrad Dybcio
2026-02-02 10:36 ` Vikash Garodia
2026-02-02 10:52 ` Konrad Dybcio
2026-02-02 10:41 ` Vikash Garodia
2026-02-03 6:06 ` Dikshita Agarwal
2026-01-31 13:58 ` [PATCH v4 5/5] media: qcom: venus: flip the venus/iris switch Dmitry Baryshkov
2026-02-02 6:25 ` Dikshita Agarwal
2026-02-02 6:30 ` [PATCH v4 0/5] media: qcom: flip the switch between Venus and Iris drivers Vikash Garodia
2026-02-02 6:42 ` Vikash Garodia
2026-02-02 9:24 ` Dmitry Baryshkov
2026-02-02 10:40 ` Vikash Garodia
2026-03-24 3:42 ` (subset) " Bjorn Andersson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox