The Diagnostic API interface

The API interface defines how the caller will use the API. An
example also shows how the API can be used.
It also defines the RdcDiagnostic module which can load the
library dynamically and then dispatch diagnostic test to run.

Change-Id: I1e041aab86f7e19338860f5ba65262977f4ea9cb


[ROCm/rdc commit: eab3625d65]
This commit is contained in:
Bill(Shuzhou) Liu
2021-05-04 09:49:55 -04:00
parent 307b8ee085
commit f504f697e3
23 changed files with 856 additions and 10 deletions
@@ -322,6 +322,18 @@ rdc_status_t rdc_group_field_destroy(rdc_handle_t p_rdc_handle,
rdc_group_field_destroy(rdc_field_group_id);
}
rdc_status_t rdc_diagnostic_run(rdc_handle_t p_rdc_handle,
rdc_gpu_group_t group_id,
rdc_diag_level_t level,
rdc_diag_response_t* response) {
if (!p_rdc_handle) {
return RDC_ST_INVALID_HANDLER;
}
return static_cast<amd::rdc::RdcHandler*>(p_rdc_handle)->
rdc_diagnostic_run(group_id, level, response);
}
const char* rdc_status_string(rdc_status_t result) {
switch (result) {
case RDC_ST_OK:
@@ -361,6 +373,21 @@ const char* rdc_status_string(rdc_status_t result) {
}
}
const char* rdc_diagnostic_result_string(rdc_diag_result_t result) {
switch (result) {
case RDC_DIAG_RESULT_PASS:
return "Pass";
case RDC_DIAG_RESULT_SKIP:
return "Skip";
case RDC_DIAG_RESULT_WARN:
return "Warn";
case RDC_DIAG_RESULT_FAIL:
return "Fail";
default:
return "Unknown";
}
}
const char* field_id_string(rdc_field_t field_id) {
amd::rdc::fld_id2name_map_t &field_id_to_descript =
amd::rdc::get_field_id_description_from_id();