
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@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)
} else flags = SDHCI_CMD_RESP_SHORT;mask |= SDHCI_INT_DATA_END;
Acked-by: Lukasz Majewski l.majewski@samsung.com Tested-by: Lukasz Majewski l.majewski@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)