Merge "clk: msm: clock-cpu-8996: Allow interrupts during alt_pll set_rate"
This commit is contained in:
commit
9bcb914dd2
3 changed files with 12 additions and 2 deletions
|
@ -612,13 +612,17 @@ static int alpha_pll_set_rate(struct clk *c, unsigned long rate)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (pll->no_irq_dis)
|
||||
spin_lock(&c->lock);
|
||||
else
|
||||
spin_lock_irqsave(&c->lock, flags);
|
||||
|
||||
/*
|
||||
* For PLLs that do not support dynamic programming (dynamic_update
|
||||
* is not set), ensure PLL is off before changing rate. For
|
||||
* optimization reasons, assume no downstream clock is actively
|
||||
* using it.
|
||||
*/
|
||||
spin_lock_irqsave(&c->lock, flags);
|
||||
if (c->count && !pll->dynamic_update)
|
||||
c->ops->disable(c);
|
||||
|
||||
|
@ -644,7 +648,10 @@ static int alpha_pll_set_rate(struct clk *c, unsigned long rate)
|
|||
if (c->count && !pll->dynamic_update)
|
||||
c->ops->enable(c);
|
||||
|
||||
spin_unlock_irqrestore(&c->lock, flags);
|
||||
if (pll->no_irq_dis)
|
||||
spin_unlock(&c->lock);
|
||||
else
|
||||
spin_unlock_irqrestore(&c->lock, flags);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -238,6 +238,7 @@ static struct alpha_pll_clk perfcl_alt_pll = {
|
|||
.post_div_config = 0x100, /* Div-2 */
|
||||
.config_ctl_val = 0x4001051B,
|
||||
.offline_bit_workaround = true,
|
||||
.no_irq_dis = true,
|
||||
.c = {
|
||||
.always_on = true,
|
||||
.parent = &alpha_xo_ao.c,
|
||||
|
@ -300,6 +301,7 @@ static struct alpha_pll_clk pwrcl_alt_pll = {
|
|||
.post_div_config = 0x100, /* Div-2 */
|
||||
.config_ctl_val = 0x4001051B,
|
||||
.offline_bit_workaround = true,
|
||||
.no_irq_dis = true,
|
||||
.c = {
|
||||
.always_on = true,
|
||||
.dbg_name = "pwrcl_alt_pll",
|
||||
|
|
|
@ -79,6 +79,7 @@ struct alpha_pll_clk {
|
|||
* that the workaround is required.
|
||||
*/
|
||||
bool offline_bit_workaround;
|
||||
bool no_irq_dis;
|
||||
bool is_fabia;
|
||||
unsigned long min_supported_freq;
|
||||
struct clk c;
|
||||
|
|
Loading…
Add table
Reference in a new issue