Adrian Hunter
dfe86cba76
mmc: add erase, secure erase, trim and secure trim operations
...
SD/MMC cards tend to support an erase operation. In addition, eMMC v4.4
cards can support secure erase, trim and secure trim operations that are
all variants of the basic erase command.
SD/MMC device attributes "erase_size" and "preferred_erase_size" have been
added.
"erase_size" is the minimum size, in bytes, of an erase operation. For
MMC, "erase_size" is the erase group size reported by the card. Note that
"erase_size" does not apply to trim or secure trim operations where the
minimum size is always one 512 byte sector. For SD, "erase_size" is 512
if the card is block-addressed, 0 otherwise.
SD/MMC cards can erase an arbitrarily large area up to and
including the whole card. When erasing a large area it may
be desirable to do it in smaller chunks for three reasons:
1. A single erase command will make all other I/O on the card
wait. This is not a problem if the whole card is being erased, but
erasing one partition will make I/O for another partition on the
same card wait for the duration of the erase - which could be a
several minutes.
2. To be able to inform the user of erase progress.
3. The erase timeout becomes too large to be very useful.
Because the erase timeout contains a margin which is multiplied by
the size of the erase area, the value can end up being several
minutes for large areas.
"erase_size" is not the most efficient unit to erase (especially for SD
where it is just one sector), hence "preferred_erase_size" provides a good
chunk size for erasing large areas.
For MMC, "preferred_erase_size" is the high-capacity erase size if a card
specifies one, otherwise it is based on the capacity of the card.
For SD, "preferred_erase_size" is the allocation unit size specified by
the card.
"preferred_erase_size" is in bytes.
Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Jens Axboe <axboe@kernel.dk>
Cc: Kyungmin Park <kmpark@infradead.org>
Cc: Madhusudhan Chikkature <madhu.cr@ti.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Ben Gardiner <bengardiner@nanometrics.ca>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-08-12 08:43:30 -07:00
..
ABI
USB: gadget: storage: optional SCSI WRITE FUA bit
2010-08-10 14:35:42 -07:00
accounting
acpi
ACPI, APEI, EINJ injection parameters support
2010-05-19 22:42:08 -04:00
aoe
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
arm
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
auxdisplay
blackfin
Blackfin: document SPI CS limitations with CPHA=0
2010-08-06 12:55:52 -04:00
block
nick piggin: change email address
2010-08-05 08:45:20 -07:00
blockdev
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
cdrom
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
cgroups
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
connector
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
console
doc: fix console doc typo
2010-02-24 13:51:32 +01:00
cpu-freq
[CPUFREQ] Processor Clocking Control interface driver
2010-01-13 10:55:16 -05:00
cpuidle
cris
crypto
development-process
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
device-mapper
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
DocBook
kfifo: replace the old non generic API
2010-08-11 08:59:23 -07:00
driver-model
Fix spelling of 'platform' in comments and doc
2010-02-05 12:22:34 +01:00
dvb
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
early-userspace
fault-injection
lkdtm: add debugfs access and loosen KPROBE ties
2010-03-06 11:26:32 -08:00
fb
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
filesystems
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
2010-08-11 09:20:13 -07:00
firmware_class
firmware: Update hotplug script
2010-08-05 13:53:34 -07:00
frv
hwmon
hwmon: f71882fg: add support for the Fintek F71808E
2010-08-09 20:45:10 -07:00
i2c
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
i2o
ia64
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
ide
infiniband
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
input
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
ioctl
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6
2010-08-07 17:09:24 -07:00
isdn
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
ja_JP
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
kbuild
Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
2010-08-05 14:12:07 -07:00
kdump
ko_KR
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
kvm
KVM: Document KVM_GET_SUPPORTED_CPUID2 ioctl
2010-08-02 06:40:50 +03:00
laptops
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
lguest
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
m68k
make
mips
misc-devices
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
mmc
mmc: add erase, secure erase, trim and secure trim operations
2010-08-12 08:43:30 -07:00
mn10300
mtd
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
namespaces
netlabel
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
networking
Documentation/networking/wavelan.txt: deleted, not in tree
2010-08-11 08:59:18 -07:00
parisc
PCI
Documentation: pci.txt: fix typo
2010-07-11 22:17:45 +02:00
pcmcia
pcmcia: do not use io_req_t when calling pcmcia_request_io()
2010-08-03 09:04:11 +02:00
power
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
powerpc
dts: add sdhci,auto-cmd12 field for p4080 device tree
2010-08-11 08:59:05 -07:00
pps
prctl
RCU
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
s390
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
scheduler
sched: Remove USER_SCHED from documentation
2010-04-02 20:12:01 +02:00
scsi
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
2010-08-04 15:31:02 -07:00
serial
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
sh
sound
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
2010-08-07 17:07:31 -07:00
sparc
spi
spi/ep93xx: implemented driver for Cirrus EP93xx SPI controller
2010-05-25 00:23:16 -06:00
sysctl
oom: enable oom tasklist dump by default
2010-08-09 20:44:56 -07:00
telephony
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
thermal
timers
Documentation: Add timers/timers-howto.txt
2010-08-04 11:00:45 +02:00
trace
vmscan: tracing: add a postprocessing script for reclaim-related ftrace events
2010-08-09 20:45:00 -07:00
uml
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
usb
USB: gadget: g_multi: added documentation and INF files
2010-08-10 14:35:37 -07:00
video4linux
V4L/DVB: Documentation: add v4l2-controls.txt documenting the new controls API
2010-08-08 23:43:04 -03:00
vm
Documentation/vm: fix spelling in page-types.c
2010-08-05 13:21:23 -07:00
w1
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
watchdog
watchdog: docs: add an entry for imx2_wdt
2010-07-01 16:02:55 +00:00
wimax
x86
x86, olpc: Add support for calling into OpenFirmware
2010-06-18 14:54:36 -07:00
zh_CN
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
.gitignore
add random binaries to .gitignore
2010-04-08 11:34:34 +02:00
00-INDEX
mmc: add erase, secure erase, trim and secure trim operations
2010-08-12 08:43:30 -07:00
apparmor.txt
AppArmor: update Maintainer and Documentation
2010-08-02 15:35:15 +10:00
applying-patches.txt
atomic_ops.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
documentation: fix almost duplicate filenames (IO/io-mapping.txt)
2010-07-20 17:49:30 +00:00
cachetlb.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
Changes
Documentation update broken web addresses
2010-07-11 21:55:42 +02:00
circular-buffers.txt
Document Linux's circular buffering capabilities
2010-03-24 16:31:22 -07:00
coccinelle.txt
Documentation: fix ubuntu distro name
2010-06-29 15:27:00 +02:00
CodingStyle
cpu-hotplug.txt
cpumask: don't recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt
2009-12-17 11:43:29 +10:30
cpu-load.txt
cputopology.txt
credentials.txt
CRED: Fix __task_cred()'s lockdep check and banner comment
2010-07-29 15:16:18 -07:00
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
DMA-API-HOWTO.txt
Documentation: DMA-API-HOWTO.txt: add multiple types of IOMMUs support
2010-08-11 08:59:21 -07:00
DMA-API.txt
dma-mapping: remove dma_is_consistent API
2010-08-11 08:59:21 -07:00
DMA-attributes.txt
DMA-ISA-LPC.txt
dmaengine.txt
dontdiff
Merge branch 'for-linus-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig
2010-02-25 14:43:57 -08:00
dynamic-debug-howto.txt
edac.txt
Documentation/edac.txt: Reflect the sysfs changes at the document
2010-05-10 11:49:30 -03:00
eisa.txt
doc: fix Defaultd -> Defaults typo in EISA doc
2010-02-05 12:22:39 +01:00
email-clients.txt
Documentation/email-clients.txt: update gmail information
2010-03-12 15:52:35 -08:00
feature-removal-schedule.txt
dma-mapping: add DMA_xxBIT_MASK to feature-removal-schedule.txt
2010-08-11 08:59:22 -07:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt
gpiolib: decouple might_sleep_if() from DEBUG
2010-08-11 08:59:08 -07:00
highuid.txt
HOWTO
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
hw_random.txt
init.txt
init/main.c: improve usability in case of init binary failure
2010-03-06 11:26:29 -08:00
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
ipmi: add parameter to limit CPU usage in kipmid
2010-03-12 15:52:39 -08:00
IRQ-affinity.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
documentation: update kernel-doc-nano-HOWTO information
2010-01-11 09:34:07 -08:00
kernel-docs.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
kernel-parameters.txt
panic: keep blinking in spite of long spin timer mode
2010-08-11 08:59:22 -07:00
keys-request-key.txt
keys.txt
kmemcheck.txt
kmemleak.txt
kobject.txt
kobject: documentation: Update to refer to kset-example.c.
2010-03-19 07:12:20 -07:00
kprobes.txt
Documentation: Mention that KProbes is supported on MIPS
2010-08-05 13:26:30 +01:00
kref.txt
ldm.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
leds-class.txt
leds-lp3944.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
logo.gif
logo.txt
magic-number.txt
Makefile
Documentation/fs/: split txt and source files
2010-03-12 15:52:35 -08:00
ManagementStyle
mca.txt
md.txt
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
memory-barriers.txt
Document Linux's circular buffering capabilities
2010-03-24 16:31:22 -07:00
memory-hotplug.txt
mm: add numa node symlink for memory section in sysfs
2009-12-15 08:53:17 -08:00
memory.txt
mono.txt
mutex-design.txt
Rename .text.lock to .text..lock.
2010-03-03 11:26:00 +01:00
nmi_watchdog.txt
nommu-mmap.txt
nommu: fix malloc performance by adding uninitialized flag
2009-12-15 08:53:24 -08:00
numastat.txt
oops-tracing.txt
panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')
2010-05-19 08:37:43 +01:00
padata.txt
Documentation/padata.txt: fix typos etc.
2010-08-11 08:59:18 -07:00
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
doc: capitalization and other minor fixes in pnp doc
2010-02-05 12:22:44 +01:00
preempt-locking.txt
printk-formats.txt
prio_tree.txt
rbtree.txt
rbtree: Add support for augmented rbtrees
2010-02-18 15:40:56 -08:00
rfkill.txt
Document the rfkill sysfs ABI
2010-03-10 17:09:33 -05:00
robust-futex-ABI.txt
robust-futexes.txt
rt-mutex-design.txt
variable name fix to Documentation/rt-mutex-design.txt
2010-06-05 17:39:09 +02:00
rt-mutex.txt
rtc.txt
SAK.txt
SecurityBugs
SELinux.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
Smack.txt
Documentation/: it's -> its where appropriate
2010-04-23 02:09:52 +02:00
sparse.txt
update email address
2010-07-19 10:56:54 +02:00
spinlocks.txt
Documentation: rw_lock lessons learned
2009-12-14 09:46:56 -08:00
stable_api_nonsense.txt
stable_kernel_rules.txt
Documentation: -stable rules: upstream commit ID requirement reworded
2010-04-22 15:24:56 -07:00
SubmitChecklist
Documentation: update SubmitChecklist for O=objdir and kconfig testing
2010-05-24 07:31:20 -07:00
SubmittingDrivers
Documentation: update broken web addresses.
2010-08-04 15:21:40 +02:00
SubmittingPatches
SubmittingPatches: add more about patch descriptions
2010-08-09 20:45:05 -07:00
svga.txt
sysfs-rules.txt
Fix typos in comments
2010-03-16 11:47:56 +01:00
sysrq.txt
Input: Documentation/sysrq.txt - update KEY_SYSRQ info
2010-05-19 10:14:15 -07:00
tomoyo.txt
TOMOYO: Update version to 2.3.0
2010-08-02 15:35:10 +10:00
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
vgaarbiter: fix a typo in the vgaarbiter Documentation
2009-12-16 11:28:58 -08:00
video-output.txt
volatile-considered-harmful.txt
Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation
2010-03-24 16:31:20 -07:00
zorro.txt