All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/7] mmc: sunxi: Add runtime PM support
@ 2018-04-16 14:22 ` Maxime Ripard
  0 siblings, 0 replies; 36+ messages in thread
From: Maxime Ripard @ 2018-04-16 14:22 UTC (permalink / raw)
  To: Chen-Yu Tsai, Maxime Ripard, ulf.hansson
  Cc: Thomas Petazzoni, linux-mmc, Quentin Schulz, linux-arm-kernel

Hi,

Since it's introduction, our MMC controller has had its external clocks
running all the time.

While that was working great, the power usage and most importantly the EMI
that it generated was pretty bad.

Let's implement some runtime_pm hooks with an autosuspend to shut down the
whole block when the MMC is not active.

However, some SDIO devices will not probe properly if we keep shutting down
the controller, so the autosuspend is disabled for the SDIO devices.

Let me know what you think,
Maxime

Changes from v2:
  - Dropped the patches already applied
  - Do not power up or down the card during a runtime_resume or
    runtime_suspend, but only take care of the controller
  - In order to do the above, split the set_ios function into smaller
    chunks that can be called from set_ios and our runtime_resume hook

Changes from v1:
  - Disable entirely the controller
  - Made sure the driver would work with CONFIG_PM off
  - Fixed an issue with the SDIO devices
  - Rebased on top of 4.16

Maxime Ripard (7):
  mmc: sunxi: Reorder the headers
  mmc: sunxi: Change sunxi_mmc_init_host argument type
  mmc: sunxi: Move bus width configuration to a function
  mmc: sunxi: Move clock configuration to a function
  mmc: sunxi: Move the card power configuration to a function
  mmc: sunxi: Add runtime_pm support
  mmc: sunxi: Drop the init / reset of the controller from set_ios

 drivers/mmc/host/sunxi-mmc.c | 185 +++++++++++++++++++++++-------------
 1 file changed, 122 insertions(+), 63 deletions(-)

base-commit: 60cc43fc888428bb2f18f08997432d426a243338
-- 
git-series 0.9.1

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

end of thread, other threads:[~2018-07-23 16:16 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-16 14:22 [PATCH v3 0/7] mmc: sunxi: Add runtime PM support Maxime Ripard
2018-04-16 14:22 ` Maxime Ripard
2018-04-16 14:22 ` [PATCH v3 1/7] mmc: sunxi: Reorder the headers Maxime Ripard
2018-04-16 14:22   ` Maxime Ripard
2018-04-16 14:23 ` [PATCH v3 2/7] mmc: sunxi: Change sunxi_mmc_init_host argument type Maxime Ripard
2018-04-16 14:23   ` Maxime Ripard
2018-04-16 14:23 ` [PATCH v3 3/7] mmc: sunxi: Move bus width configuration to a function Maxime Ripard
2018-04-16 14:23   ` Maxime Ripard
2018-04-16 14:23 ` [PATCH v3 4/7] mmc: sunxi: Move clock " Maxime Ripard
2018-04-16 14:23   ` Maxime Ripard
2018-04-16 14:23 ` [PATCH v3 5/7] mmc: sunxi: Move the card power " Maxime Ripard
2018-04-16 14:23   ` Maxime Ripard
2018-04-16 14:23 ` [PATCH v3 6/7] mmc: sunxi: Add runtime_pm support Maxime Ripard
2018-04-16 14:23   ` Maxime Ripard
2018-06-14 14:11   ` Marc Zyngier
2018-06-14 14:11     ` Marc Zyngier
2018-06-14 18:57     ` Kevin Hilman
2018-06-14 18:57       ` Kevin Hilman
2018-06-15  8:55     ` Ulf Hansson
2018-06-15  8:55       ` Ulf Hansson
2018-06-15 14:45       ` Kevin Hilman
2018-06-15 14:45         ` Kevin Hilman
2018-06-15 15:12         ` Maxime Ripard
2018-06-15 15:12           ` Maxime Ripard
2018-06-26  9:09         ` Maxime Ripard
2018-06-26  9:09           ` Maxime Ripard
2018-04-16 14:23 ` [PATCH v3 7/7] mmc: sunxi: Drop the init / reset of the controller from set_ios Maxime Ripard
2018-04-16 14:23   ` Maxime Ripard
2018-04-19 13:17 ` [PATCH v3 0/7] mmc: sunxi: Add runtime PM support Ulf Hansson
2018-04-19 13:17   ` Ulf Hansson
2018-07-16 17:14 ` Ondřej Jirman
2018-07-16 17:14   ` Ondřej Jirman
2018-07-20 14:51   ` Maxime Ripard
2018-07-20 14:51     ` Maxime Ripard
2018-07-23 16:16     ` Ondřej Jirman
2018-07-23 16:16       ` Ondřej Jirman

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.