[U-Boot] [PATCH v2] mmc: sdhci: Fix MMC HS200 tuning command failures

Masahiro Yamada yamada.masahiro at socionext.com
Wed Jun 13 07:00:35 UTC 2018


2018-06-13 15:20 GMT+09:00 Michal Simek <michal.simek at xilinx.com>:
> From: Siva Durga Prasad Paladugu <siva.durga.paladugu at xilinx.com>
>
> This patch fixes the mmc tuning command failures
> when tuning pattern data needs to read back for
> comparision against the expected bit pattern.
>
> Reported-by: Masahiro Yamada <yamada.masahiro at socionext.com>
> Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu at xilinx.com>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>


This one applies and works for me.

Tested-by: Masahiro Yamada <yamada.masahiro at socionext.com>


Thanks.


> ---
>
> Changes in v2:
> - Fixed typo and added Reported-by
>
>  drivers/mmc/sdhci.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> index 40e28abda67f..cdeba914f95c 100644
> --- a/drivers/mmc/sdhci.c
> +++ b/drivers/mmc/sdhci.c
> @@ -161,8 +161,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
>         /* We shouldn't wait for data inihibit for stop commands, even
>            though they might use busy signaling */
>         if (cmd->cmdidx == MMC_CMD_STOP_TRANSMISSION ||
> -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
> +           ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> +             cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data))
>                 mask &= ~SDHCI_DATA_INHIBIT;
>
>         while (sdhci_readl(host, SDHCI_PRESENT_STATE) & mask) {
> @@ -184,8 +184,8 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
>         sdhci_writel(host, SDHCI_INT_ALL_MASK, SDHCI_INT_STATUS);
>
>         mask = SDHCI_INT_RESPONSE;
> -       if (cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> -           cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200)
> +       if ((cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK ||
> +            cmd->cmdidx == MMC_CMD_SEND_TUNING_BLOCK_HS200) && !data)
>                 mask = SDHCI_INT_DATA_AVAIL;
>
>         if (!(cmd->resp_type & MMC_RSP_PRESENT))
> --
> 1.9.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot



-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list