All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: Rosen Penev <rosenp@gmail.com>, <linux-mmc@vger.kernel.org>
Cc: "Ulf Hansson" <ulfh@kernel.org>,
	"open list" <linux-kernel@vger.kernel.org>,
	"Karel Balej" <balejk@matfyz.cz>,
	"Duje Mihanović" <duje@dujemihanovic.xyz>
Subject: Re: [PATCH] mmc: sdhci-pxav3: disable clock inversion for SD HS cards
Date: Wed, 9 Sep 2026 10:15:19 +0300	[thread overview]
Message-ID: <a6daf796-752d-4ace-bdaa-8629a7bb47c9@intel.com> (raw)
In-Reply-To: <20260901003816.48460-1-rosenp@gmail.com>

On 01/09/2026 03:38, Rosen Penev wrote:
> The SDIO3 Configuration register branch of pxav3_set_uhs_signaling()
> only clears the clock-inversion and feedback-clock bits for
> MMC_TIMING_MMC_HS.  As a result, MMC_TIMING_SD_HS (ordinary SD High
> Speed) falls through to the default case, which sets SDIO3_CONF_CLK_INV
> and leaves the feedback clock cleared.
> 
> According to erratum FE-2946959, clock inversion is only needed for
> slow frequencies when the card hold-time requirement is high and is not
> required nor desirable for high-speed modes.  SD High Speed runs at 50
> MHz, so the same timing argument that applies to MMC High Speed holds.
> Treat MMC_TIMING_SD_HS the same as MMC_TIMING_MMC_HS and clear the
> clock-inversion and feedback-clock bits for both.
> 
> Assisted-by: opencode:big-pickle
> Signed-off-by: Rosen Penev <rosenp@gmail.com>

Acked-by: Adrian Hunter <adrian.hunter@intel.com>

> ---
>  drivers/mmc/host/sdhci-pxav3.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/sdhci-pxav3.c b/drivers/mmc/host/sdhci-pxav3.c
> index db9dfa92cb57..9e6703e005e2 100644
> --- a/drivers/mmc/host/sdhci-pxav3.c
> +++ b/drivers/mmc/host/sdhci-pxav3.c
> @@ -284,7 +284,8 @@ static void pxav3_set_uhs_signaling(struct sdhci_host *host, unsigned int uhs)
>  		    uhs == MMC_TIMING_UHS_DDR50) {
>  			reg_val &= ~SDIO3_CONF_CLK_INV;
>  			reg_val |= SDIO3_CONF_SD_FB_CLK;
> -		} else if (uhs == MMC_TIMING_MMC_HS) {
> +		} else if (uhs == MMC_TIMING_MMC_HS ||
> +			   uhs == MMC_TIMING_SD_HS) {
>  			reg_val &= ~SDIO3_CONF_CLK_INV;
>  			reg_val &= ~SDIO3_CONF_SD_FB_CLK;
>  		} else {


  reply	other threads:[~2026-09-09  7:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-01  0:38 [PATCH] mmc: sdhci-pxav3: disable clock inversion for SD HS cards Rosen Penev
2026-09-09  7:15 ` Adrian Hunter [this message]
2026-09-11 15:40 ` Ulf Hansson

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=a6daf796-752d-4ace-bdaa-8629a7bb47c9@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=balejk@matfyz.cz \
    --cc=duje@dujemihanovic.xyz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=rosenp@gmail.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.