From: Adrian Hunter <adrian.hunter@intel.com>
To: "Diogo Ivo (Schneider Electric)" <diogo.ivo@bootlin.com>,
Ulf Hansson <ulfh@kernel.org>, Faiz Abbas <faiz_abbas@ti.com>,
Judith Mendez <jm@ti.com>
Cc: <linux-mmc@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
"Pascal EBERHARD" <pascal.eberhard@se.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
<stable@vger.kernel.org>
Subject: Re: [PATCH v2 0/4] mmc: sdhci_am654: Fix DDR50 mode for cards without tuning support
Date: Fri, 7 Aug 2026 11:16:40 +0300 [thread overview]
Message-ID: <c75cb7be-b3e1-4efb-a04d-6d705ffe7245@intel.com> (raw)
In-Reply-To: <20260803-am654-sdhci-v2-0-a5ee5be86133@bootlin.com>
On 03/08/2026 16:47, Diogo Ivo (Schneider Electric) wrote:
> DDR50 mode is not required to support the tuning command CMD19 by the
> eMMC/SD specification, meaning that calibration may fail on cards that
> do not implement it. This series fixes four issues discovered when
> using such cards:
>
> - Patch 1 moves the tuning_loop counter from a persistent struct field
> to a local variable, preventing failed tuning attempts from depleting
> the retry budget across calls.
>
> - Patch 2 ensures the command/data line reset is always performed
> after tuning, even on failure, preventing stale data in the
> controller buffer.
>
> - Patch 3 clears the ITAPDLY enable and delay values on tuning
> failure so that leftover calibration values do not interfere with
> subsequent I/O.
>
> - Patch 4 falls back to the DT-provided itap delay value for DDR50
> when tuning fails in this mode, making a best-effort attempt at a
> known-good delay being programmed.
>
> Together these changes make DDR50 functional on TI J721E SoCs with
> cards that lack CMD19 tuning support. This second version addresses
> all comments from Sashiko, which I found to be correct.
>
> Signed-off-by: Diogo Ivo (Schneider Electric) <diogo.ivo@bootlin.com>
For all 4:
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
> Changes in v2:
> - Add new patch moving tuning_loop to a local variable (Patch 1)
> - Clear ITAPDLY array values alongside HW registers on tuning failure (Patch 3)
> - Save DT-provided itap delay values for DDR50 in dedicated variables
> to preserve them across tuning cycles (Patch 4)
> - Link to v1: https://patch.msgid.link/20260729-am654-sdhci-v1-0-7568108e4b9a@bootlin.com
>
> ---
> Diogo Ivo (Schneider Electric) (4):
> mmc: sdhci_am654: Move tuning_loop to local variable
> mmc: sdhci_am654: Reset command and data lines on failed tuning
> mmc: sdhci_am654: Clear ITAPDLY on tuning failure
> mmc: sdhci_am654: Fallback to DT-provided itap delay on DDR50 tuning failure
>
> drivers/mmc/host/sdhci_am654.c | 42 +++++++++++++++++++++++++++---------------
> 1 file changed, 27 insertions(+), 15 deletions(-)
> ---
> base-commit: f932188d6b0b684ee8555c8ecf1cac3567c4b106
> change-id: 20260728-am654-sdhci-85094d458bae
>
> Best regards,
> --
> Diogo Ivo <diogo.ivo@bootlin.com>
>
prev parent reply other threads:[~2026-08-07 8:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-03 13:47 [PATCH v2 0/4] mmc: sdhci_am654: Fix DDR50 mode for cards without tuning support Diogo Ivo (Schneider Electric)
2026-08-03 13:47 ` [PATCH v2 1/4] mmc: sdhci_am654: Move tuning_loop to local variable Diogo Ivo (Schneider Electric)
2026-08-03 19:19 ` Mendez, Judith
2026-08-03 13:47 ` [PATCH v2 2/4] mmc: sdhci_am654: Reset command and data lines on failed tuning Diogo Ivo (Schneider Electric)
2026-08-03 19:28 ` Mendez, Judith
2026-08-03 13:47 ` [PATCH v2 3/4] mmc: sdhci_am654: Clear ITAPDLY on tuning failure Diogo Ivo (Schneider Electric)
2026-08-03 19:40 ` Mendez, Judith
2026-08-03 13:47 ` [PATCH v2 4/4] mmc: sdhci_am654: Fallback to DT-provided itap delay on DDR50 " Diogo Ivo (Schneider Electric)
2026-08-03 19:59 ` Mendez, Judith
2026-08-04 8:45 ` Diogo Ivo
2026-08-05 23:13 ` Mendez, Judith
2026-08-07 6:35 ` Adrian Hunter
2026-08-07 10:52 ` Diogo Ivo
2026-08-07 8:16 ` Adrian Hunter [this message]
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=c75cb7be-b3e1-4efb-a04d-6d705ffe7245@intel.com \
--to=adrian.hunter@intel.com \
--cc=diogo.ivo@bootlin.com \
--cc=faiz_abbas@ti.com \
--cc=jm@ti.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=miquel.raynal@bootlin.com \
--cc=pascal.eberhard@se.com \
--cc=stable@vger.kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=ulfh@kernel.org \
/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.