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

Functions

IGSC_EXPORT int igsc_image_oprom_init (IN OUT struct igsc_oprom_image **img, IN const uint8_t *buffer, IN uint32_t buffer_len)
 initializes OPROM image handle from the supplied OPROM update image.
IGSC_EXPORT int igsc_image_oprom_version (IN struct igsc_oprom_image *img, IN enum igsc_oprom_type type, OUT struct igsc_oprom_version *version)
 Retrieves the OPROM version from the supplied OPROM update image.
IGSC_EXPORT int igsc_image_oprom_type (IN struct igsc_oprom_image *img, IN uint32_t *oprom_type)
 Retrieves the OPROM type from the provided OPROM update image.
IGSC_EXPORT int igsc_image_oprom_count_devices (IN struct igsc_oprom_image *img, OUT uint32_t *count)
 Retrieves a count of of different devices supported by the OPROM update image associated with the handle.
IGSC_EXPORT int igsc_image_oprom_supported_devices (IN struct igsc_oprom_image *img, OUT struct igsc_oprom_device_info *devices, IN OUT uint32_t *count)
 Retrieves a list of supported devices by the OPROM 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_oprom_match_device (IN struct igsc_oprom_image *img, IN enum igsc_oprom_type request_type, IN struct igsc_device_info *device)
 check if oprom image can be applied on the device.
IGSC_EXPORT int igsc_image_oprom_iterator_reset (IN struct igsc_oprom_image *img)
 reset the iterator over supported devices
IGSC_EXPORT int igsc_image_oprom_iterator_next (IN struct igsc_oprom_image *img, OUT struct igsc_oprom_device_info *device)
 progress the supported device iterator and return the oprom device info
IGSC_EXPORT int igsc_image_oprom_count_devices_typed (IN struct igsc_oprom_image *img, IN uint32_t request_type, OUT uint32_t *count)
 Retrieves a count of of different devices supported by the OPROM update image associated with the handle, based on image type.
IGSC_EXPORT int igsc_image_oprom_supported_devices_typed (IN struct igsc_oprom_image *img, IN uint32_t request_type, OUT struct igsc_oprom_device_info_4ids *devices, IN OUT uint32_t *count)
 Retrieves a list of supported devices based on image type by the OPROM 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_oprom_iterator_reset_typed (IN struct igsc_oprom_image *img, IN uint32_t request_type)
 reset the iterator over supported devices based on image type
IGSC_EXPORT int igsc_image_oprom_iterator_next_typed (IN struct igsc_oprom_image *img, IN uint32_t request_type, OUT struct igsc_oprom_device_info_4ids *device)
 progress the supported device iterator and return the oprom device info, based on image type
IGSC_EXPORT int igsc_image_oprom_has_4ids_extension (IN struct igsc_oprom_image *img, IN uint32_t request_type, OUT bool *has_4ids_extension)
 returns whether the oprom image has 4ids device extension
IGSC_EXPORT int igsc_image_oprom_has_2ids_extension (IN struct igsc_oprom_image *img, OUT bool *has_2ids_extension)
 returns whether the oprom image has 2ids device extension
IGSC_EXPORT int igsc_image_oprom_code_devid_enforced (IN struct igsc_hw_config *hw_config, OUT bool *devid_enforced)
 returns whether the oprom code config has devId enforcement bit set
IGSC_EXPORT int igsc_image_oprom_release (IN struct igsc_oprom_image *img)
 release the OPROM image handle
IGSC_EXPORT uint8_t igsc_oprom_version_compare (const struct igsc_oprom_version *image_ver, const struct igsc_oprom_version *device_ver)
 Compares input oprom version to the flash one.
IGSC_EXPORT int igsc_image_get_type (IN const uint8_t *buffer, IN const uint32_t buffer_len, OUT uint8_t *type)
 Determine the type of the provided image.

Detailed Description

Function Documentation

◆ igsc_image_get_type()

IGSC_EXPORT int igsc_image_get_type ( IN const uint8_t * buffer,
IN const uint32_t buffer_len,
OUT uint8_t * type )

Determine the type of the provided image.

Parameters
bufferA pointer to the buffer with the image.
buffer_lenLength of the buffer with the image.
typeType of the image (enum igsc_image_type).
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_code_devid_enforced()

IGSC_EXPORT int igsc_image_oprom_code_devid_enforced ( IN struct igsc_hw_config * hw_config,
OUT bool * devid_enforced )

returns whether the oprom code config has devId enforcement bit set

Parameters
hw_configdevice hardware configuration.
devid_enforcedtrue when devId is enforced, false otherwise
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_count_devices()

IGSC_EXPORT int igsc_image_oprom_count_devices ( IN struct igsc_oprom_image * img,
OUT uint32_t * count )

Retrieves a count of of different devices supported by the OPROM update image associated with the handle.

Parameters
imgOPROM image handle
countthe number of devices
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_count_devices_typed()

IGSC_EXPORT int igsc_image_oprom_count_devices_typed ( IN struct igsc_oprom_image * img,
IN uint32_t request_type,
OUT uint32_t * count )

Retrieves a count of of different devices supported by the OPROM update image associated with the handle, based on image type.

Parameters
imgOPROM image handle
request_typetype of oprom device, enum igsc_oprom_type
countthe number of devices
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_has_2ids_extension()

IGSC_EXPORT int igsc_image_oprom_has_2ids_extension ( IN struct igsc_oprom_image * img,
OUT bool * has_2ids_extension )

returns whether the oprom image has 2ids device extension

Parameters
imgOPROM image handle
has_2ids_extensionwhether the oprom image has 2ids device extension
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_has_4ids_extension()

IGSC_EXPORT int igsc_image_oprom_has_4ids_extension ( IN struct igsc_oprom_image * img,
IN uint32_t request_type,
OUT bool * has_4ids_extension )

returns whether the oprom image has 4ids device extension

Parameters
imgOPROM image handle
request_typetype of oprom device
has_4ids_extensionwhether the oprom image has 4ids device extension
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_init()

IGSC_EXPORT int igsc_image_oprom_init ( IN OUT struct igsc_oprom_image ** img,
IN const uint8_t * buffer,
IN uint32_t buffer_len )

initializes OPROM image handle from the supplied OPROM update image.

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

◆ igsc_image_oprom_iterator_next()

IGSC_EXPORT int igsc_image_oprom_iterator_next ( IN struct igsc_oprom_image * img,
OUT struct igsc_oprom_device_info * device )

progress the supported device iterator and return the oprom device info

Parameters
imgOPROM image handle
deviceOPROM device information.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_iterator_next_typed()

IGSC_EXPORT int igsc_image_oprom_iterator_next_typed ( IN struct igsc_oprom_image * img,
IN uint32_t request_type,
OUT struct igsc_oprom_device_info_4ids * device )

progress the supported device iterator and return the oprom device info, based on image type

Parameters
imgOPROM image handle
request_typetype of oprom device, enum igsc_oprom_type
deviceOPROM device information.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_iterator_reset()

IGSC_EXPORT int igsc_image_oprom_iterator_reset ( IN struct igsc_oprom_image * img)

reset the iterator over supported devices

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

◆ igsc_image_oprom_iterator_reset_typed()

IGSC_EXPORT int igsc_image_oprom_iterator_reset_typed ( IN struct igsc_oprom_image * img,
IN uint32_t request_type )

reset the iterator over supported devices based on image type

Parameters
imgOPROM image handle
request_typetype of oprom device, enum igsc_oprom_type
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_match_device()

IGSC_EXPORT int igsc_image_oprom_match_device ( IN struct igsc_oprom_image * img,
IN enum igsc_oprom_type request_type,
IN struct igsc_device_info * device )

check if oprom image can be applied on the device.

Parameters
imgOPROM image handle
request_typetype of oprom device to match
devicephysical device info
Returns
  • IGSC_SUCCESS if device is on the list of supported devices.
  • IGSC_ERROR_DEVICE_NOT_FOUND otherwise.

◆ igsc_image_oprom_release()

IGSC_EXPORT int igsc_image_oprom_release ( IN struct igsc_oprom_image * img)

release the OPROM image handle

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

◆ igsc_image_oprom_supported_devices()

IGSC_EXPORT int igsc_image_oprom_supported_devices ( IN struct igsc_oprom_image * img,
OUT struct igsc_oprom_device_info * devices,
IN OUT uint32_t * count )

Retrieves a list of supported devices by the OPROM 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
imgOPROM image handle
deviceslist of devices supported by the OPROM image
countin the number of devices allocated
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_supported_devices_typed()

IGSC_EXPORT int igsc_image_oprom_supported_devices_typed ( IN struct igsc_oprom_image * img,
IN uint32_t request_type,
OUT struct igsc_oprom_device_info_4ids * devices,
IN OUT uint32_t * count )

Retrieves a list of supported devices based on image type by the OPROM 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
imgOPROM image handle
request_typetype of oprom device, enum igsc_oprom_type
deviceslist of devices supported by the OPROM image
countin the number of devices allocated
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_type()

IGSC_EXPORT int igsc_image_oprom_type ( IN struct igsc_oprom_image * img,
IN uint32_t * oprom_type )

Retrieves the OPROM type from the provided OPROM update image.

Parameters
imgOPROM image handle
oprom_typeThe variable to store obtained OPROM image type
See also
enum igsc_oprom_type
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_image_oprom_version()

IGSC_EXPORT int igsc_image_oprom_version ( IN struct igsc_oprom_image * img,
IN enum igsc_oprom_type type,
OUT struct igsc_oprom_version * version )

Retrieves the OPROM version from the supplied OPROM update image.

Parameters
imgOPROM image handle
typeOPROM image type
See also
enum igsc_oprom_type
Parameters
versionThe memory to store the obtained OPROM version.
Returns
IGSC_SUCCESS if successful, otherwise error code.

◆ igsc_oprom_version_compare()

IGSC_EXPORT uint8_t igsc_oprom_version_compare ( const struct igsc_oprom_version * image_ver,
const struct igsc_oprom_version * device_ver )

Compares input oprom version to the flash one.

Parameters
image_verpointer to the update image OPROM version
device_verpointer to the device OPROM 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