Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7291efc authored by Veerabhadrarao Badiganti's avatar Veerabhadrarao Badiganti
Browse files

mmc: host: sdhci: Add new host_op for clearing ice configuration



Add new host op for clearing ice configuration.
This config_end host op need to invoked for clearing ice configuration,
once mmc request processing is completed.

Change-Id: Ifc5569ae88748599b75ef5b3e625249ecd667762
Signed-off-by: default avatarVeerabhadrarao Badiganti <vbadigan@codeaurora.org>
parent 35731dbb
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -1668,6 +1668,22 @@ out:
	return err;
}

static int sdhci_crypto_cfg_end(struct sdhci_host *host,
				struct mmc_request *mrq)
{
	int err = 0;

	if (host->ops->crypto_engine_cfg_end) {
		err = host->ops->crypto_engine_cfg_end(host, mrq);
		if (err) {
			pr_err("%s: failed to configure crypto\n",
					mmc_hostname(host->mmc));
			return err;
		}
	}
	return 0;
}

static void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
{
	struct sdhci_host *host;
@@ -2787,6 +2803,7 @@ static void sdhci_tasklet_finish(unsigned long param)
	mmiowb();
	spin_unlock_irqrestore(&host->lock, flags);

	sdhci_crypto_cfg_end(host, mrq);
	mmc_request_done(host->mmc, mrq);
	sdhci_runtime_pm_put(host);
}
+2 −0
Original line number Diff line number Diff line
@@ -659,6 +659,8 @@ struct sdhci_ops {
				struct mmc_request *mrq, u32 slot);
	int	(*crypto_engine_cmdq_cfg)(struct sdhci_host *host,
			struct mmc_request *mrq, u32 slot, u64 *ice_ctx);
	int	(*crypto_engine_cfg_end)(struct sdhci_host *host,
					struct mmc_request *mrq);
	int	(*crypto_engine_reset)(struct sdhci_host *host);
	void	(*crypto_cfg_reset)(struct sdhci_host *host, unsigned int slot);
	void	(*set_uhs_signaling)(struct sdhci_host *host, unsigned int uhs);