Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755217Ab3H2Oza (ORCPT ); Thu, 29 Aug 2013 10:55:30 -0400 Received: from service87.mimecast.com ([91.220.42.44]:41295 "EHLO service87.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754455Ab3H2Oz3 (ORCPT ); Thu, 29 Aug 2013 10:55:29 -0400 From: Sudeep KarkadaNagesha To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Sudeep.KarkadaNagesha@arm.com, Lorenzo Pieralisi , Will Deacon , Catalin Marinas , Thomas Gleixner , Daniel Lezcano , Sudeep KarkadaNagesha Subject: [PATCH v6 0/5] ARM/ARM64 architected timer updates Date: Thu, 29 Aug 2013 15:55:37 +0100 Message-Id: <1377788142-21388-1-git-send-email-Sudeep.KarkadaNagesha@arm.com> X-Mailer: git-send-email 1.8.1.2 X-OriginalArrivalTime: 29 Aug 2013 14:55:25.0150 (UTC) FILETIME=[CAFF4FE0:01CEA4C7] X-MC-Unique: 113082915552603101 Content-Type: text/plain; charset=WINDOWS-1252 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id r7TEuDhG015646 Content-Length: 3205 Lines: 79 From: Sudeep KarkadaNagesha This patch series adds support to configure the rate and enable the event stream for architected timer. The event streams can be used to impose a timeout on a wfe, to safeguard against any programming error in case an expected event is not generated or even to implement wfe-based timeouts for userspace locking implementations. This feature can be disabled(enabled by default). Since the timer control register is reset to zero on warm boot, CPU PM notifier is added to save and restore the value. Changes v5->v6: 1. Disabling event stream by default on boot and enable it only if CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y This removes runtime configuration of timer event stream. 2. Moved COMPAT_ELF_HWCAP_DEFAULT to arch/arm64/kernel/setup.c Changes v4->v5: 1. Removed compat_dyn_elf_hwcap and used just compat_elf_hwcap as per Catalin's suggestion 2. Instead of resetting event stream in CPU PM callbacks, saving and restoring counter control register now. Changes v3->v4: 1. Added a config option to en/disable the timer event stream feature. Due to this the ordering of the patches as well as some cosmetic code changes are done.( So dropped previous reviewed-by tags) 2. Removed exporting compat_dyn_elf_hwcap as there are no modules requiring it for now. Changes v2->v3: 1. Moved ARM and ARM64 changes into separate patches 2. Added native hwcaps definations(ARM/ARM64) and compat-specific definitions(ARM64) to the users for the event stream feature. Changes v1->v2: 1. Saved event stream divider value on cold reset path and re-used it in CPU PM notifier instead of calculating every time. 2. Rebased on v3.11-rc2(to avoid conflicts with __cpuinit* deletion) 3. Dropped "ARM/ARM64: arch_timer: remove __cpuinit attribute for arch_counter_set_user_access"(already done as part of __cpuinit* deletion) Regards, Sudeep Sudeep KarkadaNagesha (4): ARM/ARM64: arch_timer: add macros for bits in control register ARM: arch_timer: add support to configure and enable event stream ARM64: arch_timer: add support to configure and enable event stream drivers: clocksource: add CPU PM notifier for ARM architected timer Will Deacon (1): drivers: clocksource: add support for ARM architected timer event stream arch/arm/include/asm/arch_timer.h | 36 ++++++++++++++++++++++---- arch/arm/include/uapi/asm/hwcap.h | 1 + arch/arm/kernel/setup.c | 1 + arch/arm64/include/asm/arch_timer.h | 42 ++++++++++++++++++++++++++----- arch/arm64/include/asm/hwcap.h | 11 ++++---- arch/arm64/include/uapi/asm/hwcap.h | 1 + arch/arm64/kernel/setup.c | 11 ++++++++ drivers/clocksource/Kconfig | 14 +++++++++++ drivers/clocksource/arm_arch_timer.c | 49 ++++++++++++++++++++++++++++++++++++ include/clocksource/arm_arch_timer.h | 10 ++++++++ 10 files changed, 160 insertions(+), 16 deletions(-) -- 1.8.1.2 -- 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/