On 15/09/2025 11:06, Stephan Gerhold wrote:
> The reset and IOMMU management for remoteprocs like IRIS is implemented in
> the hypervisor for older targets such as X1E [1]. When booting Linux/KVM
> directly 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 using KVM. 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 using KVM, 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
>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>