summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDing Tianhong <dingtianhong@huawei.com>2017-02-06 16:47:42 +0000
committerDaniel Lezcano <daniel.lezcano@linaro.org>2017-02-08 00:14:04 +0100
commitbb42ca47401010fc02901b5e8f79e40a26f208cb (patch)
treeb93be8bb1c508f6e5777698b0f46f327d6581fe3 /lib
parent16d10ef29f25aba923779234bb93a451b14d20e6 (diff)
downloadlinux-bb42ca47401010fc02901b5e8f79e40a26f208cb.tar.gz
linux-bb42ca47401010fc02901b5e8f79e40a26f208cb.tar.xz
clocksource/drivers/arm_arch_timer: Work around Hisilicon erratum 161010101
Erratum Hisilicon-161010101 says that the ARM generic timer counter "has the potential to contain an erroneous value when the timer value changes". Accesses to TVAL (both read and write) are also affected due to the implicit counter read. Accesses to CVAL are not affected. The workaround is to reread the system count registers until the value of the second read is larger than the first one by less than 32, the system counter can be guaranteed not to return wrong value twice by back-to-back read and the error value is always larger than the correct one by 32. Writes to TVAL are replaced with an equivalent write to CVAL. Signed-off-by: Ding Tianhong <dingtianhong@huawei.com> [Mark: split patch, fix Kconfig, reword commit message] Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions