]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Apr 2018 07:07:43 +0000 (09:07 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Apr 2018 07:07:43 +0000 (09:07 +0200)
added patches:
powerpc-powernv-define-a-standard-delay-for-opal_busy-type-retry-loops.patch

queue-4.14/powerpc-powernv-define-a-standard-delay-for-opal_busy-type-retry-loops.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/powerpc-powernv-define-a-standard-delay-for-opal_busy-type-retry-loops.patch b/queue-4.14/powerpc-powernv-define-a-standard-delay-for-opal_busy-type-retry-loops.patch
new file mode 100644 (file)
index 0000000..fff9fed
--- /dev/null
@@ -0,0 +1,48 @@
+From 34dd25de9fe3f60bfdb31b473bf04b28262d0896 Mon Sep 17 00:00:00 2001
+From: Nicholas Piggin <npiggin@gmail.com>
+Date: Tue, 10 Apr 2018 21:49:31 +1000
+Subject: powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops
+
+From: Nicholas Piggin <npiggin@gmail.com>
+
+commit 34dd25de9fe3f60bfdb31b473bf04b28262d0896 upstream.
+
+This is the start of an effort to tidy up and standardise all the
+delays. Existing loops have a range of delay/sleep periods from 1ms
+to 20ms, and some have no delay. They all loop forever except rtc,
+which times out after 10 retries, and that uses 10ms delays. So use
+10ms as our standard delay. The OPAL maintainer agrees 10ms is a
+reasonable starting point.
+
+The idea is to use the same recipe everywhere, once this is proven to
+work then it will be documented as an OPAL API standard. Then both
+firmware and OS can agree, and if a particular call needs something
+else, then that can be documented with reasoning.
+
+This is not the end-all of this effort, it's just a relatively easy
+change that fixes some existing high latency delays. There should be
+provision for standardising timeouts and/or interruptible loops where
+possible, so non-fatal firmware errors don't cause hangs.
+
+Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Cc: Nathan Chancellor <natechancellor@gmail.com>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/include/asm/opal.h |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/arch/powerpc/include/asm/opal.h
++++ b/arch/powerpc/include/asm/opal.h
+@@ -21,6 +21,9 @@
+ /* We calculate number of sg entries based on PAGE_SIZE */
+ #define SG_ENTRIES_PER_NODE ((PAGE_SIZE - 16) / sizeof(struct opal_sg_entry))
++/* Default time to sleep or delay between OPAL_BUSY/OPAL_BUSY_EVENT loops */
++#define OPAL_BUSY_DELAY_MS    10
++
+ /* /sys/firmware/opal */
+ extern struct kobject *opal_kobj;
index 2da94f08d0d1e30a13e795b8fef861edbb760a21..a44f35dac48d8cd6889cd789184b41df1104d798 100644 (file)
@@ -54,6 +54,7 @@ powerpc-64-call-h_register_proc_tbl-when-running-as-a-hpt-guest-on-power9.patch
 powerpc-64-fix-smp_wmb-barrier-definition-use-use-lwsync-consistently.patch
 powerpc-kprobes-fix-call-trace-due-to-incorrect-preempt-count.patch
 powerpc-kexec_file-fix-error-code-when-trying-to-load-kdump-kernel.patch
+powerpc-powernv-define-a-standard-delay-for-opal_busy-type-retry-loops.patch
 powerpc-powernv-fix-opal-nvram-driver-opal_busy-loops.patch
 hid-fix-hid_report_len-usage.patch
 hid-core-fix-size-as-type-u32.patch