]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
clk-bcm2835: Mark used PLLs and dividers CRITICAL
authorPhil Elwell <phil@raspberrypi.org>
Mon, 13 Feb 2017 17:20:08 +0000 (17:20 +0000)
committerJuerg Haefliger <juerg.haefliger@canonical.com>
Wed, 13 Sep 2017 08:03:34 +0000 (10:03 +0200)
The VPU configures and relies on several PLLs and dividers. Mark all
enabled dividers and their PLLs as CRITICAL to prevent the kernel from
switching them off.

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
drivers/clk/bcm/clk-bcm2835.c

index 093694e00caec6e133eb26712f890691cad999aa..33bfa2008479153402d188d71d382f0274c104ea 100644 (file)
@@ -1266,6 +1266,11 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman,
        divider->div.hw.init = &init;
        divider->div.table = NULL;
 
+       if (!(cprman_read(cprman, data->cm_reg) & data->hold_mask)) {
+               init.flags |= CLK_IS_CRITICAL;
+               divider->div.flags |= CLK_IS_CRITICAL;
+       }
+
        divider->cprman = cprman;
        divider->data = data;