* [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
@ 2025-09-11 18:38 ` Stephan Gerhold
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-11 18:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
Add the necessary definitions to enable the IRIS video codec for
accelerated video decoding on the X1E CRD and Lenovo ThinkPad T14s. The
additions are largely copied as-is from sm8550.dtsi with some minor changes
necessary for X1E.
The PAS interface used to boot the IRIS firmware is not functional in EL2.
The code to start it without using PAS exists already in the Venus driver,
but was not ported over to IRIS yet. Discussions how to model the
video-firmware IOMMU are still ongoing, so disable IRIS in x1-el2.dtso for
now to avoid regressions when running in EL2.
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
Stephan Gerhold (4):
arm64: dts: qcom: x1e80100: Add IRIS video codec
arm64: dts: qcom: x1-el2: Disable IRIS for now
arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec
arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS
arch/arm64/boot/dts/qcom/x1-el2.dtso | 5 ++
.../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 5 ++
arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 +
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++
4 files changed, 101 insertions(+)
---
base-commit: 8f21d9da46702c4d6951ba60ca8a05f42870fe8f
change-id: 20250909-x1e-iris-dt-eb0494a130ca
Best regards,
--
Stephan Gerhold <stephan.gerhold@linaro.org>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
@ 2025-09-11 18:38 ` Stephan Gerhold
2025-09-11 19:54 ` Alexey Klimov
` (2 more replies)
2025-09-11 18:38 ` [PATCH 2/4] arm64: dts: qcom: x1-el2: Disable IRIS for now Stephan Gerhold
` (5 subsequent siblings)
6 siblings, 3 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-11 18:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
Add the IRIS video codec to accelerate video decoding/encoding. Copied
mostly from sm8550.dtsi, only the opp-table is slightly different for X1E.
For opp-240000000, we need to vote for a higher OPP on one of the power
domains, because the voltage requirements for the PLL and the derived
clocks differ (sm8550.dtsi has the same).
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++++++++++++++
1 file changed, 87 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
index ba602eddfb54616ad38205570bc56a1f0e62c023..d6914165d055cd0c0e80541267e2671c7432799e 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
@@ -5234,6 +5234,93 @@ usb_1_ss1_dwc3_ss: endpoint {
};
};
+ iris: video-codec@aa00000 {
+ compatible = "qcom,x1e80100-iris", "qcom,sm8550-iris";
+
+ reg = <0 0x0aa00000 0 0xf0000>;
+ interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
+
+ power-domains = <&videocc VIDEO_CC_MVS0C_GDSC>,
+ <&videocc VIDEO_CC_MVS0_GDSC>,
+ <&rpmhpd RPMHPD_MXC>,
+ <&rpmhpd RPMHPD_MMCX>;
+ power-domain-names = "venus",
+ "vcodec0",
+ "mxc",
+ "mmcx";
+ operating-points-v2 = <&iris_opp_table>;
+
+ clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
+ <&videocc VIDEO_CC_MVS0C_CLK>,
+ <&videocc VIDEO_CC_MVS0_CLK>;
+ clock-names = "iface",
+ "core",
+ "vcodec0_core";
+
+ interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
+ &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>,
+ <&mmss_noc MASTER_VIDEO QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ interconnect-names = "cpu-cfg",
+ "video-mem";
+
+ memory-region = <&video_mem>;
+
+ resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>;
+ reset-names = "bus";
+
+ iommus = <&apps_smmu 0x1940 0>,
+ <&apps_smmu 0x1947 0>;
+ dma-coherent;
+
+ /*
+ * IRIS firmware is signed by vendors, only
+ * enable in boards where the proper signed firmware
+ * is available.
+ */
+ status = "disabled";
+
+ iris_opp_table: opp-table {
+ compatible = "operating-points-v2";
+
+ opp-192000000 {
+ opp-hz = /bits/ 64 <192000000>;
+ required-opps = <&rpmhpd_opp_low_svs_d1>,
+ <&rpmhpd_opp_low_svs_d1>;
+ };
+
+ opp-240000000 {
+ opp-hz = /bits/ 64 <240000000>;
+ required-opps = <&rpmhpd_opp_svs>,
+ <&rpmhpd_opp_low_svs>;
+ };
+
+ opp-338000000 {
+ opp-hz = /bits/ 64 <338000000>;
+ required-opps = <&rpmhpd_opp_svs>,
+ <&rpmhpd_opp_svs>;
+ };
+
+ opp-366000000 {
+ opp-hz = /bits/ 64 <366000000>;
+ required-opps = <&rpmhpd_opp_svs_l1>,
+ <&rpmhpd_opp_svs_l1>;
+ };
+
+ opp-444000000 {
+ opp-hz = /bits/ 64 <444000000>;
+ required-opps = <&rpmhpd_opp_nom>,
+ <&rpmhpd_opp_nom>;
+ };
+
+ opp-481000000 {
+ opp-hz = /bits/ 64 <481000000>;
+ required-opps = <&rpmhpd_opp_turbo>,
+ <&rpmhpd_opp_turbo>;
+ };
+ };
+ };
+
videocc: clock-controller@aaf0000 {
compatible = "qcom,x1e80100-videocc";
reg = <0 0x0aaf0000 0 0x10000>;
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/4] arm64: dts: qcom: x1-el2: Disable IRIS for now
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
@ 2025-09-11 18:38 ` Stephan Gerhold
2025-09-11 18:38 ` [PATCH 3/4] arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec Stephan Gerhold
` (4 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-11 18:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
The reset and IOMMU management for remoteprocs like IRIS is implemented in
the hypervisor for older targets such as X1E [1]. When running in EL2, this
functionality is missing and the PAS interface normally used by IRIS to
boot the video firmware is not working.
The Venus driver supports starting the video firmware without using the PAS
interface. The same code also works for X1E when running in EL2. However,
for the new IRIS dt-bindings it was decided to avoid using the dummy
"video-firmware" node in the device tree to describe the IOMMU [2].
Discussion is still ongoing how to describe this properly [3].
To avoid regressions when running in EL2, add a TODO in x1-el2.dtso for now
and disable IRIS even when it was enabled by the board.
[1]: https://resources.linaro.org/en/resource/sF8jXifdb9V1mUefdbfafa
[2]: https://lore.kernel.org/r/20250823155349.22344-2-krzysztof.kozlowski@linaro.org/
[3]: https://lore.kernel.org/r/20250819165447.4149674-12-mukesh.ojha@oss.qualcomm.com/
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
arch/arm64/boot/dts/qcom/x1-el2.dtso | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1-el2.dtso b/arch/arm64/boot/dts/qcom/x1-el2.dtso
index 380441deca65d1b443962fbe6151f4aadd918383..2d1c9151cf1b4aca79f7ad67328ffc3c721b9dc3 100644
--- a/arch/arm64/boot/dts/qcom/x1-el2.dtso
+++ b/arch/arm64/boot/dts/qcom/x1-el2.dtso
@@ -12,6 +12,11 @@ &gpu_zap_shader {
status = "disabled";
};
+&iris {
+ /* TODO: Add video-firmware iommus to start IRIS from EL2 */
+ status = "disabled";
+};
+
/*
* When running under Gunyah, this IOMMU is controlled by the firmware,
* however when we take ownership of it in EL2, we need to configure
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/4] arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
2025-09-11 18:38 ` [PATCH 2/4] arm64: dts: qcom: x1-el2: Disable IRIS for now Stephan Gerhold
@ 2025-09-11 18:38 ` Stephan Gerhold
2025-09-11 18:38 ` [PATCH 4/4] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS Stephan Gerhold
` (3 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-11 18:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
IRIS firmware for x1e80100-crd is already upstream in linux-firmware in the
default path, so enable IRIS for the CRD to accelerate video decoding.
It looks like the X1P CRD might need a different IRIS firmware (possibly
even changes in the Linux kernel driver), so keep it local to the X1E CRD
for now.
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
index 976b8e44b5763b2d6c0f4786bf5809fee29dcecc..dfc378e1a056a8af27ef4b646f7589e7198dbaf8 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-crd.dts
@@ -16,3 +16,7 @@ / {
&gpu_zap_shader {
firmware-name = "qcom/x1e80100/gen70500_zap.mbn";
};
+
+&iris {
+ status = "okay";
+};
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
` (2 preceding siblings ...)
2025-09-11 18:38 ` [PATCH 3/4] arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec Stephan Gerhold
@ 2025-09-11 18:38 ` Stephan Gerhold
2025-09-11 19:02 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Trilok Soni
` (2 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-11 18:38 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
IRIS firmware for the Lenovo ThinkPad T14s is already upstream in
linux-firmware at qcom/x1e80100/LENOVO/21N1/qcvss8380.mbn, so enable IRIS
for the T14s with the corresponding firmware-name property.
Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
---
arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
index 23213b0d9582822e9503e4acf18c62d5c8c7867d..0a989e9d3d23146cb9689b68ba6c5779283b3c98 100644
--- a/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
+++ b/arch/arm64/boot/dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi
@@ -967,6 +967,11 @@ touchscreen@10 {
/* TODO: second-sourced touchscreen @ 0x41 */
};
+&iris {
+ firmware-name = "qcom/x1e80100/LENOVO/21N1/qcvss8380.mbn";
+ status = "okay";
+};
+
&lpass_tlmm {
spkr_01_sd_n_active: spkr-01-sd-n-active-state {
pins = "gpio12";
--
2.50.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
` (3 preceding siblings ...)
2025-09-11 18:38 ` [PATCH 4/4] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS Stephan Gerhold
@ 2025-09-11 19:02 ` Trilok Soni
2025-09-11 19:23 ` Stephan Gerhold
2025-09-12 7:05 ` Neil Armstrong
2025-09-12 10:24 ` Bryan O'Donoghue
6 siblings, 1 reply; 15+ messages in thread
From: Trilok Soni @ 2025-09-11 19:02 UTC (permalink / raw)
To: Stephan Gerhold, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
On 9/11/2025 11:38 AM, Stephan Gerhold wrote:
> Add the necessary definitions to enable the IRIS video codec for
> accelerated video decoding on the X1E CRD and Lenovo ThinkPad T14s. The
> additions are largely copied as-is from sm8550.dtsi with some minor changes
> necessary for X1E.
>
> The PAS interface used to boot the IRIS firmware is not functional in EL2.
Just to confirm my understanding of above statement. The patches below
works w/ the Gunyah and Linux running at NS-EL1 and "not functional in
EL2" means Video working w/ the KVM Hypervisor on X1E right?
> The code to start it without using PAS exists already in the Venus driver,
> but was not ported over to IRIS yet. Discussions how to model the
> video-firmware IOMMU are still ongoing, so disable IRIS in x1-el2.dtso for
> now to avoid regressions when running in EL2.
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> Stephan Gerhold (4):
> arm64: dts: qcom: x1e80100: Add IRIS video codec
> arm64: dts: qcom: x1-el2: Disable IRIS for now
> arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec
> arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS
>
> arch/arm64/boot/dts/qcom/x1-el2.dtso | 5 ++
> .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 5 ++
> arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 +
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++
> 4 files changed, 101 insertions(+)
> ---
> base-commit: 8f21d9da46702c4d6951ba60ca8a05f42870fe8f
> change-id: 20250909-x1e-iris-dt-eb0494a130ca
>
> Best regards,
--
---Trilok Soni
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 19:02 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Trilok Soni
@ 2025-09-11 19:23 ` Stephan Gerhold
0 siblings, 0 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-11 19:23 UTC (permalink / raw)
To: Trilok Soni
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Dikshita Agarwal, Vikash Garodia, Bryan O'Donoghue,
Neil Armstrong
On Thu, Sep 11, 2025 at 12:02:54PM -0700, Trilok Soni wrote:
> On 9/11/2025 11:38 AM, Stephan Gerhold wrote:
> > Add the necessary definitions to enable the IRIS video codec for
> > accelerated video decoding on the X1E CRD and Lenovo ThinkPad T14s. The
> > additions are largely copied as-is from sm8550.dtsi with some minor changes
> > necessary for X1E.
> >
> > The PAS interface used to boot the IRIS firmware is not functional in EL2.
>
> Just to confirm my understanding of above statement. The patches below
> works w/ the Gunyah and Linux running at NS-EL1 and "not functional in
> EL2" means Video working w/ the KVM Hypervisor on X1E right?
>
Yes, the patches enable video acceleration when running Linux with
Gunyah as usual. I added an extra patch to disable IRIS when running
with KVM, because my patches would introduce regressions otherwise.
The old Venus driver does support starting the video firmware when
running without Gunyah (for KVM on the Chrome platforms). The same code
works for KVM on X1E, so we could easily enable it once there is a
solution for the describing the video-firmware IOMMU in the device tree.
Mukesh is working on solving that for SA8775p [1].
[1]: https://lore.kernel.org/linux-arm-msm/20250819165447.4149674-12-mukesh.ojha@oss.qualcomm.com/
Thanks,
Stephan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
@ 2025-09-11 19:54 ` Alexey Klimov
2025-09-12 7:23 ` Krzysztof Kozlowski
2025-09-12 9:20 ` Bryan O'Donoghue
2 siblings, 0 replies; 15+ messages in thread
From: Alexey Klimov @ 2025-09-11 19:54 UTC (permalink / raw)
To: Stephan Gerhold
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Dikshita Agarwal, Vikash Garodia, Bryan O'Donoghue,
Neil Armstrong
On Thu Sep 11, 2025 at 7:38 PM BST, Stephan Gerhold wrote:
> Add the IRIS video codec to accelerate video decoding/encoding. Copied
> mostly from sm8550.dtsi, only the opp-table is slightly different for X1E.
> For opp-240000000, we need to vote for a higher OPP on one of the power
> domains, because the voltage requirements for the PLL and the derived
> clocks differ (sm8550.dtsi has the same).
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++++++++++++++
> 1 file changed, 87 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index ba602eddfb54616ad38205570bc56a1f0e62c023..d6914165d055cd0c0e80541267e2671c7432799e 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
[..]
> +
> + /*
> + * IRIS firmware is signed by vendors, only
> + * enable in boards where the proper signed firmware
> + * is available.
> + */
"enable on boards" please.
[..]
BR,
Alexey
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
` (4 preceding siblings ...)
2025-09-11 19:02 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Trilok Soni
@ 2025-09-12 7:05 ` Neil Armstrong
2025-09-12 10:24 ` Bryan O'Donoghue
6 siblings, 0 replies; 15+ messages in thread
From: Neil Armstrong @ 2025-09-12 7:05 UTC (permalink / raw)
To: Stephan Gerhold, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue
On 11/09/2025 20:38, Stephan Gerhold wrote:
> Add the necessary definitions to enable the IRIS video codec for
> accelerated video decoding on the X1E CRD and Lenovo ThinkPad T14s. The
> additions are largely copied as-is from sm8550.dtsi with some minor changes
> necessary for X1E.
>
> The PAS interface used to boot the IRIS firmware is not functional in EL2.
> The code to start it without using PAS exists already in the Venus driver,
> but was not ported over to IRIS yet. Discussions how to model the
> video-firmware IOMMU are still ongoing, so disable IRIS in x1-el2.dtso for
> now to avoid regressions when running in EL2.
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> Stephan Gerhold (4):
> arm64: dts: qcom: x1e80100: Add IRIS video codec
> arm64: dts: qcom: x1-el2: Disable IRIS for now
> arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec
> arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS
>
> arch/arm64/boot/dts/qcom/x1-el2.dtso | 5 ++
> .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 5 ++
> arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 +
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++
> 4 files changed, 101 insertions(+)
> ---
> base-commit: 8f21d9da46702c4d6951ba60ca8a05f42870fe8f
> change-id: 20250909-x1e-iris-dt-eb0494a130ca
>
> Best regards,
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on Thinkpad T14S OLED
Thanks,
Neil
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
2025-09-11 19:54 ` Alexey Klimov
@ 2025-09-12 7:23 ` Krzysztof Kozlowski
2025-09-12 8:31 ` Stephan Gerhold
2025-09-12 9:20 ` Bryan O'Donoghue
2 siblings, 1 reply; 15+ messages in thread
From: Krzysztof Kozlowski @ 2025-09-12 7:23 UTC (permalink / raw)
To: Stephan Gerhold, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
On 11/09/2025 20:38, Stephan Gerhold wrote:
> Add the IRIS video codec to accelerate video decoding/encoding. Copied
> mostly from sm8550.dtsi, only the opp-table is slightly different for X1E.
> For opp-240000000, we need to vote for a higher OPP on one of the power
> domains, because the voltage requirements for the PLL and the derived
> clocks differ (sm8550.dtsi has the same).
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++++++++++++++
> 1 file changed, 87 insertions(+)
Feels like duplicating this:
https://lore.kernel.org/all/20250910-hamoa_initial-v11-2-38ed7f2015f7@oss.qualcomm.com/
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-12 7:23 ` Krzysztof Kozlowski
@ 2025-09-12 8:31 ` Stephan Gerhold
0 siblings, 0 replies; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-12 8:31 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Dikshita Agarwal, Vikash Garodia, Bryan O'Donoghue,
Neil Armstrong
On Fri, Sep 12, 2025 at 09:23:45AM +0200, Krzysztof Kozlowski wrote:
> On 11/09/2025 20:38, Stephan Gerhold wrote:
> > Add the IRIS video codec to accelerate video decoding/encoding. Copied
> > mostly from sm8550.dtsi, only the opp-table is slightly different for X1E.
> > For opp-240000000, we need to vote for a higher OPP on one of the power
> > domains, because the voltage requirements for the PLL and the derived
> > clocks differ (sm8550.dtsi has the same).
> >
> > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > ---
> > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++++++++++++++
> > 1 file changed, 87 insertions(+)
>
> Feels like duplicating this:
>
> https://lore.kernel.org/all/20250910-hamoa_initial-v11-2-38ed7f2015f7@oss.qualcomm.com/
>
Oh, yeah you're right. I haven't looked at that patch series for a while
because it went through so many revisions. Wouldn't have expected to
find that patch in there, especially without an indication in the cover
title...
But we can keep this short: The opp-table in that patch is wrong, they
don't have the correct required-opps for opp-240000000 like I described
in the commit message above. They could have easily known that if they
had asked the video team internally for review, because we had a pretty
long discussion with them if this is also needed for X1E. :-(
I'll comment there.
Thanks,
Stephan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
2025-09-11 19:54 ` Alexey Klimov
2025-09-12 7:23 ` Krzysztof Kozlowski
@ 2025-09-12 9:20 ` Bryan O'Donoghue
2 siblings, 0 replies; 15+ messages in thread
From: Bryan O'Donoghue @ 2025-09-12 9:20 UTC (permalink / raw)
To: Stephan Gerhold, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Neil Armstrong
On 11/09/2025 19:38, Stephan Gerhold wrote:
> Add the IRIS video codec to accelerate video decoding/encoding. Copied
> mostly from sm8550.dtsi, only the opp-table is slightly different for X1E.
> For opp-240000000, we need to vote for a higher OPP on one of the power
> domains, because the voltage requirements for the PLL and the derived
> clocks differ (sm8550.dtsi has the same).
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++++++++++++++
> 1 file changed, 87 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/x1e80100.dtsi b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> index ba602eddfb54616ad38205570bc56a1f0e62c023..d6914165d055cd0c0e80541267e2671c7432799e 100644
> --- a/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> +++ b/arch/arm64/boot/dts/qcom/x1e80100.dtsi
> @@ -5234,6 +5234,93 @@ usb_1_ss1_dwc3_ss: endpoint {
> };
> };
>
> + iris: video-codec@aa00000 {
> + compatible = "qcom,x1e80100-iris", "qcom,sm8550-iris";
> +
> + reg = <0 0x0aa00000 0 0xf0000>;
> + interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +
> + power-domains = <&videocc VIDEO_CC_MVS0C_GDSC>,
> + <&videocc VIDEO_CC_MVS0_GDSC>,
> + <&rpmhpd RPMHPD_MXC>,
> + <&rpmhpd RPMHPD_MMCX>;
> + power-domain-names = "venus",
> + "vcodec0",
> + "mxc",
> + "mmcx";
> + operating-points-v2 = <&iris_opp_table>;
> +
> + clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
> + <&videocc VIDEO_CC_MVS0C_CLK>,
> + <&videocc VIDEO_CC_MVS0_CLK>;
> + clock-names = "iface",
> + "core",
> + "vcodec0_core";
> +
> + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY
> + &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>,
> + <&mmss_noc MASTER_VIDEO QCOM_ICC_TAG_ALWAYS
> + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
> + interconnect-names = "cpu-cfg",
> + "video-mem";
> +
> + memory-region = <&video_mem>;
> +
> + resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>;
> + reset-names = "bus";
> +
> + iommus = <&apps_smmu 0x1940 0>,
> + <&apps_smmu 0x1947 0>;
> + dma-coherent;
> +
> + /*
> + * IRIS firmware is signed by vendors, only
> + * enable in boards where the proper signed firmware
> + * is available.
> + */
> + status = "disabled";
> +
> + iris_opp_table: opp-table {
> + compatible = "operating-points-v2";
> +
> + opp-192000000 {
> + opp-hz = /bits/ 64 <192000000>;
> + required-opps = <&rpmhpd_opp_low_svs_d1>,
> + <&rpmhpd_opp_low_svs_d1>;
> + };
> +
> + opp-240000000 {
> + opp-hz = /bits/ 64 <240000000>;
> + required-opps = <&rpmhpd_opp_svs>,
> + <&rpmhpd_opp_low_svs>;
> + };
> +
> + opp-338000000 {
> + opp-hz = /bits/ 64 <338000000>;
> + required-opps = <&rpmhpd_opp_svs>,
> + <&rpmhpd_opp_svs>;
> + };
> +
> + opp-366000000 {
> + opp-hz = /bits/ 64 <366000000>;
> + required-opps = <&rpmhpd_opp_svs_l1>,
> + <&rpmhpd_opp_svs_l1>;
> + };
> +
> + opp-444000000 {
> + opp-hz = /bits/ 64 <444000000>;
> + required-opps = <&rpmhpd_opp_nom>,
> + <&rpmhpd_opp_nom>;
> + };
> +
> + opp-481000000 {
> + opp-hz = /bits/ 64 <481000000>;
> + required-opps = <&rpmhpd_opp_turbo>,
> + <&rpmhpd_opp_turbo>;
> + };
> + };
> + };
> +
> videocc: clock-controller@aaf0000 {
> compatible = "qcom,x1e80100-videocc";
> reg = <0 0x0aaf0000 0 0x10000>;
>
Assuming /in/s//on/
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # x1e Inspiron 14p
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
` (5 preceding siblings ...)
2025-09-12 7:05 ` Neil Armstrong
@ 2025-09-12 10:24 ` Bryan O'Donoghue
2025-09-12 11:54 ` Stephan Gerhold
6 siblings, 1 reply; 15+ messages in thread
From: Bryan O'Donoghue @ 2025-09-12 10:24 UTC (permalink / raw)
To: Stephan Gerhold, Bjorn Andersson, Konrad Dybcio
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, linux-arm-msm,
devicetree, linux-kernel, Dikshita Agarwal, Vikash Garodia,
Bryan O'Donoghue, Neil Armstrong
On 11/09/2025 19:38, Stephan Gerhold wrote:
> Add the necessary definitions to enable the IRIS video codec for
> accelerated video decoding on the X1E CRD and Lenovo ThinkPad T14s. The
> additions are largely copied as-is from sm8550.dtsi with some minor changes
> necessary for X1E.
>
> The PAS interface used to boot the IRIS firmware is not functional in EL2.
> The code to start it without using PAS exists already in the Venus driver,
> but was not ported over to IRIS yet. Discussions how to model the
> video-firmware IOMMU are still ongoing, so disable IRIS in x1-el2.dtso for
> now to avoid regressions when running in EL2.
>
> Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> ---
> Stephan Gerhold (4):
> arm64: dts: qcom: x1e80100: Add IRIS video codec
> arm64: dts: qcom: x1-el2: Disable IRIS for now
> arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec
> arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS
>
> arch/arm64/boot/dts/qcom/x1-el2.dtso | 5 ++
> .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 5 ++
> arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 +
> arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++
> 4 files changed, 101 insertions(+)
> ---
> base-commit: 8f21d9da46702c4d6951ba60ca8a05f42870fe8f
> change-id: 20250909-x1e-iris-dt-eb0494a130ca
>
> Best regards,
> --
> Stephan Gerhold <stephan.gerhold@linaro.org>
>
>
Could you please include the Dell Thena variants in v2 ?
---
bod
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-12 10:24 ` Bryan O'Donoghue
@ 2025-09-12 11:54 ` Stephan Gerhold
2025-09-14 22:05 ` Anthony Ruhier
0 siblings, 1 reply; 15+ messages in thread
From: Stephan Gerhold @ 2025-09-12 11:54 UTC (permalink / raw)
To: Bryan O'Donoghue
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, linux-arm-msm, devicetree, linux-kernel,
Dikshita Agarwal, Vikash Garodia, Neil Armstrong
On Fri, Sep 12, 2025 at 11:24:21AM +0100, Bryan O'Donoghue wrote:
> On 11/09/2025 19:38, Stephan Gerhold wrote:
> > Add the necessary definitions to enable the IRIS video codec for
> > accelerated video decoding on the X1E CRD and Lenovo ThinkPad T14s. The
> > additions are largely copied as-is from sm8550.dtsi with some minor changes
> > necessary for X1E.
> >
> > The PAS interface used to boot the IRIS firmware is not functional in EL2.
> > The code to start it without using PAS exists already in the Venus driver,
> > but was not ported over to IRIS yet. Discussions how to model the
> > video-firmware IOMMU are still ongoing, so disable IRIS in x1-el2.dtso for
> > now to avoid regressions when running in EL2.
> >
> > Signed-off-by: Stephan Gerhold <stephan.gerhold@linaro.org>
> > ---
> > Stephan Gerhold (4):
> > arm64: dts: qcom: x1e80100: Add IRIS video codec
> > arm64: dts: qcom: x1-el2: Disable IRIS for now
> > arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec
> > arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS
> >
> > arch/arm64/boot/dts/qcom/x1-el2.dtso | 5 ++
> > .../dts/qcom/x1e78100-lenovo-thinkpad-t14s.dtsi | 5 ++
> > arch/arm64/boot/dts/qcom/x1e80100-crd.dts | 4 +
> > arch/arm64/boot/dts/qcom/x1e80100.dtsi | 87 ++++++++++++++++++++++
> > 4 files changed, 101 insertions(+)
> > ---
> > base-commit: 8f21d9da46702c4d6951ba60ca8a05f42870fe8f
> > change-id: 20250909-x1e-iris-dt-eb0494a130ca
> >
> > Best regards,
> > --
> > Stephan Gerhold <stephan.gerhold@linaro.org>
> >
> >
>
> Could you please include the Dell Thena variants in v2 ?
>
I didn't include that because the firmware-name setup isn't as
straightforward for that as for the T14s. I think all the Thena variants
have existing "firmware-name"s for ADSP though, so I can try to make a
patch that adopts the existing prefix for all the laptops that make use
of x1-dell-thena.dtsi. Or even better would be if you can send me a
tested patch to include. :-)
Thanks,
Stephan
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec
2025-09-12 11:54 ` Stephan Gerhold
@ 2025-09-14 22:05 ` Anthony Ruhier
0 siblings, 0 replies; 15+ messages in thread
From: Anthony Ruhier @ 2025-09-14 22:05 UTC (permalink / raw)
To: Stephan Gerhold
Cc: Bryan O'Donoghue, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, linux-arm-msm, devicetree,
linux-kernel, Dikshita Agarwal, Vikash Garodia, Neil Armstrong
Thanks Stephan!
Tested-by: Anthony Ruhier <aruhier@mailbox.org>
Here is the diff for the Slim 7x (with a Signed-off-by, not sure if it's necessary):
Signed-off-by: Anthony Ruhier <aruhier@mailbox.org>
---
diff --git a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
index b7dc436a99da..6fe93d0a05a4 100644
--- a/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
+++ b/arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
@@ -1102,6 +1102,11 @@ touchscreen@14 {
};
};
+&iris {
+ firmware-name = "qcom/x1e80100/LENOVO/83ED/qcvss8380.mbn";
+ status = "okay";
+};
+
&lpass_tlmm {
spkr_01_sd_n_active: spkr-01-sd-n-active-state {
pins = "gpio12";
--
Anthony Ruhier
^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-09-14 22:05 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <rPv92n3EVkoRrO1v7nlw_tPMn-nHUhpYhQP_FjmQsESL752mly20FWQqPHLs8JHGC4mklm9wfPABc5kd-x4LYg==@protonmail.internalid>
2025-09-11 18:38 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Stephan Gerhold
2025-09-11 18:38 ` [PATCH 1/4] " Stephan Gerhold
2025-09-11 19:54 ` Alexey Klimov
2025-09-12 7:23 ` Krzysztof Kozlowski
2025-09-12 8:31 ` Stephan Gerhold
2025-09-12 9:20 ` Bryan O'Donoghue
2025-09-11 18:38 ` [PATCH 2/4] arm64: dts: qcom: x1-el2: Disable IRIS for now Stephan Gerhold
2025-09-11 18:38 ` [PATCH 3/4] arm64: dts: qcom: x1e80100-crd: Enable IRIS video codec Stephan Gerhold
2025-09-11 18:38 ` [PATCH 4/4] arm64: dts: qcom: x1e78100-lenovo-thinkpad-t14s: Enable IRIS Stephan Gerhold
2025-09-11 19:02 ` [PATCH 0/4] arm64: dts: qcom: x1e80100: Add IRIS video codec Trilok Soni
2025-09-11 19:23 ` Stephan Gerhold
2025-09-12 7:05 ` Neil Armstrong
2025-09-12 10:24 ` Bryan O'Donoghue
2025-09-12 11:54 ` Stephan Gerhold
2025-09-14 22:05 ` Anthony Ruhier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).