On Mon, 15 Dec 2025 at 11:18, <ziniu.wang_1@nxp.com> wrote:
>
> From: Luke Wang <ziniu.wang_1@nxp.com>
>
> This patch series optimize secure erase performance for certain Kingston
> eMMC devices (IY2964 and IB2932) that take a fixed ~2 seconds per secure
> erase operation regardless of size.
Well, that sounds to me like the eMMC isn't really erasing the blocks.
I wonder how "secure" this is in practice.
>
> Currently, a 1GB secure erase requires ~300 operations (limited by max
> discard size), taking ~10 minutes. With these changes, the same secure
> erase completes in a single operation, reducing time to just 2 seconds.
Hmm, is the problem really the size or is it the timeout? Why does 300
operations to erase 1GB take ~10 minutes?
Can you please elaborate what happens on the mmc host driver level for
each operation. What mmc host driver/controller is being used? Does it
support MMC_CAP_WAIT_WHILE_BUSY or do we end up polling for
busy-completion in-between each command?
Kind regards
Uffe
>
> ---
> Changes in v2:
> - Rebased on v6.19-rc1 as requested
> - Cover letter: terminology fix (command -> operation)
> ---
>
> Luke Wang (2):
> block: decouple secure erase size limit from discard size limit
> mmc: add quirk to optimize certain Kingston eMMC secure erase/trim
> performance
>
> block/blk-merge.c | 9 +++++++--
> block/blk.h | 6 +++++-
> drivers/mmc/core/card.h | 5 +++++
> drivers/mmc/core/queue.c | 9 +++++++--
> drivers/mmc/core/quirks.h | 9 +++++++++
> include/linux/mmc/card.h | 1 +
> 6 files changed, 34 insertions(+), 5 deletions(-)
>
> --
> 2.34.1
>