From: Harshal Dev <harshal.dev@oss.qualcomm.com>
To: Eric Biggers <ebiggers@kernel.org>
Cc: Bjorn Andersson <andersson@kernel.org>,
Konrad Dybcio <konradybcio@kernel.org>,
Abel Vesa <abelvesa@kernel.org>,
Kuldeep Singh <kuldeep.singh@oss.qualcomm.com>,
Neeraj Soni <neeraj.soni@oss.qualcomm.com>,
Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>,
Sumit Garg <sumit.garg@oss.qualcomm.com>,
Selvam Sathappan Periakaruppan
<selvam.periakaruppan@oss.qualcomm.com>,
Basant Kumar <basantk@qti.qualcomm.com>,
linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
linux-crypto@vger.kernel.org
Subject: Re: [PATCH 0/5] Add support for a TEE agnostic Inline Crypto Engine service
Date: Sun, 25 Oct 2026 22:16:49 +0530 [thread overview]
Message-ID: <b5cc804e-0f73-4ec9-88bf-ef6dd04eea83@oss.qualcomm.com> (raw)
In-Reply-To: <20261024185602.GF2553@quark>
Hi Eric,
On 25-10-2026 12:26 am, Eric Biggers wrote:
> On Wed, Oct 21, 2026 at 09:13:06PM +0530, Harshal Dev wrote:
>> This patch series adds a generic ICE service which provides TEE agnostic
>> APIs
>
> There is already an ICE driver: drivers/soc/qcom/ice.c. If it needs to
> do different things on different platforms, then it should be updated to
> do so.
Agreed, however this series does not intend to replace the ICE driver. It is
only meant to make the driver's calls into the ARM TEE firmware OS agnostic
of whether the platform boots with QTEE or OP-TEE. The ICE driver should not
do different things on different platforms, it should do exactly the same
things, however the TEE firmware calls should not be tied to QTEE as they
have been until now.
> Adding a separate middleware module underneath it, with the ICE
> driver as its sole user, is unnecessary complexity that will just cause
> problems.
>
By moving the TEE call re-direction to a separate middleware we are ensuring
that we only touch the 9-10 lines in the driver which depend on the TEE firmware.
Merging this functionality in the ICE driver would substantially increases
the total file size.
> In fact the middleware module is called qcom_ice.ko, which is the exact
> same name as the ICE driver. That's broken, as it's a name collision.
I agree with this point, I will re-name it to qcom_ice_tee_svc.ko, Hopefully
that will help with the name collision.
> I think the fact they have the same name hints pretty strongly that the
> functionality should just be incorporated into the existing qcom_ice.ko.
>
I beg to differ here. The ICE driver programs the non-secure hardware
interfaces of the ICE hardware. The ICE service this series introduces
re-directs ICE driver's calls into the TEE firmware to the correct firmware
booted on the platform. I believe these two are very orthogonal functionalities.
> AFAICT, this series also breaks boot on platforms without ICE firmware
> support, due to indefinite EPROBE_DEFER. Choosing a simpler design
> would help avoid issues like that.
As per my understanding, all versions of the Qualcomm ICE hardware depend
on the TEE firmware to program certain aspects of the hardware. In-fact
a portion of the hardware interfaces of ICE are secure-software only
programmable. So we don't have any platform where ICE works without TEE
firmware support. This is why probe always defers if this check fails:
https://elixir.bootlin.com/linux/v7.3/source/drivers/soc/qcom/ice.c#L568
Appreciate your valuable time and suggestions here Eric. Do let me know if
any further thoughts.
Regards,
Harshal
>
> - Eric
next prev parent reply other threads:[~2026-10-25 16:46 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 15:43 Harshal Dev
2026-10-21 15:43 ` [PATCH 1/5] firmware: qcom: Add a generic ICE service Harshal Dev
2026-10-22 7:45 ` Konrad Dybcio
2026-10-24 13:46 ` Harshal Dev
2026-10-21 15:43 ` [PATCH 2/5] firmware: qcom_scm: Transition to the " Harshal Dev
2026-10-23 7:21 ` Abel Vesa
2026-10-21 15:43 ` [PATCH 3/5] firmware: qcom: Add an TEE bus based ICE back-end Harshal Dev
2026-10-22 7:47 ` Konrad Dybcio
2026-10-24 13:46 ` Harshal Dev
2026-10-22 7:51 ` Konrad Dybcio
2026-10-24 13:46 ` Harshal Dev
2026-10-25 16:21 ` Harshal Dev
2026-10-22 7:52 ` Konrad Dybcio
2026-10-24 13:47 ` Harshal Dev
2026-10-21 15:43 ` [PATCH 4/5] soc: qcom: ice: Migrate to the generic ICE service Harshal Dev
2026-10-23 7:15 ` Abel Vesa
2026-10-21 15:43 ` [PATCH 5/5] firmware: qcom: scm: Drop exported ICE wrapper functions Harshal Dev
2026-10-23 7:16 ` Abel Vesa
2026-10-24 18:56 ` [PATCH 0/5] Add support for a TEE agnostic Inline Crypto Engine service Eric Biggers
2026-10-25 16:46 ` Harshal Dev [this message]
2026-10-25 17:19 ` Eric Biggers
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=b5cc804e-0f73-4ec9-88bf-ef6dd04eea83@oss.qualcomm.com \
--to=harshal.dev@oss.qualcomm.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=basantk@qti.qualcomm.com \
--cc=ebiggers@kernel.org \
--cc=konradybcio@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=manivannan.sadhasivam@oss.qualcomm.com \
--cc=neeraj.soni@oss.qualcomm.com \
--cc=selvam.periakaruppan@oss.qualcomm.com \
--cc=sumit.garg@oss.qualcomm.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®