From: Vikash Garodia <vikash.garodia@oss.qualcomm.com>
To: Rob Herring <robh@kernel.org>, Bryan O'Donoghue <bod@kernel.org>
Cc: Vishnu Reddy <busanna.reddy@oss.qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
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: Wed, 12 Aug 2026 21:14:49 +0530 [thread overview]
Message-ID: <1a7c222a-617b-4dfd-a551-2c00115747a9@oss.qualcomm.com> (raw)
In-Reply-To: <CAL_JsqLGOz7Fh=AsM+g84=Uko10YXU4QN1buApD3CJMkOmsebA@mail.gmail.com>
On 8/10/2026 7:17 PM, Rob Herring wrote:
> On Sat, Aug 8, 2026 at 4:55 AM Bryan O'Donoghue <bod@kernel.org> wrote:
>>
>> 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.
>
> But if "iommu-addresses" is the only property of the reserved memory,
> why put this property in reserved-memory rather than directly in the
> device's node? I'm only questioning where is the right place to
> describe a reserved IOVA.
>
a single property node vs multi-property node should not be the reason
to decide the place i believe, rather having them all under
reserve-memory keeps all reservation at one place instead of scattering
it all over.
Regards,
Vikash
> Rob
next prev parent reply other threads:[~2026-08-12 15:45 UTC|newest]
Thread overview: 55+ 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:24 ` [PATCH 02/22] dt-bindings: media: qcom,sm8550-iris: " Vikash Garodia
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 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-08 15:48 ` Vikash Garodia
2026-08-10 12:10 ` Dmitry Baryshkov
2026-08-10 16:57 ` Vikash Garodia
2026-08-11 0:17 ` Dmitry Baryshkov
2026-08-12 5:19 ` Bryan O'Donoghue
2026-08-12 11:04 ` Vikash Garodia
2026-08-12 5:02 ` Bryan O'Donoghue
2026-08-12 12:46 ` Dmitry Baryshkov
2026-08-12 15:45 ` Vikash Garodia
2026-08-12 16:24 ` Dmitry Baryshkov
2026-08-07 16:24 ` Rob Herring
2026-08-08 4:37 ` Vishnu Reddy
2026-08-08 9:55 ` Bryan O'Donoghue
2026-08-10 13:47 ` Rob Herring
2026-08-12 15:44 ` Vikash Garodia [this message]
2026-08-12 16:09 ` Krzysztof Kozlowski
2026-08-14 11:23 ` Dmitry Baryshkov
2026-08-17 9:54 ` Bryan O'Donoghue
2026-08-18 6:23 ` Dmitry Baryshkov
2026-08-18 7:51 ` Vikash Garodia
2026-08-18 8:00 ` Vikash Garodia
2026-08-18 8:05 ` Krzysztof Kozlowski
2026-08-07 8:24 ` [PATCH 05/22] arm64: dts: qcom: lemans: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 06/22] arm64: dts: qcom: monaco: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 07/22] arm64: dts: qcom: sc8280xp: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 08/22] arm64: dts: qcom: sm8350: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 09/22] arm64: dts: qcom: sm8550: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 10/22] arm64: dts: qcom: sm8650: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 11/22] arm64: dts: qcom: sm8750: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 12/22] arm64: dts: qcom: agatti: Reserve low IOVA range for Venus Vikash Garodia
2026-08-07 8:24 ` [PATCH 13/22] arm64: dts: qcom: kodiak: " Vikash Garodia
2026-08-07 8:24 ` [PATCH 14/22] arm64: dts: qcom: msm8916: " Vikash Garodia
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:25 ` [PATCH 18/22] arm64: dts: qcom: sdm630: " Vikash Garodia
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 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 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=1a7c222a-617b-4dfd-a551-2c00115747a9@oss.qualcomm.com \
--to=vikash.garodia@oss.qualcomm.com \
--cc=abhinav.kumar@linux.dev \
--cc=amasule@codeaurora.org \
--cc=andersson@kernel.org \
--cc=andy.gross@linaro.org \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bod@kernel.org \
--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=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
all inboxes | Powered by JetHome®