diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0105-mmc-sdhci-Add-sd-host-v4-mode.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0105-mmc-sdhci-Add-sd-host-v4-mode.patch | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0105-mmc-sdhci-Add-sd-host-v4-mode.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0105-mmc-sdhci-Add-sd-host-v4-mode.patch deleted file mode 100644 index 60f06cef..00000000 --- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0105-mmc-sdhci-Add-sd-host-v4-mode.patch +++ /dev/null @@ -1,105 +0,0 @@ -From f1eb47a120122349dd60aeec4fe787fcb18f470a Mon Sep 17 00:00:00 2001 -From: Sudheesh Mavila <sudheesh.mavila@amd.com> -Date: Wed, 16 Jan 2019 11:47:52 +0530 -Subject: [PATCH 105/131] mmc: sdhci: Add sd host v4 mode - -For SD host controller version 4.00 or later ones, there're two -modes of implementation - Version 3.00 compatible mode or -Version 4 mode. This patch introduced an interface to enable -v4 mode. - -Signed-off-by: Chunyan Zhang <zhang.chunyan@linaro.org> -Acked-by: Adrian Hunter <adrian.hunter@intel.com> -Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> - -Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com> ---- - drivers/mmc/host/sdhci.c | 29 +++++++++++++++++++++++++++++ - drivers/mmc/host/sdhci.h | 3 +++ - 2 files changed, 32 insertions(+) - -diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c -index e47f1aa..5cc756a 100644 ---- a/drivers/mmc/host/sdhci.c -+++ b/drivers/mmc/host/sdhci.c -@@ -123,6 +123,29 @@ EXPORT_SYMBOL_GPL(sdhci_dumpregs); - * * - \*****************************************************************************/ - -+static void sdhci_do_enable_v4_mode(struct sdhci_host *host) -+{ -+ u16 ctrl2; -+ -+ ctrl2 = sdhci_readb(host, SDHCI_HOST_CONTROL2); -+ if (ctrl2 & SDHCI_CTRL_V4_MODE) -+ return; -+ -+ ctrl2 |= SDHCI_CTRL_V4_MODE; -+ sdhci_writeb(host, ctrl2, SDHCI_HOST_CONTROL); -+} -+ -+/* -+ * This can be called before sdhci_add_host() by Vendor's host controller -+ * driver to enable v4 mode if supported. -+ */ -+void sdhci_enable_v4_mode(struct sdhci_host *host) -+{ -+ host->v4_mode = true; -+ sdhci_do_enable_v4_mode(host); -+} -+EXPORT_SYMBOL_GPL(sdhci_enable_v4_mode); -+ - static inline bool sdhci_data_line_cmd(struct mmc_command *cmd) - { - return cmd->data || cmd->flags & MMC_RSP_BUSY; -@@ -252,6 +275,9 @@ static void sdhci_init(struct sdhci_host *host, int soft) - else - sdhci_do_reset(host, SDHCI_RESET_ALL); - -+ if (host->v4_mode) -+ sdhci_do_enable_v4_mode(host); -+ - sdhci_set_default_irqs(host); - - host->cqe_on = false; -@@ -3293,6 +3319,9 @@ void __sdhci_read_caps(struct sdhci_host *host, u16 *ver, u32 *caps, u32 *caps1) - - sdhci_do_reset(host, SDHCI_RESET_ALL); - -+ if (host->v4_mode) -+ sdhci_do_enable_v4_mode(host); -+ - of_property_read_u64(mmc_dev(host->mmc)->of_node, - "sdhci-caps-mask", &dt_caps_mask); - of_property_read_u64(mmc_dev(host->mmc)->of_node, -diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h -index 5bd6aa4..cc40ddc 100755 ---- a/drivers/mmc/host/sdhci.h -+++ b/drivers/mmc/host/sdhci.h -@@ -184,6 +184,7 @@ - #define SDHCI_CTRL_DRV_TYPE_D 0x0030 - #define SDHCI_CTRL_EXEC_TUNING 0x0040 - #define SDHCI_CTRL_TUNED_CLK 0x0080 -+#define SDHCI_CTRL_V4_MODE 0x1000 - #define SDHCI_CTRL_PRESET_VAL_ENABLE 0x8000 - - #define SDHCI_CAPABILITIES 0x40 -@@ -490,6 +491,7 @@ struct sdhci_host { - bool bus_on; /* Bus power prevents runtime suspend */ - bool preset_enabled; /* Preset is enabled */ - bool pending_reset; /* Cmd/data reset is pending */ -+ bool v4_mode; /* Host Version 4 Enable */ - - struct mmc_request *mrqs_done[SDHCI_MAX_MRQS]; /* Requests done */ - struct mmc_command *cmd; /* Current command */ -@@ -744,6 +746,7 @@ bool sdhci_cqe_irq(struct sdhci_host *host, u32 intmask, int *cmd_error, - int *data_error); - - void sdhci_dumpregs(struct sdhci_host *host); -+void sdhci_enable_v4_mode(struct sdhci_host *host); - - void sdhci_start_tuning(struct sdhci_host *host); - void sdhci_end_tuning(struct sdhci_host *host); --- -2.7.4 - |