]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdkfd: fix the kdf debugger issue
authorJesse Zhang <jesse.zhang@amd.com>
Fri, 31 May 2024 01:56:40 +0000 (09:56 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Jun 2024 15:25:00 +0000 (11:25 -0400)
The expression caps | HSA_CAP_TRAP_DEBUG_PRECISE_MEMORY_OPERATIONS_SUPPORTED
and  caps | HSA_CAP_TRAP_DEBUG_PRECISE_ALU_OPERATIONS_SUPPORTED
are always 1/true regardless of the values of its operand.

Fixes: 9243240bed38 ("drm/amdkfd: enable single alu ops for gfx12")
Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com>
Suggested-by: Felix Kuehling <felix.kuehling@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_debug.c

index 3f27bab7a50243b70f2ca767b4e493ca359fe910..34a282540c7e08c9007bce6b4d66d8038eb7e503 100644 (file)
@@ -503,13 +503,13 @@ int kfd_dbg_trap_set_flags(struct kfd_process *target, uint32_t *flags)
                                kfd_topology_device_by_id(target->pdds[i]->dev->id);
                uint32_t caps = topo_dev->node_props.capability;
 
-               if (!(caps | HSA_CAP_TRAP_DEBUG_PRECISE_MEMORY_OPERATIONS_SUPPORTED) &&
+               if (!(caps & HSA_CAP_TRAP_DEBUG_PRECISE_MEMORY_OPERATIONS_SUPPORTED) &&
                        (*flags & KFD_DBG_TRAP_FLAG_SINGLE_MEM_OP)) {
                        *flags = prev_flags;
                        return -EACCES;
                }
 
-               if (!(caps | HSA_CAP_TRAP_DEBUG_PRECISE_ALU_OPERATIONS_SUPPORTED) &&
+               if (!(caps & HSA_CAP_TRAP_DEBUG_PRECISE_ALU_OPERATIONS_SUPPORTED) &&
                    (*flags & KFD_DBG_TRAP_FLAG_SINGLE_ALU_OP)) {
                        *flags = prev_flags;
                        return -EACCES;