diff options
author | Philipp Tomsich <philipp.tomsich@theobroma-systems.com> | 2016-05-18 12:32:05 +0200 |
---|---|---|
committer | Klaus Goger <klaus.goger@theobroma-systems.com> | 2016-09-18 15:57:27 +0200 |
commit | 5a7df64aa96692ffb2043ffdda5200ef1b86fe55 (patch) | |
tree | 5759f3b04ae66496124ddbcb57fe52cc862c04b6 /arch | |
parent | 88adcd9e71e07157a516d2befeef4d70abca6586 (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 is greater than 10x (e.g. a 10MB write
decreases from 9.302s to 0.884s).
X-Affected-platforms: A31-uQ7, A80-Q7
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions