From a39ca84ef66a76f27790d5c4c27f5e0dbdd7e700 Mon Sep 17 00:00:00 2001 From: Harish Kasiviswanathan Date: Thu, 23 Apr 2026 16:02:33 -0400 Subject: [PATCH] drm/amdgpu: Add helper function to check psp xgmi ta Helper function to check if psp xgmi ta is supported Signed-off-by: Harish Kasiviswanathan Reviewed-by: Felix Kuehling Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 11 ++++++++--- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index 3553eb53c61c..719fa3006063 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -2263,14 +2263,19 @@ int psp_xgmi_terminate(struct psp_context *psp) return ret; } +bool psp_is_xgmi_ta_supported(struct psp_context *psp) +{ + return psp->ta_fw && + psp->xgmi_context.context.bin_desc.size_bytes && + psp->xgmi_context.context.bin_desc.start_addr; +} + int psp_xgmi_initialize(struct psp_context *psp, bool set_extended_data, bool load_ta) { struct ta_xgmi_shared_memory *xgmi_cmd; int ret; - if (!psp->ta_fw || - !psp->xgmi_context.context.bin_desc.size_bytes || - !psp->xgmi_context.context.bin_desc.start_addr) + if (!psp_is_xgmi_ta_supported(psp)) return -ENOENT; if (!load_ta) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h index ee37170c1c2b..bb84f3a3dc54 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h @@ -628,6 +628,7 @@ int psp_ta_invoke(struct psp_context *psp, struct ta_context *context); int psp_xgmi_initialize(struct psp_context *psp, bool set_extended_data, bool load_ta); +bool psp_is_xgmi_ta_supported(struct psp_context *psp); int psp_xgmi_terminate(struct psp_context *psp); int psp_xgmi_invoke(struct psp_context *psp, uint32_t ta_cmd_id); int psp_xgmi_get_hive_id(struct psp_context *psp, uint64_t *hive_id);