]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
patches for 4.19
authorSasha Levin <sashal@kernel.org>
Tue, 11 Dec 2018 00:50:21 +0000 (19:50 -0500)
committerSasha Levin <sashal@kernel.org>
Tue, 11 Dec 2018 00:50:21 +0000 (19:50 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-4.19/arm64-dts-rockchip-remove-vdd_log-from-rock960-to-fi.patch [new file with mode: 0644]
queue-4.19/revert-x86-e820-put-e820_type_ram-regions-into-membl.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/arm64-dts-rockchip-remove-vdd_log-from-rock960-to-fi.patch b/queue-4.19/arm64-dts-rockchip-remove-vdd_log-from-rock960-to-fi.patch
new file mode 100644 (file)
index 0000000..455ff70
--- /dev/null
@@ -0,0 +1,67 @@
+From a10093c198538aa7b413198661dd83ad06e81a54 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 10 Dec 2018 18:52:35 -0500
+Subject: arm64: dts: rockchip: remove vdd_log from rock960 to fix a stability
+ issues
+
+[ Upstream commit 13682e524167cbd7e2a26c5e91bec765f0f96273 ]
+
+When the performance governor is set as default, the rock960 hangs
+around one minute after booting, whatever the activity is (idle, key
+pressed, loaded, ...).
+
+Based on the commit log found at https://patchwork.kernel.org/patch/10092377/
+
+"vdd_log has no consumer and therefore will not be set to a specific
+voltage. Still the PWM output pin gets configured and thence the vdd_log
+output voltage will changed from it's default. Depending on the idle
+state of the PWM this will slightly over or undervoltage the logic supply
+of the RK3399 and cause instability with GbE (undervoltage) and PCIe
+(overvoltage). Since the default value set by a voltage divider is the
+correct supply voltage and we don't need to change it during runtime we
+remove the rail from the devicetree completely so the PWM pin will not
+be configured."
+
+After removing the vdd-log from the rock960's specific DT, the board
+does no longer hang and shows a stable behavior.
+
+Apply the same change for the rock960 by removing the vdd-log from the
+DT.
+
+Fixes: 874846f1fccd ("arm64: dts: rockchip: add 96boards RK3399 Ficus board")
+Cc: stable@vger.kernel.org
+Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Signed-off-by: Heiko Stuebner <heiko@sntech.de>
+[sl: adjust filename for 4.19]
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm64/boot/dts/rockchip/rk3399-ficus.dts | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
+index 8978d924eb83..85cf0b6bdda9 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3399-ficus.dts
+@@ -75,18 +75,6 @@
+               regulator-always-on;
+               vin-supply = <&vcc_sys>;
+       };
+-
+-      vdd_log: vdd-log {
+-              compatible = "pwm-regulator";
+-              pwms = <&pwm2 0 25000 0>;
+-              regulator-name = "vdd_log";
+-              regulator-min-microvolt = <800000>;
+-              regulator-max-microvolt = <1400000>;
+-              regulator-always-on;
+-              regulator-boot-on;
+-              vin-supply = <&vcc_sys>;
+-      };
+-
+ };
+ &cpu_l0 {
+-- 
+2.19.1
+
diff --git a/queue-4.19/revert-x86-e820-put-e820_type_ram-regions-into-membl.patch b/queue-4.19/revert-x86-e820-put-e820_type_ram-regions-into-membl.patch
new file mode 100644 (file)
index 0000000..2f4b6ce
--- /dev/null
@@ -0,0 +1,86 @@
+From 5e266afea8fbd365236d2848d07e86d163f5a7ca Mon Sep 17 00:00:00 2001
+From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
+Date: Fri, 26 Oct 2018 15:10:24 -0700
+Subject: Revert "x86/e820: put !E820_TYPE_RAM regions into memblock.reserved"
+
+[ Upstream commit 9fd61bc95130d4971568b89c9548b5e0a4e18e0e ]
+
+commit 124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into
+memblock.reserved") breaks movable_node kernel option because it changed
+the memory gap range to reserved memblock.  So, the node is marked as
+Normal zone even if the SRAT has Hot pluggable affinity.
+
+    =====================================================================
+    kernel: BIOS-e820: [mem 0x0000180000000000-0x0000180fffffffff] usable
+    kernel: BIOS-e820: [mem 0x00001c0000000000-0x00001c0fffffffff] usable
+    ...
+    kernel: reserved[0x12]#011[0x0000181000000000-0x00001bffffffffff], 0x000003f000000000 bytes flags: 0x0
+    ...
+    kernel: ACPI: SRAT: Node 2 PXM 6 [mem 0x180000000000-0x1bffffffffff] hotplug
+    kernel: ACPI: SRAT: Node 3 PXM 7 [mem 0x1c0000000000-0x1fffffffffff] hotplug
+    ...
+    kernel: Movable zone start for each node
+    kernel:  Node 3: 0x00001c0000000000
+    kernel: Early memory node ranges
+    ...
+    =====================================================================
+
+The original issue is fixed by the former patches, so let's revert commit
+124049decbb1 ("x86/e820: put !E820_TYPE_RAM regions into
+memblock.reserved").
+
+Link: http://lkml.kernel.org/r/20181002143821.5112-4-msys.mizuma@gmail.com
+Signed-off-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
+Reviewed-by: Pavel Tatashin <pavel.tatashin@microsoft.com>
+Acked-by: Ingo Molnar <mingo@kernel.org>
+Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
+Cc: Michal Hocko <mhocko@kernel.org>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Oscar Salvador <osalvador@suse.de>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/kernel/e820.c | 15 +++------------
+ 1 file changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
+index c88c23c658c1..d1f25c831447 100644
+--- a/arch/x86/kernel/e820.c
++++ b/arch/x86/kernel/e820.c
+@@ -1248,7 +1248,6 @@ void __init e820__memblock_setup(void)
+ {
+       int i;
+       u64 end;
+-      u64 addr = 0;
+       /*
+        * The bootstrap memblock region count maximum is 128 entries
+@@ -1265,21 +1264,13 @@ void __init e820__memblock_setup(void)
+               struct e820_entry *entry = &e820_table->entries[i];
+               end = entry->addr + entry->size;
+-              if (addr < entry->addr)
+-                      memblock_reserve(addr, entry->addr - addr);
+-              addr = end;
+               if (end != (resource_size_t)end)
+                       continue;
+-              /*
+-               * all !E820_TYPE_RAM ranges (including gap ranges) are put
+-               * into memblock.reserved to make sure that struct pages in
+-               * such regions are not left uninitialized after bootup.
+-               */
+               if (entry->type != E820_TYPE_RAM && entry->type != E820_TYPE_RESERVED_KERN)
+-                      memblock_reserve(entry->addr, entry->size);
+-              else
+-                      memblock_add(entry->addr, entry->size);
++                      continue;
++
++              memblock_add(entry->addr, entry->size);
+       }
+       /* Throw away partial pages: */
+-- 
+2.19.1
+
index 57a921fe87856448ecb0a35d77939b94316219ec..1ea94c5a2566b960592deab7551903a1077a663b 100644 (file)
@@ -88,3 +88,5 @@ dmaengine-cppi41-delete-channel-from-pending-list-when-stop-channel.patch
 arm-8806-1-kprobes-fix-false-positive-with-fortify_source.patch
 xhci-workaround-css-timeout-on-amd-snps-3.0-xhc.patch
 xhci-prevent-u1-u2-link-pm-states-if-exit-latency-is-too-long.patch
+arm64-dts-rockchip-remove-vdd_log-from-rock960-to-fi.patch
+revert-x86-e820-put-e820_type_ram-regions-into-membl.patch