Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753982AbbG0OBZ (ORCPT ); Mon, 27 Jul 2015 10:01:25 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:9750 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752074AbbG0OBX (ORCPT ); Mon, 27 Jul 2015 10:01:23 -0400 From: Govindraj Raja To: , , "Daniel Lezcano" , CC: Thomas Gleixner , Andrew Bresticker , James Hartley , "Govindraj Raja" , Damien Horsley , James Hogan , Ezequiel Garcia , Ezequiel Garcia Subject: [PATCH v4 0/7] Clocksource changes for Pistachio CPUFreq. Date: Mon, 27 Jul 2015 15:00:11 +0100 Message-ID: <1438005618-27003-1-git-send-email-govindraj.raja@imgtec.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [192.168.167.141] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3212 Lines: 79 From: Ezequiel Garcia 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.2-rc3. As always, comments and feedback are welcome! Tested on Pistachio-Bring-up-Board. Patch series based on 4.2-rc3. Changes from v3: --------------- No Changes from v2 re-posting the series again. Changes from v2: --------------- * Fix spacing for consistency as pointed out by Sergei. 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 -- 1.9.1 -- 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/