提交 d31fd43c 编写于 作者: C Carlo Caione 提交者: Stephen Boyd

clk: x86: Do not gate clocks enabled by the firmware

Read the enable register to determine if the clock is already in use by
the firmware. In this case avoid gating the clock.
Tested-by: NEnric Balletbo i Serra <enric.balletbo@collabora.com>
Acked-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: NDarren Hart (VMware) <dvhart@infradead.org>
Signed-off-by: NCarlo Caione <carlo@endlessm.com>
Fixes: 282a4e4c ("platform/x86: Enable Atom PMC platform clocks")
Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
上级 f905293d
......@@ -186,6 +186,13 @@ static struct clk_plt *plt_clk_register(struct platform_device *pdev, int id,
pclk->reg = base + PMC_CLK_CTL_OFFSET + id * PMC_CLK_CTL_SIZE;
spin_lock_init(&pclk->lock);
/*
* If the clock was already enabled by the firmware mark it as critical
* to avoid it being gated by the clock framework if no driver owns it.
*/
if (plt_clk_is_enabled(&pclk->hw))
init.flags |= CLK_IS_CRITICAL;
ret = devm_clk_hw_register(&pdev->dev, &pclk->hw);
if (ret) {
pclk = ERR_PTR(ret);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册