summaryrefslogtreecommitdiff
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.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 3510be551cdde..691629293d721 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -2365,6 +2365,7 @@ static int psp_hw_init(void *handle)
{
int ret;
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+ enum ta_rap_status status = TA_RAP_STATUS__SUCCESS;
mutex_lock(&adev->firmware.mutex);
/*
@@ -2382,7 +2383,14 @@ static int psp_hw_init(void *handle)
}
mutex_unlock(&adev->firmware.mutex);
- return 0;
+
+ ret = psp_rap_invoke(&adev->psp, TA_CMD_RAP__VALIDATE_L0, &status);
+ if (ret || status != TA_RAP_STATUS__SUCCESS) {
+ dev_err(adev->dev, "RAP: (%d) Failed to Invoke Validate L0, status %d\n",
+ ret, status);
+ }
+
+ return ret;
failed:
adev->firmware.load_type = AMDGPU_FW_LOAD_DIRECT;