mirror of https://github.com/thesofproject/sof.git
clk: use clocks_get() instead of global pointer
Uses clock_get() as one point of access to clock info instead of global pointer. Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This commit is contained in:
parent
452f8ef6d3
commit
45e3a93b57
|
@ -10,6 +10,7 @@
|
|||
#define __SOF_LIB_CLK_H__
|
||||
|
||||
#include <platform/lib/clk.h>
|
||||
#include <sof/sof.h>
|
||||
#include <sof/spinlock.h>
|
||||
#include <stdint.h>
|
||||
|
||||
|
@ -42,8 +43,6 @@ struct clock_info {
|
|||
int (*set_freq)(int clock, int freq_idx);
|
||||
};
|
||||
|
||||
extern struct clock_info *clocks;
|
||||
|
||||
uint32_t clock_get_freq(int clock);
|
||||
|
||||
void clock_set_freq(int clock, uint32_t hz);
|
||||
|
@ -52,4 +51,9 @@ uint64_t clock_ms_to_ticks(int clock, uint64_t ms);
|
|||
|
||||
void platform_timer_set_delta(struct timer *timer, uint64_t ns);
|
||||
|
||||
static inline struct clock_info *clocks_get(void)
|
||||
{
|
||||
return sof_get()->clocks;
|
||||
}
|
||||
|
||||
#endif /* __SOF_LIB_CLK_H__ */
|
||||
|
|
|
@ -43,14 +43,14 @@ static inline uint32_t clock_get_nearest_freq_idx(const struct freq_table *tab,
|
|||
|
||||
uint32_t clock_get_freq(int clock)
|
||||
{
|
||||
struct clock_info *clk_info = &clocks[clock];
|
||||
struct clock_info *clk_info = clocks_get() + clock;
|
||||
|
||||
return clk_info->freqs[clk_info->current_freq_idx].freq;
|
||||
}
|
||||
|
||||
void clock_set_freq(int clock, uint32_t hz)
|
||||
{
|
||||
struct clock_info *clk_info = &clocks[clock];
|
||||
struct clock_info *clk_info = clocks_get() + clock;
|
||||
uint32_t idx;
|
||||
uint32_t flags;
|
||||
|
||||
|
@ -89,14 +89,14 @@ void clock_set_freq(int clock, uint32_t hz)
|
|||
|
||||
uint64_t clock_ms_to_ticks(int clock, uint64_t ms)
|
||||
{
|
||||
struct clock_info *clk_info = &clocks[clock];
|
||||
struct clock_info *clk_info = clocks_get() + clock;
|
||||
|
||||
return clk_info->freqs[clk_info->current_freq_idx].ticks_per_msec * ms;
|
||||
}
|
||||
|
||||
void platform_timer_set_delta(struct timer *timer, uint64_t ns)
|
||||
{
|
||||
struct clock_info *clk_info = &clocks[PLATFORM_DEFAULT_CLOCK];
|
||||
struct clock_info *clk_info = clocks_get() + PLATFORM_DEFAULT_CLOCK;
|
||||
uint32_t ticks_per_msec =
|
||||
clk_info->freqs[clk_info->current_freq_idx].ticks_per_msec;
|
||||
uint64_t ticks;
|
||||
|
|
Loading…
Reference in New Issue