linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] mmc: introduce multi-block read gap tuning
@ 2025-07-16 15:47 Benoît Monin
  2025-07-16 15:47 ` [PATCH v3 1/6] mmc: core: add mmc_card_can_cmd23 Benoît Monin
                   ` (6 more replies)
  0 siblings, 7 replies; 12+ messages in thread
From: Benoît Monin @ 2025-07-16 15:47 UTC (permalink / raw)
  To: Ulf Hansson, Adrian Hunter
  Cc: linux-mmc, linux-kernel, Vladimir Kondratiev, Tawfik Bayouk,
	Gregory CLEMENT, Thomas Petazzoni, Benoît Monin

This patchset implements the multi-block read gap tuning for the SDHCI
cadence driver.

The first two patches introduce helpers to check for CMD23 support by
MMC card: mmc_card_can_cmd23 for support proper and mmc_card_blk_no_cmd23
for the NO_CMD23 quirk.

The next two patches use the new helpers in mmc/core/mmc_test.c and
mmc/core/block.c.

The next patch add mmc_read_tuning to read blocks from MMC as part of
the tuning. This function does not return the data read to the caller,
only the status of the read operation. It also takes an optional card
argument, not used when called from execute_tuning() but present in
execute_hs400_tuning() and prepare_sd_hs_tuning().

Finally the last patch uses mmc_read_tuning to implement the multi-block
read gap tuning in the cadence host driver, by doing a multi-block read
and increasing the gap delay until the read succeeds.

v2 -> v3:
Move the changes related to CMD23 support by MMC card to separate patches
at the beginning of the series.
Change the mmc read function to be less appealing to reuse/abuse
outside of tuning context.

Link to v2:
https://lore.kernel.org/linux-mmc/cover.1751898225.git.benoit.monin@bootlin.com/

v1 -> v2:
Split the code between the core and the driver by adding a generic 
function to read blocks from the MMC.

Link to v1:
https://lore.kernel.org/linux-mmc/2a43386ffef4012530ca2421ad81ad21c36c8a25.1750943549.git.benoit.monin@bootlin.com/

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
Benoît Monin (6):
      mmc: core: add mmc_card_can_cmd23
      mmc: card: add mmc_card_blk_no_cmd23
      mmc: mmc_test: use mmc_card cmd23 helpers
      mmc: block: use mmc_card cmd23 helpers
      mmc: core: add mmc_read_tuning
      mmc: sdhci-cadence: implement multi-block read gap tuning

 drivers/mmc/core/block.c         | 12 ++----
 drivers/mmc/core/card.h          |  9 ++++-
 drivers/mmc/core/core.c          |  9 +++++
 drivers/mmc/core/core.h          |  1 +
 drivers/mmc/core/mmc_ops.c       | 79 ++++++++++++++++++++++++++++++++++++++++
 drivers/mmc/core/mmc_test.c      | 10 +----
 drivers/mmc/host/sdhci-cadence.c | 69 ++++++++++++++++++++++++++++++++++-
 include/linux/mmc/host.h         |  2 +
 8 files changed, 171 insertions(+), 20 deletions(-)
---
base-commit: 4ad9e44c76b301e786eb4cdab890eac8c7eebd42
change-id: 20250716-mobileye-emmc-for-upstream-4-40ef552c3b59

Best regards,
-- 
Benoît Monin <benoit.monin@bootlin.com>


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

end of thread, other threads:[~2025-08-15 12:26 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-16 15:47 [PATCH v3 0/6] mmc: introduce multi-block read gap tuning Benoît Monin
2025-07-16 15:47 ` [PATCH v3 1/6] mmc: core: add mmc_card_can_cmd23 Benoît Monin
2025-07-16 15:47 ` [PATCH v3 2/6] mmc: card: add mmc_card_blk_no_cmd23 Benoît Monin
2025-07-16 15:47 ` [PATCH v3 3/6] mmc: mmc_test: use mmc_card cmd23 helpers Benoît Monin
2025-07-16 15:47 ` [PATCH v3 4/6] mmc: block: " Benoît Monin
2025-07-16 15:47 ` [PATCH v3 5/6] mmc: core: add mmc_read_tuning Benoît Monin
2025-08-15 12:23   ` Ulf Hansson
2025-07-16 15:47 ` [PATCH v3 6/6] mmc: sdhci-cadence: implement multi-block read gap tuning Benoît Monin
2025-07-28  8:17   ` Adrian Hunter
2025-07-18 13:04 ` [PATCH v3 0/6] mmc: introduce " Ulf Hansson
2025-08-14 14:07   ` Benoît Monin
2025-08-15 12:25     ` Ulf Hansson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).