clk-bcm2835: Mark used PLLs and dividers CRITICAL

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>
This commit is contained in:
Phil Elwell
2017-02-13 17:20:08 +00:00
committed by Dom Cobley
parent 75828ac503
commit 17f7c9bc06

View File

@@ -1407,6 +1407,11 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman,
divider->div.hw.init = &init; divider->div.hw.init = &init;
divider->div.table = NULL; divider->div.table = NULL;
if (!(cprman_read(cprman, divider_data->cm_reg) & divider_data->hold_mask)) {
init.flags |= CLK_IS_CRITICAL;
divider->div.flags |= CLK_IS_CRITICAL;
}
divider->cprman = cprman; divider->cprman = cprman;
divider->data = divider_data; divider->data = divider_data;