summaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
authorDavid Jander <david@protonic.nl>2015-06-23 11:43:52 +0200
committerUlf Hansson <ulf.hansson@linaro.org>2015-08-17 11:32:39 +0200
commit642c28ab86f7666d2ac62a0dc391b4c3121f1d6e (patch)
treeb089ff56dd3bc56a3499bcd3277c72d9f563ccd9 /include/linux/mmc
parent2c6625cd545bdd66acff14f3394865d43920a5c7 (diff)
downloadlinux-stable-642c28ab86f7666d2ac62a0dc391b4c3121f1d6e.tar.gz
linux-stable-642c28ab86f7666d2ac62a0dc391b4c3121f1d6e.tar.bz2
linux-stable-642c28ab86f7666d2ac62a0dc391b4c3121f1d6e.zip
mmc: core: Optimize case for exactly one erase-group budget
In the (not so unlikely) case that the mmc controller timeout budget is enough for exactly one erase-group, the simplification of allowing one sector has an enormous performance penalty. We optimize this special case by introducing a flag that prohibits erase-group boundary crossing, so that we can allow trimming more than one sector at a time. Signed-off-by: David Jander <david@protonic.nl> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 4d3776d25925..8fcbcd13218f 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -283,6 +283,7 @@ struct mmc_card {
unsigned int erase_size; /* erase size in sectors */
unsigned int erase_shift; /* if erase unit is power 2 */
unsigned int pref_erase; /* in sectors */
+ unsigned int eg_boundary; /* don't cross erase-group boundaries */
u8 erased_byte; /* value of erased bytes */
u32 raw_cid[4]; /* raw card CID */