aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/clocksource/arm_arch_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/clocksource/arm_arch_timer.c')
-rw-r--r--drivers/clocksource/arm_arch_timer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clocksource/arm_arch_timer.c b/drivers/clocksource/arm_arch_timer.c
index aa4ec53281ce..6cc8aff83805 100644
--- a/drivers/clocksource/arm_arch_timer.c
+++ b/drivers/clocksource/arm_arch_timer.c
@@ -833,7 +833,11 @@ static void arch_timer_evtstrm_enable(int divider)
833 cntkctl |= (divider << ARCH_TIMER_EVT_TRIGGER_SHIFT) 833 cntkctl |= (divider << ARCH_TIMER_EVT_TRIGGER_SHIFT)
834 | ARCH_TIMER_VIRT_EVT_EN; 834 | ARCH_TIMER_VIRT_EVT_EN;
835 arch_timer_set_cntkctl(cntkctl); 835 arch_timer_set_cntkctl(cntkctl);
836#ifdef CONFIG_ARM64
837 cpu_set_named_feature(EVTSTRM);
838#else
836 elf_hwcap |= HWCAP_EVTSTRM; 839 elf_hwcap |= HWCAP_EVTSTRM;
840#endif
837#ifdef CONFIG_COMPAT 841#ifdef CONFIG_COMPAT
838 compat_elf_hwcap |= COMPAT_HWCAP_EVTSTRM; 842 compat_elf_hwcap |= COMPAT_HWCAP_EVTSTRM;
839#endif 843#endif
@@ -1055,7 +1059,11 @@ static int arch_timer_cpu_pm_notify(struct notifier_block *self,
1055 } else if (action == CPU_PM_ENTER_FAILED || action == CPU_PM_EXIT) { 1059 } else if (action == CPU_PM_ENTER_FAILED || action == CPU_PM_EXIT) {
1056 arch_timer_set_cntkctl(__this_cpu_read(saved_cntkctl)); 1060 arch_timer_set_cntkctl(__this_cpu_read(saved_cntkctl));
1057 1061
1062#ifdef CONFIG_ARM64
1063 if (cpu_have_named_feature(EVTSTRM))
1064#else
1058 if (elf_hwcap & HWCAP_EVTSTRM) 1065 if (elf_hwcap & HWCAP_EVTSTRM)
1066#endif
1059 cpumask_set_cpu(smp_processor_id(), &evtstrm_available); 1067 cpumask_set_cpu(smp_processor_id(), &evtstrm_available);
1060 } 1068 }
1061 return NOTIFY_OK; 1069 return NOTIFY_OK;