linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/23] ARM: at91: Properly handle slow clock
@ 2015-07-31  9:39 Alexandre Belloni
  2015-07-31  9:39 ` [PATCH 01/23] Documentation: dt: atmel-at91: add clocks to system timer, rstc and shdwc Alexandre Belloni
                   ` (24 more replies)
  0 siblings, 25 replies; 39+ messages in thread
From: Alexandre Belloni @ 2015-07-31  9:39 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

It was discovered that all the slow clock user were not properly claiming it.
This can end up in a system hang because the last registered user is releasing
it, and it gets disabled.

commit dca1a4b5ff6e ("clk: at91: keep slow clk enabled to prevent system hang")
was a workaround. This series is adding the slow clock to the necessary drivers
to avoid the issue and then removes that workaround.

The Documentation updates and DT patches should probably go through the AT91
tree this cycle to avoid breakage.

Then the other patches can go through each subsystem tree. They are trivial
enough to also go in this cycle.

The final clk patch depends on the other ones and may be taken for the next
cycle to avoid synchronization issues.

I've thrown in a cleanup for at91-reset as it avoids adding support for that
clock to the platform data initialization

Changes in v2:
 - statisticize the global in the atmel-st change
 - merge at91_reset_of_probe() in at91_reset_probe()
 - added patches from Boris for the TCB
 - added the slow clock to the TCB

Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-clk at vger.kernel.org
Cc: linux-pm at vger.kernel.org
Cc: linux-pwm at vger.kernel.org
Cc: linux-watchdog at vger.kernel.org
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: rtc-linux at googlegroups.com
Cc: Sebastian Reichel <sre@kernel.org>
Cc: Stephen Boyd <sboyd@codeaurora.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Wim Van Sebroeck <wim@iguana.be>

Alexandre Belloni (20):
  Documentation: dt: atmel-at91: add clocks to system timer, rstc and
    shdwc
  Documentation: watchdog: at91sam9_wdt: add clocks property
  Documentation: dt: rtc: at91rm9200: add clocks property
  ARM: at91/dt: at91rm9200: use slow clock where necessary
  ARM: at91/dt: at91sam9260: use slow clock where necessary
  ARM: at91/dt: at91sam9261: use slow clock where necessary
  ARM: at91/dt: at91sam9263: use slow clock where necessary
  ARM: at91/dt: at91sam9g45: use slow clock where necessary
  ARM: at91/dt: at91sam9n12: use slow clock where necessary
  ARM: at91/dt: at91sam9rl: use slow clock where necessary
  ARM: at91/dt: at91sam9x5: use slow clock where necessary
  ARM: at91/dt: sama5d3: use slow clock where necessary
  ARM: at91/dt: sama5d4: use slow clock where necessary
  rtc: at91rm9200: get and use slow clock
  watchdog: at91sam9: get and use slow clock
  power/reset: at91-reset: remove useless at91_reset_platform_probe()
  power/reset: at91-reset: get and use slow clock
  power/reset: at91-poweroff: get and use slow clock
  clocksource: atmel-st: get and use slow clock
  clk: at91: Revert "keep slow clk enabled to prevent system hang"

Boris Brezillon (3):
  Documentation: dt: atmel-at91: add slow clock to tcb
  clocksource: tcb_clksrc: fix setup_clkevents error path
  misc: atmel_tclib: get and use slow clock

 .../devicetree/bindings/arm/atmel-at91.txt         | 13 +++--
 .../bindings/rtc/atmel,at91rm9200-rtc.txt          |  2 +
 .../devicetree/bindings/watchdog/atmel-wdt.txt     |  2 +
 arch/arm/boot/dts/at91rm9200.dtsi                  | 10 ++--
 arch/arm/boot/dts/at91sam9260.dtsi                 | 11 +++--
 arch/arm/boot/dts/at91sam9261.dtsi                 |  7 ++-
 arch/arm/boot/dts/at91sam9263.dtsi                 |  7 ++-
 arch/arm/boot/dts/at91sam9g45.dtsi                 | 12 +++--
 arch/arm/boot/dts/at91sam9n12.dtsi                 | 12 +++--
 arch/arm/boot/dts/at91sam9rl.dtsi                  |  8 ++-
 arch/arm/boot/dts/at91sam9x5.dtsi                  | 12 +++--
 arch/arm/boot/dts/sama5d3.dtsi                     |  8 ++-
 arch/arm/boot/dts/sama5d3_tcb1.dtsi                |  4 +-
 arch/arm/boot/dts/sama5d4.dtsi                     | 12 +++--
 drivers/clk/at91/clk-slow.c                        | 27 ----------
 drivers/clocksource/tcb_clksrc.c                   | 10 +++-
 drivers/clocksource/timer-atmel-st.c               | 31 ++++++++----
 drivers/misc/atmel_tclib.c                         |  4 ++
 drivers/power/reset/at91-poweroff.c                | 13 +++++
 drivers/power/reset/at91-reset.c                   | 57 ++++++----------------
 drivers/pwm/pwm-atmel-tcb.c                        | 23 ++++++---
 drivers/rtc/rtc-at91rm9200.c                       | 27 ++++++++--
 drivers/watchdog/at91sam9_wdt.c                    | 22 ++++++++-
 include/linux/atmel_tc.h                           |  1 +
 24 files changed, 206 insertions(+), 129 deletions(-)

-- 
2.1.4

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

end of thread, other threads:[~2015-08-10 17:11 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-31  9:39 [PATCH 00/23] ARM: at91: Properly handle slow clock Alexandre Belloni
2015-07-31  9:39 ` [PATCH 01/23] Documentation: dt: atmel-at91: add clocks to system timer, rstc and shdwc Alexandre Belloni
2015-08-05 18:11   ` Sebastian Reichel
2015-07-31  9:39 ` [PATCH 02/23] Documentation: dt: atmel-at91: add slow clock to tcb Alexandre Belloni
2015-07-31  9:39 ` [PATCH 03/23] Documentation: watchdog: at91sam9_wdt: add clocks property Alexandre Belloni
2015-07-31  9:39 ` [PATCH 04/23] Documentation: dt: rtc: at91rm9200: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 05/23] ARM: at91/dt: at91rm9200: use slow clock where necessary Alexandre Belloni
2015-07-31  9:39 ` [PATCH 06/23] ARM: at91/dt: at91sam9260: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 07/23] ARM: at91/dt: at91sam9261: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 08/23] ARM: at91/dt: at91sam9263: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 09/23] ARM: at91/dt: at91sam9g45: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 10/23] ARM: at91/dt: at91sam9n12: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 11/23] ARM: at91/dt: at91sam9rl: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 12/23] ARM: at91/dt: at91sam9x5: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 13/23] ARM: at91/dt: sama5d3: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 14/23] ARM: at91/dt: sama5d4: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 15/23] rtc: at91rm9200: get and use slow clock Alexandre Belloni
2015-07-31  9:39 ` [PATCH 16/23] watchdog: at91sam9: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 17/23] power/reset: at91-reset: remove useless at91_reset_platform_probe() Alexandre Belloni
2015-07-31  9:39 ` [PATCH 18/23] power/reset: at91-reset: get and use slow clock Alexandre Belloni
2015-08-05 18:22   ` Sebastian Reichel
2015-08-10 15:50     ` Alexandre Belloni
2015-08-10 17:11       ` Sebastian Reichel
2015-07-31  9:39 ` [PATCH 19/23] power/reset: at91-poweroff: " Alexandre Belloni
2015-08-05 18:22   ` Sebastian Reichel
2015-07-31  9:39 ` [PATCH 20/23] clocksource: atmel-st: " Alexandre Belloni
2015-07-31  9:39 ` [PATCH 21/23] clocksource: tcb_clksrc: fix setup_clkevents error path Alexandre Belloni
2015-07-31  9:39 ` [PATCH 22/23] misc: atmel_tclib: get and use slow clock Alexandre Belloni
2015-08-05 20:45   ` Greg Kroah-Hartman
2015-07-31  9:39 ` [PATCH 23/23] clk: at91: Revert "keep slow clk enabled to prevent system hang" Alexandre Belloni
2015-07-31 19:00   ` Stephen Boyd
2015-07-31 21:09     ` Alexandre Belloni
2015-07-31 21:11       ` Stephen Boyd
2015-07-31 21:27         ` Alexandre Belloni
2015-07-31 21:34           ` Stephen Boyd
2015-07-31 22:24             ` Alexandre Belloni
2015-07-31  9:59 ` [PATCH 00/23] ARM: at91: Properly handle slow clock Boris Brezillon
2015-07-31 10:20   ` Alexandre Belloni
2015-07-31 15:21 ` Alexandre Belloni

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).