summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMukul Joshi <mukul.joshi@amd.com>2025-08-07 15:18:00 -0400
committerAlex Deucher <alexander.deucher@amd.com>2026-01-05 16:27:14 -0500
commitb78ec282bbf6b75f87358e4f634010855b770c8c (patch)
treeb64b9d63a4014e414a34d6e318777022262e5551
parentb6ac64eed803d421ae53f280a68771b101000281 (diff)
drm/amdkfd: Send MES packets on correct XCC on GFX 12.1
Send the Set_Shader_Debugger packet on the correct MES pipe when partition mode is set to non-SPX mode. Signed-off-by: Mukul Joshi <mukul.joshi@amd.com> Reviewed-by: Alex Sierra <alex.sierra@amd.com> Reviewed-by: Michael Chen <michael.chen@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_debug.c6
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
index f83e1238c1b3..cd5a0b58c7d1 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_debug.c
@@ -371,8 +371,10 @@ int kfd_dbg_set_mes_debug_mode(struct kfd_process_device *pdd, bool sq_trap_en)
memset(pdd->proc_ctx_cpu_ptr, 0, AMDGPU_MES_PROC_CTX_SIZE);
}
- return amdgpu_mes_set_shader_debugger(pdd->dev->adev, pdd->proc_ctx_gpu_addr, spi_dbg_cntl,
- pdd->watch_points, flags, sq_trap_en, 0);
+ return amdgpu_mes_set_shader_debugger(pdd->dev->adev,
+ pdd->proc_ctx_gpu_addr, spi_dbg_cntl,
+ pdd->watch_points, flags, sq_trap_en,
+ ffs(pdd->dev->xcc_mask) - 1);
}
#define KFD_DEBUGGER_INVALID_WATCH_POINT_ID -1
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
index d7d37f01f51c..a399770aa411 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
@@ -94,7 +94,8 @@ void kfd_process_dequeue_from_device(struct kfd_process_device *pdd)
if (dev->kfd->shared_resources.enable_mes && !!pdd->proc_ctx_gpu_addr &&
down_read_trylock(&dev->adev->reset_domain->sem)) {
amdgpu_mes_flush_shader_debugger(dev->adev,
- pdd->proc_ctx_gpu_addr, 0);
+ pdd->proc_ctx_gpu_addr,
+ ffs(pdd->dev->xcc_mask) - 1);
up_read(&dev->adev->reset_domain->sem);
}
pdd->already_dequeued = true;