All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luciano Coelho <luciano.coelho-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org>
To: ext Ohad Ben-Cohen <ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>,
	Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>
Cc: "linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org>
Subject: Re: [PATCH v2 00/11] SDIO Runtime PM Support
Date: Thu, 07 Oct 2010 15:32:16 +0300	[thread overview]
Message-ID: <1286454736.27371.37.camel@chilepepper> (raw)
In-Reply-To: <1286020455-28946-1-git-send-email-ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>

On Sat, 2010-10-02 at 13:54 +0200, ext Ohad Ben-Cohen wrote:
> Introduce SDIO runtime PM support:
> 
> 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). This is demonstrated with the wl1271 driver, in which
>    the power of the card power is coupled with the state of the wlan
>    interface (interface up -> power is up, interface down -> power is down)
> 
> 3. If a matching driver does not support runtime PM, power to the card
>    is kept high during the whole lifetime of the driver
> 
> 4. When the driver is removed, power to the card is immediately dropped
> 
> 5. 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
> 
> 6. SDIO suspend/resume semantics are unchanged. In addition, when the system
>    comes out of suspend, it is guaranteed that the power state of the
>    SDIO card will reflect its runtime PM usage count.
> 
> 7. What was NOT changed:
>    - Interface: drivers can still assume that the card is powered
>      when probe/remove/suspend/resume are called
>    - Existing behavior: drivers that do not support runtime PM
>      are unchanged
> 
> Changes since v1:
> - Interaction with system suspend/resume
> - Better commentary
> 
> Dependencies:
> - SDIO patches are against mmc-next, and have a runtime dependency on
>   commit "PM / Runtime: Lenient generic runtime pm callbacks"
>   (patch is in linux-next now)
> - WLAN patches depend on recent wl1271 activity, and they are here
>   just to demonstrate the usage of the SDIO patchset (will be
>   resubmitted separately)
> 
> The full patchset, together with all its dependencies, is also available at:
> git://wizery.com/pub/mmc.git runtime-pm-v2

I have tested this on my beagle board with the wl1271 patches that Ohad
provided and it seems to be working fine.  I've also created a small
script to stress test the implementation a little bit and didn't see any
problems.

Tested-by: Luciano Coelho <luciano.coelho-xNZwKgViW5gAvxtiuMwx3w@public.gmane.org>

This is quite an important fix in the wl1271 point-of-view.  Chris, do
you think there is any chance that this could make it to 2.6.37?


-- 
Cheers,
Luca.

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Luciano Coelho <luciano.coelho@nokia.com>
To: ext Ohad Ben-Cohen <ohad@wizery.com>, Chris Ball <cjb@laptop.org>
Cc: "linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Nicolas Pitre <nico@fluxnic.net>
Subject: Re: [PATCH v2 00/11] SDIO Runtime PM Support
Date: Thu, 07 Oct 2010 15:32:16 +0300	[thread overview]
Message-ID: <1286454736.27371.37.camel@chilepepper> (raw)
In-Reply-To: <1286020455-28946-1-git-send-email-ohad@wizery.com>

On Sat, 2010-10-02 at 13:54 +0200, ext Ohad Ben-Cohen wrote:
> Introduce SDIO runtime PM support:
> 
> 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). This is demonstrated with the wl1271 driver, in which
>    the power of the card power is coupled with the state of the wlan
>    interface (interface up -> power is up, interface down -> power is down)
> 
> 3. If a matching driver does not support runtime PM, power to the card
>    is kept high during the whole lifetime of the driver
> 
> 4. When the driver is removed, power to the card is immediately dropped
> 
> 5. 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
> 
> 6. SDIO suspend/resume semantics are unchanged. In addition, when the system
>    comes out of suspend, it is guaranteed that the power state of the
>    SDIO card will reflect its runtime PM usage count.
> 
> 7. What was NOT changed:
>    - Interface: drivers can still assume that the card is powered
>      when probe/remove/suspend/resume are called
>    - Existing behavior: drivers that do not support runtime PM
>      are unchanged
> 
> Changes since v1:
> - Interaction with system suspend/resume
> - Better commentary
> 
> Dependencies:
> - SDIO patches are against mmc-next, and have a runtime dependency on
>   commit "PM / Runtime: Lenient generic runtime pm callbacks"
>   (patch is in linux-next now)
> - WLAN patches depend on recent wl1271 activity, and they are here
>   just to demonstrate the usage of the SDIO patchset (will be
>   resubmitted separately)
> 
> The full patchset, together with all its dependencies, is also available at:
> git://wizery.com/pub/mmc.git runtime-pm-v2

I have tested this on my beagle board with the wl1271 patches that Ohad
provided and it seems to be working fine.  I've also created a small
script to stress test the implementation a little bit and didn't see any
problems.

Tested-by: Luciano Coelho <luciano.coelho@nokia.com>

This is quite an important fix in the wl1271 point-of-view.  Chris, do
you think there is any chance that this could make it to 2.6.37?


-- 
Cheers,
Luca.


  parent reply	other threads:[~2010-10-07 12:32 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-02 11:54 [PATCH v2 00/11] SDIO Runtime PM Support Ohad Ben-Cohen
2010-10-02 11:54 ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 01/11] mmc: sdio: fully reconfigure oldcard on resume Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 02/11] mmc: propagate power save/restore ops return value Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 03/11] sdio: add power_restore support Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 05/11] sdio: use the generic runtime PM handlers Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 06/11] sdio: enable runtime PM for SDIO cards Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 07/11] sdio: enable runtime PM for SDIO functions Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 08/11] sdio: ensure mmc_sdio_detect is powered Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 09/11] sdio: support suspend/resume while runtime suspended Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
2010-10-02 11:54 ` [PATCH v2 11/11] wl1271: sdio: add suspend/resume support Ohad Ben-Cohen
2010-10-02 11:54   ` Ohad Ben-Cohen
     [not found] ` <1286020455-28946-1-git-send-email-ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org>
2010-10-02 11:54   ` [PATCH v2 04/11] mmc: add runtime PM handlers Ohad Ben-Cohen
2010-10-02 11:54     ` Ohad Ben-Cohen
2010-10-02 11:54   ` [PATCH v2 10/11] wl1271: sdio: enable runtime PM Ohad Ben-Cohen
2010-10-02 11:54     ` Ohad Ben-Cohen
2010-10-07 12:32   ` Luciano Coelho [this message]
2010-10-07 12:32     ` [PATCH v2 00/11] SDIO Runtime PM Support Luciano Coelho
2010-10-07 18:01     ` Chris Ball
2010-10-07 18:01       ` Chris Ball
2010-10-07 18:33       ` Ohad Ben-Cohen
2010-10-08  5:00       ` Luciano Coelho

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1286454736.27371.37.camel@chilepepper \
    --to=luciano.coelho-xnzwkgviw5gavxtiumwx3w@public.gmane.org \
    --cc=cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org \
    --cc=ohad-Ix1uc/W3ht7QT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.