From: sashiko-bot@kernel.org
To: "Vikash Garodia" <vikash.garodia@oss.qualcomm.com>
Cc: robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org,
media-ci@linuxtv.org
Subject: Re: [PATCH v3 12/13] arm64: dts: qcom: sm8650: Add Iris context bank subnodes
Date: Wed, 09 Sep 2026 15:26:39 +0000 [thread overview]
Message-ID: <20260909152640.35D481F00A3A@smtp.kernel.org> (raw)
In-Reply-To: <20260909-vpu_iommu_iova_handling-v3-12-2fe43ae45495@oss.qualcomm.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] Dynamically created sub-devices for SMMU context banks lack PM runtime enablement, keeping the SMMU permanently active.
- [High] of_iommu_derive_resv_regions() erroneously translates IOVAs into CPU physical addresses.
--
commit 6e1de71c7ed4433a945133dd5bedc79a78bdd2e4
Author: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
arm64: dts: qcom: sm8650: Add Iris context bank subnodes
This commit introduces subnodes for the non-pixel and pixel VPU SMMU streams
so that each stream can be associated with its respective addressable range.
It adds an iommu-ranges property to the non-pixel stream to restrict its
allocations, addressing hardware faults caused by buffers landing below the
600MB IOVA boundary.
> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> index b679fd8afb7d5..97dad9c7f7fc4 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
[ ... ]
> @@ -5287,6 +5288,15 @@ &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>,
> */
> status = "disabled";
>
> + non-pixel {
> + iommus = <&apps_smmu 0x1940 0x0>;
[Severity: High]
Does adding these subnodes cause a PM runtime leak in the SMMU?
When these dummy platform devices are dynamically created for context banks by
the iris driver in drivers/media/platform/qcom/iris/iris_probe.c:
iris_create_cb_dev() {
...
pdev = platform_device_register_full(&plat_dev_info);
...
}
The IOMMU core intercepts them, attaches them to the SMMU, and establishes a
PM runtime device link (DL_FLAG_PM_RUNTIME). Because the driver never
explicitly calls pm_runtime_enable() on these dummy devices, their PM
runtime disable depth remains greater than zero.
The PM core interprets this as the consumer being active, forcing the
supplier (the SMMU) and its interconnect power domains to resume and stay
active permanently.
> + iommu-ranges = <0x25800000 0xba800000>;
[Severity: High]
Does the use of iommu-ranges here cause the IOMMU core to reserve the wrong
address space?
When this property is parsed in drivers/iommu/of_iommu.c to compute reserved
regions:
of_iommu_derive_resv_regions() {
...
maps = of_translate_dma_region(dev->of_node, maps, &iova, &length);
...
}
The function of_translate_dma_region() uses dma-ranges to translate up to a
CPU physical address, rather than preserving the intended IOVA space.
This CPU physical address is then incorrectly passed as the IOVA base to
iommu_alloc_resv_region(), which can severely break the IOVA allocator and
block valid DMA allocations on architectures with non-identity DMA offsets.
> + };
> +
> + pixel {
> + iommus = <&apps_smmu 0x1947 0x0>;
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260909-vpu_iommu_iova_handling-v3-0-2fe43ae45495@oss.qualcomm.com?part=12
next prev parent reply other threads:[~2026-09-09 15:26 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
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 [this message]
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=20260909152640.35D481F00A3A@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 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).