kernel_optimize_test/drivers/mmc/core
Ulf Hansson c4d770d724 mmc: core: Support aggressive power management for (e)MMC/SD
Aggressive power management is suitable when saving power is
essential. At request inactivity timeout, aka pm runtime
autosuspend timeout, the card will be suspended.

Once a new request arrives, the card will be re-initalized and
thus the first request will suffer from a latency. This latency
is card-specific, experiments has shown in general that SD-cards
has quite poor initialization time, around 300ms-1100ms. eMMC is
not surprisingly far better but still a couple of hundreds of ms
has been observed.

Except for the request latency, it is important to know that
suspending the card will also prevent the card from executing
internal house-keeping operations in idle mode. This could mean
degradation in performance.

To use this feature make sure the request inactivity timeout is
chosen carefully. This has not been done as a part of this patch.

Enable this feature by using host cap MMC_CAP_AGGRESSIVE_PM and
by setting CONFIG_MMC_UNSAFE_RESUME.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-05-26 14:23:17 -04:00
..
bus.c mmc: core: Add bus_ops for runtime pm callbacks 2013-05-26 14:23:15 -04:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: block: Enable runtime pm for mmc blkdevice 2013-05-26 14:23:16 -04:00
core.h mmc: core: Add bus_ops for runtime pm callbacks 2013-05-26 14:23:15 -04:00
debugfs.c mmc: block: Enable runtime pm for mmc blkdevice 2013-05-26 14:23:16 -04:00
host.c mmc: convert to idr_alloc() 2013-02-27 19:10:17 -08:00
host.h mmc: start removing enable / disable API 2012-03-27 12:20:03 -04:00
Kconfig drivers/mmc/core: remove depends on CONFIG_EXPERIMENTAL 2013-01-11 11:38:06 -08:00
Makefile mmc: extend and rename cd-gpio helpers to handle more slot GPIO functions 2012-07-10 23:04:04 -04:00
mmc_ops.c mmc: card: Adding support for sanitize in eMMC 4.5 2013-05-26 14:23:13 -04:00
mmc_ops.h mmc: core: support HPI send command 2011-10-26 16:32:29 -04:00
mmc.c mmc: core: Support aggressive power management for (e)MMC/SD 2013-05-26 14:23:17 -04:00
quirks.c mmc: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:06 -04:00
sd_ops.c mmc: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:06 -04:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd.c mmc: core: Support aggressive power management for (e)MMC/SD 2013-05-26 14:23:17 -04:00
sd.h mmc: sd: add support for driver type selection 2011-05-24 23:53:24 -04:00
sdio_bus.c mmc: core: call pm_runtime_put_noidle in pm_runtime_get_sync failed case 2013-04-12 14:15:04 -04:00
sdio_bus.h mmc: basic SDIO device model 2007-09-23 19:45:31 +02:00
sdio_cis.c mmc: sdio: Change pr_warning to pr_warn_ratelimited 2012-07-22 15:25:48 -04:00
sdio_cis.h sdio: split up common and function CIS parsing 2007-09-23 20:44:22 +02:00
sdio_io.c mmc: sdio: Use multiple scatter/gather list 2012-12-06 13:54:43 -05:00
sdio_irq.c mmc: sdio: avoid spurious calls to interrupt handlers 2012-04-22 11:17:28 -04:00
sdio_ops.c mmc: sdio: Use multiple scatter/gather list 2012-12-06 13:54:43 -05:00
sdio_ops.h sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio.c mmc: core: Add bus_ops for runtime pm callbacks 2013-05-26 14:23:15 -04:00
slot-gpio.c mmc: slot-gpio: use devm_* managed functions to ease users 2013-02-11 12:51:23 -05:00