[RFC PATCH 0/5] Add dedicated Qcom ICE driver

Abel Vesa
2023-02-14T12:03:09Z

As both SDCC and UFS drivers use the ICE with duplicated implementation,
while none of the currently supported platforms make use concomitantly
of the ICE IP block, the new SM8550 allows both UFS and SDCC to do so.
In order to support such scenario, there is a need for a unified
implementation and a devicetree node to be shared between both types
of storage devices. So lets drop the duplicate implementation of the ICE
from both SDCC and UFS and make it a dedicated (soc) driver.

This RFC should be treated as work-in-progress. Initially, its goal is
to figure out what is the most agreeable implementation for both types
of storage. Note that currently, only one ICE instance is supported
(like the existing HW suggests) and it is laking refcounting and locking
of any sort. Also missing bindings schema file for now.

Any suggestions are welcome at this point, including the location of
such a new driver.

Abel Vesa (5):
soc: qcom: Make the Qualcomm UFS/SDCC ICE a dedicated driver
arm64: dts: qcom: sm8450: Add the Inline Crypto Engine node
arm64: dts: qcom: sdm630: Add the Inline Crypto Engine node
scsi: ufs: ufs-qcom: Switch to the new ICE API
mmc: sdhci-msm: Switch to the new ICE API

arch/arm64/boot/dts/qcom/sdm630.dtsi | 18 +-
arch/arm64/boot/dts/qcom/sm8450-hdk.dts | 4 +
arch/arm64/boot/dts/qcom/sm8450.dtsi | 24 +-
drivers/mmc/host/sdhci-msm.c | 252 ++----------------
drivers/soc/qcom/Kconfig | 10 +
drivers/soc/qcom/Makefile | 1 +
.../ufs-qcom-ice.c => soc/qcom/qcom-ice.c} | 247 +++++++++++------
drivers/ufs/host/Kconfig | 1 -
drivers/ufs/host/Makefile | 1 -
drivers/ufs/host/ufs-qcom.c | 42 ++-
drivers/ufs/host/ufs-qcom.h | 32 +--
include/soc/qcom/ice.h | 61 +++++
12 files changed, 326 insertions(+), 367 deletions(-)
rename drivers/{ufs/host/ufs-qcom-ice.c => soc/qcom/qcom-ice.c} (50%)
create mode 100644 include/soc/qcom/ice.h

--
2.34.1