All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benoît Monin" <benoit.monin@bootlin.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Adrian Hunter <adrian.hunter@intel.com>
Cc: "Benoît Monin" <benoit.monin@bootlin.com>,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
	"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
	"Gregory CLEMENT" <gregory.clement@bootlin.com>,
	"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>
Subject: [PATCH v2 0/4] mmc: introduce multi-block read gap tuning
Date: Mon,  7 Jul 2025 17:24:32 +0200	[thread overview]
Message-ID: <cover.1751898225.git.benoit.monin@bootlin.com> (raw)

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


             reply	other threads:[~2025-07-07 15:24 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-07 15:24 Benoît Monin [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1751898225.git.benoit.monin@bootlin.com \
    --to=benoit.monin@bootlin.com \
    --cc=adrian.hunter@intel.com \
    --cc=gregory.clement@bootlin.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=tawfik.bayouk@mobileye.com \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=ulf.hansson@linaro.org \
    --cc=vladimir.kondratiev@mobileye.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.