summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>2016-05-18 12:32:05 +0200
committerKlaus Goger <klaus.goger@theobroma-systems.com>2016-09-18 15:57:27 +0200
commit5a7df64aa96692ffb2043ffdda5200ef1b86fe55 (patch)
tree5759f3b04ae66496124ddbcb57fe52cc862c04b6 /arch
parent88adcd9e71e07157a516d2befeef4d70abca6586 (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