Re: [PATCH] media: qcom: venus: flip the venus/iris switch
From: Vikash Garodia
Date: Thu Nov 27 2025 - 06:47:39 EST
On 11/19/2025 8:48 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.
Good to see platforms moving to iris.
Use IS_ENABLED to strip out the code and data
structures which are used by the disabled platforms.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
Note: then intention is to land this in 6.20, which might let us to
start dropping those platforms from the Venus driver in 6.21+.
---
drivers/media/platform/qcom/iris/Makefile | 5 +----
drivers/media/platform/qcom/iris/iris_probe.c | 2 --
drivers/media/platform/qcom/venus/Makefile | 5 ++++-
drivers/media/platform/qcom/venus/core.c | 6 ++++++
drivers/media/platform/qcom/venus/core.h | 11 +++++++++++
drivers/media/platform/qcom/venus/helpers.c | 7 ++++++-
drivers/media/platform/qcom/venus/hfi_helper.h | 11 +++++++++++
drivers/media/platform/qcom/venus/hfi_platform.c | 2 ++
drivers/media/platform/qcom/venus/hfi_platform.h | 2 ++
drivers/media/platform/qcom/venus/pm_helpers.c | 3 +++
drivers/media/platform/qcom/venus/venc.c | 3 +--
11 files changed, 47 insertions(+), 10 deletions(-)
diff --git a/drivers/media/platform/qcom/iris/Makefile b/drivers/media/platform/qcom/iris/Makefile
index fad3be044e5fe783db697a592b4f09de4d42d0d2..ce360c67846b1243dd9245972672591076bfdee2 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 \
@@ -25,8 +26,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 9bc9b34c2576581635fa8d87eed1965657eb3eb3..0d5f37e51558ed1207554b3a3841096d8699c755 100644
--- a/drivers/media/platform/qcom/iris/iris_probe.c
+++ b/drivers/media/platform/qcom/iris/iris_probe.c
@@ -356,7 +356,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,
@@ -365,7 +364,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/Makefile b/drivers/media/platform/qcom/venus/Makefile
index 91ee6be10292e0c275106f090f521f268da4c50a..60a3f948adbfaa4c6c91abdbbbe050f0bd724c9c 100644
--- a/drivers/media/platform/qcom/venus/Makefile
+++ b/drivers/media/platform/qcom/venus/Makefile
@@ -5,7 +5,10 @@ venus-core-objs += core.o helpers.o firmware.o \
hfi_venus.o hfi_msgs.o hfi_cmds.o hfi.o \
hfi_parser.o pm_helpers.o dbgfs.o \
hfi_platform.o hfi_platform_v4.o \
- hfi_platform_v6.o hfi_plat_bufs_v6.o \
+
+ifeq ($(CONFIG_VIDEO_QCOM_IRIS),)
+venus-core-objs += hfi_platform_v6.o hfi_plat_bufs_v6.o
+endif
venus-dec-objs += vdec.o vdec_ctrls.o
venus-enc-objs += venc.o venc_ctrls.o
diff --git a/drivers/media/platform/qcom/venus/core.c b/drivers/media/platform/qcom/venus/core.c
index 24d2b2fd0340b55ed1aa329f49ded449dc466f14..646dae3407b4d13454eedd8e926f16e7470d5d3d 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
There are configs check all over the venus driver, like the one above. Can we do this with keeping _only_ the compat under config check ? And if needed to keep it inline with iris code, we can keep the makefile change.
Regards,
Vikash