diff options
author | Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | 2018-03-21 12:18:58 +0100 |
---|---|---|
committer | Jagan Teki <jagan@amarulasolutions.com> | 2018-04-25 10:29:38 +0530 |
commit | 5ff8e54888e4d26a352453564f7f599d29696dc9 (patch) | |
tree | d28014452b59790ad13496f1b1e249874e2039c5 /configs/T2080QDS_NAND_defconfig | |
parent | 4744d81cc0dbe238bd4d8cd88c1c71022bffa621 (diff) |
sunxi: improve throughput in the sunxi_mmc driver
Throughput tests have shown the sunxi_mmc driver to take over 10s to
read 10MB from a fast eMMC device due to excessive delays in polling
loops.
This commit restructures the main polling loops to use get_timer(...)
to determine whether a (millisecond) timeout has expired. We choose
not to use the wait_bit function, as we don't need interruptability
with ctrl-c and have at least one case where two bits (one for an
error condition and another one for completion) need to be read and
using wait_bit would have not added to the clarity.
The observed speedup in testing on a A31 is greater than 10x (e.g. a
10MB write decreases from 9.302s to 0.884s).
Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tested-by: Mylène Josserand <mylene.josserand@bootlin.com>
Acked-by: Jagan Teki <jagan@openedev.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'configs/T2080QDS_NAND_defconfig')
0 files changed, 0 insertions, 0 deletions