Skip to content

Commit a54e6c2

Browse files
committed
platform/x86: ISST: Do Not Restore SST MSRs on CPU Online Operation
JIRA: https://issues.redhat.com/browse/RHEL-110834 commit c935ddf Author: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Date: Mon May 5 13:27:22 2025 -0700 platform/x86: ISST: Do Not Restore SST MSRs on CPU Online Operation During CPU offline/online operations, the hardware retains MSR settings. Even if all CPUs are offlined, the package does not lose its MSR settings. Therefore, it is unnecessary to restore MSRs which are modified during the online operation, and this extra step can be removed. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/r/20250505202722.1048675-1-srinivas.pandruvada@linux.intel.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Steve Best <sbest@redhat.com>
1 parent fecba78 commit a54e6c2

File tree

1 file changed

+0
-21
lines changed

1 file changed

+0
-21
lines changed

drivers/platform/x86/intel/speed_select_if/isst_if_common.c

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -198,25 +198,6 @@ void isst_resume_common(void)
198198
}
199199
EXPORT_SYMBOL_GPL(isst_resume_common);
200200

201-
static void isst_restore_msr_local(int cpu)
202-
{
203-
struct isst_cmd *sst_cmd;
204-
int i;
205-
206-
mutex_lock(&isst_hash_lock);
207-
for (i = 0; i < ARRAY_SIZE(punit_msr_white_list); ++i) {
208-
if (!punit_msr_white_list[i])
209-
break;
210-
211-
hash_for_each_possible(isst_hash, sst_cmd, hnode,
212-
punit_msr_white_list[i]) {
213-
if (!sst_cmd->mbox_cmd_type && sst_cmd->cpu == cpu)
214-
wrmsrl_safe(sst_cmd->cmd, sst_cmd->data);
215-
}
216-
}
217-
mutex_unlock(&isst_hash_lock);
218-
}
219-
220201
/**
221202
* isst_if_mbox_cmd_invalid() - Check invalid mailbox commands
222203
* @cmd: Pointer to the command structure to verify.
@@ -434,8 +415,6 @@ static int isst_if_cpu_online(unsigned int cpu)
434415
set_punit_id:
435416
isst_cpu_info[cpu].punit_cpu_id = data;
436417

437-
isst_restore_msr_local(cpu);
438-
439418
return 0;
440419
}
441420

0 commit comments

Comments
 (0)