Lines Matching refs:id

59 struct clk_oscillator_data *clk_oscillator_get_data(struct stm32_clk_priv *priv, int id)  in clk_oscillator_get_data()  argument
61 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_oscillator_get_data()
68 void clk_oscillator_set_bypass(struct stm32_clk_priv *priv, int id, bool digbyp, bool bypass) in clk_oscillator_set_bypass() argument
70 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_oscillator_set_bypass()
90 void clk_oscillator_set_css(struct stm32_clk_priv *priv, int id, bool css) in clk_oscillator_set_css() argument
92 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_oscillator_set_css()
108 void clk_oscillator_set_drive(struct stm32_clk_priv *priv, int id, uint8_t lsedrv) in clk_oscillator_set_drive() argument
110 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_oscillator_set_drive()
142 int clk_oscillator_wait_ready(struct stm32_clk_priv *priv, int id, bool ready_on) in clk_oscillator_wait_ready() argument
144 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_oscillator_wait_ready()
149 int clk_oscillator_wait_ready_on(struct stm32_clk_priv *priv, int id) in clk_oscillator_wait_ready_on() argument
151 return clk_oscillator_wait_ready(priv, id, true); in clk_oscillator_wait_ready_on()
154 int clk_oscillator_wait_ready_off(struct stm32_clk_priv *priv, int id) in clk_oscillator_wait_ready_off() argument
156 return clk_oscillator_wait_ready(priv, id, false); in clk_oscillator_wait_ready_off()
159 static int clk_gate_enable(struct stm32_clk_priv *priv, int id) in clk_gate_enable() argument
161 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_gate_enable()
169 static void clk_gate_disable(struct stm32_clk_priv *priv, int id) in clk_gate_disable() argument
171 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_gate_disable()
177 static bool clk_gate_is_enabled(struct stm32_clk_priv *priv, int id) in clk_gate_is_enabled() argument
179 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_gate_is_enabled()
218 const struct clk_stm32 *_clk_get(struct stm32_clk_priv *priv, int id) in _clk_get() argument
220 if ((unsigned int)id < priv->num) { in _clk_get()
221 return &priv->clks[id]; in _clk_get()
227 static const struct stm32_clk_ops *_clk_get_ops(struct stm32_clk_priv *priv, int id) in _clk_get_ops() argument
229 const struct clk_stm32 *clk = _clk_get(priv, id); in _clk_get_ops()
474 unsigned long _clk_stm32_get_rate(struct stm32_clk_priv *priv, int id) in _clk_stm32_get_rate() argument
476 const struct stm32_clk_ops *ops = _clk_get_ops(priv, id); in _clk_stm32_get_rate()
479 if ((unsigned int)id >= priv->num) { in _clk_stm32_get_rate()
483 parent = _clk_stm32_get_parent(priv, id); in _clk_stm32_get_rate()
495 return ops->recalc_rate(priv, id, prate); in _clk_stm32_get_rate()
505 unsigned long _clk_stm32_get_parent_rate(struct stm32_clk_priv *priv, int id) in _clk_stm32_get_parent_rate() argument
507 int parent_id = _clk_stm32_get_parent(priv, id); in _clk_stm32_get_parent_rate()
516 static uint8_t _stm32_clk_get_flags(struct stm32_clk_priv *priv, int id) in _stm32_clk_get_flags() argument
518 return priv->clks[id].flags; in _stm32_clk_get_flags()
521 bool _stm32_clk_is_flags(struct stm32_clk_priv *priv, int id, uint8_t flag) in _stm32_clk_is_flags() argument
523 if ((_stm32_clk_get_flags(priv, id) & flag) != 0U) { in _stm32_clk_is_flags()
530 int clk_stm32_enable_call_ops(struct stm32_clk_priv *priv, uint16_t id) in clk_stm32_enable_call_ops() argument
532 const struct stm32_clk_ops *ops = _clk_get_ops(priv, id); in clk_stm32_enable_call_ops()
535 ops->enable(priv, id); in clk_stm32_enable_call_ops()
541 static int _clk_stm32_enable_core(struct stm32_clk_priv *priv, int id) in _clk_stm32_enable_core() argument
546 if (priv->gate_refcounts[id] == 0U) { in _clk_stm32_enable_core()
547 parent = _clk_stm32_get_parent(priv, id); in _clk_stm32_enable_core()
557 clk_stm32_enable_call_ops(priv, id); in _clk_stm32_enable_core()
560 priv->gate_refcounts[id]++; in _clk_stm32_enable_core()
562 if (priv->gate_refcounts[id] == UINT8_MAX) { in _clk_stm32_enable_core()
563 ERROR("%s: %d max enable count !", __func__, id); in _clk_stm32_enable_core()
570 int _clk_stm32_enable(struct stm32_clk_priv *priv, int id) in _clk_stm32_enable() argument
575 ret = _clk_stm32_enable_core(priv, id); in _clk_stm32_enable()
581 void clk_stm32_disable_call_ops(struct stm32_clk_priv *priv, uint16_t id) in clk_stm32_disable_call_ops() argument
583 const struct stm32_clk_ops *ops = _clk_get_ops(priv, id); in clk_stm32_disable_call_ops()
586 ops->disable(priv, id); in clk_stm32_disable_call_ops()
590 static void _clk_stm32_disable_core(struct stm32_clk_priv *priv, int id) in _clk_stm32_disable_core() argument
594 if ((priv->gate_refcounts[id] == 1U) && _stm32_clk_is_flags(priv, id, CLK_IS_CRITICAL)) { in _clk_stm32_disable_core()
598 if (priv->gate_refcounts[id] == 0U) { in _clk_stm32_disable_core()
600 if (_clk_stm32_is_enabled(priv, id)) { in _clk_stm32_disable_core()
601 clk_stm32_disable_call_ops(priv, id); in _clk_stm32_disable_core()
604 VERBOSE("%s: %d already disabled !\n\n", __func__, id); in _clk_stm32_disable_core()
608 if (--priv->gate_refcounts[id] > 0U) { in _clk_stm32_disable_core()
612 clk_stm32_disable_call_ops(priv, id); in _clk_stm32_disable_core()
614 parent = _clk_stm32_get_parent(priv, id); in _clk_stm32_disable_core()
620 void _clk_stm32_disable(struct stm32_clk_priv *priv, int id) in _clk_stm32_disable() argument
624 _clk_stm32_disable_core(priv, id); in _clk_stm32_disable()
629 bool _clk_stm32_is_enabled(struct stm32_clk_priv *priv, int id) in _clk_stm32_is_enabled() argument
631 const struct stm32_clk_ops *ops = _clk_get_ops(priv, id); in _clk_stm32_is_enabled()
634 return ops->is_enabled(priv, id); in _clk_stm32_is_enabled()
637 return priv->gate_refcounts[id]; in _clk_stm32_is_enabled()
643 int id; in clk_stm32_enable() local
645 id = clk_get_index(priv, binding_id); in clk_stm32_enable()
646 if (id == -EINVAL) { in clk_stm32_enable()
647 return id; in clk_stm32_enable()
650 return _clk_stm32_enable(priv, id); in clk_stm32_enable()
656 int id; in clk_stm32_disable() local
658 id = clk_get_index(priv, binding_id); in clk_stm32_disable()
659 if (id != -EINVAL) { in clk_stm32_disable()
660 _clk_stm32_disable(priv, id); in clk_stm32_disable()
667 int id; in clk_stm32_is_enabled() local
669 id = clk_get_index(priv, binding_id); in clk_stm32_is_enabled()
670 if (id == -EINVAL) { in clk_stm32_is_enabled()
674 return _clk_stm32_is_enabled(priv, id); in clk_stm32_is_enabled()
680 int id; in clk_stm32_get_rate() local
682 id = clk_get_index(priv, binding_id); in clk_stm32_get_rate()
683 if (id == -EINVAL) { in clk_stm32_get_rate()
687 return _clk_stm32_get_rate(priv, id); in clk_stm32_get_rate()
693 int id; in clk_stm32_get_parent() local
695 id = clk_get_index(priv, binding_id); in clk_stm32_get_parent()
696 if (id == -EINVAL) { in clk_stm32_get_parent()
697 return id; in clk_stm32_get_parent()
700 return _clk_stm32_get_parent(priv, id); in clk_stm32_get_parent()
755 unsigned long clk_stm32_divider_recalc(struct stm32_clk_priv *priv, int id, in clk_stm32_divider_recalc() argument
758 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_stm32_divider_recalc()
761 return _clk_stm32_divider_recalc(priv, div_cfg->id, prate); in clk_stm32_divider_recalc()
831 int clk_stm32_gate_enable(struct stm32_clk_priv *priv, int id) in clk_stm32_gate_enable() argument
833 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_stm32_gate_enable()
835 const struct gate_cfg *gate = &priv->gates[cfg->id]; in clk_stm32_gate_enable()
848 void clk_stm32_gate_disable(struct stm32_clk_priv *priv, int id) in clk_stm32_gate_disable() argument
850 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_stm32_gate_disable()
852 const struct gate_cfg *gate = &priv->gates[cfg->id]; in clk_stm32_gate_disable()
873 bool clk_stm32_gate_is_enabled(struct stm32_clk_priv *priv, int id) in clk_stm32_gate_is_enabled() argument
875 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_stm32_gate_is_enabled()
878 return _clk_stm32_gate_is_enabled(priv, cfg->id); in clk_stm32_gate_is_enabled()
892 int id, unsigned long prate) in fixed_factor_recalc_rate() argument
894 const struct clk_stm32 *clk = _clk_get(priv, id); in fixed_factor_recalc_rate()
912 int id, unsigned long prate) in timer_recalc_rate() argument
914 const struct clk_stm32 *clk = _clk_get(priv, id); in timer_recalc_rate()
936 static unsigned long clk_fixed_rate_recalc(struct stm32_clk_priv *priv, int id, in clk_fixed_rate_recalc() argument
939 const struct clk_stm32 *clk = _clk_get(priv, id); in clk_fixed_rate_recalc()
950 int id, unsigned long prate) in clk_stm32_osc_recalc_rate() argument
952 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_stm32_osc_recalc_rate()
957 bool clk_stm32_osc_gate_is_enabled(struct stm32_clk_priv *priv, int id) in clk_stm32_osc_gate_is_enabled() argument
959 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_stm32_osc_gate_is_enabled()
969 int clk_stm32_osc_gate_enable(struct stm32_clk_priv *priv, int id) in clk_stm32_osc_gate_enable() argument
971 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_stm32_osc_gate_enable()
987 void clk_stm32_osc_gate_disable(struct stm32_clk_priv *priv, int id) in clk_stm32_osc_gate_disable() argument
989 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_stm32_osc_gate_disable()
1044 void clk_stm32_osc_init(struct stm32_clk_priv *priv, int id) in clk_stm32_osc_init() argument
1046 struct clk_oscillator_data *osc_data = clk_oscillator_get_data(priv, id); in clk_stm32_osc_init()