Linux Media Controller development
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Vikash Garodia <vikash.garodia@oss.qualcomm.com>,
	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>,
	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 18:09:14 +0200	[thread overview]
Message-ID: <815c0301-200f-4bc9-bb80-e4920eb4fe27@kernel.org> (raw)
In-Reply-To: <1a7c222a-617b-4dfd-a551-2c00115747a9@oss.qualcomm.com>

On 12/08/2026 17:44, Vikash Garodia wrote:
> 
> 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.
> 

It is not about the amount of properties, but the intention of
reserved-nodes. Their intention is for reserved memory, which you do not
have here really.

Best regards,
Krzysztof

  reply	other threads:[~2026-08-12 16:09 UTC|newest]

Thread overview: 49+ 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
2026-08-12 16:09                 ` Krzysztof Kozlowski [this message]
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=815c0301-200f-4bc9-bb80-e4920eb4fe27@kernel.org \
    --to=krzk@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=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=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