|
@@ -1531,15 +1531,14 @@ int start_topology_update(void)
|
|
|
if (firmware_has_feature(FW_FEATURE_PRRN)) {
|
|
|
if (!prrn_enabled) {
|
|
|
prrn_enabled = 1;
|
|
|
- vphn_enabled = 0;
|
|
|
#ifdef CONFIG_SMP
|
|
|
rc = of_reconfig_notifier_register(&dt_update_nb);
|
|
|
#endif
|
|
|
}
|
|
|
- } else if (firmware_has_feature(FW_FEATURE_VPHN) &&
|
|
|
+ }
|
|
|
+ if (firmware_has_feature(FW_FEATURE_VPHN) &&
|
|
|
lppaca_shared_proc(get_lppaca())) {
|
|
|
if (!vphn_enabled) {
|
|
|
- prrn_enabled = 0;
|
|
|
vphn_enabled = 1;
|
|
|
setup_cpu_associativity_change_counters();
|
|
|
init_timer_deferrable(&topology_timer);
|
|
@@ -1562,7 +1561,8 @@ int stop_topology_update(void)
|
|
|
#ifdef CONFIG_SMP
|
|
|
rc = of_reconfig_notifier_unregister(&dt_update_nb);
|
|
|
#endif
|
|
|
- } else if (vphn_enabled) {
|
|
|
+ }
|
|
|
+ if (vphn_enabled) {
|
|
|
vphn_enabled = 0;
|
|
|
rc = del_timer_sync(&topology_timer);
|
|
|
}
|