clocksource/drivers/arm_arch_timer: Correct fault programming of CNTKCTL_EL1.EVNTI
stable inclusion from linux-4.19.164 commit 21253ff57b2c953aba6d4615fd185431bf6ff4cc -------------------------------- [ Upstream commit 8b7770b8 ] 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). Fixes: 037f6377 ("drivers: clocksource: add support for ARM architected timer event stream") Suggested-by:Marc Zyngier <maz@kernel.org> Signed-off-by:
Keqian Zhu <zhukeqian1@huawei.com> Acked-by:
Marc Zyngier <maz@kernel.org> Signed-off-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Link: https://lore.kernel.org/r/20201204073126.6920-3-zhukeqian1@huawei.com Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com> Signed-off-by:
Cheng Jian <cj.chengjian@huawei.com>
Loading
Please sign in to comment