From: Likun Gao <likun....@amd.com>

Add a new parameter psp_timeout to limit psp related operation
to unify the timeout limition for psp.

Signed-off-by: Likun Gao <likun....@amd.com>
Reviewed-by: Hawking Zhang <hawking.zh...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h     | 1 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index 2a3f12bae823..d105e4084ced 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1096,6 +1096,7 @@ struct amdgpu_device {
        long                            sdma_timeout;
        long                            video_timeout;
        long                            compute_timeout;
+       long                            psp_timeout;
 
        uint64_t                        unique_id;
        uint64_t        df_perfmon_config_assign_mask[AMDGPU_MAX_DF_PERFMONS];
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 2151636d579d..f4fcef335b44 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -239,6 +239,8 @@ static int psp_early_init(void *handle)
 
        psp->adev = adev;
 
+       adev->psp_timeout = 20000;
+
        psp_check_pmfw_centralized_cstate_management(psp);
 
        if (amdgpu_sriov_vf(adev))
@@ -636,7 +638,7 @@ psp_cmd_submit_buf(struct psp_context *psp,
 {
        int ret;
        int index;
-       int timeout = 20000;
+       int timeout = psp->adev->psp_timeout;
        bool ras_intr = false;
        bool skip_unsupport = false;
 
-- 
2.42.0

Reply via email to