Browse Source

powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration

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>
Signed-off-by: Mauricio Faria de Oliveira <mauricfo@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michael Ellerman 7 years ago
parent
commit
921bc6cf80

+ 3 - 0
arch/powerpc/platforms/pseries/mobility.c

@@ -348,6 +348,9 @@ void post_mobility_fixup(void)
 		printk(KERN_ERR "Post-mobility device tree update "
 		printk(KERN_ERR "Post-mobility device tree update "
 			"failed: %d\n", rc);
 			"failed: %d\n", rc);
 
 
+	/* Possibly switch to a new RFI flush type */
+	pseries_setup_rfi_flush();
+
 	return;
 	return;
 }
 }
 
 

+ 2 - 0
arch/powerpc/platforms/pseries/pseries.h

@@ -108,4 +108,6 @@ static inline unsigned long cmo_get_page_size(void)
 
 
 int dlpar_workqueue_init(void);
 int dlpar_workqueue_init(void);
 
 
+void pseries_setup_rfi_flush(void);
+
 #endif /* _PSERIES_PSERIES_H */
 #endif /* _PSERIES_PSERIES_H */

+ 1 - 1
arch/powerpc/platforms/pseries/setup.c

@@ -459,7 +459,7 @@ static void __init find_and_init_phbs(void)
 	of_pci_check_probe_only();
 	of_pci_check_probe_only();
 }
 }
 
 
-static void pseries_setup_rfi_flush(void)
+void pseries_setup_rfi_flush(void)
 {
 {
 	struct h_cpu_char_result result;
 	struct h_cpu_char_result result;
 	enum l1d_flush_type types;
 	enum l1d_flush_type types;