[PATCH 06/17] platform/x86/intel/ifs: Refactor Array BIST function interface
From: Ehab Ababneh
Date: Mon Oct 26 2026 - 14:36:25 EST
From: Jithu Joseph <jithu.joseph@xxxxxxxxx>
In preparation for upcoming changes, refactor the Array BIST test to use a
more generic structure (run_array_params) when passing parameters to the
caller function.
This change enhances maintainability and flexibility for future
modifications.
Signed-off-by: Jithu Joseph <jithu.joseph@xxxxxxxxx>
Signed-off-by: Ehab Ababneh <ehab.ababneh@xxxxxxxxx>
---
drivers/platform/x86/intel/ifs/runtest.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/x86/intel/ifs/runtest.c b/drivers/platform/x86/intel/ifs/runtest.c
index 96b538c665f4..c6a4d6dcccf1 100644
--- a/drivers/platform/x86/intel/ifs/runtest.c
+++ b/drivers/platform/x86/intel/ifs/runtest.c
@@ -30,6 +30,11 @@ struct run_params {
union ifs_status status;
};
+struct run_array_params {
+ struct ifs_data *ifsd;
+ union ifs_array *command;
+};
+
/*
* Number of TSC cycles that a logical CPU will wait for the other
* logical CPU on the core in the WRMSR(ACTIVATE_SCAN).
@@ -302,10 +307,12 @@ static void ifs_test_core(int cpu, struct device *dev)
static int do_array_test(void *data)
{
- union ifs_array *command = data;
+ struct run_array_params *params = data;
int cpu = smp_processor_id();
+ union ifs_array *command;
int first;
+ command = params->command;
wait_for_sibling_cpu(&array_cpus_in, NSEC_PER_SEC);
/*
@@ -324,12 +331,14 @@ static int do_array_test(void *data)
static void ifs_array_test_core(int cpu, struct device *dev)
{
+ struct run_array_params params;
union ifs_array command = {};
bool timed_out = false;
struct ifs_data *ifsd;
unsigned long timeout;
ifsd = ifs_get_data(dev);
+ params.ifsd = ifsd;
command.array_bitmask = ~0U;
timeout = jiffies + HZ / 2;
@@ -340,7 +349,8 @@ static void ifs_array_test_core(int cpu, struct device *dev)
break;
}
atomic_set(&array_cpus_in, 0);
- stop_core_cpuslocked(cpu, do_array_test, &command);
+ params.command = &command;
+ stop_core_cpuslocked(cpu, do_array_test, ¶ms);
if (command.ctrl_result)
break;
--
2.43.0