]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop 2 mmc patches from 4.19, 5.4, and 5.5.y
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 08:03:25 +0000 (09:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 08:03:25 +0000 (09:03 +0100)
queue-4.19/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch [deleted file]
queue-4.19/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch [deleted file]
queue-4.19/series
queue-5.4/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch [deleted file]
queue-5.4/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch [deleted file]
queue-5.4/series
queue-5.5/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch [deleted file]
queue-5.5/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch [deleted file]
queue-5.5/series

diff --git a/queue-4.19/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch b/queue-4.19/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch
deleted file mode 100644 (file)
index 1675d37..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From 8c7862e6466ce4b928a721fd0b700cfb45ccfc12 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 10 Mar 2020 12:49:43 +0100
-Subject: mmc: core: Allow host controllers to require R1B for CMD6
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-[ Upstream commit 1292e3efb149ee21d8d33d725eeed4e6b1ade963 ]
-
-It has turned out that some host controllers can't use R1B for CMD6 and
-other commands that have R1B associated with them. Therefore invent a new
-host cap, MMC_CAP_NEED_RSP_BUSY to let them specify this.
-
-In __mmc_switch(), let's check the flag and use it to prevent R1B responses
-from being converted into R1. Note that, this also means that the host are
-on its own, when it comes to manage the busy timeout.
-
-Suggested-by: Sowjanya Komatineni <skomatineni@nvidia.com>
-Cc: <stable@vger.kernel.org>
-Tested-by: Anders Roxell <anders.roxell@linaro.org>
-Tested-by: Sowjanya Komatineni <skomatineni@nvidia.com>
-Tested-by: Faiz Abbas <faiz_abbas@ti.com>
-Tested-By: Peter Geis <pgwipeout@gmail.com>
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/core/mmc_ops.c | 6 ++++--
- include/linux/mmc/host.h   | 1 +
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
-index 76de8d441cce4..9ae41fbe009bd 100644
---- a/drivers/mmc/core/mmc_ops.c
-+++ b/drivers/mmc/core/mmc_ops.c
-@@ -538,9 +538,11 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-        * If the max_busy_timeout of the host is specified, make sure it's
-        * enough to fit the used timeout_ms. In case it's not, let's instruct
-        * the host to avoid HW busy detection, by converting to a R1 response
--       * instead of a R1B.
-+       * instead of a R1B. Note, some hosts requires R1B, which also means
-+       * they are on their own when it comes to deal with the busy timeout.
-        */
--      if (host->max_busy_timeout && (timeout_ms > host->max_busy_timeout))
-+      if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
-+          (timeout_ms > host->max_busy_timeout))
-               use_r1b_resp = false;
-       cmd.opcode = MMC_SWITCH;
-diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
-index 840462ed1ec7e..7e8e5b20e82b0 100644
---- a/include/linux/mmc/host.h
-+++ b/include/linux/mmc/host.h
-@@ -332,6 +332,7 @@ struct mmc_host {
-                                MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104 | \
-                                MMC_CAP_UHS_DDR50)
- /* (1 << 21) is free for reuse */
-+#define MMC_CAP_NEED_RSP_BUSY (1 << 22)       /* Commands with R1B can't use R1. */
- #define MMC_CAP_DRIVER_TYPE_A (1 << 23)       /* Host supports Driver Type A */
- #define MMC_CAP_DRIVER_TYPE_C (1 << 24)       /* Host supports Driver Type C */
- #define MMC_CAP_DRIVER_TYPE_D (1 << 25)       /* Host supports Driver Type D */
--- 
-2.20.1
-
diff --git a/queue-4.19/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch b/queue-4.19/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch
deleted file mode 100644 (file)
index 55a7ee8..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 19edf2bea7f4d5d754095603316ded76fb126b83 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 22 Jan 2020 15:27:47 +0100
-Subject: mmc: core: Default to generic_cmd6_time as timeout in __mmc_switch()
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-[ Upstream commit 533a6cfe08f96a7b5c65e06d20916d552c11b256 ]
-
-All callers of __mmc_switch() should now be specifying a valid timeout for
-the CMD6 command. However, just to be sure, let's print a warning and
-default to use the generic_cmd6_time in case the provided timeout_ms
-argument is zero.
-
-In this context, let's also simplify some of the corresponding code and
-clarify some related comments.
-
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Link: https://lore.kernel.org/r/20200122142747.5690-4-ulf.hansson@linaro.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/core/mmc_ops.c | 25 +++++++++++--------------
- 1 file changed, 11 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
-index 873b2aa0c1556..76de8d441cce4 100644
---- a/drivers/mmc/core/mmc_ops.c
-+++ b/drivers/mmc/core/mmc_ops.c
-@@ -456,10 +456,6 @@ static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms,
-       bool expired = false;
-       bool busy = false;
--      /* We have an unspecified cmd timeout, use the fallback value. */
--      if (!timeout_ms)
--              timeout_ms = MMC_OPS_TIMEOUT_MS;
--
-       /*
-        * In cases when not allowed to poll by using CMD13 or because we aren't
-        * capable of polling by using ->card_busy(), then rely on waiting the
-@@ -532,14 +528,19 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-       mmc_retune_hold(host);
-+      if (!timeout_ms) {
-+              pr_warn("%s: unspecified timeout for CMD6 - use generic\n",
-+                      mmc_hostname(host));
-+              timeout_ms = card->ext_csd.generic_cmd6_time;
-+      }
-+
-       /*
--       * If the cmd timeout and the max_busy_timeout of the host are both
--       * specified, let's validate them. A failure means we need to prevent
--       * the host from doing hw busy detection, which is done by converting
--       * to a R1 response instead of a R1B.
-+       * If the max_busy_timeout of the host is specified, make sure it's
-+       * enough to fit the used timeout_ms. In case it's not, let's instruct
-+       * the host to avoid HW busy detection, by converting to a R1 response
-+       * instead of a R1B.
-        */
--      if (timeout_ms && host->max_busy_timeout &&
--              (timeout_ms > host->max_busy_timeout))
-+      if (host->max_busy_timeout && (timeout_ms > host->max_busy_timeout))
-               use_r1b_resp = false;
-       cmd.opcode = MMC_SWITCH;
-@@ -550,10 +551,6 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-       cmd.flags = MMC_CMD_AC;
-       if (use_r1b_resp) {
-               cmd.flags |= MMC_RSP_SPI_R1B | MMC_RSP_R1B;
--              /*
--               * A busy_timeout of zero means the host can decide to use
--               * whatever value it finds suitable.
--               */
-               cmd.busy_timeout = timeout_ms;
-       } else {
-               cmd.flags |= MMC_RSP_SPI_R1 | MMC_RSP_R1;
--- 
-2.20.1
-
index 4de05097b2f83cdfabd4a2c9b46ef8d88d1bfa81..c023d20148a7df674fc564ea39a4cf1d50d303c4 100644 (file)
@@ -1,12 +1,10 @@
 perf-amd-uncore-replace-manual-sampling-check-with-c.patch
-mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch
 mmc-sdhci-omap-add-platform-specific-reset-callback.patch
 mmc-sdhci-omap-workaround-errata-regarding-sdr104-hs.patch
 mmc-host-fix-kconfig-warnings-on-keystone_defconfig.patch
 mmc-sdhci-omap-fix-busy-detection-by-enabling-mmc_ca.patch
 mmc-core-respect-mmc_cap_need_rsp_busy-for-emmc-slee.patch
 mmc-core-respect-mmc_cap_need_rsp_busy-for-erase-tri.patch
-mmc-core-allow-host-controllers-to-require-r1b-for-c.patch
 acpi-watchdog-allow-disabling-wdat-at-boot.patch
 hid-apple-add-support-for-recent-firmware-on-magic-k.patch
 hid-i2c-hid-add-trekstor-surfbook-e11b-to-descriptor.patch
diff --git a/queue-5.4/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch b/queue-5.4/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch
deleted file mode 100644 (file)
index 22125be..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From a1f5bc9fb86ffafa865dcb1ff31b126b7095bcd2 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 10 Mar 2020 12:49:43 +0100
-Subject: mmc: core: Allow host controllers to require R1B for CMD6
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-[ Upstream commit 1292e3efb149ee21d8d33d725eeed4e6b1ade963 ]
-
-It has turned out that some host controllers can't use R1B for CMD6 and
-other commands that have R1B associated with them. Therefore invent a new
-host cap, MMC_CAP_NEED_RSP_BUSY to let them specify this.
-
-In __mmc_switch(), let's check the flag and use it to prevent R1B responses
-from being converted into R1. Note that, this also means that the host are
-on its own, when it comes to manage the busy timeout.
-
-Suggested-by: Sowjanya Komatineni <skomatineni@nvidia.com>
-Cc: <stable@vger.kernel.org>
-Tested-by: Anders Roxell <anders.roxell@linaro.org>
-Tested-by: Sowjanya Komatineni <skomatineni@nvidia.com>
-Tested-by: Faiz Abbas <faiz_abbas@ti.com>
-Tested-By: Peter Geis <pgwipeout@gmail.com>
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/core/mmc_ops.c | 6 ++++--
- include/linux/mmc/host.h   | 1 +
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
-index cfb2ce979baf1..5a4eddef8067b 100644
---- a/drivers/mmc/core/mmc_ops.c
-+++ b/drivers/mmc/core/mmc_ops.c
-@@ -540,9 +540,11 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-        * If the max_busy_timeout of the host is specified, make sure it's
-        * enough to fit the used timeout_ms. In case it's not, let's instruct
-        * the host to avoid HW busy detection, by converting to a R1 response
--       * instead of a R1B.
-+       * instead of a R1B. Note, some hosts requires R1B, which also means
-+       * they are on their own when it comes to deal with the busy timeout.
-        */
--      if (host->max_busy_timeout && (timeout_ms > host->max_busy_timeout))
-+      if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
-+          (timeout_ms > host->max_busy_timeout))
-               use_r1b_resp = false;
-       cmd.opcode = MMC_SWITCH;
-diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
-index ba703384bea0c..4c5eb3aa8e723 100644
---- a/include/linux/mmc/host.h
-+++ b/include/linux/mmc/host.h
-@@ -333,6 +333,7 @@ struct mmc_host {
-                                MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104 | \
-                                MMC_CAP_UHS_DDR50)
- #define MMC_CAP_SYNC_RUNTIME_PM       (1 << 21)       /* Synced runtime PM suspends. */
-+#define MMC_CAP_NEED_RSP_BUSY (1 << 22)       /* Commands with R1B can't use R1. */
- #define MMC_CAP_DRIVER_TYPE_A (1 << 23)       /* Host supports Driver Type A */
- #define MMC_CAP_DRIVER_TYPE_C (1 << 24)       /* Host supports Driver Type C */
- #define MMC_CAP_DRIVER_TYPE_D (1 << 25)       /* Host supports Driver Type D */
--- 
-2.20.1
-
diff --git a/queue-5.4/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch b/queue-5.4/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch
deleted file mode 100644 (file)
index 6b5a59a..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 8473832a4e3714072a5e9f0e77b0a9ef6f3d6320 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 22 Jan 2020 15:27:47 +0100
-Subject: mmc: core: Default to generic_cmd6_time as timeout in __mmc_switch()
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-[ Upstream commit 533a6cfe08f96a7b5c65e06d20916d552c11b256 ]
-
-All callers of __mmc_switch() should now be specifying a valid timeout for
-the CMD6 command. However, just to be sure, let's print a warning and
-default to use the generic_cmd6_time in case the provided timeout_ms
-argument is zero.
-
-In this context, let's also simplify some of the corresponding code and
-clarify some related comments.
-
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Link: https://lore.kernel.org/r/20200122142747.5690-4-ulf.hansson@linaro.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/core/mmc_ops.c | 25 +++++++++++--------------
- 1 file changed, 11 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
-index 09113b9ad6790..cfb2ce979baf1 100644
---- a/drivers/mmc/core/mmc_ops.c
-+++ b/drivers/mmc/core/mmc_ops.c
-@@ -458,10 +458,6 @@ static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms,
-       bool expired = false;
-       bool busy = false;
--      /* We have an unspecified cmd timeout, use the fallback value. */
--      if (!timeout_ms)
--              timeout_ms = MMC_OPS_TIMEOUT_MS;
--
-       /*
-        * In cases when not allowed to poll by using CMD13 or because we aren't
-        * capable of polling by using ->card_busy(), then rely on waiting the
-@@ -534,14 +530,19 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-       mmc_retune_hold(host);
-+      if (!timeout_ms) {
-+              pr_warn("%s: unspecified timeout for CMD6 - use generic\n",
-+                      mmc_hostname(host));
-+              timeout_ms = card->ext_csd.generic_cmd6_time;
-+      }
-+
-       /*
--       * If the cmd timeout and the max_busy_timeout of the host are both
--       * specified, let's validate them. A failure means we need to prevent
--       * the host from doing hw busy detection, which is done by converting
--       * to a R1 response instead of a R1B.
-+       * If the max_busy_timeout of the host is specified, make sure it's
-+       * enough to fit the used timeout_ms. In case it's not, let's instruct
-+       * the host to avoid HW busy detection, by converting to a R1 response
-+       * instead of a R1B.
-        */
--      if (timeout_ms && host->max_busy_timeout &&
--              (timeout_ms > host->max_busy_timeout))
-+      if (host->max_busy_timeout && (timeout_ms > host->max_busy_timeout))
-               use_r1b_resp = false;
-       cmd.opcode = MMC_SWITCH;
-@@ -552,10 +553,6 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-       cmd.flags = MMC_CMD_AC;
-       if (use_r1b_resp) {
-               cmd.flags |= MMC_RSP_SPI_R1B | MMC_RSP_R1B;
--              /*
--               * A busy_timeout of zero means the host can decide to use
--               * whatever value it finds suitable.
--               */
-               cmd.busy_timeout = timeout_ms;
-       } else {
-               cmd.flags |= MMC_RSP_SPI_R1 | MMC_RSP_R1;
--- 
-2.20.1
-
index e867885b220ac96274e5cc44bb51c4236d9e1693..b9fa068751019772061f0f03d93a16966a7c0571 100644 (file)
@@ -1,8 +1,6 @@
 netfilter-hashlimit-do-not-use-indirect-calls-during.patch
 netfilter-xt_hashlimit-unregister-proc-file-before-r.patch
 drm-amdgpu-fix-tlb-invalidation-request-when-using-s.patch
-mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch
-mmc-core-allow-host-controllers-to-require-r1b-for-c.patch
 mmc-sdhci-tegra-fix-busy-detection-by-enabling-mmc_c.patch
 mmc-sdhci-omap-fix-busy-detection-by-enabling-mmc_ca.patch
 mmc-core-respect-mmc_cap_need_rsp_busy-for-emmc-slee.patch
diff --git a/queue-5.5/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch b/queue-5.5/mmc-core-allow-host-controllers-to-require-r1b-for-c.patch
deleted file mode 100644 (file)
index 2f2d493..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-From 4bb9794258026c7600bff6bed55b100261a402d4 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 10 Mar 2020 12:49:43 +0100
-Subject: mmc: core: Allow host controllers to require R1B for CMD6
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-[ Upstream commit 1292e3efb149ee21d8d33d725eeed4e6b1ade963 ]
-
-It has turned out that some host controllers can't use R1B for CMD6 and
-other commands that have R1B associated with them. Therefore invent a new
-host cap, MMC_CAP_NEED_RSP_BUSY to let them specify this.
-
-In __mmc_switch(), let's check the flag and use it to prevent R1B responses
-from being converted into R1. Note that, this also means that the host are
-on its own, when it comes to manage the busy timeout.
-
-Suggested-by: Sowjanya Komatineni <skomatineni@nvidia.com>
-Cc: <stable@vger.kernel.org>
-Tested-by: Anders Roxell <anders.roxell@linaro.org>
-Tested-by: Sowjanya Komatineni <skomatineni@nvidia.com>
-Tested-by: Faiz Abbas <faiz_abbas@ti.com>
-Tested-By: Peter Geis <pgwipeout@gmail.com>
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/core/mmc_ops.c | 6 ++++--
- include/linux/mmc/host.h   | 1 +
- 2 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
-index cfb2ce979baf1..5a4eddef8067b 100644
---- a/drivers/mmc/core/mmc_ops.c
-+++ b/drivers/mmc/core/mmc_ops.c
-@@ -540,9 +540,11 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-        * If the max_busy_timeout of the host is specified, make sure it's
-        * enough to fit the used timeout_ms. In case it's not, let's instruct
-        * the host to avoid HW busy detection, by converting to a R1 response
--       * instead of a R1B.
-+       * instead of a R1B. Note, some hosts requires R1B, which also means
-+       * they are on their own when it comes to deal with the busy timeout.
-        */
--      if (host->max_busy_timeout && (timeout_ms > host->max_busy_timeout))
-+      if (!(host->caps & MMC_CAP_NEED_RSP_BUSY) && host->max_busy_timeout &&
-+          (timeout_ms > host->max_busy_timeout))
-               use_r1b_resp = false;
-       cmd.opcode = MMC_SWITCH;
-diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
-index ba703384bea0c..4c5eb3aa8e723 100644
---- a/include/linux/mmc/host.h
-+++ b/include/linux/mmc/host.h
-@@ -333,6 +333,7 @@ struct mmc_host {
-                                MMC_CAP_UHS_SDR50 | MMC_CAP_UHS_SDR104 | \
-                                MMC_CAP_UHS_DDR50)
- #define MMC_CAP_SYNC_RUNTIME_PM       (1 << 21)       /* Synced runtime PM suspends. */
-+#define MMC_CAP_NEED_RSP_BUSY (1 << 22)       /* Commands with R1B can't use R1. */
- #define MMC_CAP_DRIVER_TYPE_A (1 << 23)       /* Host supports Driver Type A */
- #define MMC_CAP_DRIVER_TYPE_C (1 << 24)       /* Host supports Driver Type C */
- #define MMC_CAP_DRIVER_TYPE_D (1 << 25)       /* Host supports Driver Type D */
--- 
-2.20.1
-
diff --git a/queue-5.5/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch b/queue-5.5/mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch
deleted file mode 100644 (file)
index 5545751..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 69edb5611ac110e617406215c17945524c4b60e9 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 22 Jan 2020 15:27:47 +0100
-Subject: mmc: core: Default to generic_cmd6_time as timeout in __mmc_switch()
-
-From: Ulf Hansson <ulf.hansson@linaro.org>
-
-[ Upstream commit 533a6cfe08f96a7b5c65e06d20916d552c11b256 ]
-
-All callers of __mmc_switch() should now be specifying a valid timeout for
-the CMD6 command. However, just to be sure, let's print a warning and
-default to use the generic_cmd6_time in case the provided timeout_ms
-argument is zero.
-
-In this context, let's also simplify some of the corresponding code and
-clarify some related comments.
-
-Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-Link: https://lore.kernel.org/r/20200122142747.5690-4-ulf.hansson@linaro.org
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/mmc/core/mmc_ops.c | 25 +++++++++++--------------
- 1 file changed, 11 insertions(+), 14 deletions(-)
-
-diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c
-index 09113b9ad6790..cfb2ce979baf1 100644
---- a/drivers/mmc/core/mmc_ops.c
-+++ b/drivers/mmc/core/mmc_ops.c
-@@ -458,10 +458,6 @@ static int mmc_poll_for_busy(struct mmc_card *card, unsigned int timeout_ms,
-       bool expired = false;
-       bool busy = false;
--      /* We have an unspecified cmd timeout, use the fallback value. */
--      if (!timeout_ms)
--              timeout_ms = MMC_OPS_TIMEOUT_MS;
--
-       /*
-        * In cases when not allowed to poll by using CMD13 or because we aren't
-        * capable of polling by using ->card_busy(), then rely on waiting the
-@@ -534,14 +530,19 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-       mmc_retune_hold(host);
-+      if (!timeout_ms) {
-+              pr_warn("%s: unspecified timeout for CMD6 - use generic\n",
-+                      mmc_hostname(host));
-+              timeout_ms = card->ext_csd.generic_cmd6_time;
-+      }
-+
-       /*
--       * If the cmd timeout and the max_busy_timeout of the host are both
--       * specified, let's validate them. A failure means we need to prevent
--       * the host from doing hw busy detection, which is done by converting
--       * to a R1 response instead of a R1B.
-+       * If the max_busy_timeout of the host is specified, make sure it's
-+       * enough to fit the used timeout_ms. In case it's not, let's instruct
-+       * the host to avoid HW busy detection, by converting to a R1 response
-+       * instead of a R1B.
-        */
--      if (timeout_ms && host->max_busy_timeout &&
--              (timeout_ms > host->max_busy_timeout))
-+      if (host->max_busy_timeout && (timeout_ms > host->max_busy_timeout))
-               use_r1b_resp = false;
-       cmd.opcode = MMC_SWITCH;
-@@ -552,10 +553,6 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value,
-       cmd.flags = MMC_CMD_AC;
-       if (use_r1b_resp) {
-               cmd.flags |= MMC_RSP_SPI_R1B | MMC_RSP_R1B;
--              /*
--               * A busy_timeout of zero means the host can decide to use
--               * whatever value it finds suitable.
--               */
-               cmd.busy_timeout = timeout_ms;
-       } else {
-               cmd.flags |= MMC_RSP_SPI_R1 | MMC_RSP_R1;
--- 
-2.20.1
-
index f0b5808ce794ea54c9aa0d0d5de6fbef3dd5d6f8..e6078ce51a345a0f8d169254710857e4cd7bfb6f 100644 (file)
@@ -1,6 +1,4 @@
 pinctrl-qcom-ssbi-gpio-fix-fwspec-parsing-bug.patch
-mmc-core-default-to-generic_cmd6_time-as-timeout-in-.patch
-mmc-core-allow-host-controllers-to-require-r1b-for-c.patch
 mmc-sdhci-tegra-fix-busy-detection-by-enabling-mmc_c.patch
 mmc-sdhci-omap-fix-busy-detection-by-enabling-mmc_ca.patch
 mmc-core-respect-mmc_cap_need_rsp_busy-for-emmc-slee.patch