Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 809f704a authored by Keqian Zhu's avatar Keqian Zhu Committed by Gerrit - the friendly Code Review server
Browse files

clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI



[ Upstream commit 8b7770b877d187bfdae1eaf587bd2b792479a31c ]

ARM virtual counter supports event stream, it can only trigger an event
when the trigger bit (the value of CNTKCTL_EL1.EVNTI) of CNTVCT_EL0 changes,
so the actual period of event stream is 2^(cntkctl_evnti + 1). For example,
when the trigger bit is 0, then virtual counter trigger an event for every
two cycles.

While we're at it, rework the way we compute the trigger bit position
by making it more obvious that when bits [n:n-1] are both set (with n
being the most significant bit), we pick bit (n + 1).

Change-Id: I31b045b6fb9318ef57450d4d1470cb8779975bff
Fixes: 037f6377 ("drivers: clocksource: add support for ARM architected timer event stream")
Suggested-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarKeqian Zhu <zhukeqian1@huawei.com>
Acked-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20201204073126.6920-3-zhukeqian1@huawei.com


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git


Git-commit: 21253ff5
Signed-off-by: default avatarSwetha Chikkaboraiah <quic_schikk@quicinc.com>
parent 6640a8c5
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment