Home Home > GIT Browse > openSUSE-42.2
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Suchanek <msuchanek@suse.de>2018-01-11 14:43:07 +0100
committerMichal Suchanek <msuchanek@suse.de>2018-01-11 16:18:14 +0100
commit46649ed7488fd251e9e75aa86f2e1c7de29aa66c (patch)
treea04086d45b75eb2c63a55e333c131e163cfabf2f
parente0ec83bf83e5252928c030873b7dc936cbb9cfe4 (diff)
powerpc/pseries/rfi-flush: Call setup_rfi_flush() after LPM
migration (bsc#1068032, bsc#1075087). suse-commit: 8216ee5a1b13ddb1f50a2081a73346de43ce687b
-rw-r--r--arch/powerpc/platforms/pseries/mobility.c3
-rw-r--r--arch/powerpc/platforms/pseries/pseries.h2
-rw-r--r--arch/powerpc/platforms/pseries/setup.c4
3 files changed, 7 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index 8dd0c8edefd6..c773396d0969 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -314,6 +314,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 8411c27293e4..e7d80797384d 100644
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
@@ -81,4 +81,6 @@ extern struct pci_controller_ops pseries_pci_controller_ops;
unsigned long pseries_memory_block_size(void);
+void pseries_setup_rfi_flush(void);
+
#endif /* _PSERIES_PSERIES_H */
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index ec5a16ceeb78..f703b1ffcb15 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -545,7 +545,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)
{
unsigned long character, behaviour, rc;
enum l1d_flush_type types;
@@ -600,7 +600,7 @@ static void __init pSeries_setup_arch(void)
fwnmi_init();
- pSeries_setup_rfi_flush();
+ pseries_setup_rfi_flush();
/* By default, only probe PCI (can be overriden by rtas_pci) */
pci_add_flags(PCI_PROBE_ONLY);