Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751862AbbEZSok (ORCPT ); Tue, 26 May 2015 14:44:40 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:52999 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751336AbbEZSoh (ORCPT ); Tue, 26 May 2015 14:44:37 -0400 From: Ezequiel Garcia To: , , "Daniel Lezcano" , CC: Thomas Gleixner , Andrew Bresticker , James Hartley , , , James Hogan , Ezequiel Garcia Subject: [PATCH v2 0/7] Clocksource changes for Pistachio CPUFreq Date: Tue, 26 May 2015 15:39:01 -0300 Message-ID: <1432665548-16024-1-git-send-email-ezequiel.garcia@imgtec.com> X-Mailer: git-send-email 2.3.3 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.100.200.175] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2917 Lines: 68 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/