immortalwrt/target/linux/brcm2708/patches-4.19/950-0022-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
AmadeusGhost 7c7a6f2e55 kernel: bump to 4.9.208, 4.14.162, 4.19.93 (#2745)
* generic: support mtd-mac-address-ascii

* kernel: bump to 4.9.208, 4.14.162, 4.19.93

* bcm2708: sync from openwrt v19.07

* firmware: update to latest version

* correct mistakes

* ipq40xx: fixed wrong patch
2020-01-11 23:39:11 +08:00

29 lines
907 B
Diff

From f1f199b682e258674137105f49d033cb81612ab7 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 13 Feb 2017 17:20:08 +0000
Subject: [PATCH] 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>
---
drivers/clk/bcm/clk-bcm2835.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/drivers/clk/bcm/clk-bcm2835.c
+++ b/drivers/clk/bcm/clk-bcm2835.c
@@ -1362,6 +1362,11 @@ bcm2835_register_pll_divider(struct bcm2
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;