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

Commit f271be43 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 6e7e6d52
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -1785,6 +1785,22 @@ static int sdhci_crypto_cfg(struct sdhci_host *host, struct mmc_request *mrq,
	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;
@@ -2876,6 +2892,7 @@ static bool sdhci_request_done(struct sdhci_host *host)
	mmiowb();
	spin_unlock_irqrestore(&host->lock, flags);

	sdhci_crypto_cfg_end(host, mrq);
	mmc_request_done(host->mmc, mrq);

	return false;
+2 −0
Original line number Diff line number Diff line
@@ -673,6 +673,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);