Intel Graphics System Controller Firmware Update Library
Intel Graphics System Controller Firmware Update Library
Loading...
Searching...
No Matches

Data Structures

struct  igsc_gfsp_tile_mem_err
struct  igsc_gfsp_mem_err

Enumerations

enum  igsc_ifr_pending_reset { IGSC_IFR_PENDING_RESET_NONE = 0 , IGSC_IFR_PENDING_RESET_SHALLOW = 1 , IGSC_IFR_PENDING_RESET_DEEP = 2 }
enum  igsc_ifr_array_scan_test_status_mask { IGSC_ARRAY_SCAN_STATUS_TEST_EXECUTION_MASK = BIT(0) , IGSC_ARRAY_SCAN_STATUS_TEST_RESULT_MASK = BIT(1) , IGSC_ARRAY_SCAN_STATUS_FOUND_HW_ERROR_MASK = BIT(2) , IGSC_ARRAY_SCAN_STATUS_HW_REPAIR_MASK = BIT(3) }
enum  igsc_ifr_array_scan_extended_status {
  IGSC_IFR_EXT_STS_PASSED = 0 , IGSC_IFR_EXT_STS_SHALLOW_RST_PENDING = 1 , IGSC_IFR_EXT_STS_DEEP_RST_PENDING = 2 , IGSC_IFR_EXT_STS_NO_REPAIR_NEEDED = 3 ,
  IGSC_IFR_EXT_STS_REPAIRED_ARRAY = 4 , IGSC_IFR_EXT_STS_REPAIRED_SUBSLICE = 5 , IGSC_IFR_EXT_STS_REPAIRED_ARRAY_SUBSLICE = 6 , IGSC_IFR_EXT_STS_REPAIRED_ARRAY_FAULTY_SUBSLICE = 7 ,
  IGSC_IFR_EXT_STS_REPAIR_NOT_SUPPORTED = 8 , IGSC_IFR_EXT_STS_NO_RESORCES = 9 , IGSC_IFR_EXT_STS_NON_SUBSLICE_IN_ARRAY = 10 , IGSC_IFR_EXT_STS_NON_SUBSLICE_IN_SCAN = 11 ,
  IGSC_IFR_EXT_STS_TEST_ERROR = 12
}
enum  igsc_ifr_supported_tests_masks { IGSC_IFR_SUPPORTED_TESTS_ARRAY_AND_SCAN = BIT(0) , IGSC_IFR_SUPPORTED_TESTS_MEMORY_PPR = BIT(1) }
enum  igsc_ifr_hw_capabilities_masks { IGSC_IRF_HW_CAPABILITY_IN_FIELD_REPAIR = BIT(0) , IGSC_IRF_HW_CAPABILITY_FULL_EU_MODE_SWITCH = BIT(1) }
enum  igsc_ifr_previous_errors_masks {
  IGSC_IFR_PREV_ERROR_DSS_ERR_ARR_STS_PKT = BIT(0) , IGSC_IFR_PREV_ERROR_NON_DSS_ERR_ARR_STS_PKT = BIT(1) , IGSC_IFR_PREV_ERROR_DSS_REPAIRABLE_PKT = BIT(2) , IGSC_IFR_PREV_ERROR_DSS_UNREPAIRABLE_PKT = BIT(3) ,
  IGSC_IFR_PREV_ERROR_NON_DSS_REPAIRABLE_PKT = BIT(4) , IGSC_IFR_PREV_ERROR_NON_DSS_UNREPAIRABLE_PKT = BIT(5) , IGSC_IFR_PREV_ERROR_DSS_ERR_SCAN_STS_PKT = BIT(6) , IGSC_IFR_PREV_ERROR_NON_DSS_ERR_SCAN_STS_PKT = BIT(7) ,
  IGSC_IFR_PREV_ERROR_NOT_ENOUGH_SPARE_DSS = BIT(8) , IGSC_IFR_PREV_ERROR_MIS_DSS_STS_PKT_ON_ARR = BIT(9) , IGSC_IFR_PREV_ERROR_MIS_NON_DSS_STS_PKT_ON_ARR = BIT(10) , IGSC_IFR_PREV_ERROR_MIS_DSS_STS_PKT_ON_SCAN = BIT(11) ,
  IGSC_IFR_PREV_ERROR_MIS_NON_DSS_STS_PKT_ON_SCAN = BIT(12) , IGSC_IFR_PREV_ERROR_DSS_ENG_DONE_CLR_IN_ARR = BIT(13) , IGSC_IFR_PREV_ERROR_NON_DSS_ENG_DONE_CLR_IN_ARR = BIT(14) , IGSC_IFR_PREV_ERROR_UNEXPECTED = BIT(31)
}
enum  igsc_ifr_repairs_mask { IGSC_IFR_REPAIRS_MASK_DSS_EN_REPAIR = BIT(0) , IGSC_IFR_REPAIRS_MASK_ARRAY_REPAIR = BIT(1) , IGSC_IFR_REPAIRS_MASK_FAILURE = BIT(2) }
enum  igsc_gfsp_health_indicators { IGSC_HEALTH_INDICATOR_HEALTHY = 0 , IGSC_HEALTH_INDICATOR_DEGRADED = 1 , IGSC_HEALTH_INDICATOR_CRITICAL = 2 , IGSC_HEALTH_INDICATOR_REPLACE = 3 }
 Gets memory health indicator. More...
enum  csc_late_binding_flags { CSC_LATE_BINDING_FLAGS_IS_PERSISTENT_MASK = 0x1 }
enum  csc_late_binding_type {
  CSC_LATE_BINDING_TYPE_INVALID = 0 , CSC_LATE_BINDING_TYPE_FAN_TABLE = 1 , CSC_LATE_BINDING_TYPE_VR_CONFIG = 2 , CSC_LATE_BINDING_TYPE_OCODE = 3 ,
  CSC_LATE_BINDING_TYPE_DGDIAG = 4
}
 Sends Late Binding HECI command. More...
enum  csc_late_binding_status {
  CSC_LATE_BINDING_STATUS_SUCCESS = 0 , CSC_LATE_BINDING_STATUS_4ID_MISMATCH = 1 , CSC_LATE_BINDING_STATUS_ARB_FAILURE = 2 , CSC_LATE_BINDING_STATUS_GENERAL_ERROR = 3 ,
  CSC_LATE_BINDING_STATUS_INVALID_PARAMS = 4 , CSC_LATE_BINDING_STATUS_INVALID_SIGNATURE = 5 , CSC_LATE_BINDING_STATUS_INVALID_PAYLOAD = 6 , CSC_LATE_BINDING_STATUS_TIMEOUT = 7 ,
  CSC_LATE_BINDING_STATUS_BUFFER_TOO_SMALL = 8 , CSC_LATE_BINDING_STATUS_INTERNAL_ERROR = 9 , CSC_LATE_BINDING_STATUS_INVALID_FPT_TABLE = 10 , CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_VERIFICATION_ERROR = 11 ,
  CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_INVALID_CPD = 12 , CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_FW_VERSION_MISMATCH = 13 , CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_INVALID_MANIFEST = 14 , CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_INVALID_HASH = 15 ,
  CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_BINDING_TYPE_MISMATCH = 16 , CSC_LATE_BINDING_STATUS_SIGNED_PAYLOAD_HANDLE_SVN_FAILED = 17 , CSC_LATE_BINDING_STATUS_DESTINATION_MBOX_FAILURE = 18 , CSC_LATE_BINDING_STATUS_MISSING_LOADING_PATCH = 19 ,
  CSC_LATE_BINDING_STATUS_INVALID_COMMAND = 20 , CSC_LATE_BINDING_STATUS_INVALID_HECI_HEADER = 21 , CSC_LATE_BINDING_STATUS_IP_ERROR_START = 0x80000000
}
enum  csc_late_binding_svn_source { CSC_LATE_BINDING_SVN_SOURCE_SPI = 0 , CSC_LATE_BINDING_SVN_SOURCE_KEY_MANIFEST = 1 }

Functions

IGSC_EXPORT int igsc_gfsp_count_tiles (IN struct igsc_device_handle *handle, OUT uint32_t *max_num_of_tiles)
 Gets number of tiles.
IGSC_EXPORT int igsc_gfsp_memory_errors (IN struct igsc_device_handle *handle, IN OUT struct igsc_gfsp_mem_err *tiles)
 Gets GFSP number of memory errors.
IGSC_EXPORT int igsc_ifr_run_array_scan_test (IN struct igsc_device_handle *handle, OUT uint32_t *status, OUT uint32_t *extended_status, OUT uint32_t *pending_reset, OUT uint32_t *error_code)
 Runs IFR Array and Scan tests on GSC IFR device.
IGSC_EXPORT int igsc_ifr_run_mem_ppr_test (IN struct igsc_device_handle *handle, OUT uint32_t *status, OUT uint32_t *pending_reset, OUT uint32_t *error_code)
 Runs IFR memory Post Package Repair (PPR) test on GSC IFR device.
IGSC_EXPORT int igsc_ifr_get_status_ext (IN struct igsc_device_handle *handle, OUT uint32_t *supported_tests, OUT uint32_t *hw_capabilities, OUT uint32_t *ifr_applied, OUT uint32_t *prev_errors, OUT uint32_t *pending_reset)
 Retrieves the status of GSC IFR device.
IGSC_EXPORT int igsc_ifr_count_tiles (IN struct igsc_device_handle *handle, OUT uint16_t *supported_tiles)
 Counts the IFR supported tiles.
IGSC_EXPORT int igsc_ifr_get_tile_repair_info (IN struct igsc_device_handle *handle, IN uint16_t tile_idx, OUT uint16_t *used_array_repair_entries, OUT uint16_t *available_array_repair_entries, OUT uint16_t *failed_dss)
 Retrieves the IFR repair info.
IGSC_EXPORT int igsc_ecc_config_set (IN struct igsc_device_handle *handle, IN uint8_t req_ecc_state, OUT uint8_t *cur_ecc_state, OUT uint8_t *pen_ecc_state)
 Set ECC Configuration.
IGSC_EXPORT int igsc_ecc_config_get (IN struct igsc_device_handle *handle, OUT uint8_t *cur_ecc_state, OUT uint8_t *pen_ecc_state)
 Get ECC Configuration.
IGSC_EXPORT int igsc_device_oem_version (IN struct igsc_device_handle *handle, OUT struct igsc_oem_version *version)
 Retrieves the OEM Version from the device.
IGSC_EXPORT int igsc_device_oem_serial_number (IN struct igsc_device_handle *handle, OUT struct igsc_oem_serial_number *sn)
 Retrieves the OEM serial number from the device.
IGSC_EXPORT int igsc_device_ifr_bin_version (IN struct igsc_device_handle *handle, OUT struct igsc_ifr_bin_version *version)
 Retrieves the IFR Binary Version from the device.
IGSC_EXPORT int igsc_device_psc_version (IN struct igsc_device_handle *handle, OUT struct igsc_psc_version *version)
 Retrieves the PSC Version from the device.
IGSC_EXPORT int igsc_gfsp_get_health_indicator (IN struct igsc_device_handle *handle, OUT uint8_t *health_indicator)
IGSC_EXPORT int igsc_gfsp_heci_cmd (struct igsc_device_handle *handle, uint32_t gfsp_cmd, uint8_t *in_buffer, size_t in_buffer_size, uint8_t *out_buffer, size_t out_buffer_size, size_t *actual_out_buffer_size)
 Send generic GFSP command and receive response.
IGSC_EXPORT int igsc_device_update_late_binding_config (IN struct igsc_device_handle *handle, IN uint32_t type, IN uint32_t flags, IN uint8_t *payload, IN size_t payload_size, OUT uint32_t *status)
IGSC_EXPORT int igsc_device_update_late_binding_config2 (IN struct igsc_device_handle *handle, IN uint32_t type, IN uint32_t flags, IN uint8_t *payload, IN size_t payload_size, OUT uint32_t *status)
IGSC_EXPORT int igsc_device_get_late_binding_info (IN struct igsc_device_handle *handle, IN uint32_t type, OUT uint32_t *svn_source, OUT uint32_t *min_svn, OUT uint32_t *status)
IGSC_EXPORT int igsc_device_commit_arb_svn (IN struct igsc_device_handle *handle, uint8_t *fw_error)
 Sends ARB SVN Commit HECI command.
IGSC_EXPORT int igsc_device_get_min_allowed_arb_svn (IN struct igsc_device_handle *handle, OUT uint8_t *min_allowed_svn)
 Retrieves Minimal allowed ARB SVN.

Detailed Description


Data Structure Documentation

◆ igsc_gfsp_tile_mem_err

struct igsc_gfsp_tile_mem_err

gfsp number of memory errors per tile

Definition at line 1343 of file igsc_lib.h.

Data Fields
uint32_t corr_err

Correctable memory errors on this boot and tile

uint32_t uncorr_err

Uncorrectable memory errors on this boot and tile

◆ igsc_gfsp_mem_err

struct igsc_gfsp_mem_err

gfsp number of memory errors on the card

Definition at line 1351 of file igsc_lib.h.

Data Fields
struct igsc_gfsp_tile_mem_err errors[]

array of memory errors structs for each tile

uint32_t num_of_tiles

Number of entries in errors array (number of available entries when passed to the function and number of filled entries when returned)

Enumeration Type Documentation

◆ csc_late_binding_flags

Late Binding flags

Definition at line 1672 of file igsc_lib.h.

◆ csc_late_binding_status

Late Binding payload status

Returns
IGSC_SUCCESS if successful, otherwise error code.

Definition at line 1690 of file igsc_lib.h.

◆ csc_late_binding_svn_source

Late Binding SVN source

Definition at line 1719 of file igsc_lib.h.

◆ csc_late_binding_type

Sends Late Binding HECI command.

Retrieve information about specific Late Binding type.

Sends Late Binding HECI command to version 2 firmware.

Late Binding payload type

Parameters
handleA handle to the device.
typeLate Binding payload type
flagsLate Binding flags to be sent to the firmware enum csc_late_binding_flags
payloadLate Binding data to be sent to the firmware
payload_sizeSize of the payload data
statusLate Binding payload status
handleA handle to the device.
typeLate Binding payload type
svn_sourceSource of the ARB SVN for the specific type
min_svnThe minimum ARB SVN of the specific type
statusLate Binding payload status

Definition at line 1679 of file igsc_lib.h.

◆ igsc_gfsp_health_indicators

Gets memory health indicator.

Parameters
handleA handle to the device.
health_indicatorcontains pointer to
Returns
IGSC_SUCCESS if successful, otherwise error code.

Definition at line 1631 of file igsc_lib.h.

◆ igsc_ifr_array_scan_extended_status

Enumerator
IGSC_IFR_EXT_STS_PASSED 

Test passed successfully, no repairs needed

IGSC_IFR_EXT_STS_SHALLOW_RST_PENDING 

Shallow reset already pending from previous test, aborting test

IGSC_IFR_EXT_STS_DEEP_RST_PENDING 

Deep reset already pending from previous test, aborting test

IGSC_IFR_EXT_STS_NO_REPAIR_NEEDED 

Test passed, recoverable error found, no repair needed

IGSC_IFR_EXT_STS_REPAIRED_ARRAY 

Test passed, recoverable error found and repaired using array repairs

IGSC_IFR_EXT_STS_REPAIRED_SUBSLICE 

Test passed, recoverable error found and repaired using Subslice swaps

IGSC_IFR_EXT_STS_REPAIRED_ARRAY_SUBSLICE 

Test passed, recoverable error found and repaired using array repairs and Subslice swaps

IGSC_IFR_EXT_STS_REPAIRED_ARRAY_FAULTY_SUBSLICE 

Test passed, recoverable error found and repaired using array repairs and faulty spare Subslice

IGSC_IFR_EXT_STS_REPAIR_NOT_SUPPORTED 

Test completed, unrecoverable error found, part doesn't support in field repair

IGSC_IFR_EXT_STS_NO_RESORCES 

Test completed, unrecoverable error found, not enough repair resources available

IGSC_IFR_EXT_STS_NON_SUBSLICE_IN_ARRAY 

Test completed, unrecoverable error found, non-Subslice failure in Array test

IGSC_IFR_EXT_STS_NON_SUBSLICE_IN_SCAN 

Test completed, unrecoverable error found, non-Subslice failure in Scan test

IGSC_IFR_EXT_STS_TEST_ERROR 

Test error

Definition at line 1400 of file igsc_lib.h.

◆ igsc_ifr_array_scan_test_status_mask

IFR array and scan test status bit masks

Enumerator
IGSC_ARRAY_SCAN_STATUS_TEST_EXECUTION_MASK 

0 - Test executed, 1 - Test not executed

IGSC_ARRAY_SCAN_STATUS_TEST_RESULT_MASK 

0 - Test finished successfully, 1 - Error occurred during test execution

IGSC_ARRAY_SCAN_STATUS_FOUND_HW_ERROR_MASK 

0 - HW error not found, 1 - HW error found

IGSC_ARRAY_SCAN_STATUS_HW_REPAIR_MASK 

0 - HW error will be fully repaired or no HW error found, 1 - HW error will not be fully repaired

Definition at line 1393 of file igsc_lib.h.

◆ igsc_ifr_hw_capabilities_masks

IFR hw capabilities masks

Enumerator
IGSC_IRF_HW_CAPABILITY_IN_FIELD_REPAIR 

1: both in field tests and in field repairs are supported. 0: only in field tests are supported

IGSC_IRF_HW_CAPABILITY_FULL_EU_MODE_SWITCH 

1: Full EU mode switch is supported

Definition at line 1462 of file igsc_lib.h.

◆ igsc_ifr_pending_reset

IFR pending reset values definition

Enumerator
IGSC_IFR_PENDING_RESET_NONE 

0 - No reset needed

IGSC_IFR_PENDING_RESET_SHALLOW 

1 - Need to perform a shallow reset

IGSC_IFR_PENDING_RESET_DEEP 

2 - Need to perform a deep reset

Definition at line 1384 of file igsc_lib.h.

◆ igsc_ifr_previous_errors_masks

IFR previous errors masks

Enumerator
IGSC_IFR_PREV_ERROR_DSS_ERR_ARR_STS_PKT 

DSS Engine error in an array test status packet

IGSC_IFR_PREV_ERROR_NON_DSS_ERR_ARR_STS_PKT 

Non DSS Engine error in an array test status packet

IGSC_IFR_PREV_ERROR_DSS_REPAIRABLE_PKT 

DSS Repairable repair packet in an array test

IGSC_IFR_PREV_ERROR_DSS_UNREPAIRABLE_PKT 

DSS Unrepairable repair packet in an array test

IGSC_IFR_PREV_ERROR_NON_DSS_REPAIRABLE_PKT 

Non DSS Repairable repair packet in an array test

IGSC_IFR_PREV_ERROR_NON_DSS_UNREPAIRABLE_PKT 

Non DSS Unrepairable repair packet in an array test

IGSC_IFR_PREV_ERROR_DSS_ERR_SCAN_STS_PKT 

DSS failure in a scan test packet

IGSC_IFR_PREV_ERROR_NON_DSS_ERR_SCAN_STS_PKT 

Non DSS failure in a scan test packet

IGSC_IFR_PREV_ERROR_NOT_ENOUGH_SPARE_DSS 

Not enough spare DSS available

IGSC_IFR_PREV_ERROR_MIS_DSS_STS_PKT_ON_ARR 

Missing DSS status packet on array test

IGSC_IFR_PREV_ERROR_MIS_NON_DSS_STS_PKT_ON_ARR 

Missing non DSS status packet on array test

IGSC_IFR_PREV_ERROR_MIS_DSS_STS_PKT_ON_SCAN 

Missing DSS status packet on scan test

IGSC_IFR_PREV_ERROR_MIS_NON_DSS_STS_PKT_ON_SCAN 

Missing non DSS status packet on scan test

IGSC_IFR_PREV_ERROR_DSS_ENG_DONE_CLR_IN_ARR 

DSS Engine Done clear bit in array test status packet

IGSC_IFR_PREV_ERROR_NON_DSS_ENG_DONE_CLR_IN_ARR 

Non DSS Engine Done clear bit in array test status packet

IGSC_IFR_PREV_ERROR_UNEXPECTED 

Unexpected test failure

Definition at line 1471 of file igsc_lib.h.

◆ igsc_ifr_repairs_mask

IFR repairs masks

Enumerator
IGSC_IFR_REPAIRS_MASK_DSS_EN_REPAIR 

DSS enable repair applied

IGSC_IFR_REPAIRS_MASK_ARRAY_REPAIR 

Array repair applied

IGSC_IFR_REPAIRS_MASK_FAILURE 

Repair failure occurred

Definition at line 1493 of file igsc_lib.h.

◆ igsc_ifr_supported_tests_masks

IFR supported tests masks

Enumerator
IGSC_IFR_SUPPORTED_TESTS_ARRAY_AND_SCAN 

1 - Array and Scan test

IGSC_IFR_SUPPORTED_TESTS_MEMORY_PPR 

2 - Memory PPR

Definition at line 1454 of file igsc_lib.h.

Function Documentation

◆ igsc_device_commit_arb_svn()

IGSC_EXPORT int igsc_device_commit_arb_svn ( IN struct igsc_device_handle * handle,
uint8_t * fw_error )

Sends ARB SVN Commit HECI command.

Parameters
handleA handle to the device.
fw_errorAn error returned by firmware in case of failure, can be NULL if not needed
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_get_min_allowed_arb_svn()

IGSC_EXPORT int igsc_device_get_min_allowed_arb_svn ( IN struct igsc_device_handle * handle,
OUT uint8_t * min_allowed_svn )

Retrieves Minimal allowed ARB SVN.

Parameters
handleA handle to the device.
min_allowed_svnbuffer for minimal allowed ARB SVN value
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_ifr_bin_version()

IGSC_EXPORT int igsc_device_ifr_bin_version ( IN struct igsc_device_handle * handle,
OUT struct igsc_ifr_bin_version * version )

Retrieves the IFR Binary Version from the device.

Parameters
handleA handle to the device.
versionThe memory to store obtained IFR binary version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_oem_serial_number()

IGSC_EXPORT int igsc_device_oem_serial_number ( IN struct igsc_device_handle * handle,
OUT struct igsc_oem_serial_number * sn )

Retrieves the OEM serial number from the device.

Parameters
handleA handle to the device.
snThe memory to store obtained OEM serial number.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_oem_version()

IGSC_EXPORT int igsc_device_oem_version ( IN struct igsc_device_handle * handle,
OUT struct igsc_oem_version * version )

Retrieves the OEM Version from the device.

Parameters
handleA handle to the device.
versionThe memory to store obtained OEM version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_psc_version()

IGSC_EXPORT int igsc_device_psc_version ( IN struct igsc_device_handle * handle,
OUT struct igsc_psc_version * version )

Retrieves the PSC Version from the device.

Parameters
handleA handle to the device.
versionThe memory to store obtained PSC version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ecc_config_get()

IGSC_EXPORT int igsc_ecc_config_get ( IN struct igsc_device_handle * handle,
OUT uint8_t * cur_ecc_state,
OUT uint8_t * pen_ecc_state )

Get ECC Configuration.

Parameters
handleA handle to the device.
cur_ecc_stateCurrent ECC State
pen_ecc_statePending ECC State
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ecc_config_set()

IGSC_EXPORT int igsc_ecc_config_set ( IN struct igsc_device_handle * handle,
IN uint8_t req_ecc_state,
OUT uint8_t * cur_ecc_state,
OUT uint8_t * pen_ecc_state )

Set ECC Configuration.

Parameters
handleA handle to the device.
req_ecc_stateRequested ECC State
cur_ecc_stateCurrent ECC State after command execution
pen_ecc_statePending ECC State after command execution
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_gfsp_count_tiles()

IGSC_EXPORT int igsc_gfsp_count_tiles ( IN struct igsc_device_handle * handle,
OUT uint32_t * max_num_of_tiles )

Gets number of tiles.

Parameters
handleA handle to the device.
max_num_of_tilesmaximum number of tiles
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_gfsp_heci_cmd()

IGSC_EXPORT int igsc_gfsp_heci_cmd ( struct igsc_device_handle * handle,
uint32_t gfsp_cmd,
uint8_t * in_buffer,
size_t in_buffer_size,
uint8_t * out_buffer,
size_t out_buffer_size,
size_t * actual_out_buffer_size )

Send generic GFSP command and receive response.

Parameters
handleA handle to the device.
gfsp_cmdcommand id
in_bufferpointer to the input buffer
in_buffer_sizeinput buffer size
out_bufferpointer to the output buffer
out_buffer_sizeoutput buffer size
actual_out_buffer_sizepointer to the actual data size returned in the output buffer
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_gfsp_memory_errors()

IGSC_EXPORT int igsc_gfsp_memory_errors ( IN struct igsc_device_handle * handle,
IN OUT struct igsc_gfsp_mem_err * tiles )

Gets GFSP number of memory errors.

Parameters
handleA handle to the device.
tilesstructure to store errors
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ifr_count_tiles()

IGSC_EXPORT int igsc_ifr_count_tiles ( IN struct igsc_device_handle * handle,
OUT uint16_t * supported_tiles )

Counts the IFR supported tiles.

Parameters
handleA handle to the device.
supported_tilesNumber of supported tiles
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ifr_get_status_ext()

IGSC_EXPORT int igsc_ifr_get_status_ext ( IN struct igsc_device_handle * handle,
OUT uint32_t * supported_tests,
OUT uint32_t * hw_capabilities,
OUT uint32_t * ifr_applied,
OUT uint32_t * prev_errors,
OUT uint32_t * pending_reset )

Retrieves the status of GSC IFR device.

Parameters
handleA handle to the device.
supported_testsBitmap holding the tests supported on the platform,
See also
enum igsc_ifr_supported_tests_masks
Parameters
hw_capabilitiesBitmap holdinf hw capabilities on the platform,
See also
enum igsc_ifr_hw_capabilities_masks
Parameters
ifr_appliedBitmap holding the in-field-repairs applied during boot,
See also
enum igsc_ifr_repairs_mask
Parameters
prev_errorsBitmap holding which errors were seen on this SOC in previous tests,
See also
enum igsc_ifr_previous_errors_masks
Parameters
pending_resetWhether a reset is pending after running the test,
See also
enum igsc_ifr_pending_reset
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ifr_get_tile_repair_info()

IGSC_EXPORT int igsc_ifr_get_tile_repair_info ( IN struct igsc_device_handle * handle,
IN uint16_t tile_idx,
OUT uint16_t * used_array_repair_entries,
OUT uint16_t * available_array_repair_entries,
OUT uint16_t * failed_dss )

Retrieves the IFR repair info.

Parameters
handleA handle to the device.
tile_idxThe index of the tile the info is requested from
used_array_repair_entriesNumber of array repair entries used by FW
available_array_repair_entriesNumber of available array repair entries
failed_dssNumber of failed DSS
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ifr_run_array_scan_test()

IGSC_EXPORT int igsc_ifr_run_array_scan_test ( IN struct igsc_device_handle * handle,
OUT uint32_t * status,
OUT uint32_t * extended_status,
OUT uint32_t * pending_reset,
OUT uint32_t * error_code )

Runs IFR Array and Scan tests on GSC IFR device.

Parameters
handleA handle to the device.
statusTest run status,
See also
enum igsc_ifr_array_scan_test_status_mask
Parameters
extended_statusTest run extended status,
See also
enum igsc_ifr_array_scan_extended_status
Parameters
pending_resetWhether a reset is pending,
See also
enum igsc_ifr_pending_reset
Parameters
error_codeThe error code of the test (0 - no error)
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_ifr_run_mem_ppr_test()

IGSC_EXPORT int igsc_ifr_run_mem_ppr_test ( IN struct igsc_device_handle * handle,
OUT uint32_t * status,
OUT uint32_t * pending_reset,
OUT uint32_t * error_code )

Runs IFR memory Post Package Repair (PPR) test on GSC IFR device.

Parameters
handleA handle to the device.
statusTest run status,0 - Test is available and will be run after a reset Other values - error
pending_resetWhether a reset is pending,
See also
enum igsc_ifr_pending_reset
Parameters
error_codeThe error code of the test (0 - no error)
Returns
IGSC_SUCCESS if successful, otherwise error code.