public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFT v2 0/3] mmc: tmio: honor busy timeouts properly
@ 2020-11-20 15:06 Wolfram Sang
  2020-11-20 15:06 ` [PATCH RFT v2 1/3] mmc: tmio: set max_busy_timeout Wolfram Sang
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Wolfram Sang @ 2020-11-20 15:06 UTC (permalink / raw)
  To: linux-mmc
  Cc: linux-renesas-soc, Yoshihiro Shimoda, Masahiro Yamada,
	Wolfram Sang

(I fixed the typo in patch 1 and retested again. Sorry for the noise!)

TMIO has a HW busy timeout detection which was always running but the
driver did not handle it yet in a proper way. This series fixes that.

Patch 1 sets max_busy_timeout, so the MMC core will not use R1B when it
is beyond the maximum HW timeout. Patch 2 adds proper handling of the
timeout interrupt. After ensuring both, we can finally enable the
WAIT_WHILE_BUSY capability to save the polling.

This was tested using my Renesas Salvator-XS (R-Car M3-N) and Lager
(R-Car H2). However, more advanced testing from the BSP team and/or
Shimoda-san would be much appreciated.

The branch is based on mmc/next plus one patch "[PATCH RFT v2] mmc: tmio: Fix
command error processing". A branch is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux.git renesas/sdhi/busy_timeout

Yamada-san: I enabled setting max_busy_timeout for Uniphier as well
because I am quite sure this HW supports it and it will fix timeout
issues with long erase timeouts. I did not enable WAIT_WHILE_BUSY
because this is "only" an improvement and not a fix. I think opt-in
after some testing is good for that case.

I think all patches are 5.11 material to get enough testing. Patch 1
is IMHO stable material, nonetheless. I am open for discussions, of
course.

Looking forward to comments, reviews, tags...

Thanks and happy hacking,

   Wolfram


Masaharu Hayakawa (1):
  mmc: tmio: Add data timeout error detection

Wolfram Sang (2):
  mmc: tmio: set max_busy_timeout
  mmc: renesas_sdhi: enable WAIT_WHILE_BUSY

 drivers/mmc/host/renesas_sdhi_core.c          |  3 ++
 drivers/mmc/host/renesas_sdhi_internal_dmac.c |  4 +--
 drivers/mmc/host/renesas_sdhi_sys_dmac.c      |  7 ++--
 drivers/mmc/host/tmio_mmc.h                   |  8 +++--
 drivers/mmc/host/tmio_mmc_core.c              | 32 +++++++++++++++----
 drivers/mmc/host/uniphier-sd.c                |  1 +
 include/linux/mfd/tmio.h                      |  7 +++-
 7 files changed, 48 insertions(+), 14 deletions(-)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2020-11-25 11:05 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-20 15:06 [PATCH RFT v2 0/3] mmc: tmio: honor busy timeouts properly Wolfram Sang
2020-11-20 15:06 ` [PATCH RFT v2 1/3] mmc: tmio: set max_busy_timeout Wolfram Sang
2020-11-24 12:41   ` Yoshihiro Shimoda
2020-11-25  8:17     ` Wolfram Sang
2020-11-20 15:06 ` [PATCH RFT v2 2/3] mmc: tmio: Add data timeout error detection Wolfram Sang
2020-11-24 12:41   ` Yoshihiro Shimoda
2020-11-25  8:56     ` Wolfram Sang
2020-11-25 11:05       ` Yoshihiro Shimoda
2020-11-20 15:06 ` [PATCH RFT v2 3/3] mmc: renesas_sdhi: enable WAIT_WHILE_BUSY Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox