From: Bryan O'Donoghue <bod@kernel.org>
To: Charan Teja Kalla <charan.kalla@oss.qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Robin Murphy <robin.murphy@arm.com>
Cc: joro@8bytes.org, will@kernel.org, saravanak@google.com,
conor+dt@kernel.org, robh@kernel.org, mchehab@kernel.org,
krzk+dt@kernel.org, abhinav.kumar@linux.dev,
vikash.garodia@oss.qualcomm.com,
dikshita.agarwal@oss.qualcomm.com,
Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>,
bjorn.andersson@oss.qualcomm.com, linux-media@vger.kernel.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, iommu@lists.linux.dev
Subject: Re: [RFC PATCH 0/3] Introduce iommu-map-masked for platform devices
Date: Sun, 12 Oct 2025 21:44:43 +0100 [thread overview]
Message-ID: <3c1eb276-abde-4af4-ab39-c934c30aa447@kernel.org> (raw)
In-Reply-To: <c863f6a7-b117-4444-ae6d-1d525b572be2@oss.qualcomm.com>
On 10/10/2025 20:53, Charan Teja Kalla wrote:
> I don't want to dilute what Dmitry is saying here, but the below is what
> i can make out of Robin comments, please CMIW:
>
> iommu {
> #iommu-cells = <2>;
> }
>
> video {
> iommu = <iommu sid1 mask1>, <iommu sid2 mask2>;
> #iommu-map-cells = 2; /* does it look weird to define here, even if
> it is SMMU property? */
> iommu-map = <0 smmu sid3 mask3>,
> <0 smmu sid4 mask4>;
> };
This whole iommu-map thing is a wrong direction, its a workaround.
It stems from here:
1. Vikash posted a series adding a platform device
https://lore.kernel.org/linux-media/20250627-video_cb-v3-0-51e18c0ffbce@quicinc.com/
The two objectives of this are
a. Allow Linux, the APPS as qcom calls it,@ EL1 or EL2
to setup iommu entries for function_ids that are
not the APPS @ EL1/EL2.
For example the APPS running in TEE or one of the
various co-processors - like say the Compute DSP cDSP.
b. Allowing for each device to have a full IOVA range.
2. Krzysztof queried about changing _existing_ entries e.g.
https://lore.kernel.org/linux-media/6fd3fa34-69e1-484f-ad6f-8caa852f1a6c@kernel.org/
The point about ABI breakage.
3. This proposal to introduce iommu-map as a workaround
Gets the FUNCTION_ID APPS v cDSP v TZ into the DT
So it solves 1/a I'm not sure it solves 1/b
However if you were designing from scratch you wouldn't
have a motivation to assign this additional property.
The motivation is to not break the ABI I think.
4. Robin said
"And if you want individual StreamIDs for logical functions to be
attachable to distinct contexts then those functions absolutely
must be visible to the IOMMU layer and the SMMU driver as
independent devices"
5. If you think about this, its actually the right long term solution
- Individual devices means something like:
video-codec@aa00000 {
/* Any SID mapping to S1_VIDEO_HLOS belongs here */
compatible = "qcom,sm8550-iris";
iommus = <&apps_smmu 0x1947 0x0000>;
};
video-codec-non-pixel {
/* Any SID mapping to S1_VIDEO_HLOS_P belongs here */
compatible = "qcom,sm8550-iris-non-pixel";
iommus = <&apps_smmu 0x1940 0x0000>;
};
- Or do something like that above again in platform code.
6. We should on introduction of a new SoC
- Fix the iommus = <> for "qcom,newsoc-iris" to contain
only what is pertinent to S1_VIDEO_HLOS
- Make new devices in the DT for each FUNCTION_ID
- Then look at how - if - that fix can be brought back to Lemans
My problem with introducing the iommu-map is that it bakes into the
video codec definitions a fixup which then gets carried forward.
But the right thing to do is individual devices so, let's do that and
worry about how to back-port that fix to older SoCs once done.
---
bod
next prev parent reply other threads:[~2025-10-12 20:44 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-28 17:17 [RFC PATCH 0/3] Introduce iommu-map-masked for platform devices Charan Teja Kalla
2025-09-28 17:17 ` [RFC PATCH 1/3] dtbindings: add binding for iommu-map-masked property Charan Teja Kalla
2025-09-28 17:17 ` [RFC PATCH 2/3] of: create a wrapper for of_map_id() Charan Teja Kalla
2025-09-28 17:17 ` [RFC PATCH 3/3] of: implment the 'iommu-map-masked' to represent multi-functional devices Charan Teja Kalla
2025-09-28 20:23 ` [RFC PATCH 0/3] Introduce iommu-map-masked for platform devices Rob Herring
2025-10-09 0:26 ` Krzysztof Kozlowski
2025-10-09 12:16 ` Robin Murphy
2025-10-09 13:16 ` Dmitry Baryshkov
2025-10-09 13:14 ` Dmitry Baryshkov
2025-10-09 3:05 ` Vikash Garodia
2025-09-29 10:20 ` Robin Murphy
2025-10-08 19:10 ` Charan Teja Kalla
2025-10-09 10:46 ` Robin Murphy
2025-10-09 13:19 ` Dmitry Baryshkov
2025-10-09 17:03 ` Robin Murphy
2025-10-09 18:25 ` Dmitry Baryshkov
2025-10-10 19:53 ` Charan Teja Kalla
2025-10-10 22:30 ` Rob Herring
2025-10-11 0:54 ` Dmitry Baryshkov
2025-10-12 20:44 ` Bryan O'Donoghue [this message]
2025-10-12 21:57 ` Bryan O'Donoghue
2025-10-12 22:47 ` Dmitry Baryshkov
2025-10-13 10:18 ` Bryan O'Donoghue
2025-10-13 11:20 ` Robin Murphy
2025-10-13 12:31 ` Dmitry Baryshkov
2025-10-14 14:07 ` Robin Murphy
2025-10-14 18:33 ` Dmitry Baryshkov
2025-10-15 8:32 ` Charan Teja Kalla
2025-10-19 12:13 ` Dmitry Baryshkov
2025-10-14 15:07 ` Bryan O'Donoghue
2025-10-14 18:35 ` Dmitry Baryshkov
2025-10-14 20:49 ` Bryan O'Donoghue
2025-10-14 22:18 ` Dmitry Baryshkov
2025-10-15 8:53 ` Bryan O'Donoghue
2025-10-15 21:55 ` Rob Herring
2025-10-14 22:38 ` 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=3c1eb276-abde-4af4-ab39-c934c30aa447@kernel.org \
--to=bod@kernel.org \
--cc=abhinav.kumar@linux.dev \
--cc=bjorn.andersson@oss.qualcomm.com \
--cc=charan.kalla@oss.qualcomm.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dikshita.agarwal@oss.qualcomm.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=konrad.dybcio@oss.qualcomm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=robh@kernel.org \
--cc=robin.murphy@arm.com \
--cc=saravanak@google.com \
--cc=vikash.garodia@oss.qualcomm.com \
--cc=will@kernel.org \
/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).