[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180712022515.7255-1-samuel@sholland.org>
Date: Wed, 11 Jul 2018 21:25:13 -0500
From: Samuel Holland <samuel@...lland.org>
To: Maxime Ripard <maxime.ripard@...tlin.com>,
Chen-Yu Tsai <wens@...e.org>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Thomas Gleixner <tglx@...utronix.de>,
Marc Zyngier <marc.zyngier@....com>,
Mark Rutland <Mark.Rutland@....com>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-sunxi@...glegroups.com, Samuel Holland <samuel@...lland.org>
Subject: [PATCH v2 0/2] Allwinner A64 timer workaround
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 at least a partial
workaround. It covers up small-scale instability in the timer, which
reduces the incidence of the large system clock jumps. More details are
in the commit message for patch 1. Patch 2 simply enables the workaround
in the device tree.
I chose not to send this to stable, since it is most likely not a
complete solution.
Thanks,
Samuel
changes since v1:
- Add an iteration limit like most other arch timer workarounds
- Added Andre's Tested-by
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 | 43 +++++++++++++++++++++++++++
3 files changed, 55 insertions(+)
--
2.16.1
Powered by blists - more mailing lists