mmc: core: Allow host controllers to require R1B for CMD6
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 10 Mar 2020 11:49:43 +0000 (12:49 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 11 Mar 2020 15:10:36 +0000 (16:10 +0100)
commit1292e3efb149ee21d8d33d725eeed4e6b1ade963
treee375eda7693fba3c2b0fecf600114413573e9fea
parent31e43f31890ca6e909b27dcb539252b46aa465da
mmc: core: Allow host controllers to require R1B for CMD6

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>
drivers/mmc/core/mmc_ops.c
include/linux/mmc/host.h