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

This patchset implements the multi-block read gap tuning for the SDHCI 
cadence driver. To do so, a generic function (mmc_read_blocks) to read 
blocks from the MMC is added to mmc_ops in the first patch.

The second patch is the implementation proper in the driver which try 
to do a multi-block read and increase the gap delay until it succeeds.
The read gap is done by the controller when its internal fifo is full
when reading multiple blocks. That is why we cannot use mmc_get_ext_csd
to do the tuning since it only read one block.

The implementation of the mmc_read_blocks also brings a helper to check 
for CMD23 support by MMC card, similar to mmc_host_can_cmd23 for host,
so the last two patches uses it instead of local implementation in
mmc_test.c and block.c.

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/

Benoît Monin (4):
  mmc: core: add mmc_read_blocks to mmc_ops
  mmc: sdhci-cadence: implement multi-block read gap tuning
  mmc: mmc_test: use mmc_card_can_cmd23
  mmc: block: use mmc_card_can_cmd23

 drivers/mmc/core/block.c         | 12 ++----
 drivers/mmc/core/card.h          | 10 +++++
 drivers/mmc/core/mmc_ops.c       | 69 ++++++++++++++++++++++++++++++
 drivers/mmc/core/mmc_test.c      |  9 +---
 drivers/mmc/host/sdhci-cadence.c | 72 +++++++++++++++++++++++++++++++-
 include/linux/mmc/host.h         |  3 ++
 6 files changed, 157 insertions(+), 18 deletions(-)


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

end of thread, other threads:[~2025-07-15 15:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-07 15:24 [PATCH v2 0/4] mmc: introduce multi-block read gap tuning Benoît Monin
2025-07-07 15:24 ` [PATCH v2 1/4] mmc: core: add mmc_read_blocks to mmc_ops Benoît Monin
2025-07-09 14:46   ` Ulf Hansson
2025-07-10 13:36     ` Benoît Monin
2025-07-15 15:54       ` Ulf Hansson
2025-07-07 15:24 ` [PATCH v2 2/4] mmc: sdhci-cadence: implement multi-block read gap tuning Benoît Monin
2025-07-07 15:24 ` [PATCH v2 3/4] mmc: mmc_test: use mmc_card_can_cmd23 Benoît Monin
2025-07-07 15:24 ` [PATCH v2 4/4] mmc: block: " Benoît Monin

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).