diff options
author | Likun Gao <[email protected]> | 2021-06-30 17:54:30 +0800 |
---|---|---|
committer | Alex Deucher <[email protected]> | 2022-05-04 09:55:27 -0400 |
commit | 911a75043f9e062fe232eb9fb428948afd80219b (patch) | |
tree | 971149095b3817336dd1e54ceae6929610914d96 | |
parent | e995e2ecdf35c19dd5772f6ac62e38221fdfa9ab (diff) |
drm/amdgpu: support psp v13_0_0 microcode init
Support psp v13_0_0 microcode init.
Signed-off-by: Likun Gao <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 5 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index ccb7106b2f27..5aba4cb9338a 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -82,6 +82,7 @@ static void psp_check_pmfw_centralized_cstate_management(struct psp_context *psp case IP_VERSION(11, 0, 11): case IP_VERSION(11, 0, 12): case IP_VERSION(11, 0, 13): + case IP_VERSION(13, 0, 0): case IP_VERSION(13, 0, 2): psp->pmfw_centralized_cstate_management = true; break; @@ -142,6 +143,10 @@ static int psp_early_init(void *handle) psp->autoload_supported = false; } break; + case IP_VERSION(13, 0, 0): + psp_v13_0_set_psp_funcs(psp); + psp->autoload_supported = true; + break; default: return -EINVAL; } diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c index f951dbf21af6..024853eb1cd7 100644 --- a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c +++ b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c @@ -41,6 +41,7 @@ MODULE_FIRMWARE("amdgpu/psp_13_0_5_ta.bin"); MODULE_FIRMWARE("amdgpu/psp_13_0_8_asd.bin"); MODULE_FIRMWARE("amdgpu/psp_13_0_8_toc.bin"); MODULE_FIRMWARE("amdgpu/psp_13_0_8_ta.bin"); +MODULE_FIRMWARE("amdgpu/psp_13_0_0_sos.bin"); /* For large FW files the time to complete can be very long */ #define USBC_PD_POLLING_LIMIT_S 240 @@ -68,6 +69,9 @@ static int psp_v13_0_init_microcode(struct psp_context *psp) case IP_VERSION(13, 0, 8): chip_name = "psp_13_0_8"; break; + case IP_VERSION(13, 0, 0): + chip_name = "psp_13_0_0"; + break; default: BUG(); } @@ -94,6 +98,11 @@ static int psp_v13_0_init_microcode(struct psp_context *psp) if (err) return err; break; + case IP_VERSION(13, 0, 0): + err = psp_init_sos_microcode(psp, chip_name); + if (err) + return err; + break; default: BUG(); } |