All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adrian Hunter <adrian.hunter@intel.com>
To: haibo.chen@nxp.com, ulf.hansson@linaro.org, linux-mmc@vger.kernel.org
Cc: linux-imx@nxp.com, shawnguo@kernel.org, s.hauer@pengutronix.de,
	kernel@pengutronix.de, festevam@gmail.com
Subject: Re: [PATCH] mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting
Date: Thu, 29 Dec 2022 08:44:04 +0200	[thread overview]
Message-ID: <aa7b9a91-d237-dc30-5691-cd5443e290a9@intel.com> (raw)
In-Reply-To: <20221207112315.1812222-1-haibo.chen@nxp.com>

On 7/12/22 13:23, haibo.chen@nxp.com wrote:
> From: Haibo Chen <haibo.chen@nxp.com>
> 
> Current code logic may be impacted by the setting of ROM/Bootloader,
> so unmask these bits first, then setting these bits accordingly.
> 
> Fixes: 2b16cf326b70 ("mmc: sdhci-esdhc-imx: move tuning static configuration into hwinit function")
> Signed-off-by: Haibo Chen <haibo.chen@nxp.com>

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

> ---
>  drivers/mmc/host/sdhci-esdhc-imx.c | 22 +++++++++++++++-------
>  1 file changed, 15 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index 89ef0c80ac37..9e73c34b6401 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -107,6 +107,7 @@
>  #define ESDHC_TUNING_START_TAP_DEFAULT	0x1
>  #define ESDHC_TUNING_START_TAP_MASK	0x7f
>  #define ESDHC_TUNING_CMD_CRC_CHECK_DISABLE	(1 << 7)
> +#define ESDHC_TUNING_STEP_DEFAULT	0x1
>  #define ESDHC_TUNING_STEP_MASK		0x00070000
>  #define ESDHC_TUNING_STEP_SHIFT		16
>  
> @@ -1368,7 +1369,7 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host)
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
>  	struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host);
>  	struct cqhci_host *cq_host = host->mmc->cqe_private;
> -	int tmp;
> +	u32 tmp;
>  
>  	if (esdhc_is_usdhc(imx_data)) {
>  		/*
> @@ -1423,17 +1424,24 @@ static void sdhci_esdhc_imx_hwinit(struct sdhci_host *host)
>  
>  		if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) {
>  			tmp = readl(host->ioaddr + ESDHC_TUNING_CTRL);
> -			tmp |= ESDHC_STD_TUNING_EN |
> -				ESDHC_TUNING_START_TAP_DEFAULT;
> -			if (imx_data->boarddata.tuning_start_tap) {
> -				tmp &= ~ESDHC_TUNING_START_TAP_MASK;
> +			tmp |= ESDHC_STD_TUNING_EN;
> +
> +			/*
> +			 * ROM code or bootloader may config the start tap
> +			 * and step, unmask them first.
> +			 */
> +			tmp &= ~(ESDHC_TUNING_START_TAP_MASK | ESDHC_TUNING_STEP_MASK);
> +			if (imx_data->boarddata.tuning_start_tap)
>  				tmp |= imx_data->boarddata.tuning_start_tap;
> -			}
> +			else
> +				tmp |= ESDHC_TUNING_START_TAP_DEFAULT;
>  
>  			if (imx_data->boarddata.tuning_step) {
> -				tmp &= ~ESDHC_TUNING_STEP_MASK;
>  				tmp |= imx_data->boarddata.tuning_step
>  					<< ESDHC_TUNING_STEP_SHIFT;
> +			} else {
> +				tmp |= ESDHC_TUNING_STEP_DEFAULT
> +					<< ESDHC_TUNING_STEP_SHIFT;
>  			}
>  
>  			/* Disable the CMD CRC check for tuning, if not, need to


  parent reply	other threads:[~2022-12-29  6:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-07 11:23 [PATCH] mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting haibo.chen
2022-12-07 11:49 ` Fabio Estevam
2022-12-20 14:55   ` Kevin Groeneveld
2022-12-29  6:44 ` Adrian Hunter [this message]
2023-01-02 15:06 ` 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=aa7b9a91-d237-dc30-5691-cd5443e290a9@intel.com \
    --to=adrian.hunter@intel.com \
    --cc=festevam@gmail.com \
    --cc=haibo.chen@nxp.com \
    --cc=kernel@pengutronix.de \
    --cc=linux-imx@nxp.com \
    --cc=linux-mmc@vger.kernel.org \
    --cc=s.hauer@pengutronix.de \
    --cc=shawnguo@kernel.org \
    --cc=ulf.hansson@linaro.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.