]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
mmc: jz4740: Inform the mmc core about the maximum busy timeout
authorUlf Hansson <ulf.hansson@linaro.org>
Tue, 14 Apr 2020 16:13:58 +0000 (18:13 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Thu, 28 May 2020 09:21:01 +0000 (11:21 +0200)
commitd422f8b9ed4e470214477239066ae8f8f3f7fa6d
treeedcbecd543b0227838c115e898db309dbd0abc11
parent580b946ed030e6c148842e1981a75dbf5720efd5
mmc: jz4740: Inform the mmc core about the maximum busy timeout

Some commands uses R1B responses, which means the card may assert the DAT0
line to signal busy for a period of time, after it has received the
command. The mmc core normally specifies the busy period for the command in
the cmd->busy_timeout. Ideally the driver should respect it, but that
requires quite some update of the code, so let's defer that to someone with
the HW at hand.

Instead, let's inform the mmc core about the maximum supported busy timeout
in ->max_busy_timeout during ->probe(). This value corresponds to the fixed
5s timeout used by jz4740. In this way, we let the mmc core validate the
needed timeout, which may lead to that it converts from a R1B into a R1
response and then use CMD13 to poll for busy completion.

In other words, this change enables support for commands with longer busy
periods than 5s, like erase (CMD38) for example.

Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20200414161413.3036-5-ulf.hansson@linaro.org
drivers/mmc/host/jz4740_mmc.c