All of lore.kernel.org
 help / color / mirror / Atom feed
* [FOR DISCUSSION 0/9] Dove PMU support
@ 2015-03-12 18:30 ` Russell King - ARM Linux
  0 siblings, 0 replies; 125+ messages in thread
From: Russell King - ARM Linux @ 2015-03-12 18:30 UTC (permalink / raw)
  To: Andrew Lunn, Jason Cooper, Rafael J. Wysocki, Sebastian Hesselbarth
  Cc: Mark Rutland, devicetree, Pawel Moll, Len Brown, Ian Campbell,
	Greg Kroah-Hartman, linux-pm, Rob Herring, Kumar Gala,
	linux-arm-kernel

This is a re-posting of the patch set which I posted almost 10 months
ago to support the Dove PMU, with a few additional changes.  This set
is based upon 3.19.

In this set are:

* two patches which Rafael originally acked, but there was indecision
  last time around how to handle them due to potential conflicts with
  work that Ulf was doing.  These patches have been updated to apply
  cleanly to 3.19.  I don't know if people want to take these as
  fixes to the PM domain code or not (hence why I'm posting this
  series during the merge window - if it weren't for this, I'd hold
  it off.)

* what I regard as a fix to the PM domain code; as a result of a
  previous commit, the PM domain code mismatches the runtime PM state,
  which leads to the PM domain being unexpectedly left on.  This patch
  has been re-worked to try an alternative approach, syncing the PM
  domain state with the runtime PM state after the probe has completed.

* the addition of the core Dove PMU driver, which consists of a reset,
  IRQ controller, and power domains.  The reset and power domain code
  has to be closely related due to the power up/down requirements of
  the GPU/VPU subsystems needing to be performed atomically.  (This
  requirement prevents it using the MFD infrastructure, because we
  would need to hold spinlocks while calling several different
  sub-drivers.)

* addition of the RTC interrupt, so we can now receive and act on
  alarms generated by the Dove RTC.

* addition of the DT descriptions for the GPU and VPU power domains.
  These patches do not themselves add the DT descriptions for these
  units, so these patches serve as illustrations how these should be
  described.

I've also included the DT binding documentation as a separate patch this
time around, and moved the PMU driver to drivers/soc/dove.

There are some gotchas with it - PM domains need to be created prior
to any device which uses them being probed, so it is best if the driver
is initialised early in the kernel boot.  We may be able to get away
with a core_initcall() or a postcore_initcall().

I'd ideally like to get these queued for merging in the _next_ merge
window if at all possible, if only to reduce the number of patches I've
been carrying for the last few years.  Failing that, if at least the
patches which Rafael has already acked could be applied, that would at
least get /some/ form of forward progress.

 Documentation/devicetree/bindings/soc/dove/pmu.txt |  49 +++
 arch/arm/boot/dts/dove.dtsi                        |  25 ++
 arch/arm/mach-mvebu/Kconfig                        |   1 +
 drivers/base/platform.c                            |   2 +
 drivers/base/power/common.c                        |  15 +
 drivers/base/power/domain.c                        |  33 +-
 drivers/soc/Makefile                               |   1 +
 drivers/soc/dove/Makefile                          |   1 +
 drivers/soc/dove/pmu.c                             | 399 +++++++++++++++++++++
 include/linux/pm.h                                 |   1 +
 include/linux/pm_domain.h                          |   4 +
 include/linux/soc/dove/pmu.h                       |   6 +
 12 files changed, 532 insertions(+), 5 deletions(-)

-- 
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.

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

end of thread, other threads:[~2015-03-26 16:00 UTC | newest]

Thread overview: 125+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-12 18:30 [FOR DISCUSSION 0/9] Dove PMU support Russell King - ARM Linux
2015-03-12 18:30 ` Russell King - ARM Linux
2015-03-12 18:30 ` [PATCH 1/9] pm: domains: quieten down generic pm domains Russell King
2015-03-13  8:46   ` Ulf Hansson
2015-03-13 15:57   ` Kevin Hilman
2015-03-12 18:31 ` [PATCH 2/9] pm: domains: avoid potential oops in pm_genpd_remove_device() Russell King
2015-03-13  8:56   ` Ulf Hansson
2015-03-13  9:20     ` Russell King - ARM Linux
2015-03-13 12:45       ` Geert Uytterhoeven
2015-03-14  1:27         ` Rafael J. Wysocki
2015-03-13 13:23     ` Russell King - ARM Linux
2015-03-13 16:33   ` Kevin Hilman
2015-03-13 16:58     ` Russell King - ARM Linux
2015-03-12 18:31 ` [PATCH 3/9] pm: domains: sync runtime PM status with PM domains after probe Russell King
2015-03-12 23:25   ` Rafael J. Wysocki
2015-03-13  9:30   ` Ulf Hansson
2015-03-13 10:14     ` Russell King - ARM Linux
2015-03-13 10:42       ` Ulf Hansson
2015-03-13 13:39     ` Russell King - ARM Linux
2015-03-13 16:45   ` Kevin Hilman
2015-03-12 18:31 ` [PATCH 5/9] ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets Russell King
2015-03-13 12:07   ` Arnd Bergmann
2015-03-13 12:29     ` Russell King - ARM Linux
2015-03-13 12:42       ` Arnd Bergmann
2015-03-13 12:47         ` Russell King - ARM Linux
2015-03-13 15:08           ` Arnd Bergmann
2015-03-13 15:28             ` Russell King - ARM Linux
2015-03-13 15:36               ` Arnd Bergmann
2015-03-13 12:59         ` Russell King - ARM Linux
2015-03-13 16:22 ` [FOR DISCUSSION 0/10] Dove PMU support Russell King - ARM Linux
2015-03-13 16:23 ` [PATCH 01/10] pm: domains: quieten down generic pm domains Russell King
2015-03-13 16:23   ` Russell King
2015-03-13 17:10   ` Kevin Hilman
2015-03-13 17:10     ` Kevin Hilman
2015-03-13 16:23 ` [PATCH 02/10] pm: domains: factor out code to get the generic PM domain from a struct device Russell King
2015-03-13 16:23   ` Russell King
2015-03-13 17:20   ` Kevin Hilman
2015-03-13 17:20     ` Kevin Hilman
2015-03-13 17:35     ` Russell King - ARM Linux
2015-03-13 17:35       ` Russell King - ARM Linux
2015-03-13 16:23 ` [PATCH 03/10] pm: domains: avoid potential oops in pm_genpd_remove_device() Russell King
2015-03-13 16:23   ` Russell King
2015-03-13 17:28   ` Kevin Hilman
2015-03-13 17:28     ` Kevin Hilman
2015-03-13 16:23 ` [PATCH 06/10] ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets Russell King
     [not found] ` <20150312183020.GU8656-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2015-03-12 18:31   ` [PATCH 4/9] dt-bindings: add Marvell PMU documentation Russell King
     [not found]     ` <E1YW7t0-0003mE-My-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2015-03-12 21:32       ` Rob Herring
     [not found]         ` <CAL_Jsq+R70GVsuig7Ebo49_MeneD_RZ=E0haTVsb_xFhTR7-pw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-12 21:42           ` Russell King - ARM Linux
2015-03-13 12:02       ` Arnd Bergmann
2015-03-12 18:31   ` [PATCH 6/9] ARM: dt: dove: add Dove PMU DT entry to dove.dtsi Russell King
2015-03-12 18:31     ` Russell King
     [not found]     ` <E1YW7tB-0003mM-1L-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2015-03-13 12:30       ` Thomas Petazzoni
2015-03-13 12:30         ` Thomas Petazzoni
     [not found]         ` <20150313133038.0a3ae8d1-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-13 12:33           ` Russell King - ARM Linux
2015-03-13 12:33             ` Russell King - ARM Linux
2015-03-16 18:27       ` Gregory CLEMENT
2015-03-16 18:27         ` Gregory CLEMENT
     [not found]         ` <55072092.9040207-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2015-03-17 13:43           ` Russell King - ARM Linux
2015-03-17 13:43             ` Russell King - ARM Linux
     [not found]             ` <20150317134335.GV8656-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2015-03-17 15:09               ` Sebastian Hesselbarth
2015-03-17 15:09                 ` Sebastian Hesselbarth
     [not found]                 ` <5508439F.4000507-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-17 15:15                   ` Russell King - ARM Linux
2015-03-17 15:15                     ` Russell King - ARM Linux
2015-03-25  8:25                   ` Linus Walleij
2015-03-25  8:25                     ` Linus Walleij
2015-03-12 18:31   ` [PATCH 7/9] ARM: dt: dove: wire up RTC interrupt Russell King
2015-03-12 18:31     ` Russell King
2015-03-12 18:31   ` [PATCH 8/9] ARM: dt: dove: add video decoder power domain description Russell King
2015-03-12 18:31     ` Russell King
2015-03-12 18:31   ` [PATCH 9/9] ARM: dt: dove: add GPU " Russell King
2015-03-12 18:31     ` Russell King
2015-03-13 11:57   ` [FOR DISCUSSION 0/9] Dove PMU support Arnd Bergmann
2015-03-13 11:57     ` Arnd Bergmann
2015-03-13 12:11     ` Russell King - ARM Linux
2015-03-13 12:11       ` Russell King - ARM Linux
2015-03-13 12:26       ` Arnd Bergmann
2015-03-13 12:26         ` Arnd Bergmann
2015-03-13 12:32         ` Russell King - ARM Linux
2015-03-13 12:32           ` Russell King - ARM Linux
2015-03-13 12:47           ` Arnd Bergmann
2015-03-13 12:47             ` Arnd Bergmann
2015-03-13 16:23   ` [PATCH 04/10] pm: domains: sync runtime PM status with PM domains after probe Russell King
2015-03-13 16:23     ` Russell King
     [not found]     ` <E1YWSN5-0006G5-Ld-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2015-03-13 17:33       ` Kevin Hilman
2015-03-13 17:33         ` Kevin Hilman
2015-03-13 16:23   ` [PATCH 05/10] dt-bindings: add Marvell PMU documentation Russell King
2015-03-13 16:23     ` Russell King
     [not found]     ` <E1YWSNA-0006G9-Rr-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2015-03-17  0:28       ` Rob Herring
2015-03-17  0:28         ` Rob Herring
2015-03-13 16:23   ` [PATCH 07/10] ARM: dt: dove: add Dove PMU DT entry to dove.dtsi Russell King
2015-03-13 16:23     ` Russell King
2015-03-13 16:23   ` [PATCH 08/10] ARM: dt: dove: wire up RTC interrupt Russell King
2015-03-13 16:23     ` Russell King
2015-03-13 16:24   ` [PATCH 09/10] ARM: dt: dove: add video decoder power domain description Russell King
2015-03-13 16:24     ` Russell King
2015-03-13 16:24   ` [PATCH 10/10] ARM: dt: dove: add GPU " Russell King
2015-03-13 16:24     ` Russell King
2015-03-19 21:59 ` [FOR DISCUSSION 0/9] Dove PMU support Rafael J. Wysocki
2015-03-19 21:59   ` Rafael J. Wysocki
2015-03-19 22:02   ` Rafael J. Wysocki
2015-03-19 22:02     ` Rafael J. Wysocki
2015-03-20 12:16     ` Russell King - ARM Linux
2015-03-20 12:16       ` Russell King - ARM Linux
2015-03-20 12:44       ` Rafael J. Wysocki
2015-03-20 12:44         ` Rafael J. Wysocki
2015-03-20 17:19         ` Russell King - ARM Linux
2015-03-20 17:19           ` Russell King - ARM Linux
2015-03-20 17:20           ` [PATCH 1/3] pm: domains: quieten down generic pm domains Russell King
2015-03-20 17:20             ` Russell King
2015-03-20 17:20           ` [PATCH 2/3] pm: domains: factor out code to get the generic PM domain from a struct device Russell King
2015-03-20 17:20             ` Russell King
2015-03-23 13:28             ` Ulf Hansson
2015-03-23 13:28               ` Ulf Hansson
2015-03-23 15:17               ` Russell King - ARM Linux
2015-03-23 15:17                 ` Russell King - ARM Linux
2015-03-24  0:29                 ` Rafael J. Wysocki
2015-03-24  0:29                   ` Rafael J. Wysocki
2015-03-26 15:20                   ` Russell King - ARM Linux
2015-03-26 15:20                     ` Russell King - ARM Linux
2015-03-26 16:00                     ` Russell King - ARM Linux
2015-03-26 16:00                       ` Russell King - ARM Linux
2015-03-20 17:20           ` [PATCH 3/3] pm: domains: avoid potential oops in pm_genpd_remove_device() Russell King
2015-03-20 17:20             ` Russell King
2015-03-23 13:32             ` Ulf Hansson
2015-03-23 13:32               ` Ulf Hansson

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.