On Mon, Mar 13, 2023 at 01:52:01PM +0200, Abel Vesa wrote: > static int sdhci_msm_ice_init(struct sdhci_msm_host *msm_host, > struct cqhci_host *cq_host) > { > struct mmc_host *mmc = msm_host->mmc; > struct device *dev = mmc_dev(mmc); > - struct resource *res; > - > - if (!(cqhci_readl(cq_host, CQHCI_CAP) & CQHCI_CAP_CS)) > - return 0; > - > - res = platform_get_resource_byname(msm_host->pdev, IORESOURCE_MEM, > - "ice"); > - if (!res) { > - dev_warn(dev, "ICE registers not found\n"); > - goto disable; > - } > + int ret = 0; > > - if (!qcom_scm_ice_available()) { > - dev_warn(dev, "ICE SCM interface not found\n"); > - goto disable; > + if (cqhci_readl(cq_host, CQHCI_CAP) & CQHCI_CAP_CS) { > + msm_host->ice = of_qcom_ice_get(dev); > + if (IS_ERR(msm_host->ice)) > + ret = PTR_ERR(msm_host->ice); > } > > - msm_host->ice_mem = devm_ioremap_resource(dev, res); > - if (IS_ERR(msm_host->ice_mem)) > - return PTR_ERR(msm_host->ice_mem); > - > - if (!sdhci_msm_ice_supported(msm_host)) > - goto disable; > - > - mmc->caps2 |= MMC_CAP2_CRYPTO; > - return 0; > - > -disable: > - dev_warn(dev, "Disabling inline encryption support\n"); > - return 0; > -} It looks like the line 'mmc->caps2 |= MMC_CAP2_CRYPTO;' got lost? This patch can't work without it. - Eric