Hi Jaehoon, On Mon, Jul 25, 2016 at 3:21 AM, Lukasz Majewski <l.majew...@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.ch...@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.majew...@samsung.com> >> > Tested-by: Lukasz Majewski <l.majew...@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....@raedomain.com> [Test HW: bcm235xx board] _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot