[PATCH v2 0/7] Clocksource changes for Pistachio CPUFreq

From: Ezequiel Garcia
Date: Tue May 26 2015 - 14:44:42 EST


The purpose of this patchset is to support CPUFreq on Pistachio SoC.
However, given Pistachio uses the MIPS GIC clocksource and clockevent
drivers (clocked from the CPU), adding CPUFreq support needs some work.

This patchset changes the MIPS GIC clockevent driver to update
the frequency of the per-cpu clockevents using a clock notifier.

Then, we add a clocksource driver for IMG Pistachio SoC, based on the
general purpose timers. The SoC only provides four timers, so we can't
use them to implement the four clockevents and the clocksource.

However, we can use one of these timers to provide a clocksource and
a sched clock. Given the general purpose timers are clocked from the
peripheral system clock tree, they are not affected by CPU rate changes.

Patches 1 to 3 are just style cleaning and preparation work. Patch 4
adds the clockevent frequency update.

Patches 5 and 6 add the new clocksource driver.

Patch 7 introduces an option to enable the timer based clocksource
on Pistachio.

For CPUFreq to really work, clk driver changes are needed to support
MIPS PLL clock rate change. Patches for this will be posted soon.

This series apply on v4.1-rc5. As always, comments and feedback are welcome!

Changes since v1
----------------

Addressed review comments by Andrew:
* Fix typo
* Fix style issues
* Use readl/writel accessors instead of raw variants
* Drop spurious comment and of_device_id table
* Add a pistachio_ prefix to clocksource functions

Ezequiel Garcia (7):
clocksource: mips-gic: Enable the clock before using it
clocksource: mips-gic: Add missing error returns checks
clocksource: mips-gic: Split clocksource and clockevent initialization
clocksource: mips-gic: Update clockevent frequency on clock rate
changes
clocksource: Add Pistachio SoC general purpose timer binding document
clocksource: Add Pistachio clocksource-only driver
mips: pistachio: Allow to enable the external timer based clocksource

.../bindings/timer/img,pistachio-gptimer.txt | 28 +++
arch/mips/Kconfig | 1 +
arch/mips/pistachio/Kconfig | 13 ++
drivers/clocksource/Kconfig | 4 +
drivers/clocksource/Makefile | 1 +
drivers/clocksource/mips-gic-timer.c | 65 ++++++-
drivers/clocksource/time-pistachio.c | 194 +++++++++++++++++++++
7 files changed, 297 insertions(+), 9 deletions(-)
create mode 100644 Documentation/devicetree/bindings/timer/img,pistachio-gptimer.txt
create mode 100644 arch/mips/pistachio/Kconfig
create mode 100644 drivers/clocksource/time-pistachio.c

--
2.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/