Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2018-01-12 16:16:22 +0100
committerMichal Suchanek <msuchanek@suse.de>2018-01-12 16:16:57 +0100
commit1eb315eaa5a4ea86fe2d909e2fbf1eed5218a53f (patch)
tree85553fcd6e80cee414dbf433c6c6d6ef277f4fff
parente4f56773447d9bba1af92237f08c31163336349c (diff)
powerpc/pseries/rfi-flush: Call setup_rfi_flush() after LPM
migration (bsc#1068032).
-rw-r--r--patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch67
-rw-r--r--series.conf1
2 files changed, 68 insertions, 0 deletions
diff --git a/patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch b/patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch
new file mode 100644
index 0000000000..97b96c111f
--- /dev/null
+++ b/patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch
@@ -0,0 +1,67 @@
+From a6655522ee7b950fdf6a23dec2ee3cd806e65626 Mon Sep 17 00:00:00 2001
+From: Michael Ellerman <mpe@ellerman.id.au>
+Date: Wed, 10 Jan 2018 23:05:54 +1100
+Subject: [PATCH] powerpc/pseries/rfi-flush: Call setup_rfi_flush() after LPM
+ migration
+
+Patch-mainline: no, under development
+References: bsc#1068032
+
+We might have migrated to a machine that uses a different flush type,
+or doesn't need flushing at all.
+
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+[mauricfo:
+ - pseries.h: adjust context lines
+ - setup.c: hunk 1&2 adjust context lines, hunk 2 s/overridden/overriden/]
+Signed-off-by: Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
+Acked-by: Michal Suchanek <msuchanek@suse.de>
+---
+ arch/powerpc/platforms/pseries/mobility.c | 3 +++
+ arch/powerpc/platforms/pseries/pseries.h | 2 ++
+ arch/powerpc/platforms/pseries/setup.c | 2 +-
+ 3 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
+index 74efac61aae9..ac98e83a5eb2 100644
+--- a/arch/powerpc/platforms/pseries/mobility.c
++++ b/arch/powerpc/platforms/pseries/mobility.c
+@@ -348,6 +348,9 @@ void post_mobility_fixup(void)
+ printk(KERN_ERR "Post-mobility device tree update "
+ "failed: %d\n", rc);
+
++ /* Possibly switch to a new RFI flush type */
++ pseries_setup_rfi_flush();
++
+ return;
+ }
+
+diff --git a/arch/powerpc/platforms/pseries/pseries.h b/arch/powerpc/platforms/pseries/pseries.h
+index 72610bf58c9f..f46132c434f6 100644
+--- a/arch/powerpc/platforms/pseries/pseries.h
++++ b/arch/powerpc/platforms/pseries/pseries.h
+@@ -79,6 +79,8 @@ extern struct pci_controller_ops pseries_pci_controller_ops;
+
+ unsigned long pseries_memory_block_size(void);
+
++void pseries_setup_rfi_flush(void);
++
+ extern int CMO_PrPSP;
+ extern int CMO_SecPSP;
+ extern unsigned long CMO_PageSize;
+diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
+index ae4f596273b5..6ce54c17ca17 100644
+--- a/arch/powerpc/platforms/pseries/setup.c
++++ b/arch/powerpc/platforms/pseries/setup.c
+@@ -459,7 +459,7 @@ static void __init find_and_init_phbs(void)
+ of_pci_check_probe_only();
+ }
+
+-static void pseries_setup_rfi_flush(void)
++void pseries_setup_rfi_flush(void)
+ {
+ struct h_cpu_char_result result;
+ enum l1d_flush_type types;
+--
+2.13.6
+
diff --git a/series.conf b/series.conf
index 4575022441..00ba28ff53 100644
--- a/series.conf
+++ b/series.conf
@@ -1531,6 +1531,7 @@
patches.arch/powerpc-pseries-Query-hypervisor-for-RFI-flush-setti.patch
patches.arch/powerpc-powernv-Check-device-tree-for-RFI-flush-sett.patch
patches.arch/powerpc-rfi-flush-Move-the-logic-to-avoid-a-redo-int.patch
+ patches.arch/powerpc-pseries-rfi-flush-Call-setup_rfi_flush-after.patch
# bsc#1075746
patches.arch/powerpc-tm-Flush-TM-only-if-CPU-has-TM-feature.patch