void timer_monotonic_get(struct mono_time *mt) { /* We don't have to call mct_start() here * because it was already called int he bootblock */ mono_time_set_usecs(mt, mct_raw_value() / clocks_per_usec); }
void timer_monotonic_get(struct mono_time *mt) { if (!initialized) { mct_start(); initialized = 1; } mono_time_set_usecs(mt, mct_raw_value() / clocks_per_usec); }
/* Provide default timestamp implementation using monotonic timer. */ uint64_t __attribute__((weak)) timestamp_get(void) { struct mono_time t1, t2; if (!IS_ENABLED(CONFIG_HAVE_MONOTONIC_TIMER)) return 0; mono_time_set_usecs(&t1, 0); timer_monotonic_get(&t2); return mono_time_diff_microseconds(&t1, &t2); }
void timer_monotonic_get(struct mono_time *mt) { if (HLS()->time == NULL) die("time not set in HLS"); mono_time_set_usecs(mt, (long)read64((void *)(HLS()->time))); }
void timer_monotonic_get(struct mono_time *mt) { mono_time_set_usecs(mt, TIMER_USECS(read_gcnt_val())); }
void timer_monotonic_get(struct mono_time *mt) { mono_time_set_usecs(mt, timer_raw_value() / CLOCKS_PER_USEC); }
void timer_monotonic_get(struct mono_time *mt) { mono_time_set_usecs(mt, timer_raw_value() / clocks_per_usec); }
void timer_monotonic_get(struct mono_time *mt) { mono_time_set_usecs(mt, read32((void *)TEGRA_TMRUS_BASE)); }
void timer_monotonic_get(struct mono_time *mt) { mono_time_set_usecs(mt, timer_raw_value() / GPT_MHZ); }
void timer_monotonic_get(struct mono_time *mt) { mono_time_set_usecs(mt, read32(&mt8173_gpt->gpt4_cnt) / GPT4_MHZ); }