From 94d7eb4aff5489ce556e090de1f57b10431d6d64 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 3 Dec 2023 14:15:50 +0100 Subject: [PATCH] drop some broken mmc patches --- ...ait-while-busy-in-cqe-error-recovery.patch | 36 -------- queue-4.19/series | 1 - ...ait-while-busy-in-cqe-error-recovery.patch | 36 -------- queue-5.10/series | 1 - ...tting-down-after-the-card-was-pulled.patch | 88 ------------------- queue-5.15/series | 1 - ...ait-while-busy-in-cqe-error-recovery.patch | 36 -------- queue-5.4/series | 1 - ...tting-down-after-the-card-was-pulled.patch | 88 ------------------- queue-6.1/series | 1 - 10 files changed, 289 deletions(-) delete mode 100644 queue-4.19/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch delete mode 100644 queue-5.10/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch delete mode 100644 queue-5.15/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch delete mode 100644 queue-5.4/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch delete mode 100644 queue-6.1/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch diff --git a/queue-4.19/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch b/queue-4.19/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch deleted file mode 100644 index fe9038cc413..00000000000 --- a/queue-4.19/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c616696a902987352426fdaeec1b0b3240949e6b Mon Sep 17 00:00:00 2001 -From: Adrian Hunter -Date: Fri, 3 Nov 2023 10:47:17 +0200 -Subject: mmc: block: Be sure to wait while busy in CQE error recovery - -From: Adrian Hunter - -commit c616696a902987352426fdaeec1b0b3240949e6b upstream. - -STOP command does not guarantee to wait while busy, but subsequent command -MMC_CMDQ_TASK_MGMT to discard the queue will fail if the card is busy, so -be sure to wait by employing mmc_poll_for_busy(). - -Fixes: 72a5af554df8 ("mmc: core: Add support for handling CQE requests") -Cc: stable@vger.kernel.org -Signed-off-by: Adrian Hunter -Reviewed-by: Avri Altman -Reviewed-by: Christian Loehle -Link: https://lore.kernel.org/r/20231103084720.6886-4-adrian.hunter@intel.com -Signed-off-by: Ulf Hansson -Signed-off-by: Greg Kroah-Hartman ---- - drivers/mmc/core/core.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/mmc/core/core.c -+++ b/drivers/mmc/core/core.c -@@ -573,6 +573,8 @@ int mmc_cqe_recovery(struct mmc_host *ho - cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT, - mmc_wait_for_cmd(host, &cmd, 0); - -+ mmc_poll_for_busy(host->card, MMC_CQE_RECOVERY_TIMEOUT, true, MMC_BUSY_IO); -+ - memset(&cmd, 0, sizeof(cmd)); - cmd.opcode = MMC_CMDQ_TASK_MGMT; - cmd.arg = 1; /* Discard entire queue */ diff --git a/queue-4.19/series b/queue-4.19/series index 2a9345798eb..08186f82d54 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -33,7 +33,6 @@ perf-inject-fix-gen_elf_text_offset-for-jit.patch pinctrl-avoid-reload-of-p-state-in-list-iteration.patch firewire-core-fix-possible-memory-leak-in-create_units.patch mmc-block-do-not-lose-cache-flush-during-cqe-error-recovery.patch -mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch alsa-hda-disable-power-save-on-kontron-singlepc.patch alsa-hda-realtek-headset-mic-vref-to-100.patch dm-verity-align-struct-dm_verity_fec_io-properly.patch diff --git a/queue-5.10/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch b/queue-5.10/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch deleted file mode 100644 index a803704b8da..00000000000 --- a/queue-5.10/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c616696a902987352426fdaeec1b0b3240949e6b Mon Sep 17 00:00:00 2001 -From: Adrian Hunter -Date: Fri, 3 Nov 2023 10:47:17 +0200 -Subject: mmc: block: Be sure to wait while busy in CQE error recovery - -From: Adrian Hunter - -commit c616696a902987352426fdaeec1b0b3240949e6b upstream. - -STOP command does not guarantee to wait while busy, but subsequent command -MMC_CMDQ_TASK_MGMT to discard the queue will fail if the card is busy, so -be sure to wait by employing mmc_poll_for_busy(). - -Fixes: 72a5af554df8 ("mmc: core: Add support for handling CQE requests") -Cc: stable@vger.kernel.org -Signed-off-by: Adrian Hunter -Reviewed-by: Avri Altman -Reviewed-by: Christian Loehle -Link: https://lore.kernel.org/r/20231103084720.6886-4-adrian.hunter@intel.com -Signed-off-by: Ulf Hansson -Signed-off-by: Greg Kroah-Hartman ---- - drivers/mmc/core/core.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/mmc/core/core.c -+++ b/drivers/mmc/core/core.c -@@ -553,6 +553,8 @@ int mmc_cqe_recovery(struct mmc_host *ho - cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT, - mmc_wait_for_cmd(host, &cmd, 0); - -+ mmc_poll_for_busy(host->card, MMC_CQE_RECOVERY_TIMEOUT, true, MMC_BUSY_IO); -+ - memset(&cmd, 0, sizeof(cmd)); - cmd.opcode = MMC_CMDQ_TASK_MGMT; - cmd.arg = 1; /* Discard entire queue */ diff --git a/queue-5.10/series b/queue-5.10/series index 01b88d8412c..1509f73573a 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -72,7 +72,6 @@ pinctrl-avoid-reload-of-p-state-in-list-iteration.patch firewire-core-fix-possible-memory-leak-in-create_units.patch mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch mmc-block-do-not-lose-cache-flush-during-cqe-error-recovery.patch -mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch alsa-hda-disable-power-save-on-kontron-singlepc.patch alsa-hda-realtek-headset-mic-vref-to-100.patch alsa-hda-realtek-add-supported-alc257-for-chromeos.patch diff --git a/queue-5.15/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch b/queue-5.15/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch deleted file mode 100644 index 3bf8540edbf..00000000000 --- a/queue-5.15/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 477865af60b2117ceaa1d558e03559108c15c78c Mon Sep 17 00:00:00 2001 -From: Wenchao Chen -Date: Wed, 15 Nov 2023 16:34:06 +0800 -Subject: mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled - -From: Wenchao Chen - -commit 477865af60b2117ceaa1d558e03559108c15c78c upstream. - -With cat regulator_summary, we found that vqmmc was not shutting -down after the card was pulled. - -cat /sys/kernel/debug/regulator/regulator_summary -1.before fix -1)Insert SD card - vddsdio 1 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 1 0mA 3500mV 3600mV - -2)Pull out the SD card - vddsdio 1 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 1 0mA 3500mV 3600mV - -2.after fix -1)Insert SD cardt - vddsdio 1 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 1 0mA 3500mV 3600mV - -2)Pull out the SD card - vddsdio 0 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 0 0mA 3500mV 3600mV - -Fixes: fb8bd90f83c4 ("mmc: sdhci-sprd: Add Spreadtrum's initial host controller") -Signed-off-by: Wenchao Chen -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/r/20231115083406.7368-1-wenchao.chen@unisoc.com -Signed-off-by: Ulf Hansson -Signed-off-by: Greg Kroah-Hartman ---- - drivers/mmc/host/sdhci-sprd.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - ---- a/drivers/mmc/host/sdhci-sprd.c -+++ b/drivers/mmc/host/sdhci-sprd.c -@@ -392,12 +392,33 @@ static void sdhci_sprd_request_done(stru - mmc_request_done(host->mmc, mrq); - } - -+static void sdhci_sprd_set_power(struct sdhci_host *host, unsigned char mode, -+ unsigned short vdd) -+{ -+ struct mmc_host *mmc = host->mmc; -+ -+ switch (mode) { -+ case MMC_POWER_OFF: -+ mmc_regulator_set_ocr(host->mmc, mmc->supply.vmmc, 0); -+ -+ mmc_regulator_disable_vqmmc(mmc); -+ break; -+ case MMC_POWER_ON: -+ mmc_regulator_enable_vqmmc(mmc); -+ break; -+ case MMC_POWER_UP: -+ mmc_regulator_set_ocr(host->mmc, mmc->supply.vmmc, vdd); -+ break; -+ } -+} -+ - static struct sdhci_ops sdhci_sprd_ops = { - .read_l = sdhci_sprd_readl, - .write_l = sdhci_sprd_writel, - .write_w = sdhci_sprd_writew, - .write_b = sdhci_sprd_writeb, - .set_clock = sdhci_sprd_set_clock, -+ .set_power = sdhci_sprd_set_power, - .get_max_clock = sdhci_sprd_get_max_clock, - .get_min_clock = sdhci_sprd_get_min_clock, - .set_bus_width = sdhci_set_bus_width, -@@ -663,6 +684,10 @@ static int sdhci_sprd_probe(struct platf - host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_SDR104 | - SDHCI_SUPPORT_DDR50); - -+ ret = mmc_regulator_get_supply(host->mmc); -+ if (ret) -+ goto pm_runtime_disable; -+ - ret = sdhci_setup_host(host); - if (ret) - goto pm_runtime_disable; diff --git a/queue-5.15/series b/queue-5.15/series index 80765ed3c2c..4b29449d76f 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -1,7 +1,6 @@ perf-inject-fix-gen_elf_text_offset-for-jit.patch pinctrl-avoid-reload-of-p-state-in-list-iteration.patch firewire-core-fix-possible-memory-leak-in-create_units.patch -mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch mmc-cqhci-increase-recovery-halt-timeout.patch mmc-cqhci-warn-of-halt-or-task-clear-failure.patch mmc-cqhci-fix-task-clearing-in-cqe-error-recovery.patch diff --git a/queue-5.4/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch b/queue-5.4/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch deleted file mode 100644 index 61ac92e321b..00000000000 --- a/queue-5.4/mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch +++ /dev/null @@ -1,36 +0,0 @@ -From c616696a902987352426fdaeec1b0b3240949e6b Mon Sep 17 00:00:00 2001 -From: Adrian Hunter -Date: Fri, 3 Nov 2023 10:47:17 +0200 -Subject: mmc: block: Be sure to wait while busy in CQE error recovery - -From: Adrian Hunter - -commit c616696a902987352426fdaeec1b0b3240949e6b upstream. - -STOP command does not guarantee to wait while busy, but subsequent command -MMC_CMDQ_TASK_MGMT to discard the queue will fail if the card is busy, so -be sure to wait by employing mmc_poll_for_busy(). - -Fixes: 72a5af554df8 ("mmc: core: Add support for handling CQE requests") -Cc: stable@vger.kernel.org -Signed-off-by: Adrian Hunter -Reviewed-by: Avri Altman -Reviewed-by: Christian Loehle -Link: https://lore.kernel.org/r/20231103084720.6886-4-adrian.hunter@intel.com -Signed-off-by: Ulf Hansson -Signed-off-by: Greg Kroah-Hartman ---- - drivers/mmc/core/core.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/mmc/core/core.c -+++ b/drivers/mmc/core/core.c -@@ -570,6 +570,8 @@ int mmc_cqe_recovery(struct mmc_host *ho - cmd.busy_timeout = MMC_CQE_RECOVERY_TIMEOUT, - mmc_wait_for_cmd(host, &cmd, 0); - -+ mmc_poll_for_busy(host->card, MMC_CQE_RECOVERY_TIMEOUT, true, MMC_BUSY_IO); -+ - memset(&cmd, 0, sizeof(cmd)); - cmd.opcode = MMC_CMDQ_TASK_MGMT; - cmd.arg = 1; /* Discard entire queue */ diff --git a/queue-5.4/series b/queue-5.4/series index bc9747adb53..8123e1bbb96 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -52,7 +52,6 @@ pinctrl-avoid-reload-of-p-state-in-list-iteration.patch firewire-core-fix-possible-memory-leak-in-create_units.patch mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch mmc-block-do-not-lose-cache-flush-during-cqe-error-recovery.patch -mmc-block-be-sure-to-wait-while-busy-in-cqe-error-recovery.patch alsa-hda-disable-power-save-on-kontron-singlepc.patch alsa-hda-realtek-headset-mic-vref-to-100.patch alsa-hda-realtek-add-supported-alc257-for-chromeos.patch diff --git a/queue-6.1/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch b/queue-6.1/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch deleted file mode 100644 index 7e71680b6eb..00000000000 --- a/queue-6.1/mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 477865af60b2117ceaa1d558e03559108c15c78c Mon Sep 17 00:00:00 2001 -From: Wenchao Chen -Date: Wed, 15 Nov 2023 16:34:06 +0800 -Subject: mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled - -From: Wenchao Chen - -commit 477865af60b2117ceaa1d558e03559108c15c78c upstream. - -With cat regulator_summary, we found that vqmmc was not shutting -down after the card was pulled. - -cat /sys/kernel/debug/regulator/regulator_summary -1.before fix -1)Insert SD card - vddsdio 1 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 1 0mA 3500mV 3600mV - -2)Pull out the SD card - vddsdio 1 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 1 0mA 3500mV 3600mV - -2.after fix -1)Insert SD cardt - vddsdio 1 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 1 0mA 3500mV 3600mV - -2)Pull out the SD card - vddsdio 0 1 0 unknown 3500mV 0mA 1200mV 3750mV - 71100000.mmc-vqmmc 0 0mA 3500mV 3600mV - -Fixes: fb8bd90f83c4 ("mmc: sdhci-sprd: Add Spreadtrum's initial host controller") -Signed-off-by: Wenchao Chen -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/r/20231115083406.7368-1-wenchao.chen@unisoc.com -Signed-off-by: Ulf Hansson -Signed-off-by: Greg Kroah-Hartman ---- - drivers/mmc/host/sdhci-sprd.c | 25 +++++++++++++++++++++++++ - 1 file changed, 25 insertions(+) - ---- a/drivers/mmc/host/sdhci-sprd.c -+++ b/drivers/mmc/host/sdhci-sprd.c -@@ -405,12 +405,33 @@ static void sdhci_sprd_request_done(stru - mmc_request_done(host->mmc, mrq); - } - -+static void sdhci_sprd_set_power(struct sdhci_host *host, unsigned char mode, -+ unsigned short vdd) -+{ -+ struct mmc_host *mmc = host->mmc; -+ -+ switch (mode) { -+ case MMC_POWER_OFF: -+ mmc_regulator_set_ocr(host->mmc, mmc->supply.vmmc, 0); -+ -+ mmc_regulator_disable_vqmmc(mmc); -+ break; -+ case MMC_POWER_ON: -+ mmc_regulator_enable_vqmmc(mmc); -+ break; -+ case MMC_POWER_UP: -+ mmc_regulator_set_ocr(host->mmc, mmc->supply.vmmc, vdd); -+ break; -+ } -+} -+ - static struct sdhci_ops sdhci_sprd_ops = { - .read_l = sdhci_sprd_readl, - .write_l = sdhci_sprd_writel, - .write_w = sdhci_sprd_writew, - .write_b = sdhci_sprd_writeb, - .set_clock = sdhci_sprd_set_clock, -+ .set_power = sdhci_sprd_set_power, - .get_max_clock = sdhci_sprd_get_max_clock, - .get_min_clock = sdhci_sprd_get_min_clock, - .set_bus_width = sdhci_set_bus_width, -@@ -676,6 +697,10 @@ static int sdhci_sprd_probe(struct platf - host->caps1 &= ~(SDHCI_SUPPORT_SDR50 | SDHCI_SUPPORT_SDR104 | - SDHCI_SUPPORT_DDR50); - -+ ret = mmc_regulator_get_supply(host->mmc); -+ if (ret) -+ goto pm_runtime_disable; -+ - ret = sdhci_setup_host(host); - if (ret) - goto pm_runtime_disable; diff --git a/queue-6.1/series b/queue-6.1/series index 00b13c35d05..c187d4d86d7 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -4,7 +4,6 @@ smb-client-report-correct-st_size-for-smb-and-nfs-symlinks.patch pinctrl-avoid-reload-of-p-state-in-list-iteration.patch firewire-core-fix-possible-memory-leak-in-create_units.patch mmc-sdhci-pci-gli-disable-lpm-during-initialization.patch -mmc-sdhci-sprd-fix-vqmmc-not-shutting-down-after-the-card-was-pulled.patch mmc-cqhci-increase-recovery-halt-timeout.patch mmc-cqhci-warn-of-halt-or-task-clear-failure.patch mmc-cqhci-fix-task-clearing-in-cqe-error-recovery.patch -- 2.47.3