Lines Matching refs:status

30 	union ifs_status status;  member
37 union ifs_sbaf_status status; member
78 static void message_not_tested(struct device *dev, int cpu, union ifs_status status) in message_not_tested() argument
87 if (status.control_error) { in message_not_tested()
93 if (status.error_code < ARRAY_SIZE(scan_test_status)) { in message_not_tested()
96 scan_test_status[status.error_code]); in message_not_tested()
97 } else if (status.error_code == IFS_SW_TIMEOUT) { in message_not_tested()
100 } else if (status.error_code == IFS_SW_PARTIAL_COMPLETION) { in message_not_tested()
106 cpumask_pr_args(cpu_smt_mask(cpu)), status.data); in message_not_tested()
110 static void message_fail(struct device *dev, int cpu, union ifs_status status) in message_fail() argument
121 if (status.signature_error) { in message_fail()
127 static bool can_restart(union ifs_status status) in can_restart() argument
129 enum ifs_status_err_code err_code = status.error_code; in can_restart()
132 if (status.signature_error || status.control_error) in can_restart()
186 union ifs_status status; in doscan() local
214 rdmsrq(MSR_SCAN_STATUS, status.data); in doscan()
216 trace_ifs_status(ifsd->cur_batch, start, stop, status.data); in doscan()
220 params->status = status; in doscan()
233 union ifs_status status = {}; in ifs_test_core() local
265 status.error_code = IFS_SW_TIMEOUT; in ifs_test_core()
273 status = params.status; in ifs_test_core()
276 if (!can_restart(status)) in ifs_test_core()
279 status_chunk = ifsd->generation ? status.gen2.chunk_num : status.gen0.chunk_num; in ifs_test_core()
283 if (status.error_code == IFS_NO_ERROR) in ifs_test_core()
284 status.error_code = IFS_SW_PARTIAL_COMPLETION; in ifs_test_core()
298 ifsd->scan_details = status.data; in ifs_test_core()
300 if (status.signature_error) { in ifs_test_core()
301 ifsd->status = SCAN_TEST_FAIL; in ifs_test_core()
302 message_fail(dev, cpu, status); in ifs_test_core()
303 } else if (status.control_error || status.error_code) { in ifs_test_core()
304 ifsd->status = SCAN_NOT_TESTED; in ifs_test_core()
305 message_not_tested(dev, cpu, status); in ifs_test_core()
307 ifsd->status = SCAN_TEST_PASS; in ifs_test_core()
360 ifsd->status = SCAN_TEST_FAIL; in ifs_array_test_core()
362 ifsd->status = SCAN_NOT_TESTED; in ifs_array_test_core()
364 ifsd->status = SCAN_TEST_PASS; in ifs_array_test_core()
370 static int do_array_test_gen1(void *status) in do_array_test_gen1() argument
379 rdmsrq(MSR_ARRAY_STATUS, *((u64 *)status)); in do_array_test_gen1()
388 u64 status = 0; in ifs_array_test_gen1() local
390 stop_core_cpuslocked(cpu, do_array_test_gen1, &status); in ifs_array_test_gen1()
391 ifsd->scan_details = status; in ifs_array_test_gen1()
393 if (status & ARRAY_GEN1_STATUS_FAIL) in ifs_array_test_gen1()
394 ifsd->status = SCAN_TEST_FAIL; in ifs_array_test_gen1()
396 ifsd->status = SCAN_TEST_PASS; in ifs_array_test_gen1()
438 union ifs_sbaf_status status = (union ifs_sbaf_status)status_data; in sbaf_message_not_tested() local
440 if (status.error_code < ARRAY_SIZE(sbaf_test_status)) { in sbaf_message_not_tested()
443 sbaf_test_status[status.error_code]); in sbaf_message_not_tested()
444 } else if (status.error_code == IFS_SW_TIMEOUT) { in sbaf_message_not_tested()
447 } else if (status.error_code == IFS_SW_PARTIAL_COMPLETION) { in sbaf_message_not_tested()
453 cpumask_pr_args(cpu_smt_mask(cpu)), status.data); in sbaf_message_not_tested()
457 static void sbaf_message_fail(struct device *dev, int cpu, union ifs_sbaf_status status) in sbaf_message_fail() argument
460 if (status.sbaf_status == SBAF_STATUS_SIGN_FAIL) { in sbaf_message_fail()
466 if (status.sbaf_status == SBAF_STATUS_TEST_FAIL) { in sbaf_message_fail()
472 static bool sbaf_bundle_completed(union ifs_sbaf_status status) in sbaf_bundle_completed() argument
474 return !(status.sbaf_status || status.error_code); in sbaf_bundle_completed()
477 static bool sbaf_can_restart(union ifs_sbaf_status status) in sbaf_can_restart() argument
479 enum sbaf_status_err_code err_code = status.error_code; in sbaf_can_restart()
482 if (status.sbaf_status == SBAF_STATUS_SIGN_FAIL || in sbaf_can_restart()
483 status.sbaf_status == SBAF_STATUS_TEST_FAIL) in sbaf_can_restart()
514 union ifs_sbaf_status status; in dosbaf() local
531 rdmsrq(MSR_SBAF_STATUS, status.data); in dosbaf()
532 trace_ifs_sbaf(ifsd->cur_batch, *run_params->activate, status); in dosbaf()
536 run_params->status = status; in dosbaf()
544 union ifs_sbaf_status status = {}; in ifs_sbaf_test_core() local
563 status.error_code = IFS_SW_TIMEOUT; in ifs_sbaf_test_core()
574 status = run_params.status; in ifs_sbaf_test_core()
576 if (sbaf_bundle_completed(status)) { in ifs_sbaf_test_core()
577 activate.bundle_idx = status.bundle_idx + 1; in ifs_sbaf_test_core()
584 if (!sbaf_can_restart(status)) in ifs_sbaf_test_core()
587 if (status.pgm_idx == activate.pgm_idx) { in ifs_sbaf_test_core()
590 if (status.error_code == IFS_NO_ERROR) in ifs_sbaf_test_core()
591 status.error_code = IFS_SW_PARTIAL_COMPLETION; in ifs_sbaf_test_core()
597 activate.bundle_idx = status.bundle_idx; in ifs_sbaf_test_core()
598 activate.pgm_idx = status.pgm_idx; in ifs_sbaf_test_core()
603 ifsd->scan_details = status.data; in ifs_sbaf_test_core()
605 if (status.sbaf_status == SBAF_STATUS_SIGN_FAIL || in ifs_sbaf_test_core()
606 status.sbaf_status == SBAF_STATUS_TEST_FAIL) { in ifs_sbaf_test_core()
607 ifsd->status = SCAN_TEST_FAIL; in ifs_sbaf_test_core()
608 sbaf_message_fail(dev, cpu, status); in ifs_sbaf_test_core()
609 } else if (status.error_code || status.sbaf_status == SBAF_STATUS_INTR || in ifs_sbaf_test_core()
611 ifsd->status = SCAN_NOT_TESTED; in ifs_sbaf_test_core()
612 sbaf_message_not_tested(dev, cpu, status.data); in ifs_sbaf_test_core()
614 ifsd->status = SCAN_TEST_PASS; in ifs_sbaf_test_core()