[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250716-mobileye-emmc-for-upstream-4-v3-0-dc979d8edef0@bootlin.com>
Date: Wed, 16 Jul 2025 17:47:11 +0200
From: Benoît Monin <benoit.monin@...tlin.com>
To: Ulf Hansson <ulf.hansson@...aro.org>,
Adrian Hunter <adrian.hunter@...el.com>
Cc: linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org,
Vladimir Kondratiev <vladimir.kondratiev@...ileye.com>,
Tawfik Bayouk <tawfik.bayouk@...ileye.com>,
Gregory CLEMENT <gregory.clement@...tlin.com>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Benoît Monin <benoit.monin@...tlin.com>
Subject: [PATCH v3 0/6] mmc: introduce multi-block read gap tuning
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@...tlin.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@...tlin.com>
Powered by blists - more mailing lists