| From 9d6fea5744d6798353f37ac42a8a653a2607ca69 Mon Sep 17 00:00:00 2001 |
| From: Alex Deucher <alexander.deucher@amd.com> |
| Date: Wed, 8 May 2019 21:45:06 -0500 |
| Subject: drm/amdgpu/psp: move psp version specific function pointers to early_init |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Alex Deucher <alexander.deucher@amd.com> |
| |
| commit 9d6fea5744d6798353f37ac42a8a653a2607ca69 upstream. |
| |
| In case we need to use them for GPU reset prior initializing the |
| asic. Fixes a crash if the driver attempts to reset the GPU at driver |
| load time. |
| |
| Acked-by: Christian Kรถnig <christian.koenig@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 19 ++++++++++--------- |
| 1 file changed, 10 insertions(+), 9 deletions(-) |
| |
| --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |
| +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c |
| @@ -37,18 +37,10 @@ static void psp_set_funcs(struct amdgpu_ |
| static int psp_early_init(void *handle) |
| { |
| struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
| + struct psp_context *psp = &adev->psp; |
| |
| psp_set_funcs(adev); |
| |
| - return 0; |
| -} |
| - |
| -static int psp_sw_init(void *handle) |
| -{ |
| - struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
| - struct psp_context *psp = &adev->psp; |
| - int ret; |
| - |
| switch (adev->asic_type) { |
| case CHIP_VEGA10: |
| case CHIP_VEGA12: |
| @@ -67,6 +59,15 @@ static int psp_sw_init(void *handle) |
| if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) |
| return 0; |
| |
| + return 0; |
| +} |
| + |
| +static int psp_sw_init(void *handle) |
| +{ |
| + struct amdgpu_device *adev = (struct amdgpu_device *)handle; |
| + struct psp_context *psp = &adev->psp; |
| + int ret; |
| + |
| ret = psp_init_microcode(psp); |
| if (ret) { |
| DRM_ERROR("Failed to load psp firmware!\n"); |