Lines Matching +full:first +full:- +full:generation
1 // SPDX-License-Identifier: GPL-2.0-only
16 * execute together, but only the first thread on the
71 "Exceeded number of Logical Processors (LP) allowed to run Scan-At-Field concurrently",
88 cpumask_pr_args(cpu_smt_mask(cpu)), ifsd->cur_batch, ifsd->loaded_version); in message_not_tested()
122 cpumask_pr_args(cpu_smt_mask(cpu)), ifsd->cur_batch, ifsd->loaded_version); in message_fail()
172 timeout -= SPINUNIT; in wait_for_sibling_cpu()
187 int first; in doscan() local
189 ifsd = params->ifsd; in doscan()
191 if (ifsd->generation) { in doscan()
192 start = params->activate->gen2.start; in doscan()
193 stop = params->activate->gen2.stop; in doscan()
195 start = params->activate->gen0.start; in doscan()
196 stop = params->activate->gen0.stop; in doscan()
199 /* Only the first logical CPU on a core reports result */ in doscan()
200 first = cpumask_first(cpu_smt_mask(cpu)); in doscan()
212 wrmsrl(MSR_ACTIVATE_SCAN, params->activate->data); in doscan()
215 trace_ifs_status(ifsd->cur_batch, start, stop, status.data); in doscan()
218 if (cpu == first) in doscan()
219 params->status = status; in doscan()
247 to_stop = ifsd->valid_chunks - 1; in ifs_test_core()
251 if (ifsd->generation) { in ifs_test_core()
278 status_chunk = ifsd->generation ? status.gen2.chunk_num : status.gen0.chunk_num; in ifs_test_core()
281 if (--retries == 0) { in ifs_test_core()
288 if (ifsd->generation) in ifs_test_core()
297 ifsd->scan_details = status.data; in ifs_test_core()
300 ifsd->status = SCAN_TEST_FAIL; in ifs_test_core()
303 ifsd->status = SCAN_NOT_TESTED; in ifs_test_core()
306 ifsd->status = SCAN_TEST_PASS; in ifs_test_core()
314 int first; in do_array_test() local
321 first = cpumask_first(cpu_smt_mask(cpu)); in do_array_test()
323 if (cpu == first) { in do_array_test()
324 wrmsrl(MSR_ARRAY_BIST, command->data); in do_array_test()
326 rdmsrl(MSR_ARRAY_BIST, command->data); in do_array_test()
356 ifsd->scan_details = command.data; in ifs_array_test_core()
359 ifsd->status = SCAN_TEST_FAIL; in ifs_array_test_core()
361 ifsd->status = SCAN_NOT_TESTED; in ifs_array_test_core()
363 ifsd->status = SCAN_TEST_PASS; in ifs_array_test_core()
372 int first; in do_array_test_gen1() local
374 first = cpumask_first(cpu_smt_mask(cpu)); in do_array_test_gen1()
376 if (cpu == first) { in do_array_test_gen1()
390 ifsd->scan_details = status; in ifs_array_test_gen1()
393 ifsd->status = SCAN_TEST_FAIL; in ifs_array_test_gen1()
395 ifsd->status = SCAN_TEST_PASS; in ifs_array_test_gen1()
424 [IFS_SBAF_INVALID_BUNDLE_INDEX] = "Non-valid sbaf bundles. Reload test image",
428 …NCURRENT] = "Exceeded number of Logical Processors (LP) allowed to run Scan-At-Field concurrently",
515 int first; in dosbaf() local
517 ifsd = run_params->ifsd; in dosbaf()
519 /* Only the first logical CPU on a core reports result */ in dosbaf()
520 first = cpumask_first(cpu_smt_mask(cpu)); in dosbaf()
529 wrmsrl(MSR_ACTIVATE_SBAF, run_params->activate->data); in dosbaf()
531 trace_ifs_sbaf(ifsd->cur_batch, *run_params->activate, status); in dosbaf()
534 if (cpu == first) in dosbaf()
535 run_params->status = status; in dosbaf()
558 stop_bundle = ifsd->max_bundle; in ifs_sbaf_test_core()
588 if (--retries == 0) { in ifs_sbaf_test_core()
602 ifsd->scan_details = status.data; in ifs_sbaf_test_core()
606 ifsd->status = SCAN_TEST_FAIL; in ifs_sbaf_test_core()
610 ifsd->status = SCAN_NOT_TESTED; in ifs_sbaf_test_core()
613 ifsd->status = SCAN_TEST_PASS; in ifs_sbaf_test_core()
633 ret = -EINVAL; in do_core_test()
637 switch (test->test_num) { in do_core_test()
639 if (!ifsd->loaded) in do_core_test()
640 ret = -EPERM; in do_core_test()
645 if (ifsd->array_gen == ARRAY_GEN0) in do_core_test()
651 if (!ifsd->loaded) in do_core_test()
652 ret = -EPERM; in do_core_test()
657 ret = -EINVAL; in do_core_test()