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

Topics

 Oprom
 
 Enumeration
 
 Ifr
 

Data Structures

struct  igsc_fw_update_flags
 

Macros

#define IGSC_MAX_FW_STATUS_INDEX   5
 

Typedefs

typedef void(* igsc_log_func_t) (enum igsc_log_level_type log_level, const char *fmt,...)
 Callback function template for printing igsc log messages.
 
typedef void(* igsc_progress_func_t) (uint32_t sent, uint32_t total, void *ctx)
 Callback function template for monitor firmware update progress.
 

Functions

IGSC_EXPORT uint32_t igsc_get_last_firmware_status (IN struct igsc_device_handle *handle)
 Return the last firmware status code.
 
IGSC_EXPORT const char * igsc_translate_firmware_status (IN uint32_t firmware_status)
 Return the firmware status message corresponding to the code.
 
IGSC_EXPORT int igsc_read_fw_status_reg (IN struct igsc_device_handle *handle, IN uint32_t fwsts_index, OUT uint32_t *fwsts_value)
 Read firmware status register.
 
IGSC_EXPORT void igsc_set_log_callback_func (IN igsc_log_func_t log_callback_f)
 Sets log callback function. This interface is not thread-aware, Changes here may lead to crashes in multi-thread app when the thread setting callback exists without setting this call-back function to NULL while other thread from same app continues to run.
 
IGSC_EXPORT igsc_log_func_t igsc_get_log_callback_func (void)
 Retrieves log callback function pointer.
 
IGSC_EXPORT int igsc_device_init_by_device (IN OUT struct igsc_device_handle *handle, IN const char *device_path)
 Initializes a GSC Firmware Update device.
 
int igsc_device_init_by_handle (IN OUT struct igsc_device_handle *handle, IN igsc_handle_t dev_handle)
 Initializes a GSC Firmware Update device.
 
IGSC_EXPORT int igsc_device_init_by_device_info (IN OUT struct igsc_device_handle *handle, IN const struct igsc_device_info *dev_info)
 Initializes a GSC Firmware Update device.
 
IGSC_EXPORT int igsc_device_get_device_info (IN struct igsc_device_handle *handle, OUT struct igsc_device_info *dev_info)
 Retrieve device information from the system.
 
IGSC_EXPORT int igsc_device_update_device_info (IN struct igsc_device_handle *handle, OUT struct igsc_device_info *dev_info)
 Update device information from the firmware The subsystem device id and the subsystem vendor id, reported by the PCI system, may be different from the ones reported by the firmware and so the device information should be updated by with the values received from the firmware.
 
IGSC_EXPORT int igsc_device_close (IN OUT struct igsc_device_handle *handle)
 Closes a GSC Firmware Update device.
 
IGSC_EXPORT int igsc_device_fw_version (IN struct igsc_device_handle *handle, OUT struct igsc_fw_version *version)
 Retrieves the GSC Firmware Version from the device.
 
IGSC_EXPORT int igsc_image_fw_version (IN const uint8_t *buffer, IN uint32_t buffer_len, OUT struct igsc_fw_version *version)
 Retrieves the Firmware Version from the provided firmware update image.
 
IGSC_EXPORT int igsc_device_hw_config (IN struct igsc_device_handle *handle, OUT struct igsc_hw_config *hw_config)
 Retrieves the hw configuration from the device.
 
IGSC_EXPORT int igsc_device_subsystem_ids (IN struct igsc_device_handle *handle, OUT struct igsc_subsystem_ids *ssids)
 Retrieves the subsystem ids (vid/did) from the device.
 
IGSC_EXPORT int igsc_image_hw_config (IN const uint8_t *buffer, IN uint32_t buffer_len, OUT struct igsc_hw_config *hw_config)
 Retrieves the hw configurations from the provided firmware update image.
 
IGSC_EXPORT int igsc_hw_config_compatible (IN const struct igsc_hw_config *image_hw_config, IN const struct igsc_hw_config *device_hw_config)
 Check whether image hardware configuration compatible with device hardware configuration.
 
IGSC_EXPORT int igsc_hw_config_to_string (IN const struct igsc_hw_config *hw_config, IN char *buf, IN size_t length)
 express hw configuration in a string
 
IGSC_EXPORT int igsc_device_fw_update (IN struct igsc_device_handle *handle, IN const uint8_t *buffer, IN const uint32_t buffer_len, IN igsc_progress_func_t progress_f, IN void *ctx)
 Perform the firmware update from the provided firmware update image.
 
IGSC_EXPORT int igsc_device_fw_update_ex (IN struct igsc_device_handle *handle, IN const uint8_t *buffer, IN const uint32_t buffer_len, IN igsc_progress_func_t progress_f, IN void *ctx, IN struct igsc_fw_update_flags flags)
 Perform the firmware update with flags from the provided firmware update image.
 
IGSC_EXPORT int igsc_iaf_psc_update (IN struct igsc_device_handle *handle, IN const uint8_t *buffer, IN const uint32_t buffer_len, IN igsc_progress_func_t progress_f, IN void *ctx)
 Perform Intel Accelerator Fabric Platform Specific Configuration (PSC) update from the provided update data image.
 
IGSC_EXPORT int igsc_device_fwdata_update (IN struct igsc_device_handle *handle, IN const uint8_t *buffer, IN const uint32_t buffer_len, IN igsc_progress_func_t progress_f, IN void *ctx)
 Perform the GSC firmware in-field data update from the provided firmware update image.
 
IGSC_EXPORT int igsc_device_fwdata_image_update (IN struct igsc_device_handle *handle, IN struct igsc_fwdata_image *img, IN igsc_progress_func_t progress_f, IN void *ctx)
 Perform the GSC firmware in-field data update from the provided firmware update image.
 
IGSC_EXPORT int igsc_image_fwdata_init (IN OUT struct igsc_fwdata_image **img, IN const uint8_t *buffer, IN uint32_t buffer_len)
 initializes firmware data image handle from the supplied firmware data update image.
 
IGSC_EXPORT int igsc_device_fwdata_version (IN struct igsc_device_handle *handle, OUT struct igsc_fwdata_version *version)
 Retrieves the GSC in-field data Firmware Version from the device.
 
IGSC_EXPORT int igsc_device_fwdata_version2 (IN struct igsc_device_handle *handle, OUT struct igsc_fwdata_version2 *version)
 Retrieves the GSC in-field data Firmware Version from the device With ability to return FW Data version in second version format.
 
IGSC_EXPORT int igsc_image_fwdata_version (IN struct igsc_fwdata_image *img, OUT struct igsc_fwdata_version *version)
 Retrieves the GSC in-field data Firmware version from the supplied GSC in-field data Firmware update image.
 
IGSC_EXPORT int igsc_image_fwdata_version2 (IN struct igsc_fwdata_image *img, OUT struct igsc_fwdata_version2 *version)
 Retrieves the GSC in-field data Firmware version from the supplied GSC in-field data Firmware update image. With ability to return FW Data version in second version format.
 
IGSC_EXPORT uint8_t igsc_fwdata_version_compare (IN struct igsc_fwdata_version *image_ver, IN struct igsc_fwdata_version *device_ver)
 Compares input GSC in-field data firmware update version to the flash one With ability to compare FW Data version in second version format.
 
IGSC_EXPORT uint8_t igsc_fwdata_version_compare2 (IN struct igsc_fwdata_version2 *image_ver, IN struct igsc_fwdata_version2 *device_ver)
 Compares input GSC in-field data firmware update version to the flash one.
 
IGSC_EXPORT int igsc_image_fwdata_count_devices (IN struct igsc_fwdata_image *img, OUT uint32_t *count)
 Retrieves a count of of different devices supported by the GSC in-field data firmware update image associated with the handle.
 
IGSC_EXPORT int igsc_image_fwdata_supported_devices (IN struct igsc_fwdata_image *img, OUT struct igsc_fwdata_device_info *devices, IN OUT uint32_t *count)
 Retrieves a list of supported devices by the GSC in-field data firmware update image associated with the handle. The caller supplies allocated buffer devices of count size. The function returns count filled with actually returned devices.
 
IGSC_EXPORT int igsc_image_fwdata_match_device (IN struct igsc_fwdata_image *img, IN struct igsc_device_info *device)
 check if GSC in-field data firmware image can be applied on the device.
 
IGSC_EXPORT int igsc_image_fwdata_iterator_reset (IN struct igsc_fwdata_image *img)
 reset the iterator over supported devices
 
IGSC_EXPORT int igsc_image_fwdata_iterator_next (IN struct igsc_fwdata_image *img, OUT struct igsc_fwdata_device_info *device)
 progress the supported device iterator and return the GSC in-field data firmware device info
 
IGSC_EXPORT int igsc_image_fwdata_release (IN struct igsc_fwdata_image *img)
 release the fwdata image handle
 
IGSC_EXPORT uint8_t igsc_fw_version_compare (IN struct igsc_fw_version *image_ver, IN struct igsc_fw_version *device_ver)
 Compares input fw version to the flash one.
 
IGSC_EXPORT int igsc_device_oprom_version (IN struct igsc_device_handle *handle, IN uint32_t oprom_type, OUT struct igsc_oprom_version *version)
 Retrieves the GSC OPROM version from the device.
 
IGSC_EXPORT int igsc_device_oprom_update (IN struct igsc_device_handle *handle, IN uint32_t oprom_type, IN struct igsc_oprom_image *img, IN igsc_progress_func_t progress_f, IN void *ctx)
 Perform the OPROM update from the provided image.
 

Detailed Description


Data Structure Documentation

◆ igsc_fw_update_flags

struct igsc_fw_update_flags

Definition at line 632 of file igsc_lib.h.

Data Fields
uint32_t force_update: 1
uint32_t reserved: 31

Macro Definition Documentation

◆ IGSC_MAX_FW_STATUS_INDEX

#define IGSC_MAX_FW_STATUS_INDEX   5

Definition at line 389 of file igsc_lib.h.

Typedef Documentation

◆ igsc_log_func_t

typedef void(* igsc_log_func_t) (enum igsc_log_level_type log_level, const char *fmt,...)

Callback function template for printing igsc log messages.

Parameters
log_levellog level of the error message.
fmtlog message format
...variadic parameters

Definition at line 412 of file igsc_lib.h.

◆ igsc_progress_func_t

typedef void(* igsc_progress_func_t) (uint32_t sent, uint32_t total, void *ctx)

Callback function template for monitor firmware update progress.

Parameters
sentNumber of bytes sent to the firmware.
totalTotal number of bytes in firmware update image.
ctxContext provided by caller.

Definition at line 610 of file igsc_lib.h.

Function Documentation

◆ igsc_device_close()

IGSC_EXPORT int igsc_device_close ( IN OUT struct igsc_device_handle * handle)

Closes a GSC Firmware Update device.

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

◆ igsc_device_fw_update()

IGSC_EXPORT int igsc_device_fw_update ( IN struct igsc_device_handle * handle,
IN const uint8_t * buffer,
IN const uint32_t buffer_len,
IN igsc_progress_func_t progress_f,
IN void * ctx )

Perform the firmware update from the provided firmware update image.

Parameters
handleA handle to the device.
bufferA pointer to the buffer with the firmware update image.
buffer_lenLength of the buffer with the firmware update image.
progress_fPointer to the callback function for firmware update progress monitor.
ctxContext passed to progress_f function.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_fw_update_ex()

IGSC_EXPORT int igsc_device_fw_update_ex ( IN struct igsc_device_handle * handle,
IN const uint8_t * buffer,
IN const uint32_t buffer_len,
IN igsc_progress_func_t progress_f,
IN void * ctx,
IN struct igsc_fw_update_flags flags )

Perform the firmware update with flags from the provided firmware update image.

Parameters
handleA handle to the device.
bufferA pointer to the buffer with the firmware update image.
buffer_lenLength of the buffer with the firmware update image.
progress_fPointer to the callback function for firmware update progress monitor.
ctxContext passed to progress_f function.
flagsflags with which the update should be performed
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_fw_version()

IGSC_EXPORT int igsc_device_fw_version ( IN struct igsc_device_handle * handle,
OUT struct igsc_fw_version * version )

Retrieves the GSC Firmware Version from the device.

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

◆ igsc_device_fwdata_image_update()

IGSC_EXPORT int igsc_device_fwdata_image_update ( IN struct igsc_device_handle * handle,
IN struct igsc_fwdata_image * img,
IN igsc_progress_func_t progress_f,
IN void * ctx )

Perform the GSC firmware in-field data update from the provided firmware update image.

Parameters
handleA handle to the device.
imgA pointer to the parsed firmware data image structure.
progress_fPointer to the callback function for firmware update progress monitor.
ctxContext passed to progress_f function.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_fwdata_update()

IGSC_EXPORT int igsc_device_fwdata_update ( IN struct igsc_device_handle * handle,
IN const uint8_t * buffer,
IN const uint32_t buffer_len,
IN igsc_progress_func_t progress_f,
IN void * ctx )

Perform the GSC firmware in-field data update from the provided firmware update image.

Parameters
handleA handle to the device.
bufferA pointer to the buffer with the firmware in-field data update image.
buffer_lenLength of the buffer with the firmware in-field data update image.
progress_fPointer to the callback function for firmware update progress monitor.
ctxContext passed to progress_f function.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_fwdata_version()

IGSC_EXPORT int igsc_device_fwdata_version ( IN struct igsc_device_handle * handle,
OUT struct igsc_fwdata_version * version )

Retrieves the GSC in-field data Firmware Version from the device.

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

◆ igsc_device_fwdata_version2()

IGSC_EXPORT int igsc_device_fwdata_version2 ( IN struct igsc_device_handle * handle,
OUT struct igsc_fwdata_version2 * version )

Retrieves the GSC in-field data Firmware Version from the device With ability to return FW Data version in second version format.

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

◆ igsc_device_get_device_info()

IGSC_EXPORT int igsc_device_get_device_info ( IN struct igsc_device_handle * handle,
OUT struct igsc_device_info * dev_info )

Retrieve device information from the system.

Parameters
handleAn initialized handle to the device.
dev_infoA device info structure
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_hw_config()

IGSC_EXPORT int igsc_device_hw_config ( IN struct igsc_device_handle * handle,
OUT struct igsc_hw_config * hw_config )

Retrieves the hw configuration from the device.

Parameters
handleA handle to the device.
hw_configThe memory to store obtained the hardware configuration
Returns
IGSC_SUCCESS if successful, otherwise error code.
IGSC_ERROR_NOT_SUPPORTED if feature is not supported

◆ igsc_device_init_by_device()

IGSC_EXPORT int igsc_device_init_by_device ( IN OUT struct igsc_device_handle * handle,
IN const char * device_path )

Initializes a GSC Firmware Update device.

Parameters
handleA handle to the device. All subsequent calls to the lib's functions must be with this handle.
device_pathA path to the device
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_init_by_device_info()

IGSC_EXPORT int igsc_device_init_by_device_info ( IN OUT struct igsc_device_handle * handle,
IN const struct igsc_device_info * dev_info )

Initializes a GSC Firmware Update device.

Parameters
handleA handle to the device. All subsequent calls to the lib's functions must be with this handle.
dev_infoA device info structure
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_init_by_handle()

int igsc_device_init_by_handle ( IN OUT struct igsc_device_handle * handle,
IN igsc_handle_t dev_handle )

Initializes a GSC Firmware Update device.

Parameters
handleA handle to the device. All subsequent calls to the lib's functions must be with this handle.
dev_handleAn open device handle
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_oprom_update()

IGSC_EXPORT int igsc_device_oprom_update ( IN struct igsc_device_handle * handle,
IN uint32_t oprom_type,
IN struct igsc_oprom_image * img,
IN igsc_progress_func_t progress_f,
IN void * ctx )

Perform the OPROM update from the provided image.

Parameters
handleA handle to the device.
oprom_typeOPROM part to update
See also
igsc_oprom_type
Parameters
imgA pointer to the parsed oprom image structure.
progress_fPointer to the callback function for OPROM update progress monitor.
ctxContext passed to progress_f function.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_oprom_version()

IGSC_EXPORT int igsc_device_oprom_version ( IN struct igsc_device_handle * handle,
IN uint32_t oprom_type,
OUT struct igsc_oprom_version * version )

Retrieves the GSC OPROM version from the device.

Parameters
handleA handle to the device.
oprom_typeAn OPROM type requested
See also
enum igsc_oprom_type
Parameters
versionThe memory to store obtained OPROM version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_device_subsystem_ids()

IGSC_EXPORT int igsc_device_subsystem_ids ( IN struct igsc_device_handle * handle,
OUT struct igsc_subsystem_ids * ssids )

Retrieves the subsystem ids (vid/did) from the device.

Parameters
handleA handle to the device.
ssidsThe memory to store obtained subsystem ids
Returns
IGSC_SUCCESS if successful, otherwise error code.
IGSC_ERROR_NOT_SUPPORTED if feature is not supported

◆ igsc_device_update_device_info()

IGSC_EXPORT int igsc_device_update_device_info ( IN struct igsc_device_handle * handle,
OUT struct igsc_device_info * dev_info )

Update device information from the firmware The subsystem device id and the subsystem vendor id, reported by the PCI system, may be different from the ones reported by the firmware and so the device information should be updated by with the values received from the firmware.

Parameters
handleAn initialized handle to the device.
dev_infoA device info structure
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_fw_version_compare()

IGSC_EXPORT uint8_t igsc_fw_version_compare ( IN struct igsc_fw_version * image_ver,
IN struct igsc_fw_version * device_ver )

Compares input fw version to the flash one.

Parameters
image_verpointer to the update image version
device_verpointer to the device version
Returns
  • IGSC_VERSION_NOT_COMPATIBLE if update image is for a different platform
  • IGSC_VERSION_NEWER if update image version is newer than the one on the device
  • IGSC_VERSION_EQUAL if update image version is equal to the one on the device
  • IGSC_VERSION_OLDER if update image version is older than the one on the device
  • IGSC_VERSION_ERROR if NULL parameters were provided

◆ igsc_fwdata_version_compare()

IGSC_EXPORT uint8_t igsc_fwdata_version_compare ( IN struct igsc_fwdata_version * image_ver,
IN struct igsc_fwdata_version * device_ver )

Compares input GSC in-field data firmware update version to the flash one With ability to compare FW Data version in second version format.

Parameters
image_verpointer to the GSC in-field data firmware update image version
device_verpointer to the device GSC data firmware version
Returns
  • IGSC_FWDATA_VERSION_REJECT_VCN if image VCN version is bigger than device VCN
  • IGSC_FWDATA_VERSION_REJECT_OEM_MANUF_DATA_VERSION if OEM manufacturing data version is not bigger than device OEM version
  • IGSC_FWDATA_VERSION_REJECT_DIFFERENT_PROJECT if major version is different from device major version
  • IGSC_FWDATA_VERSION_ACCEPT if VCN version is equal to the device's one, and OEM is bigger
  • IGSC_FWDATA_VERSION_OLDER_VCN if VCN version is smaller than the one on the device

◆ igsc_fwdata_version_compare2()

IGSC_EXPORT uint8_t igsc_fwdata_version_compare2 ( IN struct igsc_fwdata_version2 * image_ver,
IN struct igsc_fwdata_version2 * device_ver )

Compares input GSC in-field data firmware update version to the flash one.

Parameters
image_verpointer to the GSC in-field data firmware update image version
device_verpointer to the device GSC data firmware version
Returns
  • IGSC_FWDATA_VERSION_REJECT_VCN if image VCN version is bigger than device VCN
  • IGSC_FWDATA_VERSION_REJECT_OEM_MANUF_DATA_VERSION if OEM manufacturing data version is not bigger than device OEM version or equal in ver2 comparison
  • IGSC_FWDATA_VERSION_REJECT_DIFFERENT_PROJECT if major version is different from device major version
  • IGSC_FWDATA_VERSION_ACCEPT if VCN version is equal to the device's one, and OEM is bigger
  • IGSC_FWDATA_VERSION_OLDER_VCN if VCN version is smaller than the one on the device
  • IGSC_FWDATA_VERSION_REJECT_WRONG_FORMAT if version format is the wrong one or incompatible
  • IGSC_FWDATA_VERSION_REJECT_ARB_SVN if update image SVN version is smaller than the one on the device

◆ igsc_get_last_firmware_status()

IGSC_EXPORT uint32_t igsc_get_last_firmware_status ( IN struct igsc_device_handle * handle)

Return the last firmware status code.

Parameters
handleA handle to the device.
Returns
last firmware status code.

◆ igsc_get_log_callback_func()

IGSC_EXPORT igsc_log_func_t igsc_get_log_callback_func ( void )

Retrieves log callback function pointer.

Returns
log callback function pointer

◆ igsc_hw_config_compatible()

IGSC_EXPORT int igsc_hw_config_compatible ( IN const struct igsc_hw_config * image_hw_config,
IN const struct igsc_hw_config * device_hw_config )

Check whether image hardware configuration compatible with device hardware configuration.

Parameters
image_hw_configStores the image hardware configuration.
device_hw_configStores the device hardware configuration.
Returns
IGSC_SUCCESS if image hardware configuration compatible with device.

◆ igsc_hw_config_to_string()

IGSC_EXPORT int igsc_hw_config_to_string ( IN const struct igsc_hw_config * hw_config,
IN char * buf,
IN size_t length )

express hw configuration in a string

Parameters
hw_configStores the hardware configuration.
bufto store the hw configuration in a printable null terminated string
lengthlength of supplied buffer
Returns
number of bytes in buffer excluding null terminator or < 0 on error

◆ igsc_iaf_psc_update()

IGSC_EXPORT int igsc_iaf_psc_update ( IN struct igsc_device_handle * handle,
IN const uint8_t * buffer,
IN const uint32_t buffer_len,
IN igsc_progress_func_t progress_f,
IN void * ctx )

Perform Intel Accelerator Fabric Platform Specific Configuration (PSC) update from the provided update data image.

Parameters
handleA handle to the device.
bufferA pointer to the buffer with the PSC data update image.
buffer_lenLength of the buffer with the PSC data update image.
progress_fPointer to the callback function for data update progress monitor.
ctxContext passed to progress_f function.
Returns
  • IGSC_SUCCESS if successful
  • otherwise error code.

◆ igsc_image_fw_version()

IGSC_EXPORT int igsc_image_fw_version ( IN const uint8_t * buffer,
IN uint32_t buffer_len,
OUT struct igsc_fw_version * version )

Retrieves the Firmware Version from the provided firmware update image.

Parameters
bufferA pointer to the buffer with the firmware update image.
buffer_lenLength of the buffer with the firmware update image.
versionThe memory to store the obtained firmware version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_count_devices()

IGSC_EXPORT int igsc_image_fwdata_count_devices ( IN struct igsc_fwdata_image * img,
OUT uint32_t * count )

Retrieves a count of of different devices supported by the GSC in-field data firmware update image associated with the handle.

Parameters
imgGSC in-field data firmware image handle
countthe number of devices
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_init()

IGSC_EXPORT int igsc_image_fwdata_init ( IN OUT struct igsc_fwdata_image ** img,
IN const uint8_t * buffer,
IN uint32_t buffer_len )

initializes firmware data image handle from the supplied firmware data update image.

Parameters
imgfirmware data image handle allocated by the function.
bufferA pointer to the buffer with the firmware data update image.
buffer_lenLength of the buffer with the firmware data update image.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_iterator_next()

IGSC_EXPORT int igsc_image_fwdata_iterator_next ( IN struct igsc_fwdata_image * img,
OUT struct igsc_fwdata_device_info * device )

progress the supported device iterator and return the GSC in-field data firmware device info

Parameters
imgGSC in-field data firmware image handle
deviceGSC in-field data firmware device information.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_iterator_reset()

IGSC_EXPORT int igsc_image_fwdata_iterator_reset ( IN struct igsc_fwdata_image * img)

reset the iterator over supported devices

Parameters
imgGSC in-field data firmware image handle
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_match_device()

IGSC_EXPORT int igsc_image_fwdata_match_device ( IN struct igsc_fwdata_image * img,
IN struct igsc_device_info * device )

check if GSC in-field data firmware image can be applied on the device.

Parameters
imgGSC in-field data firmware image handle
devicephysical device info
Returns
  • IGSC_SUCCESS if device is on the list of supported devices.
  • IGSC_ERROR_DEVICE_NOT_FOUND otherwise.

◆ igsc_image_fwdata_release()

IGSC_EXPORT int igsc_image_fwdata_release ( IN struct igsc_fwdata_image * img)

release the fwdata image handle

Parameters
imgfwdata image handle
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_supported_devices()

IGSC_EXPORT int igsc_image_fwdata_supported_devices ( IN struct igsc_fwdata_image * img,
OUT struct igsc_fwdata_device_info * devices,
IN OUT uint32_t * count )

Retrieves a list of supported devices by the GSC in-field data firmware update image associated with the handle. The caller supplies allocated buffer devices of count size. The function returns count filled with actually returned devices.

Parameters
imgGSC in-field data firmware image handle
deviceslist of devices supported by the GSC in-field data firmware image
countin the number of devices allocated
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_version()

IGSC_EXPORT int igsc_image_fwdata_version ( IN struct igsc_fwdata_image * img,
OUT struct igsc_fwdata_version * version )

Retrieves the GSC in-field data Firmware version from the supplied GSC in-field data Firmware update image.

Parameters
imgGSC in-field data Firmware image handle
versionThe memory to store the obtained GSC in-field data Firmware version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_fwdata_version2()

IGSC_EXPORT int igsc_image_fwdata_version2 ( IN struct igsc_fwdata_image * img,
OUT struct igsc_fwdata_version2 * version )

Retrieves the GSC in-field data Firmware version from the supplied GSC in-field data Firmware update image. With ability to return FW Data version in second version format.

Parameters
imgGSC in-field data Firmware image handle
versionThe memory to store the obtained GSC in-field data Firmware version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_hw_config()

IGSC_EXPORT int igsc_image_hw_config ( IN const uint8_t * buffer,
IN uint32_t buffer_len,
OUT struct igsc_hw_config * hw_config )

Retrieves the hw configurations from the provided firmware update image.

Parameters
bufferA pointer to the buffer with the firmware update image.
buffer_lenLength of the buffer with the firmware update image.
hw_configThe memory to store obtained the hardware configuration
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_read_fw_status_reg()

IGSC_EXPORT int igsc_read_fw_status_reg ( IN struct igsc_device_handle * handle,
IN uint32_t fwsts_index,
OUT uint32_t * fwsts_value )

Read firmware status register.

Parameters
handleA handle to the device.
fwsts_indexindex of the firmware status register (0..IGSC_MAX_FW_STATUS_INDEX)
fwsts_valuereturned firmware status values
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_set_log_callback_func()

IGSC_EXPORT void igsc_set_log_callback_func ( IN igsc_log_func_t log_callback_f)

Sets log callback function. This interface is not thread-aware, Changes here may lead to crashes in multi-thread app when the thread setting callback exists without setting this call-back function to NULL while other thread from same app continues to run.

Parameters
log_callback_fpointer to the callback function for igsc library log messages. passing NULL to this will disable logging callback function.
Returns
void.

◆ igsc_translate_firmware_status()

IGSC_EXPORT const char * igsc_translate_firmware_status ( IN uint32_t firmware_status)

Return the firmware status message corresponding to the code.

Parameters
firmware_statuscode of firmware status
Returns
firmware status message corresponding to the code.