Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/allwinner/clkng/aw_clk_nkmp.c
Show First 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | for (k = aw_clk_factor_get_min(&sc->k); k <= aw_clk_factor_get_max(&sc->k); ) { | ||||
best = cur; | best = cur; | ||||
*factor_n = n; | *factor_n = n; | ||||
*factor_k = k; | *factor_k = k; | ||||
*factor_m = m; | *factor_m = m; | ||||
*factor_p = p; | *factor_p = p; | ||||
} | } | ||||
if (best == *fout) | if (best == *fout) | ||||
return (best); | return (best); | ||||
if ((sc->p.flags & AW_CLK_FACTOR_POWER_OF_TWO) != 0) | p = aw_clk_factor_get_incremented(p, &sc->p); | ||||
p <<= 1; | |||||
else | |||||
p++; | |||||
} | } | ||||
if ((sc->m.flags & AW_CLK_FACTOR_POWER_OF_TWO) != 0) | m = aw_clk_factor_get_incremented(m, &sc->m); | ||||
m <<= 1; | |||||
else | |||||
m++; | |||||
} | } | ||||
if ((sc->k.flags & AW_CLK_FACTOR_POWER_OF_TWO) != 0) | k = aw_clk_factor_get_incremented(k, &sc->k); | ||||
k <<= 1; | |||||
else | |||||
k++; | |||||
} | } | ||||
if ((sc->n.flags & AW_CLK_FACTOR_POWER_OF_TWO) != 0) | n = aw_clk_factor_get_incremented(n, &sc->n); | ||||
n <<= 1; | |||||
else | |||||
n++; | |||||
} | } | ||||
return best; | return best; | ||||
} | } | ||||
static void | static void | ||||
aw_clk_nkmp_set_freq_scale(struct clknode *clk, struct aw_clk_nkmp_sc *sc, | aw_clk_nkmp_set_freq_scale(struct clknode *clk, struct aw_clk_nkmp_sc *sc, | ||||
uint32_t factor_n, uint32_t factor_k, uint32_t factor_m, uint32_t factor_p) | uint32_t factor_n, uint32_t factor_k, uint32_t factor_m, uint32_t factor_p) | ||||
▲ Show 20 Lines • Show All 216 Lines • Show Last 20 Lines |