From: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
To: Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>,
Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
Konrad Dybcio <konradybcio@kernel.org>
Cc: Herbert Xu <herbert@gondor.apana.org.au>,
"David S. Miller" <davem@davemloft.net>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Thara Gopinath <thara.gopinath@gmail.com>,
Frank Li <Frank.Li@kernel.org>, Andy Gross <agross@kernel.org>,
Harshal Dev <harshal.dev@oss.qualcomm.com>,
linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
dmaengine@vger.kernel.org
Subject: Re: [PATCH 5/5] arm64: dts: qcom: shikra: Add ICE, TRNG and QCE nodes
Date: Mon, 29 Jun 2026 13:40:35 +0200 [thread overview]
Message-ID: <46005937-c1a9-409b-89cf-4b8f592dc5d1@oss.qualcomm.com> (raw)
In-Reply-To: <55039d7e-34df-4f89-8188-fcb45fdea538@oss.qualcomm.com>
On 6/8/26 12:09 PM, Kuldeep Singh wrote:
>>> + cryptobam: dma-controller@1b04000 {
>>> + compatible = "qcom,bam-v1.7.4", "qcom,bam-v1.7.0";
>>> + reg = <0x0 0x01b04000 0x0 0x24000>;
>>> + interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH 0>;
>>> + #dma-cells = <1>;
>>> + iommus = <&apps_smmu 0x84 0x0011>,
>>> + <&apps_smmu 0x86 0x0011>,
>>> + <&apps_smmu 0x92 0x0>,
>>> + <&apps_smmu 0x94 0x0011>,
>>
>> 0x84 / 0x0011 is exactly the same as 0x94 / 0x0011. Likewise 0x96
>> duplicates 0x86. Drop the duplicate IOMMU specifiers or explain in the
>> commit message why they are required.
>
> +Konrad too as there was same discussion in past too.
>
> 0x84/0x94 and 0x86/0x96 pairs are actually different even though
> resulting sid is same.
> Let me explain more.
>
> From sid sheet,
> Description SID (hex) MASK RESULT_SID S1 CB
> CE descriptors 0x84, 0x85 0x11 0x0084 S1_CRYPTO_KERNEL
> (for data pipe 4/5)
> CE descriptors 0x86, 0x87 0x11 0x0086 S1_CRYPTO_USER
> (for data pipe 6/7)
> CE data pipe 4/5 0x94, 0x95 0x11 0x84(same) S1_CRYPTO_KERNEL
> CE data pipe 6/7 0x96, 0x97 0x11 0x86(same) S1_CRYPTO_USER
>
> Qualcomm BAM DMA engine driving QCE has 2 major components here:
> * Descriptor pipe (0x84/0x86): This carries BAM command descriptors i,e
> key, algorithm, length etc. which tell crypto engine what to do.
> * Data pipe (0x94/0x96): This carries the actual data payload — the
> plaintext/ciphertext buffers being read/written.
>
> The descriptor(SID 0x84) basically contain IOVA address that points to
> the data buffer. That same IOVA address is then used by the data pipe
> (SID 0x94) to actually DMA the data.
>
> Since, Crypto engine descriptor and crypto engine data are part of same
> crypto operation and with the limited number of context banks, smmu
> provides an optimization to logically group and resolve them to same
> context bank/page tables.
>
> Pipe 4/5 contain 2 SID(0x84/0x94) for kernel and pipe 6/7 contain
> sid(0x86/0x96) for user. Pipe 4/5 doesn't touch pipe6/7 buffers so both
> are safe.
I understand they are different from the hardware perspective. Are they
different as far as the OS is concerned? Will we ever need to separate
their data flows? (I guess that would require iommu-maps anyway since
currently they are bound to the same domain anyway)
Alternatively, if you'd like to keep this level of description, it would
be good to describe the iommus:items: in dt-bindings, so that one can
make sense out of it
Konrad
next prev parent reply other threads:[~2026-06-29 11:40 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-21 13:17 [PATCH 0/5] Shikra: Add DT support for ice, rng and qce Kuldeep Singh
2026-05-21 13:17 ` [PATCH 1/5] dt-bindings: crypto: qcom,inline-crypto-engine: Document Shikra ICE Kuldeep Singh
2026-05-30 10:38 ` Krzysztof Kozlowski
2026-06-06 20:56 ` Kuldeep Singh
2026-05-21 13:17 ` [PATCH 2/5] dt-bindings: crypto: qcom,prng: Document Shikra TRNG Kuldeep Singh
2026-05-21 13:17 ` [PATCH 3/5] dt-bindings: crypto: qcom-qce: Document the Shikra crypto engine Kuldeep Singh
2026-05-21 13:17 ` [PATCH 4/5] dt-bindings: dma: qcom,bam-dma: Increase iommus maxItems to seven Kuldeep Singh
2026-05-30 10:39 ` Krzysztof Kozlowski
2026-06-06 20:59 ` Kuldeep Singh
2026-06-07 8:13 ` Krzysztof Kozlowski
2026-06-08 18:43 ` Kuldeep Singh
2026-06-08 19:49 ` Krzysztof Kozlowski
2026-06-09 5:37 ` Kuldeep Singh
2026-06-09 6:24 ` Krzysztof Kozlowski
2026-05-21 13:17 ` [PATCH 5/5] arm64: dts: qcom: shikra: Add ICE, TRNG and QCE nodes Kuldeep Singh
2026-06-07 10:13 ` Dmitry Baryshkov
2026-06-08 10:09 ` Kuldeep Singh
2026-06-29 11:40 ` Konrad Dybcio [this message]
2026-07-03 4:53 ` Kuldeep Singh
2026-06-19 8:43 ` [PATCH 0/5] Shikra: Add DT support for ice, rng and qce Kuldeep Singh
2026-06-19 16:45 ` Eric Biggers
2026-06-22 8:25 ` Bartosz Golaszewski
2026-06-22 18:19 ` Eric Biggers
2026-06-23 7:15 ` Bartosz Golaszewski
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=46005937-c1a9-409b-89cf-4b8f592dc5d1@oss.qualcomm.com \
--to=konrad.dybcio@oss.qualcomm.com \
--cc=Frank.Li@kernel.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=harshal.dev@oss.qualcomm.com \
--cc=herbert@gondor.apana.org.au \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuldeep.singh@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=thara.gopinath@gmail.com \
--cc=vkoul@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