android_kernel_google_msm/include
Maya Erez 6ecdcb0f9d mmc: core: Add support for idle time BKOPS
Devices have various maintenance operations need to perform internally.
In order to reduce latencies during time critical operations like read
and write, it is better to execute maintenance operations in other
times - when the host is not being serviced. Such operations are called
Background operations (BKOPS).
The device notifies the status of the BKOPS need by updating BKOPS_STATUS
(EXT_CSD byte [246]).

According to the standard a host that supports BKOPS shall check the
status periodically and start background operations as needed, so that
the device has enough time for its maintenance operations.

This patch adds support for this periodic check of the BKOPS status.
Since foreground operations are of higher priority than background
operations the host will check the need for BKOPS when it is idle,
and in case of an incoming request the BKOPS operation will be
interrupted.

When the mmcqd thread is idle, a delayed work is created to check the
need for BKOPS. The time to start the delayed work is calculated based
on the host controller suspend timeout, in case it was set. If not, a
default time is used.
If BKOPS are required in level 1, which is non-blocking, there will be
polling of the card status to wait for the BKOPS completion and prevent
suspend that will interrupt the BKOPS.
If the card raised an exception, the need for urgent BKOPS (level 2/3)
will be checked immediately and if needed, the BKOPS will be performed
without waiting for the next idle time.

(cherry picked from commit 5f360698caa2894f7cc854199ffba285241d152e)

Change-Id: I6605ce396188807bed93f437224f2243b178523f
Signed-off-by: Maya Erez <merez@codeaurora.org>
(cherry picked from commit 833940e728c5903f0263c20e349bbead7a79e535)
2013-03-07 15:21:45 -08:00
..
acpi
asm-generic common: add dma_mmap_from_coherent() function 2013-02-27 18:21:21 -08:00
crypto
drm include: drm: 160d42d5 Contribution Fix 2013-02-25 11:40:25 -08:00
keys
linux mmc: core: Add support for idle time BKOPS 2013-03-07 15:21:45 -08:00
math-emu
media msm: camera: Dynamically register domain and attach to device. 2013-03-07 15:21:26 -08:00
misc
mtd
net net: sched: export an api to enable/disable flow on sch 2013-03-07 15:20:04 -08:00
pcmcia
rdma
rxrpc
scsi
sound ASoc: msm: Add amr-wb/wb+ tunnel playback support 2013-03-07 15:21:29 -08:00
target target: Rename target_allocate_tasks to target_setup_cmd_from_cdb 2013-02-27 18:12:37 -08:00
trace trace: power: add cpu_frequency_switch_{start, end} 2013-03-07 15:20:00 -08:00
video
xen
Kbuild Add snapshot of mach-msm from beginning of msm-3.4 2013-02-27 18:09:25 -08:00