[PATCH] Revert "mmc: sdhci: set to INT_DATA_END when there are data"

Jaehoon Chung jh80.chung at samsung.com
Wed Mar 17 23:43:34 CET 2021


Hi

On 3/17/21 3:44 PM, Yuezhang.Mo at sony.com wrote:
> This reverts commit 17ea3c862865c0d704646f67dbf8412f9ff54f59.
> 
> In eMMC specification, for the response-with-busy(R1b, R5b)
> command, the DAT0 will driven to LOW as BUSY status, and in
> sdhci specification, the transfer complete bit should be wait
> for BUSY status de-assert.
> 
> All response-with-busy commands don't contain data, the data
> judgement is no need.


I don't want to revert this commit. Is there any issue without this?
Without this patch, some SoCs have timeout error with stop command.

To prevent it, it needs to increase timeout value at that time.
(Timeout value can't fix each boards, waste time to find proper value,
and be performance degradation.)

I didn't test without this patch on latest U-boot.
But if there is no critical issue, keep it, plz.

Best Regards,
Jaehoon Chung

> 
> Signed-off-by: Yuezhang.Mo <Yuezhang.Mo at sony.com>
> ---
>  drivers/mmc/sdhci.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> index d9ab6a0a83..8568f65b18 100644
> --- a/drivers/mmc/sdhci.c
> +++ b/drivers/mmc/sdhci.c
> @@ -258,8 +258,7 @@ static int sdhci_send_command(struct mmc *mmc, struct mmc_cmd *cmd,
>  		flags = SDHCI_CMD_RESP_LONG;
>  	else if (cmd->resp_type & MMC_RSP_BUSY) {
>  		flags = SDHCI_CMD_RESP_SHORT_BUSY;
> -		if (data)
> -			mask |= SDHCI_INT_DATA_END;
> +		mask |= SDHCI_INT_DATA_END;
>  	} else
>  		flags = SDHCI_CMD_RESP_SHORT;
>  
> 




More information about the U-Boot mailing list