From: Greg Kroah-Hartman Date: Sun, 9 Feb 2020 13:09:16 +0000 (+0100) Subject: 4.14-stable patches X-Git-Tag: v4.19.103~57 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ac28d785a88cf755305b77afc0a76a1326fe4c90;p=thirdparty%2Fkernel%2Fstable-queue.git 4.14-stable patches added patches: clk-tegra-mark-fuse-clock-as-critical.patch --- diff --git a/queue-4.14/clk-tegra-mark-fuse-clock-as-critical.patch b/queue-4.14/clk-tegra-mark-fuse-clock-as-critical.patch new file mode 100644 index 00000000000..bf3d42b1fb5 --- /dev/null +++ b/queue-4.14/clk-tegra-mark-fuse-clock-as-critical.patch @@ -0,0 +1,44 @@ +From bf83b96f87ae2abb1e535306ea53608e8de5dfbb Mon Sep 17 00:00:00 2001 +From: Stephen Warren +Date: Thu, 3 Oct 2019 14:50:30 -0600 +Subject: clk: tegra: Mark fuse clock as critical + +From: Stephen Warren + +commit bf83b96f87ae2abb1e535306ea53608e8de5dfbb upstream. + +For a little over a year, U-Boot on Tegra124 has configured the flow +controller to perform automatic RAM re-repair on off->on power +transitions of the CPU rail[1]. This is mandatory for correct operation +of Tegra124. However, RAM re-repair relies on certain clocks, which the +kernel must enable and leave running. The fuse clock is one of those +clocks. Mark this clock as critical so that LP1 power mode (system +suspend) operates correctly. + +[1] 3cc7942a4ae5 ARM: tegra: implement RAM repair + +Reported-by: Jonathan Hunter +Cc: stable@vger.kernel.org +Signed-off-by: Stephen Warren +Signed-off-by: Thierry Reding +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/clk/tegra/clk-tegra-periph.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/drivers/clk/tegra/clk-tegra-periph.c ++++ b/drivers/clk/tegra/clk-tegra-periph.c +@@ -825,7 +825,11 @@ static struct tegra_periph_init_data gat + GATE("vcp", "clk_m", 29, 0, tegra_clk_vcp, 0), + GATE("apbdma", "clk_m", 34, 0, tegra_clk_apbdma, 0), + GATE("kbc", "clk_32k", 36, TEGRA_PERIPH_ON_APB | TEGRA_PERIPH_NO_RESET, tegra_clk_kbc, 0), +- GATE("fuse", "clk_m", 39, TEGRA_PERIPH_ON_APB, tegra_clk_fuse, 0), ++ /* ++ * Critical for RAM re-repair operation, which must occur on resume ++ * from LP1 system suspend and as part of CCPLEX cluster switching. ++ */ ++ GATE("fuse", "clk_m", 39, TEGRA_PERIPH_ON_APB, tegra_clk_fuse, CLK_IS_CRITICAL), + GATE("fuse_burn", "clk_m", 39, TEGRA_PERIPH_ON_APB, tegra_clk_fuse_burn, 0), + GATE("kfuse", "clk_m", 40, TEGRA_PERIPH_ON_APB, tegra_clk_kfuse, 0), + GATE("apbif", "clk_m", 107, TEGRA_PERIPH_ON_APB, tegra_clk_apbif, 0), diff --git a/queue-4.14/series b/queue-4.14/series index c4559820dae..b1e922314ca 100644 --- a/queue-4.14/series +++ b/queue-4.14/series @@ -89,3 +89,4 @@ kvm-x86-protect-msr-based-index-computations-in-fixed_msr_to_seg_unit-from-spect kvm-ppc-book3s-hv-uninit-vcpu-if-vcore-creation-fails.patch kvm-ppc-book3s-pr-free-shared-page-if-mmu-initialization-fails.patch kvm-x86-free-wbinvd_dirty_mask-if-vcpu-creation-fails.patch +clk-tegra-mark-fuse-clock-as-critical.patch