* [PATCH] spi/pl022: Activate resourses before deactivate them in suspend @ 2012-10-05 7:43 Ulf Hansson [not found] ` <1349423012-18048-1-git-send-email-ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org> 2012-10-27 21:46 ` Mark Brown 0 siblings, 2 replies; 8+ messages in thread From: Ulf Hansson @ 2012-10-05 7:43 UTC (permalink / raw) To: Mark Brown, Grant Likely, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: Ulf Hansson, Vipul Kumar Samar, Russell King, Viresh Kumar, Linus Walleij, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r From: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> To be able to deactivate resourses in suspend, the resourses must first be surely active. This is done with a pm_runtime_get_sync. Once the resourses are restored to active state again in resume, the runtime pm usage count can be decreased with a pm_runtime_put. Signed-off-by: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- drivers/spi/spi-pl022.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c index 9194641..c3590e0 100644 --- a/drivers/spi/spi-pl022.c +++ b/drivers/spi/spi-pl022.c @@ -2350,6 +2350,8 @@ static int pl022_suspend(struct device *dev) dev_warn(dev, "cannot suspend master\n"); return ret; } + + pm_runtime_get_sync(dev); pl022_suspend_resources(pl022); dev_dbg(dev, "suspended\n"); @@ -2362,6 +2364,7 @@ static int pl022_resume(struct device *dev) int ret; pl022_resume_resources(pl022); + pm_runtime_put(dev); /* Start the queue running */ ret = spi_master_resume(pl022->master); -- 1.7.10 ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <1349423012-18048-1-git-send-email-ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org>]
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend [not found] ` <1349423012-18048-1-git-send-email-ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org> @ 2012-10-12 14:42 ` Ulf Hansson [not found] ` <CAPDyKFpa8XoEy-kq3nq0dbRtM=a1wJ7cx=OzCOqMY1PmXrXJYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Ulf Hansson @ 2012-10-12 14:42 UTC (permalink / raw) To: Mark Brown Cc: Vipul Kumar Samar, Russell King, Viresh Kumar, Linus Walleij, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r Hi Mark, Just a kind remember on this. Do you see any problem merging this? Kind regards Ulf Hansson On 5 October 2012 09:43, Ulf Hansson <ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org> wrote: > From: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > > To be able to deactivate resourses in suspend, the resourses must > first be surely active. This is done with a pm_runtime_get_sync. > Once the resourses are restored to active state again in resume, > the runtime pm usage count can be decreased with a pm_runtime_put. > > Signed-off-by: Ulf Hansson <ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> > --- > drivers/spi/spi-pl022.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/spi/spi-pl022.c b/drivers/spi/spi-pl022.c > index 9194641..c3590e0 100644 > --- a/drivers/spi/spi-pl022.c > +++ b/drivers/spi/spi-pl022.c > @@ -2350,6 +2350,8 @@ static int pl022_suspend(struct device *dev) > dev_warn(dev, "cannot suspend master\n"); > return ret; > } > + > + pm_runtime_get_sync(dev); > pl022_suspend_resources(pl022); > > dev_dbg(dev, "suspended\n"); > @@ -2362,6 +2364,7 @@ static int pl022_resume(struct device *dev) > int ret; > > pl022_resume_resources(pl022); > + pm_runtime_put(dev); > > /* Start the queue running */ > ret = spi_master_resume(pl022->master); > -- > 1.7.10 > ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CAPDyKFpa8XoEy-kq3nq0dbRtM=a1wJ7cx=OzCOqMY1PmXrXJYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend [not found] ` <CAPDyKFpa8XoEy-kq3nq0dbRtM=a1wJ7cx=OzCOqMY1PmXrXJYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-10-14 5:27 ` Mark Brown 0 siblings, 0 replies; 8+ messages in thread From: Mark Brown @ 2012-10-14 5:27 UTC (permalink / raw) To: Ulf Hansson Cc: Vipul Kumar Samar, Russell King, Viresh Kumar, Linus Walleij, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Fri, Oct 12, 2012 at 04:42:53PM +0200, Ulf Hansson wrote: > Hi Mark, > > Just a kind remember on this. Do you see any problem merging this? > > Kind regards > Ulf Hansson > > On 5 October 2012 09:43, Ulf Hansson <ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org> wrote: Don't top post and don't send contentless nags less than a week after your original mail, especially not in the merge window when only urgent bug fixes should be applied. ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend 2012-10-05 7:43 [PATCH] spi/pl022: Activate resourses before deactivate them in suspend Ulf Hansson [not found] ` <1349423012-18048-1-git-send-email-ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org> @ 2012-10-27 21:46 ` Mark Brown 2012-10-28 19:52 ` Linus Walleij 1 sibling, 1 reply; 8+ messages in thread From: Mark Brown @ 2012-10-27 21:46 UTC (permalink / raw) To: Ulf Hansson Cc: Ulf Hansson, Vipul Kumar Samar, Russell King, Viresh Kumar, Linus Walleij, Grant Likely, spi-devel-general, linux-arm-kernel [-- Attachment #1.1: Type: text/plain, Size: 447 bytes --] On Fri, Oct 05, 2012 at 09:43:32AM +0200, Ulf Hansson wrote: > To be able to deactivate resourses in suspend, the resourses must > first be surely active. This is done with a pm_runtime_get_sync. > Once the resourses are restored to active state again in resume, > the runtime pm usage count can be decreased with a pm_runtime_put. The PM core will ensure devices are runtime resumed before we enter suspend precisely due to this sort of issue. [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 836 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend 2012-10-27 21:46 ` Mark Brown @ 2012-10-28 19:52 ` Linus Walleij [not found] ` <CACRpkdbCfxnSSLR6GoSbAxtfnwOivxCCrLtwnR=9tpwpfACqTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Linus Walleij @ 2012-10-28 19:52 UTC (permalink / raw) To: Mark Brown, Rafael J. Wysocki, Alan Stern, Ulf Hansson Cc: Vipul Kumar Samar, Russell King, Viresh Kumar, Grant Likely, spi-devel-general, Ulf Hansson, linux-arm-kernel On Sat, Oct 27, 2012 at 11:46 PM, Mark Brown <broonie@opensource.wolfsonmicro.com> wrote: > On Fri, Oct 05, 2012 at 09:43:32AM +0200, Ulf Hansson wrote: > >> To be able to deactivate resourses in suspend, the resourses must >> first be surely active. This is done with a pm_runtime_get_sync. >> Once the resourses are restored to active state again in resume, >> the runtime pm usage count can be decreased with a pm_runtime_put. > > The PM core will ensure devices are runtime resumed before we enter > suspend precisely due to this sort of issue. I asked the very same question to Ulf (in speech, sorry so you couldn't see it...) So I guess we are talking about drivers/base/main.c in device_prepare() pm_runtime_get_noresume() is called and in device_complete() pm_runtime_put_sync() is called. Both put into current for in commit 88d26136a256576e444db312179e17af6dd0ea87 on sep 19th. Yes it seems like it will do the job. Ulf can you comment on this... Yours, Linus Walleij ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CACRpkdbCfxnSSLR6GoSbAxtfnwOivxCCrLtwnR=9tpwpfACqTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend [not found] ` <CACRpkdbCfxnSSLR6GoSbAxtfnwOivxCCrLtwnR=9tpwpfACqTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-10-28 20:28 ` Ulf Hansson [not found] ` <CAPDyKFoOJz6608b4z2PoW8ODvTJVZRq-yB0itfXnuoXdR1SpGQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Ulf Hansson @ 2012-10-28 20:28 UTC (permalink / raw) To: Linus Walleij Cc: Vipul Kumar Samar, Russell King, Viresh Kumar, Mark Brown, Rafael J. Wysocki, Alan Stern, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Ulf Hansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On 28 October 2012 20:52, Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > On Sat, Oct 27, 2012 at 11:46 PM, Mark Brown > <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote: >> On Fri, Oct 05, 2012 at 09:43:32AM +0200, Ulf Hansson wrote: >> >>> To be able to deactivate resourses in suspend, the resourses must >>> first be surely active. This is done with a pm_runtime_get_sync. >>> Once the resourses are restored to active state again in resume, >>> the runtime pm usage count can be decreased with a pm_runtime_put. >> >> The PM core will ensure devices are runtime resumed before we enter >> suspend precisely due to this sort of issue. > > I asked the very same question to Ulf (in speech, sorry > so you couldn't see it...) > > So I guess we are talking about drivers/base/main.c > > in device_prepare() > pm_runtime_get_noresume() is called This will increase the "usage_counter" for the device. It will not "runtime_resume" the device, though it will prevent it from being "runtime_suspended". > and in device_complete() > pm_runtime_put_sync() is called. > > Both put into current for in > commit 88d26136a256576e444db312179e17af6dd0ea87 > on sep 19th. > > Yes it seems like it will do the job. > > Ulf can you comment on this... > > Yours, > Linus Walleij Kind regards Ulf Hansson ------------------------------------------------------------------------------ WINDOWS 8 is here. Millions of people. Your app in 30 days. Visit The Windows 8 Center at Sourceforge for all your go to resources. http://windows8center.sourceforge.net/ join-generation-app-and-make-money-coding-fast/ ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CAPDyKFoOJz6608b4z2PoW8ODvTJVZRq-yB0itfXnuoXdR1SpGQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend [not found] ` <CAPDyKFoOJz6608b4z2PoW8ODvTJVZRq-yB0itfXnuoXdR1SpGQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-10-28 21:09 ` Alan Stern [not found] ` <Pine.LNX.4.44L0.1210281659520.9245-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org> 0 siblings, 1 reply; 8+ messages in thread From: Alan Stern @ 2012-10-28 21:09 UTC (permalink / raw) To: Ulf Hansson Cc: Vipul Kumar Samar, Russell King, Viresh Kumar, Linus Walleij, Mark Brown, Rafael J. Wysocki, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Ulf Hansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On Sun, 28 Oct 2012, Ulf Hansson wrote: > On 28 October 2012 20:52, Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: > > On Sat, Oct 27, 2012 at 11:46 PM, Mark Brown > > <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote: > >> On Fri, Oct 05, 2012 at 09:43:32AM +0200, Ulf Hansson wrote: > >> > >>> To be able to deactivate resourses in suspend, the resourses must > >>> first be surely active. This is done with a pm_runtime_get_sync. > >>> Once the resourses are restored to active state again in resume, > >>> the runtime pm usage count can be decreased with a pm_runtime_put. > >> > >> The PM core will ensure devices are runtime resumed before we enter > >> suspend precisely due to this sort of issue. > > > > I asked the very same question to Ulf (in speech, sorry > > so you couldn't see it...) > > > > So I guess we are talking about drivers/base/main.c > > > > in device_prepare() > > pm_runtime_get_noresume() is called > > This will increase the "usage_counter" for the device. It will not > "runtime_resume" the device, though it will prevent it from being > "runtime_suspended". Indeed. The PM core does _not_ insure that devices are runtime resumed before going into system suspend. Some subsystems may do this (the PCI subsystem does, for example -- see drivers/pci/pci-driver.c:pci_pm_prepare()), but the PM core doesn't. Alan Stern ------------------------------------------------------------------------------ WINDOWS 8 is here. Millions of people. Your app in 30 days. Visit The Windows 8 Center at Sourceforge for all your go to resources. http://windows8center.sourceforge.net/ join-generation-app-and-make-money-coding-fast/ ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <Pine.LNX.4.44L0.1210281659520.9245-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org>]
* Re: [PATCH] spi/pl022: Activate resourses before deactivate them in suspend [not found] ` <Pine.LNX.4.44L0.1210281659520.9245-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org> @ 2012-10-30 17:05 ` Ulf Hansson 0 siblings, 0 replies; 8+ messages in thread From: Ulf Hansson @ 2012-10-30 17:05 UTC (permalink / raw) To: Alan Stern Cc: Vipul Kumar Samar, Russell King, Viresh Kumar, Linus Walleij, Mark Brown, Rafael J. Wysocki, spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Ulf Hansson, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r On 28 October 2012 22:09, Alan Stern <stern-nwvwT67g6+6dFdvTe/nMLpVzexx5G7lz@public.gmane.org> wrote: > On Sun, 28 Oct 2012, Ulf Hansson wrote: > >> On 28 October 2012 20:52, Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> wrote: >> > On Sat, Oct 27, 2012 at 11:46 PM, Mark Brown >> > <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org> wrote: >> >> On Fri, Oct 05, 2012 at 09:43:32AM +0200, Ulf Hansson wrote: >> >> >> >>> To be able to deactivate resourses in suspend, the resourses must >> >>> first be surely active. This is done with a pm_runtime_get_sync. >> >>> Once the resourses are restored to active state again in resume, >> >>> the runtime pm usage count can be decreased with a pm_runtime_put. >> >> >> >> The PM core will ensure devices are runtime resumed before we enter >> >> suspend precisely due to this sort of issue. >> > >> > I asked the very same question to Ulf (in speech, sorry >> > so you couldn't see it...) >> > >> > So I guess we are talking about drivers/base/main.c >> > >> > in device_prepare() >> > pm_runtime_get_noresume() is called >> >> This will increase the "usage_counter" for the device. It will not >> "runtime_resume" the device, though it will prevent it from being >> "runtime_suspended". > > Indeed. The PM core does _not_ insure that devices are runtime resumed > before going into system suspend. Some subsystems may do this (the PCI > subsystem does, for example -- see > drivers/pci/pci-driver.c:pci_pm_prepare()), but the PM core doesn't. > > Alan Stern > Thanks for clarifying this Alan. Although, I am having second thoughts around this patch even if it does what I expect it to do. I think that the pm_runtime_get_sync (and the corrsponding "put") should maybe be done in the suspend|resume functions of the amba bus (drivers/amba/bus.c) instead. The reason is because the amba bus is responsible for the apb_pclk - clk, which also should be handled during suspend and this is not the case right now. Unless we think each amba device driver should handle this clock during suspend|resume... Kind regards Ulf Hansson ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2012-10-30 17:05 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-05 7:43 [PATCH] spi/pl022: Activate resourses before deactivate them in suspend Ulf Hansson [not found] ` <1349423012-18048-1-git-send-email-ulf.hansson-0IS4wlFg1OjSUeElwK9/Pw@public.gmane.org> 2012-10-12 14:42 ` Ulf Hansson [not found] ` <CAPDyKFpa8XoEy-kq3nq0dbRtM=a1wJ7cx=OzCOqMY1PmXrXJYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-10-14 5:27 ` Mark Brown 2012-10-27 21:46 ` Mark Brown 2012-10-28 19:52 ` Linus Walleij [not found] ` <CACRpkdbCfxnSSLR6GoSbAxtfnwOivxCCrLtwnR=9tpwpfACqTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-10-28 20:28 ` Ulf Hansson [not found] ` <CAPDyKFoOJz6608b4z2PoW8ODvTJVZRq-yB0itfXnuoXdR1SpGQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2012-10-28 21:09 ` Alan Stern [not found] ` <Pine.LNX.4.44L0.1210281659520.9245-100000-pYrvlCTfrz9XsRXLowluHWD2FQJk+8+b@public.gmane.org> 2012-10-30 17:05 ` Ulf Hansson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).