Lines Matching refs:wa
505 bool arch_timer_check_dt_erratum(const struct arch_timer_erratum_workaround *wa, in arch_timer_check_dt_erratum() argument
510 return of_property_read_bool(np, wa->id); in arch_timer_check_dt_erratum()
514 bool arch_timer_check_local_cap_erratum(const struct arch_timer_erratum_workaround *wa, in arch_timer_check_local_cap_erratum() argument
517 return this_cpu_has_cap((uintptr_t)wa->id); in arch_timer_check_local_cap_erratum()
522 bool arch_timer_check_acpi_oem_erratum(const struct arch_timer_erratum_workaround *wa, in arch_timer_check_acpi_oem_erratum() argument
526 const struct ate_acpi_oem_info *info = wa->id; in arch_timer_check_acpi_oem_erratum()
561 void arch_timer_enable_workaround(const struct arch_timer_erratum_workaround *wa, in arch_timer_enable_workaround() argument
567 __this_cpu_write(timer_unstable_counter_workaround, wa); in arch_timer_enable_workaround()
570 per_cpu(timer_unstable_counter_workaround, i) = wa; in arch_timer_enable_workaround()
573 if (wa->read_cntvct_el0 || wa->read_cntpct_el0) in arch_timer_enable_workaround()
582 if (wa->read_cntvct_el0) { in arch_timer_enable_workaround()
585 } else if (wa->disable_compat_vdso && vdso_default != VDSO_CLOCKMODE_NONE) { in arch_timer_enable_workaround()
594 const struct arch_timer_erratum_workaround *wa, *__wa; in arch_timer_check_ool_workaround() local
614 wa = arch_timer_iterate_errata(type, match_fn, arg); in arch_timer_check_ool_workaround()
615 if (!wa) in arch_timer_check_ool_workaround()
619 if (__wa && wa != __wa) in arch_timer_check_ool_workaround()
621 wa->desc, __wa->desc); in arch_timer_check_ool_workaround()
626 arch_timer_enable_workaround(wa, local); in arch_timer_check_ool_workaround()
628 local ? "local" : "global", wa->desc); in arch_timer_check_ool_workaround()