aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 905cce1814f3..05897b05766b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -38,18 +38,10 @@ static void psp_set_funcs(struct amdgpu_device *adev);
38static int psp_early_init(void *handle) 38static int psp_early_init(void *handle)
39{ 39{
40 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 40 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
41 struct psp_context *psp = &adev->psp;
41 42
42 psp_set_funcs(adev); 43 psp_set_funcs(adev);
43 44
44 return 0;
45}
46
47static int psp_sw_init(void *handle)
48{
49 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
50 struct psp_context *psp = &adev->psp;
51 int ret;
52
53 switch (adev->asic_type) { 45 switch (adev->asic_type) {
54 case CHIP_VEGA10: 46 case CHIP_VEGA10:
55 case CHIP_VEGA12: 47 case CHIP_VEGA12:
@@ -67,6 +59,15 @@ static int psp_sw_init(void *handle)
67 59
68 psp->adev = adev; 60 psp->adev = adev;
69 61
62 return 0;
63}
64
65static int psp_sw_init(void *handle)
66{
67 struct amdgpu_device *adev = (struct amdgpu_device *)handle;
68 struct psp_context *psp = &adev->psp;
69 int ret;
70
70 ret = psp_init_microcode(psp); 71 ret = psp_init_microcode(psp);
71 if (ret) { 72 if (ret) {
72 DRM_ERROR("Failed to load psp firmware!\n"); 73 DRM_ERROR("Failed to load psp firmware!\n");