Loading drivers/mmc/host/sdhci.c +17 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading drivers/mmc/host/sdhci.h +2 −0 Original line number Diff line number Diff line Loading @@ -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); Loading Loading
drivers/mmc/host/sdhci.c +17 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); } Loading
drivers/mmc/host/sdhci.h +2 −0 Original line number Diff line number Diff line Loading @@ -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); Loading