Files
TAIXIN/csky/csi_kernel/rhino/pwrmgmt/cpu_tickless.h

46 lines
1007 B
C

/*
* Copyright (C) 2018 Alibaba Group Holding Limited
*/
/*
modification history
--------------------
14jan2018, init vesion
*/
#ifndef __cpu_tickless_h__
#define __cpu_tickless_h__
#ifdef __cplusplus
extern "C" {
#endif
#include "k_api.h"
#include "pwr_state.h"
typedef kstat_t (*FUNC_ONE_SHOT_INIT) (void);
typedef uint32_t (*FUNC_ONE_SHOT_SECONDS_MAX) (void);
typedef kstat_t (*FUNC_ONE_SHOT_START) (uint64_t planUse);
typedef kstat_t (*FUNC_ONE_SHOT_STOP) (uint64_t * pPassedUs);
typedef struct
{
FUNC_ONE_SHOT_INIT one_shot_init;
FUNC_ONE_SHOT_SECONDS_MAX one_shot_seconds_max;
FUNC_ONE_SHOT_START one_shot_start;
FUNC_ONE_SHOT_STOP one_shot_stop;
}one_shot_timer_t;
extern kstat_t tickless_init (void);
extern void tickless_c_states_add(uint32_t c_state_set);
extern void tickless_one_shot_timer_save
(cpu_cstate_t c_state, one_shot_timer_t * p_timer);
#ifdef __cplusplus
}
#endif
#endif /* __cpu_tickless_h__ */