Go to file
Ard Biesheuvel 21492e1333 clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame
The ACPI GTDT code validates the CNTFRQ field of each MMIO timer
frame against the CNTFRQ system register of the current CPU, to
ensure that they are equal, which is mandated by the architecture.

However, reading the CNTFRQ field of a frame is not possible until
the RFRQ bit in the frame's CNTACRn register is set, and doing so
before that willl produce the following error:

  arch_timer: [Firmware Bug]: CNTFRQ mismatch: frame @ 0x00000000e0be0000: (0x00000000), CPU: (0x0ee6b280)
  arch_timer: Disabling MMIO timers due to CNTFRQ mismatch
  arch_timer: Failed to initialize memory-mapped timer.

The reason is that the CNTFRQ field is RES0 if access is not enabled.

So move the validation of CNTFRQ into the loop that iterates over the
timers to find the best frame, but defer it until after we have selected
the best frame, which should also have enabled the RFRQ bit.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
2017-10-19 23:49:05 +02:00
arch timer: Remove expires and data arguments from DEFINE_TIMER 2017-10-05 15:01:20 +02:00
block block: fix a crash caused by wrong API 2017-09-25 08:56:05 -06:00
certs
crypto crypto: af_alg - update correct dst SGL entry 2017-09-20 17:42:42 +08:00
Documentation dt-bindings: timer: renesas, cmt: Fix SoC-specific compatible values 2017-10-19 23:48:53 +02:00
drivers clocksource/drivers/arm_arch_timer: Validate CNTFRQ after enabling frame 2017-10-19 23:49:05 +02:00
firmware firmware: Restore support for built-in firmware 2017-09-16 10:58:48 -07:00
fs timer: Remove expires and data arguments from DEFINE_TIMER 2017-10-05 15:01:20 +02:00
include workqueue: Convert callback to use from_timer() 2017-10-05 15:01:22 +02:00
init Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-09-14 18:54:01 -07:00
ipc fix a typo in put_compat_shm_info() 2017-09-25 20:41:46 -04:00
kernel clockevents: Retry programming min delta up to 10 times 2017-10-19 16:29:15 +02:00
lib timer: Remove expires and data arguments from DEFINE_TIMER 2017-10-05 15:01:20 +02:00
mm percpu: fix iteration to prevent skipping over block 2017-09-28 07:39:27 -07:00
net timer: Remove expires and data arguments from DEFINE_TIMER 2017-10-05 15:01:20 +02:00
samples media updates for v4.14-rc1 2017-09-07 12:53:14 -07:00
scripts objtool: Skip unreachable warnings for GCC 4.4 and older 2017-09-28 07:23:02 +02:00
security timer: Remove expires and data arguments from DEFINE_TIMER 2017-10-05 15:01:20 +02:00
sound timer: Remove expires and data arguments from DEFINE_TIMER 2017-10-05 15:01:20 +02:00
tools Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-10-01 12:06:31 -07:00
usr
virt Revert "KVM: Don't accept obviously wrong gsi values via KVM_IRQFD" 2017-09-19 08:37:17 +02:00
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS selinux/stable-4.14 PR 20170831 2017-09-12 13:21:00 -07:00
Kbuild
Kconfig
MAINTAINERS MAINTAINERS: Fix path and add bindings to timers 2017-10-19 23:49:04 +02:00
Makefile Linux 4.14-rc3 2017-10-01 14:54:54 -07:00
README

Linux kernel
============

This file was moved to Documentation/admin-guide/README.rst

Please notice that there are several guides for kernel developers and users.
These guides can be rendered in a number of formats, like HTML and PDF.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.