hv: timer: add periodic timer setup support

and add MIN_TIMER_PERIOD_US for limit periodic timer frequency.
Now it's set to 500 us.

Signed-off-by: Li, Fei1 <fei1.li@intel.com>
This commit is contained in:
Li, Fei1
2018-04-25 15:14:44 +08:00
committed by lijinxia
parent 49ffc2cbb7
commit dd588828d9
4 changed files with 27 additions and 10 deletions

View File

@@ -221,23 +221,21 @@ static int console_timer_callback(__unused void *data)
/* Kick HV-Shell and Uart-Console tasks */
console_handler();
/* Restart the timer */
console_setup_timer();
return 0;
}
void console_setup_timer(void)
{
static struct timer console_timer;
uint64_t fire_tsc;
uint64_t period_in_cycle, fire_tsc;
fire_tsc = rdtsc() + CYCLES_PER_MS * CONSOLE_KICK_TIMER_TIMEOUT;
period_in_cycle = CYCLES_PER_MS * CONSOLE_KICK_TIMER_TIMEOUT;
fire_tsc = rdtsc() + period_in_cycle;
initialize_timer(&console_timer,
console_timer_callback, NULL,
fire_tsc);
fire_tsc, TICK_MODE_PERIODIC, period_in_cycle);
/* Start an one-shot timer */
/* Start an periodic timer */
if (add_timer(&console_timer) != 0)
pr_err("Failed to add console kick timer");
}