diff options
author | David Jander <david@protonic.nl> | 2015-06-23 11:43:52 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2015-08-17 11:32:39 +0200 |
commit | 642c28ab86f7666d2ac62a0dc391b4c3121f1d6e (patch) | |
tree | b089ff56dd3bc56a3499bcd3277c72d9f563ccd9 /include/linux/mmc | |
parent | 2c6625cd545bdd66acff14f3394865d43920a5c7 (diff) | |
download | linux-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.h | 1 |
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 */ |