<z3ntu1>
kholk: Do you know which iommu compatible string (v1 or v2) the iommu on msm8953 needs? Since the driver is doing the same thing (apart from -v2-sec) for both compatibles, I don't really know what should be used. Downstream uses qcom,smmu-v2 for kgsl_smmu, and qcom,qsmmu-v500 for apps_iommu, both currently seem to be happy enough with the upstream driver
a-wai[m] has joined #linux-msm
a-wai[m] has left #linux-msm [#linux-msm]
enok has quit [Remote host closed the connection]
enok has joined #linux-msm
<aka_[m]>
prob doesn't matter just go with v2
<aka_[m]>
for qcom iommus mostly flags matter on downstream
<aka_[m]>
from hardware standpoint both iommus are MMU500
<lumag>
z3ntu1, could you please run the dts through cpp (to get all includes substituted) and commit it somewhere?
<lumag>
I'd like to point to it in the annotation, so that anybody could follow the links.
<lumag>
also I can only hope for fp5-probe-loop being semi-permanent link.
<lumag>
z3ntu1, reg 8953. I think v2 for adreno_smmu and smmu500 for apps matches what we are using for sdm845. However some (most) of older platforms use just -v2 for all smmus.
<lumag>
The major difference is, IIRC, additional reset procedure
jhovold has joined #linux-msm
<z3ntu1>
lumag: So you want basically `arch/arm64/boot/dts/qcom/.qcm6490-fairphone-fp5.dtb.dts.tmp`? Looking at `scripts/Makefile.lib` this should be the file produced by the compiler before dtc is run
<z3ntu1>
Until I manually delete the files (which doesn't happen often), should be there until in a few months at least
<lumag>
ack
<z3ntu1>
lumag: For 8953, upstream currently uses "qcom,msm8953-iommu", "qcom,msm-iommu-v1" for apps_iommu, but not even sure that's "correct" or if it should be -v2 (as I said, no driver difference so it's just a dts question)
<lumag>
Ah, msm-iommu-v2. I was thinking about the arm smmu -v2
<z3ntu1>
and gpu_iommu is not yet upstream, which is what I'm trying to do
pak0 has joined #linux-msm
<aka_[m]>
lumag: naming kinda confusing indeed
<aka_[m]>
there is msm_iommu(8974) qcom_iommu(MMU500+Hyp(Fam B socs msm8916-msm8953(incl 8976)+smmu-v2(660?) and then its mmu500+smmu-v2(different impl? as 7180 gpu smmu)
<konradybcio>
msm_iommu is for even earlier targets
<konradybcio>
80something60something
<aka_[m]>
konradybcio: 8974 is kinda weird there
<aka_[m]>
ds on 3.10 have both old msm-iommu-v1.dts and msm-iommu-v2.dts
pespin has joined #linux-msm
<aka_[m]>
do armv7 have TZ?
<aka_[m]>
i guess no hyp there
<konradybcio>
yes tz is an old invention
<konradybcio>
as for hyp, i don't know
<konradybcio>
there is virtualization support for armv7 though
<konradybcio>
(not on qc)
<phh>
as i understand it, the difference between armv8 and armv7 with regards to trustzone, is that trustzone as an $$$ option on Arm's cortex-A 32bits, while it's not an option on the 64bits one, hence ~ everyone has one
pak0 has quit [Remote host closed the connection]
<minecrell>
phh: In the ARM architecture it's still optional for AArch64, e.g. Apple silicon doesn't have EL3 (and therefore no TZ)
<minecrell>
aka_[m]: The 8916 32-bit firmware has hyp too, as well as some newer MDM platforms, but it's probably rare
<phh>
minecrell: yes, that's why my understanding of the major changed in usage of TZ we saw from armv7 to armv8 comes from the available paying option of cortex-a
<z3ntu1>
So anybody have a proposal what I can do with 8953 iommu? Make everything msm-iommu-v1? Make everything msm-iommu-v2? Keep apps_iommu v1 and make gpu_smmu v2?
dliviu has quit [Ping timeout: 480 seconds]
dliviu has joined #linux-msm
exkc has joined #linux-msm
nashpa has joined #linux-msm
dliviu has quit [Ping timeout: 480 seconds]
nashpa has quit []
dliviu has joined #linux-msm
pespin has quit []
svarbanov has quit [Remote host closed the connection]
svarbanov has joined #linux-msm
<aka_[m]>
its still same thing
<aka_[m]>
and i believe issue with v2 is that there are some "secure" iommus which you cannot really reprogram
<aka_[m]>
minecrell: do 8916 have something like secure context bank for gpu?
<aka_[m]>
on 8953 there is user/priv/secure
<aka_[m]>
in theory iommus have also space for 4th context bank
<lumag>
z3ntu1, if gpu_smmu works with the generic driver it might be better to use it. Otherwise you have to use msm-iommu-v2, IIUC