From: Bryan O'Donoghue <bod@kernel.org>
To: Vishnu Reddy <busanna.reddy@oss.qualcomm.com>,
Rob Herring <robh@kernel.org>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Vikash Garodia <vikash.garodia@oss.qualcomm.com>
Cc: Dikshita Agarwal <dikshita.agarwal@oss.qualcomm.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Stanimir Varbanov <stanimir.k.varbanov@gmail.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Abhinav Kumar <abhinav.kumar@linux.dev>,
Stephan Gerhold <stephan.gerhold@linaro.org>,
Bjorn Andersson <andersson@kernel.org>,
Stanimir Varbanov <stanimir.varbanov@linaro.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Johan Hovold <johan+linaro@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Loic Poulain <loic.poulain@oss.qualcomm.com>,
Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>,
Mansur Alisha Shaik <mansur@codeaurora.org>,
Andy Gross <andy.gross@linaro.org>,
Rob Clark <robin.clark@oss.qualcomm.com>,
Stephen Boyd <sboyd@codeaurora.org>,
Yassine Oudjana <y.oudjana@protonmail.com>,
Pierre-Hugues Husson <phhusson@freebox.fr>,
Marc Gonzalez <mgonzalez@freebox.fr>,
cros-qcom-dts-watchers@chromium.org,
Matthias Kaehlcke <mka@chromium.org>,
Douglas Anderson <dianders@chromium.org>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com>,
Aniket Masule <amasule@codeaurora.org>,
Malathi Gottam <quic_mgottam@quicinc.com>,
Rajendra Nayak <quic_rjendra@quicinc.com>,
Jonathan Marek <jonathan@marek.ca>,
Dikshita Agarwal <dikshita@qti.qualcomm.com>,
Renjiang Han <quic_renjiang@quicinc.com>,
Krzysztof Kozlowski <krzk@kernel.org>,
linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
Bryan O'Donoghue <bryan.odonoghue@linaro.org>,
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>,
Daniel J Blueman <daniel@quora.org>,
stable@vger.kernel.org
Subject: Re: [PATCH 04/22] arm64: dts: qcom: hamoa: Reserve low IOVA range for Iris
Date: Sat, 8 Aug 2026 10:55:05 +0100 [thread overview]
Message-ID: <56b3dfcf-b1ad-4192-8199-06c80cc5d124@kernel.org> (raw)
In-Reply-To: <6ee7f32e-eb6c-e264-6f0d-541555f8fd62@oss.qualcomm.com>
On 08/08/2026 05:37, Vishnu Reddy wrote:
>
> On 8/7/2026 9:54 PM, Rob Herring wrote:
>> On Fri, Aug 07, 2026 at 12:03:50PM +0300, Dmitry Baryshkov wrote:
>>> On Fri, Aug 07, 2026 at 01:54:48PM +0530, Vikash Garodia wrote:
>>>> From: Daniel J Blueman <daniel@quora.org>
>>>>
>>>> On X1-family hamoa platforms, the Iris VPU reserves IOVA addresses
>>>> below 0x25800000 (600MB), primarily for secure non-pixel buffers. DMA
>>>> into that range, from any other stream id would triggers unhandled SMMU
>>>> page faults that cause spontaneous device reboots. This is readily
>>>> reproduced with one or more browser tabs driving multiple concurrent
>>>> video decode streams.
>>>>
>>>> Add a reserved-memory IOVA reservation node covering [0, 0x25800000]
>>>> and reference it from the Iris node so the IOMMU layer keeps DMA
>>>> allocations above that boundary.
>>>>
>>>> Link: https://github.com/qualcomm-linux/kernel-topics/issues/1157#issuecomment-4458933574
>>>> Fixes: 9065340ac04d ("arm64: dts: qcom: x1e80100: Add IRIS video codec")
>>>> Cc: stable@vger.kernel.org
>>>> Signed-off-by: Daniel J Blueman <daniel@quora.org>
>>>> Signed-off-by: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
>>>> ---
>>>> arch/arm64/boot/dts/qcom/hamoa.dtsi | 13 ++++++++++++-
>>>> 1 file changed, 12 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm64/boot/dts/qcom/hamoa.dtsi b/arch/arm64/boot/dts/qcom/hamoa.dtsi
>>>> index 8a96ea1bdb9c4c409b2af997680d8c13fed0643e..87f424765d513c97b06303bceb75ca9f176d2ace 100644
>>>> --- a/arch/arm64/boot/dts/qcom/hamoa.dtsi
>>>> +++ b/arch/arm64/boot/dts/qcom/hamoa.dtsi
>>>> @@ -666,6 +666,17 @@ smem_mem: smem@ffe00000 {
>>>> hwlocks = <&tcsr_mutex 3>;
>>>> no-map;
>>>> };
>>>> +
>>>> + /*
>>>> + * The Iris VPU reserves IOVA below 0x25800000 (600MB),
>>>> + * primarily for non-pixel buffers using different Stream IDs.
>>>> + * DMA into that range triggers unhandled SMMU faults and
>>>> + * spontaneous reboots, so reserve it to keep IOMMU
>>>> + * allocations above this boundary.
>>>> + */
>>>> + iris_iova: iris-iova {
>>>> + iommu-addresses = <&iris 0x0 0x0 0x0 0x25800000>;
>>>> + };
>>>> };
>>>>
>>>> qup_opp_table_100mhz: opp-table-qup100mhz {
>>>> @@ -5439,7 +5450,7 @@ &config_noc SLAVE_VENUS_CFG QCOM_ICC_TAG_ACTIVE_ONLY>,
>>>> interconnect-names = "cpu-cfg",
>>>> "video-mem";
>>>>
>>>> - memory-region = <&video_mem>;
>>>> + memory-region = <&video_mem>, <&iris_iova>;
>>> I don't like the idea of this series, because it _again_ doesn't tell us
>>> the truth about the hardware. This typicall ends up with bigger problems
>>> later on, when it starts to affect other bits and pieces.
>>>
>>> I don't want to NAK it, but I'd strongly ask to reconsider it.
>> I think this is an abuse of /reserved-memory. reserved-memory is
>> reserved *physical* memory. Reserved IOVA is a property on top of that.
>> I'm surprised this passes validation. If it does, I may go fix that.
>
> As per the reserved-memory.yaml schema document, the iommu-addresses
> property for IOVA reservation into /reserved-memory is allowed — it's
> documented for IOVA carveout reservations:
> https://github.com/devicetree-org/dt-schema/blob/main/dtschema/schemas/reserved-memory/reserved-memory.yaml#L56
I think that is an entirely reasonable reading of the text
Quote:
"If no "reg" property is specified, the "iommu-addresses" property
defines carveout regions in the IOVA space for the given device. This
can be useful if a certain memory region should not be mapped through
the IOMMU."
Which is exactly what this series does. Excludes a specific IOVA range
from being allocated for this device.
---
bod
next prev parent reply other threads:[~2026-08-08 9:55 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <5BXSXMNl656WiJPJAMmHvb3I2NzYMshRZuGuub3CxEXvdCUlIDKYbnv5jUq-pa6P1NibBLkO3njnKGxi7Al3jQ==@protonmail.internalid>
2026-08-07 8:24 ` [PATCH 00/22] media: iris: Restrict lower IOVA range for Venus and Iris VPUs Vikash Garodia
2026-08-07 8:24 ` [PATCH 01/22] dt-bindings: media: qcom,venus-common: Allow IOVA reservation memory-region Vikash Garodia
2026-08-07 8:49 ` sashiko-bot
2026-08-07 8:51 ` Vikash Garodia
2026-08-07 8:24 ` [PATCH 02/22] dt-bindings: media: qcom,sm8550-iris: " Vikash Garodia
2026-08-07 8:40 ` sashiko-bot
2026-08-07 9:01 ` Dmitry Baryshkov
2026-08-07 8:24 ` [PATCH 03/22] dt-bindings: media: qcom,sc7180-venus: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 04/22] arm64: dts: qcom: hamoa: Reserve low IOVA range for Iris Vikash Garodia
2026-08-07 8:45 ` sashiko-bot
2026-08-07 9:03 ` Dmitry Baryshkov
2026-08-07 9:26 ` Vikash Garodia
2026-08-07 10:00 ` Dmitry Baryshkov
2026-08-07 10:22 ` Vikash Garodia
2026-08-07 13:18 ` Bryan O'Donoghue
2026-08-07 16:24 ` Rob Herring
2026-08-08 4:37 ` Vishnu Reddy
2026-08-08 9:55 ` Bryan O'Donoghue [this message]
2026-08-07 8:24 ` [PATCH 05/22] arm64: dts: qcom: lemans: " Vikash Garodia
2026-08-07 8:44 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 06/22] arm64: dts: qcom: monaco: " Vikash Garodia
2026-08-07 8:47 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 07/22] arm64: dts: qcom: sc8280xp: " Vikash Garodia
2026-08-07 8:44 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 08/22] arm64: dts: qcom: sm8350: " Vikash Garodia
2026-08-07 8:50 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 09/22] arm64: dts: qcom: sm8550: " Vikash Garodia
2026-08-07 8:46 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 10/22] arm64: dts: qcom: sm8650: " Vikash Garodia
2026-08-07 8:42 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 11/22] arm64: dts: qcom: sm8750: " Vikash Garodia
2026-08-07 8:54 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 12/22] arm64: dts: qcom: agatti: Reserve low IOVA range for Venus Vikash Garodia
2026-08-07 8:57 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 13/22] arm64: dts: qcom: kodiak: " Vikash Garodia
2026-08-07 8:54 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 14/22] arm64: dts: qcom: msm8916: " Vikash Garodia
2026-08-07 8:58 ` sashiko-bot
2026-08-07 8:24 ` [PATCH 15/22] arm64: dts: qcom: msm8996: " Vikash Garodia
2026-08-07 8:25 ` [PATCH 16/22] arm64: dts: qcom: msm8998: " Vikash Garodia
2026-08-07 8:25 ` [PATCH 17/22] arm64: dts: qcom: sc7180: " Vikash Garodia
2026-08-07 8:59 ` sashiko-bot
2026-08-07 8:25 ` [PATCH 18/22] arm64: dts: qcom: sdm630: " Vikash Garodia
2026-08-07 9:00 ` sashiko-bot
2026-08-07 8:25 ` [PATCH 19/22] arm64: dts: qcom: sdm845: " Vikash Garodia
2026-08-07 8:25 ` [PATCH 20/22] arm64: dts: qcom: sm6115: " Vikash Garodia
2026-08-07 9:05 ` sashiko-bot
2026-08-07 8:25 ` [PATCH 21/22] arm64: dts: qcom: sm8250: " Vikash Garodia
2026-08-07 8:25 ` [PATCH 22/22] arm64: dts: qcom: talos: " Vikash Garodia
2026-08-07 9:08 ` sashiko-bot
2026-08-07 8:51 ` [PATCH 00/22] media: iris: Restrict lower IOVA range for Venus and Iris VPUs Bryan O'Donoghue
2026-08-07 8:59 ` Dmitry Baryshkov
2026-08-07 9:05 ` Vikash Garodia
2026-08-07 10:01 ` Dmitry Baryshkov
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=56b3dfcf-b1ad-4192-8199-06c80cc5d124@kernel.org \
--to=bod@kernel.org \
--cc=abhinav.kumar@linux.dev \
--cc=amasule@codeaurora.org \
--cc=andersson@kernel.org \
--cc=andy.gross@linaro.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bryan.odonoghue@linaro.org \
--cc=busanna.reddy@oss.qualcomm.com \
--cc=conor+dt@kernel.org \
--cc=cros-qcom-dts-watchers@chromium.org \
--cc=daniel@quora.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=dikshita.agarwal@oss.qualcomm.com \
--cc=dikshita@qti.qualcomm.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=johan+linaro@kernel.org \
--cc=jonathan@marek.ca \
--cc=jorge.ramirez@oss.qualcomm.com \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=krzysztof.kozlowski@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=loic.poulain@oss.qualcomm.com \
--cc=mansur@codeaurora.org \
--cc=mchehab+huawei@kernel.org \
--cc=mchehab@kernel.org \
--cc=mgonzalez@freebox.fr \
--cc=mka@chromium.org \
--cc=neil.armstrong@linaro.org \
--cc=phhusson@freebox.fr \
--cc=quic_mgottam@quicinc.com \
--cc=quic_renjiang@quicinc.com \
--cc=quic_rjendra@quicinc.com \
--cc=robh@kernel.org \
--cc=robin.clark@oss.qualcomm.com \
--cc=sakari.ailus@linux.intel.com \
--cc=sboyd@codeaurora.org \
--cc=stable@vger.kernel.org \
--cc=stanimir.k.varbanov@gmail.com \
--cc=stanimir.varbanov@linaro.org \
--cc=stephan.gerhold@linaro.org \
--cc=vikash.garodia@oss.qualcomm.com \
--cc=y.oudjana@protonmail.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