From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752158AbeEKC2C (ORCPT ); Thu, 10 May 2018 22:28:02 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:32845 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752040AbeEKC2B (ORCPT ); Thu, 10 May 2018 22:28:01 -0400 X-ME-Sender: From: Samuel Holland To: Maxime Ripard , Chen-Yu Tsai , Catalin Marinas , Will Deacon , Daniel Lezcano , Thomas Gleixner , Marc Zyngier Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com Subject: [PATCH 0/2] Allwinner A64 timer workaround Date: Thu, 10 May 2018 21:27:49 -0500 Message-Id: <20180511022751.9096-1-samuel@sholland.org> X-Mailer: git-send-email 2.16.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Several people (including me) have experienced extremely large system clock jumps on their A64-based devices, apparently due to the architectural timer going backward, which is interpreted by Linux as the timer wrapping around after 2^56 cycles. Investigation led to discovery of some obvious problems with this SoC's architectural timer, and this patch series introduces what I believe is the simplest workaround. More details are in the commit message for patch 1. Patch 2 simply enables the workaround in the device tree. Thanks, Samuel Samuel Holland (2): arm64: arch_timer: Workaround for Allwinner A64 timer instability arm64: dts: allwinner: a64: Enable A64 timer workaround arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 1 + drivers/clocksource/Kconfig | 11 ++++++++ drivers/clocksource/arm_arch_timer.c | 39 +++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) -- 2.16.1