summaryrefslogtreecommitdiff
path: root/drivers/ddr/microchip
diff options
context:
space:
mode:
authorPeter Hoyes <Peter.Hoyes@arm.com>2024-05-01 09:16:33 +0100
committerTom Rini <trini@konsulko.com>2024-05-13 16:51:14 -0600
commitebc84d7b60c1ed3398e9f600fe3dc8406500bd35 (patch)
tree468a362325dddfdb75c77c3674634d537cf81447 /drivers/ddr/microchip
parentb18a3c183d20812933d192d4b0d622b11ef2bf29 (diff)
armv8: generic_timer: Use event stream for udelay
Polling cntpct_el0 in a tight loop for delays is inefficient. This is particularly apparent on Arm FVPs, which do not simulate real time, meaning that a 1s sleep can take a couple of orders of magnitude longer to execute in wall time. If running at EL2 or above (where CNTHCTL_EL2 is available), enable the cntpct_el0 event stream temporarily and use wfe to implement the delay more efficiently. The event period is chosen as a trade-off between efficiency and the fact that Arm FVPs do not typically simulate real time. This is only implemented for Armv8 boards, where an architectural timer exists, and only enabled by default for the ARCH_VEXPRESS64 board family. Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Diffstat (limited to 'drivers/ddr/microchip')
0 files changed, 0 insertions, 0 deletions