Commit d3ab06f4 authored by Stephen Boyd's avatar Stephen Boyd

Merge tag 'imx-clk-fixes-5.5' of...

Merge tag 'imx-clk-fixes-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into clk-fixes

Pull i.MX clk fixes from Shawn Guo:

 - Add missing lock to divider in the composite driver for exclusive
   register access
 - Add missing sentinel for ulp_div_table in clk-imx7ulp driver
 - Fix clk_pll14xx_wait_lock() function which calls into
   readl_poll_timeout() with incorrect parameter

* tag 'imx-clk-fixes-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  clk: imx: pll14xx: fix clk_pll14xx_wait_lock
  clk: imx: clk-imx7ulp: Add missing sentinel of ulp_div_table
  clk: imx: clk-composite-8m: add lock to gate/mux
parents 66d95064 c3a5fd15
...@@ -142,6 +142,7 @@ struct clk *imx8m_clk_composite_flags(const char *name, ...@@ -142,6 +142,7 @@ struct clk *imx8m_clk_composite_flags(const char *name,
mux->reg = reg; mux->reg = reg;
mux->shift = PCG_PCS_SHIFT; mux->shift = PCG_PCS_SHIFT;
mux->mask = PCG_PCS_MASK; mux->mask = PCG_PCS_MASK;
mux->lock = &imx_ccm_lock;
div = kzalloc(sizeof(*div), GFP_KERNEL); div = kzalloc(sizeof(*div), GFP_KERNEL);
if (!div) if (!div)
...@@ -161,6 +162,7 @@ struct clk *imx8m_clk_composite_flags(const char *name, ...@@ -161,6 +162,7 @@ struct clk *imx8m_clk_composite_flags(const char *name,
gate_hw = &gate->hw; gate_hw = &gate->hw;
gate->reg = reg; gate->reg = reg;
gate->bit_idx = PCG_CGC_SHIFT; gate->bit_idx = PCG_CGC_SHIFT;
gate->lock = &imx_ccm_lock;
hw = clk_hw_register_composite(NULL, name, parent_names, num_parents, hw = clk_hw_register_composite(NULL, name, parent_names, num_parents,
mux_hw, &clk_mux_ops, div_hw, mux_hw, &clk_mux_ops, div_hw,
......
...@@ -40,6 +40,7 @@ static const struct clk_div_table ulp_div_table[] = { ...@@ -40,6 +40,7 @@ static const struct clk_div_table ulp_div_table[] = {
{ .val = 5, .div = 16, }, { .val = 5, .div = 16, },
{ .val = 6, .div = 32, }, { .val = 6, .div = 32, },
{ .val = 7, .div = 64, }, { .val = 7, .div = 64, },
{ /* sentinel */ },
}; };
static const int pcc2_uart_clk_ids[] __initconst = { static const int pcc2_uart_clk_ids[] __initconst = {
......
...@@ -159,7 +159,7 @@ static int clk_pll14xx_wait_lock(struct clk_pll14xx *pll) ...@@ -159,7 +159,7 @@ static int clk_pll14xx_wait_lock(struct clk_pll14xx *pll)
{ {
u32 val; u32 val;
return readl_poll_timeout(pll->base, val, val & LOCK_TIMEOUT_US, 0, return readl_poll_timeout(pll->base, val, val & LOCK_STATUS, 0,
LOCK_TIMEOUT_US); LOCK_TIMEOUT_US);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment