On Mon, Jul 25, 2016 at 4:23 PM, Steve Rae <steve....@raedomain.com> wrote: > 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]
patchworks added a new entry; so try again: 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