linux/drivers/mmc/core
Ulf Hansson 4323567934 mmc: core: Enable power_off_notify for eMMC shutdown sequence
In suspend mode it is important to save power. If the host is able to
cut buth vcc and vccq, the MMC_CAP2_POWEROFF_NOTIFY shall be set. It
will mean the card will be completely powered down at suspend and the
power off notification cmd will be sent prior power down.

It seems common not being able to cut both vcc and vccq for a host. In
this situation we issue the sleep cmd in favor of the power off
notification cmd, to save more power.

While maintainng the above policy, we also want to make use of the
power off notification in the shutdown sequence, even in the case were
the host has not set MMC_CAP2_POWEROFF_NOTIFY, since we know vcc and
vccq will regardless be cut.

We accomplish this by always enabling the power off notification byte
in the EXT_CSD and issue the power off notification when either
MMC_CAP2_POWEROFF_NOTIFY is set or we are executing a shutdown.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-06-27 12:39:21 -04:00
..
bus.c mmc: core: Extend shutdown sequence to handle bus operations 2013-06-27 12:39:18 -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: core: Initiate suspend|resume from mmc bus instead of mmc host 2013-06-27 12:39:17 -04:00
core.h mmc: core: Extend shutdown sequence to handle bus operations 2013-06-27 12:39:18 -04:00
debugfs.c mmc: block: Enable runtime pm for mmc blkdevice 2013-05-26 14:23:16 -04:00
host.c mmc: return mmc_of_parse() errors to caller 2013-06-27 10:22:44 -04: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: core: Restructure and simplify code for mmc sleep|awake 2013-05-26 14:23:17 -04:00
mmc_ops.h mmc: core: Restructure and simplify code for mmc sleep|awake 2013-05-26 14:23:17 -04:00
mmc.c mmc: core: Enable power_off_notify for eMMC shutdown sequence 2013-06-27 12:39:21 -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: Add shutdown callback for SD bus_ops 2013-06-27 12:39:19 -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
sdio_cis.c mmc: sdio: Change pr_warning to pr_warn_ratelimited 2012-07-22 15:25:48 -04:00
sdio_cis.h
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: Push common suspend|resume code into each bus_ops 2013-06-27 12:39:16 -04:00
slot-gpio.c mmc: slot-gpio: use devm_* managed functions to ease users 2013-02-11 12:51:23 -05:00