Lines Matching refs:br
16 static bool clk_branch_in_hwcg_mode(const struct clk_branch *br)
20 if (!br->hwcg_reg)
23 regmap_read(br->clkr.regmap, br->hwcg_reg, &val);
25 return !!(val & BIT(br->hwcg_bit));
28 static bool clk_branch_check_halt(const struct clk_branch *br, bool enabling)
30 bool invert = (br->halt_check == BRANCH_HALT_ENABLE);
33 regmap_read(br->clkr.regmap, br->halt_reg, &val);
35 val &= BIT(br->halt_bit);
47 static bool clk_branch2_check_halt(const struct clk_branch *br, bool enabling)
55 regmap_read(br->clkr.regmap, br->halt_reg, &val);
66 static int clk_branch_wait(const struct clk_branch *br, bool enabling,
69 bool voted = br->halt_check & BRANCH_VOTED;
70 const char *name = clk_hw_get_name(&br->clkr.hw);
76 if (br->halt_check == BRANCH_HALT_SKIP || clk_branch_in_hwcg_mode(br))
79 if (br->halt_check == BRANCH_HALT_DELAY || (!enabling && voted)) {
81 } else if (br->halt_check == BRANCH_HALT_ENABLE ||
82 br->halt_check == BRANCH_HALT ||
87 if (check_halt(br, enabling))
101 struct clk_branch *br = to_clk_branch(hw);
112 return clk_branch_wait(br, en, check_halt);