lede/target/linux/bcm27xx/patches-5.4/950-0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
AmadeusGhost 5d98c4178e
kernel: bump 5.4 to 5.4.75 (#5780)
[mac80211]
 5b29614 mac80211: another fix for the sta connection monitor
 1ed6eb1 mac80211: backport sched_set_fifo_low
 cba4120 mac80211: add support for specifying a per-device scan list
 e0d482f rt2x00: mt7620: differentiate based on SoC's CHIP_VER

[package]
 amd64-microcode/intel-microcode/linux-firmware: update version
2020-11-14 00:52:35 +08:00

29 lines
907 B
Diff

From a50ed3cb374d57704b9a4706608b98d8c0ba3eb9 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
@@ -1381,6 +1381,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;