Message ID | 20230612192847.1599416-1-abel.vesa@linaro.org |
---|---|
Headers | show |
Series | Add dedicated Qcom ICE driver | expand |
On Mon, Jun 12, 2023 at 10:28:46PM +0300, Abel Vesa wrote: > Now that there is a new dedicated ICE driver, drop the ufs-qcom-ice and > use the new ICE api provided by the Qualcomm soc driver ice. The platforms > that already have ICE support will use the API as library since there will > not be a devicetree node, but instead they have reg range. In this case, > the of_qcom_ice_get will return an ICE instance created for the consumer's > device. But if there are platforms that do not have ice reg in the > consumer devicetree node and instead provide a dedicated ICE devicetree > node, the of_qcom_ice_get will look up the device based on qcom,ice > property and will get the ICE instance registered by the probe function > of the ice driver. > > The ICE clock is now handle by the new driver. This is done by enabling > it on the creation of the ICE instance and then enabling/disabling it on > UFS runtime resume/suspend. > > Signed-off-by: Abel Vesa <abel.vesa@linaro.org> > --- > drivers/ufs/host/Kconfig | 2 +- > drivers/ufs/host/Makefile | 4 +- > drivers/ufs/host/ufs-qcom-ice.c | 244 -------------------------------- > drivers/ufs/host/ufs-qcom.c | 99 ++++++++++++- > drivers/ufs/host/ufs-qcom.h | 32 +---- > 5 files changed, 104 insertions(+), 277 deletions(-) > delete mode 100644 drivers/ufs/host/ufs-qcom-ice.c My concern about this patch removing the ICE clock from UFS clock gating (https://lore.kernel.org/linux-scsi/ZDBSvVIIq6cMTf1Y@gmail.com) was not addressed. But I guess this is good enough. Maybe someone can do a fixup patch on top of this if they really care about the UFS clock gating. You can add: Reviewed-by: Eric Biggers <ebiggers@google.com> - Eric
Abel, > As both SDCC and UFS drivers use the ICE with duplicated implementation, > while none of the currently supported platforms make use concomitantly > of the same ICE IP block instance, 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. Applied 1-2 to 6.5/scsi-staging, thanks!