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

Commit ba01a038 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mmc: cmdq: add new crypto_cfg_reset host operation"

parents 9bbd45d3 674ad037
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -653,6 +653,8 @@ static void cmdq_finish_data(struct mmc_host *mmc, unsigned int tag)
			    CMDQ_SEND_STATUS_TRIGGER, CQCTL);

	cmdq_runtime_pm_put(cq_host);
	if (cq_host->ops->crypto_cfg_reset)
		cq_host->ops->crypto_cfg_reset(mmc, tag);
	mrq->done(mrq);
}

+1 −0
Original line number Diff line number Diff line
@@ -206,6 +206,7 @@ struct cmdq_host_ops {
	int (*reset)(struct mmc_host *mmc);
	int (*crypto_cfg)(struct mmc_host *mmc, struct mmc_request *mrq,
				u32 slot);
	void (*crypto_cfg_reset)(struct mmc_host *mmc, unsigned int slot);
	void (*post_cqe_halt)(struct mmc_host *mmc);
};

+16 −0
Original line number Diff line number Diff line
@@ -3533,6 +3533,17 @@ static int sdhci_cmdq_crypto_cfg(struct mmc_host *mmc,
	return sdhci_crypto_cfg(host, mrq, slot);
}

static void sdhci_cmdq_crypto_cfg_reset(struct mmc_host *mmc, unsigned int slot)
{
	struct sdhci_host *host = mmc_priv(mmc);

	if (!host->is_crypto_en)
		return;

	if (host->ops->crypto_cfg_reset)
		host->ops->crypto_cfg_reset(host, slot);
}

static void sdhci_cmdq_post_cqe_halt(struct mmc_host *mmc)
{
	struct sdhci_host *host = mmc_priv(mmc);
@@ -3583,6 +3594,10 @@ static int sdhci_cmdq_crypto_cfg(struct mmc_host *mmc,
	return 0;
}

static void sdhci_cmdq_crypto_cfg_reset(struct mmc_host *mmc, unsigned int slot)
{

}
static void sdhci_cmdq_post_cqe_halt(struct mmc_host *mmc)
{
}
@@ -3596,6 +3611,7 @@ static const struct cmdq_host_ops sdhci_cmdq_ops = {
	.clear_set_dumpregs = sdhci_cmdq_clear_set_dumpregs,
	.enhanced_strobe_mask = sdhci_enhanced_strobe_mask,
	.crypto_cfg	= sdhci_cmdq_crypto_cfg,
	.crypto_cfg_reset	= sdhci_cmdq_crypto_cfg_reset,
	.post_cqe_halt = sdhci_cmdq_post_cqe_halt,
};

+1 −0
Original line number Diff line number Diff line
@@ -308,6 +308,7 @@ struct sdhci_ops {
	int	(*crypto_engine_cfg)(struct sdhci_host *host,
				struct mmc_request *mrq, u32 slot);
	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);
	void	(*hw_reset)(struct sdhci_host *host);
	void    (*adma_workaround)(struct sdhci_host *host, u32 intmask);