This repository has been archived by the owner on Sep 24, 2020. It is now read-only.
forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/…
…linux/kernel/git/tip/tip Pull core timer updates from Thomas Gleixner: "Timers and timekeeping updates: - A large overhaul of the posix CPU timer code which is a preparation for moving the CPU timer expiry out into task work so it can be properly accounted on the task/process. An update to the bogus permission checks will come later during the merge window as feedback was not complete before heading of for travel. - Switch the timerqueue code to use cached rbtrees and get rid of the homebrewn caching of the leftmost node. - Consolidate hrtimer_init() + hrtimer_init_sleeper() calls into a single function - Implement the separation of hrtimers to be forced to expire in hard interrupt context even when PREEMPT_RT is enabled and mark the affected timers accordingly. - Implement a mechanism for hrtimers and the timer wheel to protect RT against priority inversion and live lock issues when a (hr)timer which should be canceled is currently executing the callback. Instead of infinitely spinning, the task which tries to cancel the timer blocks on a per cpu base expiry lock which is held and released by the (hr)timer expiry code. - Enable the Hyper-V TSC page based sched_clock for Hyper-V guests resulting in faster access to timekeeping functions. - Updates to various clocksource/clockevent drivers and their device tree bindings. - The usual small improvements all over the place" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (101 commits) posix-cpu-timers: Fix permission check regression posix-cpu-timers: Always clear head pointer on dequeue hrtimer: Add a missing bracket and hide `migration_base' on !SMP posix-cpu-timers: Make expiry_active check actually work correctly posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build tick: Mark sched_timer to expire in hard interrupt context hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD x86/hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n posix-cpu-timers: Utilize timerqueue for storage posix-cpu-timers: Move state tracking to struct posix_cputimers posix-cpu-timers: Deduplicate rlimit handling posix-cpu-timers: Remove pointless comparisons posix-cpu-timers: Get rid of 64bit divisions posix-cpu-timers: Consolidate timer expiry further posix-cpu-timers: Get rid of zero checks rlimit: Rewrite non-sensical RLIMIT_CPU comment posix-cpu-timers: Respect INFINITY for hard RTTIME limit posix-cpu-timers: Switch thread group sampling to array posix-cpu-timers: Restructure expiry array posix-cpu-timers: Remove cputime_expires ...
- Loading branch information
Showing
61 changed files
with
1,476 additions
and
895 deletions.
There are no files selected for viewing
102 changes: 102 additions & 0 deletions
102
Documentation/devicetree/bindings/timer/allwinner,sun4i-a10-timer.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/timer/allwinner,sun4i-a10-timer.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Allwinner A10 Timer Device Tree Bindings | ||
|
||
maintainers: | ||
- Chen-Yu Tsai <wens@csie.org> | ||
- Maxime Ripard <maxime.ripard@bootlin.com> | ||
|
||
properties: | ||
compatible: | ||
enum: | ||
- allwinner,sun4i-a10-timer | ||
- allwinner,sun8i-a23-timer | ||
- allwinner,sun8i-v3s-timer | ||
- allwinner,suniv-f1c100s-timer | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
description: | ||
List of timers interrupts | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
allOf: | ||
- if: | ||
properties: | ||
compatible: | ||
items: | ||
const: allwinner,sun4i-a10-timer | ||
|
||
then: | ||
properties: | ||
interrupts: | ||
minItems: 6 | ||
maxItems: 6 | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
items: | ||
const: allwinner,sun8i-a23-timer | ||
|
||
then: | ||
properties: | ||
interrupts: | ||
minItems: 2 | ||
maxItems: 2 | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
items: | ||
const: allwinner,sun8i-v3s-timer | ||
|
||
then: | ||
properties: | ||
interrupts: | ||
minItems: 3 | ||
maxItems: 3 | ||
|
||
- if: | ||
properties: | ||
compatible: | ||
items: | ||
const: allwinner,suniv-f1c100s-timer | ||
|
||
then: | ||
properties: | ||
interrupts: | ||
minItems: 3 | ||
maxItems: 3 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- clocks | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
timer { | ||
compatible = "allwinner,sun4i-a10-timer"; | ||
reg = <0x01c20c00 0x400>; | ||
interrupts = <22>, | ||
<23>, | ||
<24>, | ||
<25>, | ||
<67>, | ||
<68>; | ||
clocks = <&osc>; | ||
}; | ||
... |
19 changes: 0 additions & 19 deletions
19
Documentation/devicetree/bindings/timer/allwinner,sun4i-timer.txt
This file was deleted.
Oops, something went wrong.
26 changes: 0 additions & 26 deletions
26
Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.txt
This file was deleted.
Oops, something went wrong.
79 changes: 79 additions & 0 deletions
79
Documentation/devicetree/bindings/timer/allwinner,sun5i-a13-hstimer.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/timer/allwinner,sun5i-a13-hstimer.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Allwinner A13 High-Speed Timer Device Tree Bindings | ||
|
||
maintainers: | ||
- Chen-Yu Tsai <wens@csie.org> | ||
- Maxime Ripard <maxime.ripard@bootlin.com> | ||
|
||
properties: | ||
compatible: | ||
oneOf: | ||
- const: allwinner,sun5i-a13-hstimer | ||
- const: allwinner,sun7i-a20-hstimer | ||
- items: | ||
- const: allwinner,sun6i-a31-hstimer | ||
- const: allwinner,sun7i-a20-hstimer | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
minItems: 2 | ||
maxItems: 4 | ||
items: | ||
- description: Timer 0 Interrupt | ||
- description: Timer 1 Interrupt | ||
- description: Timer 2 Interrupt | ||
- description: Timer 3 Interrupt | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
resets: | ||
maxItems: 1 | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- clocks | ||
|
||
if: | ||
properties: | ||
compatible: | ||
items: | ||
const: allwinner,sun5i-a13-hstimer | ||
|
||
then: | ||
properties: | ||
interrupts: | ||
minItems: 2 | ||
maxItems: 2 | ||
|
||
else: | ||
properties: | ||
interrupts: | ||
minItems: 4 | ||
maxItems: 4 | ||
|
||
additionalProperties: false | ||
|
||
examples: | ||
- | | ||
timer@1c60000 { | ||
compatible = "allwinner,sun7i-a20-hstimer"; | ||
reg = <0x01c60000 0x1000>; | ||
interrupts = <0 51 1>, | ||
<0 52 1>, | ||
<0 53 1>, | ||
<0 54 1>; | ||
clocks = <&ahb1_gates 19>; | ||
resets = <&ahb1rst 19>; | ||
}; | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.