All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Vikash Garodia" <vikash.garodia@oss.qualcomm.com>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org,
	media-ci@linuxtv.org
Subject: Re: [PATCH v3 02/13] dt-bindings: media: qcom,sm8550-iris: Add context bank subnodes
Date: Wed, 09 Sep 2026 15:09:56 +0000	[thread overview]
Message-ID: <20260909150957.27AB41F00A3E@smtp.kernel.org> (raw)
In-Reply-To: <20260909-vpu_iommu_iova_handling-v3-2-2fe43ae45495@oss.qualcomm.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:

New issues:
- [Low] Missing 'ranges' property in the newly added 'soc' wrapper node in the example.

Pre-existing issues:
- [High] Missing matching updates for related Iris family device binding (qcom,milos-iris.yaml) to address the same hardware SMMU limitation.
--

commit b9e07ce021dac6c49fe1c64b1aac26288fe5cc3f
Author: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
Subject: dt-bindings: media: qcom,sm8550-iris: Add context bank subnodes

This commit addresses an SMMU hardware limitation where non-pixel streams
cannot address the low 600MB of IOVA space by moving stream constraints
into subnodes. It updates the dt-bindings example to use the new subnode
format and adds required 1:1 DMA translation properties.

> diff --git a/Documentation/devicetree/bindings/media/qcom,sm8550-iris.yaml b/Documentation/devicetree/bindings/media/qcom,sm8550-iris.yaml
> index 0400ca1bff05d..dd80526838f11 100644
> --- a/Documentation/devicetree/bindings/media/qcom,sm8550-iris.yaml
> +++ b/Documentation/devicetree/bindings/media/qcom,sm8550-iris.yaml

[Severity: High]
This isn't a bug introduced by this patch, but this series fixes the
identical hardware flaw for sm8550 and sm8750 while leaving milos behind.
Should there be a matching update for the related Iris family device binding
(qcom,milos-iris.yaml) to address the same hardware SMMU limitation?

The qcom,milos-iris.yaml binding continues to use the flawed dual-stream
top-level approach, leaving it exposed to the SMMU page faults:

Documentation/devicetree/bindings/media/qcom,milos-iris.yaml:video-codec node
        iommus = <&apps_smmu 0x1960 0>,
                 <&apps_smmu 0x1967 0>;

When the Iris VPU on Milos performs DMA for non-pixel streams below the
600MB IOVA boundary, the hardware SMMU will fault because the ranges are
not correctly restricted. Video decoding/encoding workloads triggered by
userspace applications will hit this IOVA allocation boundary over time.

The dt-bindings subsystem guide explicitly mandates matching updates for
related files in the same family. While the later driver patch falls back
to the old behavior for platforms lacking subnodes to maintain backward
compatibility, that old behavior is exactly what causes the crash this
series aims to fix.

[ ... ]

> @@ -150,70 +150,86 @@ examples:
>      #include <dt-bindings/power/qcom-rpmpd.h>
>      #include <dt-bindings/power/qcom,rpmhpd.h>
>  
> -    video-codec@aa00000 {
> -        compatible = "qcom,sm8550-iris";
> -        reg = <0x0aa00000 0xf0000>;
> -        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
> +    soc {
> +        #address-cells = <2>;
> +        #size-cells = <2>;

[Severity: Low]
Does this soc wrapper node also need an empty ranges property to properly
translate memory addresses for its children?

The patch wraps the video-codec child in a soc node to demonstrate 1:1 DMA
translation. However, a bus node mapping 1:1 memory addresses for its
children must have an empty ranges property. Without it, the child's reg
addresses cannot be translated to the root CPU address space, making the DT
example technically invalid when running standard DT validation tools.

> +
> +        video-codec@aa00000 {
> +            compatible = "qcom,sm8550-iris";
> +            reg = <0x0 0x0aa00000 0x0 0xf0000>;
> +            interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260909-vpu_iommu_iova_handling-v3-0-2fe43ae45495@oss.qualcomm.com?part=2

  reply	other threads:[~2026-09-09 15:09 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-09 14:57 [PATCH v3 00/13] media: iris: Migrate iommus to iris sub nodes Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 01/13] dt-bindings: media: qcom,venus: Add context bank subnodes to common schema Vikash Garodia
2026-09-10  6:59   ` Krzysztof Kozlowski
2026-09-11 17:43     ` Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 02/13] dt-bindings: media: qcom,sm8550-iris: Add context bank subnodes Vikash Garodia
2026-09-09 15:09   ` sashiko-bot [this message]
2026-09-09 20:57   ` Dmitry Baryshkov
2026-09-10  7:00   ` Krzysztof Kozlowski
2026-09-11 17:46     ` Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 03/13] dt-bindings: media: qcom,sm8750-iris: " Vikash Garodia
2026-09-09 21:32   ` Dmitry Baryshkov
2026-09-09 14:57 ` [PATCH v3 04/13] iommu: of_iommu: Add support for "iommu-ranges" on a device node Vikash Garodia
2026-09-09 15:12   ` sashiko-bot
2026-09-09 14:57 ` [PATCH v3 05/13] media: iris: Add non-pixel and pixel context bank devices Vikash Garodia
2026-09-09 15:16   ` sashiko-bot
2026-09-09 14:57 ` [PATCH v3 06/13] media: iris: Route buffers to the matching context bank device Vikash Garodia
2026-09-09 15:13   ` sashiko-bot
2026-09-09 14:57 ` [PATCH v3 07/13] media: iris: Skip DMA mask setup when the core device has no IOMMU Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 08/13] arm64: dts: qcom: hamoa: Add Iris context bank subnodes Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 09/13] arm64: dts: qcom: sm8550: " Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 10/13] arm64: dts: qcom: lemans: " Vikash Garodia
2026-09-09 15:22   ` sashiko-bot
2026-09-10  7:01   ` Krzysztof Kozlowski
2026-09-09 14:57 ` [PATCH v3 11/13] arm64: dts: qcom: monaco: " Vikash Garodia
2026-09-09 15:21   ` sashiko-bot
2026-09-10  7:03   ` Krzysztof Kozlowski
2026-09-11 17:53     ` Vikash Garodia
2026-09-09 14:57 ` [PATCH v3 12/13] arm64: dts: qcom: sm8650: " Vikash Garodia
2026-09-09 15:26   ` sashiko-bot
2026-09-09 14:57 ` [PATCH v3 13/13] arm64: dts: qcom: sm8750: " Vikash Garodia
2026-09-09 15:24   ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260909150957.27AB41F00A3E@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=media-ci@linuxtv.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=vikash.garodia@oss.qualcomm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.