All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1 0/8] SDIO Runtime PM Support
@ 2010-09-07 11:29 ` Ohad Ben-Cohen
  0 siblings, 0 replies; 29+ messages in thread
From: Ohad Ben-Cohen @ 2010-09-07 11:29 UTC (permalink / raw)
  To: linux-wireless, linux-mmc
  Cc: Luciano Coelho, akpm, San Mehat, Roger Quadros, Nicolas Pitre,
	Gao Yunpeng, Ohad Ben-Cohen

This patchset introduces runtime PM support to SDIO cards.

What have been achieved:

1. Power to SDIO cards is kept low until one of its functions is bound
   (i.e. a matching driver is successfully probed)

2. If the matching driver supports runtime PM, power to the card is
   dropped soon after probe() returns. It is then up to the driver
   to request power to its function, using runtime PM API (the get/put
   variants). Last patch in this series demonstrates this with the
   wl1271 driver which couples the card power with the state of the wlan
   interface (interface up -> power is up, interface down -> power is down)

4. If a matching driver does not support Runtime PM, power to the card
   is kept high during the whole lifetime of the driver

5. When the driver is removed, power to the card is immediately dropped

6. If there are multiple drivers for the same card (several SDIO functions),
   power will be pulled high before the first driver probes, and dropped
   down after the last driver is removed. In between, power will be
   maintained accrording to the accumulated usage count of the complete
   drivers group

Patches were tested on ZOOM3, 2.6.36-rc3.

Dependencies (in case you want to test this):
- The SDIO/MMC part depends on http://www.spinics.net/lists/linux-pm/msg21663.html (patch was already accepted by PM maintainer)
- The WLAN part depends on http://www.mail-archive.com/linux-omap@vger.kernel.org/msg34148.html

Maturity level is much better than the previous RFC patches, and also testing that have been conducted are more intense. We still plan to stress this even further, but it's certainly ready for wide review.

Next thing I plan on doing is testing this with SDIO suspend/resume (with and without MMC_PM_KEEP_POWER). I'll update as soon as I have results (setup issues and a business trip will keep me away for several days).

Thanks,

Ohad Ben-Cohen (8):
  mmc: sdio: fully reconfigure oldcard on resume
  mmc: let power save/restore ops return a value
  sdio: add power_restore support
  mmc: add general Runtime PM support
  sdio: add general runtime PM support
  sdio: enable Runtime PM for SDIO cards
  sdio: enable Runtime PM for SDIO functions
  wireless: wl1271_sdio: enable Runtime PM

 drivers/mmc/core/bus.c                    |   37 +++++++++++++++++++++
 drivers/mmc/core/core.c                   |   20 ++++++++---
 drivers/mmc/core/core.h                   |    4 +-
 drivers/mmc/core/mmc.c                    |    8 +++-
 drivers/mmc/core/sd.c                     |    8 +++-
 drivers/mmc/core/sdio.c                   |   42 +++++++++++++++++++-----
 drivers/mmc/core/sdio_bus.c               |   50 +++++++++++++++++++++++++++-
 drivers/net/wireless/wl12xx/wl1271_sdio.c |   14 +++++++-
 include/linux/mmc/host.h                  |    4 +-
 9 files changed, 161 insertions(+), 26 deletions(-)


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2010-09-14 19:32 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-07 11:29 [PATCH v1 0/8] SDIO Runtime PM Support Ohad Ben-Cohen
2010-09-07 11:29 ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 1/8] mmc: sdio: fully reconfigure oldcard on resume Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 2/8] mmc: propagate power save/restore ops return value Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 3/8] sdio: add power_restore support Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 4/8] mmc: add general Runtime PM support Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 5/8] sdio: add general runtime " Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 6/8] sdio: enable Runtime PM for SDIO cards Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 7/8] sdio: enable Runtime PM for SDIO functions Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-14 19:27   ` Chris Ball
2010-09-14 19:27     ` Chris Ball
2010-09-14 19:32     ` Ohad Ben-Cohen
2010-09-14 19:32       ` Ohad Ben-Cohen
2010-09-07 11:29 ` [PATCH v1 8/8] wireless: wl1271_sdio: enable Runtime PM Ohad Ben-Cohen
2010-09-07 11:29   ` Ohad Ben-Cohen
2010-09-07 13:02   ` David Vrabel
2010-09-07 13:02     ` David Vrabel
2010-09-07 13:15     ` Ohad Ben-Cohen
2010-09-07 22:20       ` David Vrabel
2010-09-08 17:40   ` Luciano Coelho
2010-09-08 17:40     ` Luciano Coelho
2010-09-08 17:52 ` [PATCH v1 0/8] SDIO Runtime PM Support Luciano Coelho

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.