| 1 | =======================
|
| 2 | dGPU firmware flashing
|
| 3 | =======================
|
| 4 |
|
| 5 | IFWI
|
| 6 | ----
|
| 7 | Flashing the dGPU integrated firmware image (IFWI) is supported by GPUs that
|
| 8 | use the PSP to orchestrate the update (Navi3x or newer GPUs).
|
| 9 | For supported GPUs, `amdgpu` will export a series of sysfs files that can be
|
| 10 | used for the flash process.
|
| 11 |
|
| 12 | The IFWI flash process is:
|
| 13 |
|
| 14 | 1. Ensure the IFWI image is intended for the dGPU on the system.
|
| 15 | 2. "Write" the IFWI image to the sysfs file `psp_vbflash`. This will stage the IFWI in memory.
|
| 16 | 3. "Read" from the `psp_vbflash` sysfs file to initiate the flash process.
|
| 17 | 4. Poll the `psp_vbflash_status` sysfs file to determine when the flash process completes.
|
| 18 |
|
| 19 | USB-C PD F/W
|
| 20 | ------------
|
| 21 | On GPUs that support flashing an updated USB-C PD firmware image, the process
|
| 22 | is done using the `usbc_pd_fw` sysfs file.
|
| 23 |
|
| 24 | * Reading the file will provide the current firmware version.
|
| 25 | * Writing the name of a firmware payload stored in `/lib/firmware/amdgpu` to the sysfs file will initiate the flash process.
|
| 26 |
|
| 27 | The firmware payload stored in `/lib/firmware/amdgpu` can be named any name
|
| 28 | as long as it doesn't conflict with other existing binaries that are used by
|
| 29 | `amdgpu`.
|
| 30 |
|
| 31 | sysfs files
|
| 32 | -----------
|
| 33 | .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
|