From 1ba59d64e1a15b9c8f0b30c5e331fa86cab1807a Mon Sep 17 00:00:00 2001 From: David Belanger Date: Wed, 11 Jan 2023 09:18:54 -0500 Subject: [PATCH] libhsakmt: Disabled allocation of CWSR with SVM for GFX11. This is a temporary work around for GPU hang issues observed on GFX11. Change-Id: I98fbedbbd1c51fe402c2116b35ca548931a390c9 Signed-off-by: David Belanger [ROCm/ROCR-Runtime commit: b25867c4b8dea987f9bfc12c00373151526929eb] --- projects/rocr-runtime/src/libhsakmt.h | 2 ++ projects/rocr-runtime/src/queues.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/projects/rocr-runtime/src/libhsakmt.h b/projects/rocr-runtime/src/libhsakmt.h index 2e4b455cbf..7f62c512de 100644 --- a/projects/rocr-runtime/src/libhsakmt.h +++ b/projects/rocr-runtime/src/libhsakmt.h @@ -116,6 +116,8 @@ extern int hsakmt_debug_level; #define HSA_GET_GFX_VERSION_MINOR(gfxv) (((gfxv) / 100) % 100) #define HSA_GET_GFX_VERSION_STEP(gfxv) ((gfxv) % 100) +#define HSA_GET_GFX_VERSION_MAJOR_HEX(gfxv) (((gfxv) >> 16) & 0xff) + /* Expects HSA_ENGINE_ID.ui32, returns gfxv (full) in hex */ #define HSA_GET_GFX_VERSION_FULL(ui32) \ (((ui32.Major) << 16) | ((ui32.Minor) << 8) | (ui32.Stepping)) diff --git a/projects/rocr-runtime/src/queues.c b/projects/rocr-runtime/src/queues.c index 3b4104b62d..7e28ba751a 100644 --- a/projects/rocr-runtime/src/queues.c +++ b/projects/rocr-runtime/src/queues.c @@ -490,6 +490,8 @@ static int handle_concrete_asic(struct queue *q, if (hsaKmtGetNodeProperties(NodeId, &node)) svm_api = false; + else if (HSA_GET_GFX_VERSION_MAJOR_HEX(q->gfxv) == 11) + svm_api = false; else svm_api = node.Capability.ui32.SVMAPISupported;