
On Mon, Jul 25, 2016 at 4:23 PM, Steve Rae steve.rae@raedomain.com wrote:
Hi Jaehoon,
On Mon, Jul 25, 2016 at 3:21 AM, Lukasz Majewski l.majewski@samsung.com wrote:
Hi Jaehoon,
Hi All,
On 07/12/2016 09:55 PM, Lukasz Majewski wrote:
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.
Is there any other opinion for this patch? Who is maintaining u-boot-mmc? Is Pantelis still maintaining u-boot-mmc?
Who can apply this patch and patch relevant to mmc?
To be honest, I do look forward to see this patch included to u-boot master branch.
Addition of some extra Odroid U3 tests hinge on it.
Best Regards, Jaehoon Chung
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)
-- Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
with this change, I can also set the following back to 100:
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index de8d8ea..d593dc6 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -128,7 +128,7 @@ static int sdhci_transfer_data(struct sdhci_host *host, struct mmc_data *data, #define CONFIG_SDHCI_CMD_MAX_TIMEOUT 3200 #endif #define CONFIG_SDHCI_CMD_DEFAULT_TIMEOUT 100 -#define SDHCI_READ_STATUS_TIMEOUT 1000 +#define SDHCI_READ_STATUS_TIMEOUT 100
#ifdef CONFIG_DM_MMC_OPS static int sdhci_send_command(struct udevice *dev, struct mmc_cmd *cmd,
And it still works on my board ! Thanks !
Tested-by: Steve Rae steve.rae@raedomain.com [Test HW: bcm235xx board]
patchworks added a new entry; so try again: Tested-by: Steve Rae steve.rae@raedomain.com [Test HW: bcm235xx board]