[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191114220744.GA17678@vmlxhi-102.adit-jv.com>
Date: Thu, 14 Nov 2019 23:07:44 +0100
From: Eugeniu Rosca <erosca@...adit-jv.com>
To: Ulf Hansson <ulf.hansson@...aro.org>
CC: Eugeniu Rosca <erosca@...adit-jv.com>,
Wolfram Sang <wsa@...-dreams.de>,
Wolfram Sang <wsa+renesas@...g-engineering.com>,
Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>,
Niklas Söderlund <niklas.soderlund@...natech.se>,
Geert Uytterhoeven <geert@...ux-m68k.org>,
Simon Horman <horms+renesas@...ge.net.au>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
Eugeniu Rosca <roscaeugeniu@...il.com>,
Harish Jenny K N <harish_kandiga@...tor.com>,
Andrew Gabbasov <andrew_gabbasov@...tor.com>
Subject: Re: [PATCH] mmc: renesas_sdhi_internal_dmac: Add MMC_CAP_ERASE to
Gen3 SoCs
Hi Ulf,
On Thu, Nov 14, 2019 at 01:48:41PM +0100, Ulf Hansson wrote:
[..]
>
> Let's first take a step back, because I don't know how the HW busy
> detection works for your controller.
>
> I have noticed there is TMIO_STAT_CMD_BUSY bit being set for some
> variants, which seems to cause renesas_sdhi_wait_idle() to loop for a
> pre-defined number of loops/timeout. This looks scary, but I can't
> tell if it's really a problem.
>
> BTW, do you know what TMIO_STAT_CMD_BUSY actually is monitoring?
>
> I have also noticed that MMC_CAP_WAIT_WHILE_BUSY isn't set for any of
> the renesas/tmio variant hosts. Is that simply because the HW doesn't
> support this? Or because implementation is missing?
Hopefully Wolfram just addressed that?
> If you want to run a test that stretches the behaviour on the timeout
> path, I would rather use an SD-card (the older the better). For eMMCs
> the erase likely translates to a trim/discard, which is far more
> quicker than a real erase - as is what happens on an old SD card.
Running 'blkdiscard' with different SD cards on H3ULCB, I don't see any
signs of misbehavior:
root@...r-gen3:~# blkdiscard -V
blkdiscard from util-linux 2.32.1
root@...r-gen3:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
mmcblk0 179:0 0 59.2G 0 disk
mmcblk0boot0 179:8 0 4M 1 disk
mmcblk0boot1 179:16 0 4M 1 disk
mmcblk1 179:24 0 30G 0 disk
# Erasing 32 GiB uSD Card
root@...r-gen3:~# time blkdiscard -v /dev/mmcblk1
/dev/mmcblk1: Discarded 32227983360 bytes from the offset 0
real 0m1.198s
user 0m0.001s
sys 0m0.122s
# Erasing 64 GiB eMMC
root@...r-gen3:~# time blkdiscard -v /dev/mmcblk0
/dev/mmcblk0: Discarded 63585648640 bytes from the offset 0
real 0m8.703s
user 0m0.002s
sys 0m1.909s
I guess that by decreasing below erase sizes, I could further increase
the execution time, but these sysfs properties are read-only:
cat /sys/devices/platform/soc/ee100000.sd/mmc_host/mmc1/mmc1:59b4/preferred_erase_size
4194304
cat /sys/devices/platform/soc/ee100000.sd/mmc_host/mmc1/mmc1:59b4/erase_size
512
--
Best Regards,
Eugeniu
Powered by blists - more mailing lists