lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250818-mobileye-emmc-for-upstream-4-v4-0-34ecb3995e96@bootlin.com>
Date: Mon, 18 Aug 2025 16:02:45 +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 v4 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.

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.

In the previous version of this series, mmc_read_tuning had a struct
mmc_card parameter and was making use of the helpers. This parameter has
been dropped so the last two patches are now independent of the rest of
the patchset.

Signed-off-by: Benoît Monin <benoit.monin@...tlin.com>
---
Changes in v4:
- Dropped the card parameter of mmc_read_tuning.
- Updated the last patch following the review of Adrian.
- Link to v3: https://lore.kernel.org/r/20250716-mobileye-emmc-for-upstream-4-v3-0-dc979d8edef0@bootlin.com

Changes in 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/

Changes in 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 (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       | 72 ++++++++++++++++++++++++++++++++++++++++
 drivers/mmc/core/mmc_test.c      | 10 ++----
 drivers/mmc/host/sdhci-cadence.c | 63 ++++++++++++++++++++++++++++++++++-
 include/linux/mmc/host.h         |  1 +
 8 files changed, 157 insertions(+), 20 deletions(-)
---
base-commit: 8936497143de1da7958178d57db6011eceeb14a8
change-id: 20250716-mobileye-emmc-for-upstream-4-40ef552c3b59

Best regards,
-- 
Benoît Monin, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ