linux/drivers/mmc/core
Adrian Hunter 0d3e3350d5 mmc: core: fix performance regression initializing MMC host controllers
Commit fa5501890d introduced a performance
regression by adding mmc_power_up() to mmc_start_host().  mmc_power_up()
is not necessary to host controller initialization, it is part of card
initialization and is performed anyway asynchronously.

This patch allows a driver to leave the power up in asynchronous code
(as it was before).

On my current target platform this reduces driver initialization from:

[    1.313220] initcall sdhci_acpi_driver_init+0x0/0x12 returned 0 after 102008 usecs

to this:

[    1.217209] initcall sdhci_acpi_driver_init+0x0/0x12 returned 0 after 8331 usecs

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-04-12 14:08:07 -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
bus.c mmc: fix async request mechanism for sequential read scenarios 2013-02-11 13:28:49 -05: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: fix performance regression initializing MMC host controllers 2013-04-12 14:08:07 -04:00
core.h mmc: core: Break out start_signal_voltage_switch 2013-02-24 14:37:07 -05:00
debugfs.c mmc: core: debugfs: Add signal_voltage to ios dump 2012-12-06 13:54:36 -05: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
mmc.c mmc: core: Fix bit width test failing on old eMMC cards 2013-04-04 15:33:29 -04:00
mmc_ops.c mmc: support packed write command for eMMC4.5 devices 2013-02-24 14:37:16 -05:00
mmc_ops.h mmc: core: support HPI send command 2011-10-26 16:32:29 -04:00
quirks.c mmc: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:06 -04:00
sd.c mmc: sdhci: enhance preset value function 2013-02-24 14:37:11 -05:00
sd.h mmc: sd: add support for driver type selection 2011-05-24 23:53:24 -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
sdio.c mmc: core: Fixup signal voltage switch 2013-02-24 14:37:08 -05:00
sdio_bus.c mmc: sdio: bind acpi with sdio function device 2013-03-22 12:26:54 -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
slot-gpio.c mmc: slot-gpio: use devm_* managed functions to ease users 2013-02-11 12:51:23 -05:00