[U-Boot] [PATCH 1/2] mmc: sdhci: set to INT_DATA_END when there are data

Lukasz Majewski l.majewski at samsung.com
Tue Jul 12 14:55:14 CEST 2016


Hi Jaehoon,

> There is no data, it doesn't needs to wait for completing data
> transfer. (It seems that it can be removed.)
> Almost all timeout error is occured from stop command without data.
> After applied this patch, I hope that we don't need to increase
> timeout value anymore.

This patch fixes issue (in a better way) for Odroid U3 write
performance (http://patchwork.ozlabs.org/patch/646932/) and hence
should be used.


> 
> Signed-off-by: Jaehoon Chung <jh80.chung at samsung.com>
> ---
>  drivers/mmc/sdhci.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c
> index 604f18d..0a38a56 100644
> --- a/drivers/mmc/sdhci.c
> +++ b/drivers/mmc/sdhci.c
> @@ -175,7 +175,8 @@ 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;
> -		mask |= SDHCI_INT_DATA_END;
> +		if (data)
> +			mask |= SDHCI_INT_DATA_END;
>  	} else
>  		flags = SDHCI_CMD_RESP_SHORT;
>  

Acked-by: Lukasz Majewski <l.majewski at samsung.com>
Tested-by: Lukasz Majewski <l.majewski at samsung.com>

Test HW: Odroid U3 (Exynos4):

Odroid # ext4load mmc 0:2 0x41000000 dat_31M.img
32505856 bytes read in 1471 ms (21.1 MiB/s)
Odroid # ext4write mmc 0:2 0x41000000 /dat_w55.img 0x1f00000
File System is consistent
update journal finished
32505856 bytes written in 3528 ms (8.8 MiB/s)

Performance improvement is even better than with previously proposed
patches.

Test HW: Odroid XU3 (Exynos5):

ODROID-XU3 # ext4load mmc 0:2 0x41000000 dat_31M.img
32505856 bytes read in 6309 ms (4.9 MiB/s)
ODROID-XU3 # ext4write mmc 0:2 0x41000000 /dat_w1.img 0x1f00000
File System is consistent
update journal finished
32505856 bytes written in 4884 ms (6.3 MiB/s)


-- 
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


More information about the U-Boot mailing list