summaryrefslogtreecommitdiff
path: root/drivers/clk/x86/clk-pmc-atom.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-08-15 09:16:58 +0300
committerDave Airlie <airlied@redhat.com>2017-08-15 09:16:58 +0300
commit0c697fafc66830ca7d5dc19123a1d0641deaa1f6 (patch)
treec56336719ca8de16f78ada78e606dffa471e47d5 /drivers/clk/x86/clk-pmc-atom.c
parent09ef2378dc42339f3871584dc26d27da220277cb (diff)
parentef954844c7ace62f773f4f23e28d2d915adc419f (diff)
downloadlinux-0c697fafc66830ca7d5dc19123a1d0641deaa1f6.tar.xz
Backmerge tag 'v4.13-rc5' into drm-next
Linux 4.13-rc5 There's a really nasty nouveau collision, hopefully someone can take a look once I pushed this out.
Diffstat (limited to 'drivers/clk/x86/clk-pmc-atom.c')
-rw-r--r--drivers/clk/x86/clk-pmc-atom.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/clk/x86/clk-pmc-atom.c b/drivers/clk/x86/clk-pmc-atom.c
index f99abc1106f0..08ef69945ffb 100644
--- a/drivers/clk/x86/clk-pmc-atom.c
+++ b/drivers/clk/x86/clk-pmc-atom.c
@@ -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);