drm/amdkfd: enable watch points globally for gfx943
authorJonathan Kim <jonathan.kim@amd.com>
Wed, 8 Mar 2023 19:44:22 +0000 (14:44 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 12 Jul 2023 15:12:08 +0000 (11:12 -0400)
Set watch points for all xcc instances on GFX943.

Signed-off-by: Jonathan Kim <jonathan.kim@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling@amd.com>
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Reviewed-by: Jonathan Kim <jonathan.kim@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_debug.c

index 24083db44724404cbf4b11faf8d06deb3416c7f5..190b03efe5ff06e1554201506f59bbdb0eb1d3df 100644 (file)
@@ -446,7 +446,8 @@ int kfd_dbg_trap_set_dev_address_watch(struct kfd_process_device *pdd,
                                        uint32_t *watch_id,
                                        uint32_t watch_mode)
 {
-       int r = kfd_dbg_get_dev_watch_id(pdd, watch_id);
+       int xcc_id, r = kfd_dbg_get_dev_watch_id(pdd, watch_id);
+       uint32_t xcc_mask = pdd->dev->xcc_mask;
 
        if (r)
                return r;
@@ -460,14 +461,15 @@ int kfd_dbg_trap_set_dev_address_watch(struct kfd_process_device *pdd,
        }
 
        amdgpu_gfx_off_ctrl(pdd->dev->adev, false);
-       pdd->watch_points[*watch_id] = pdd->dev->kfd2kgd->set_address_watch(
+       for_each_inst(xcc_id, xcc_mask)
+               pdd->watch_points[*watch_id] = pdd->dev->kfd2kgd->set_address_watch(
                                pdd->dev->adev,
                                watch_address,
                                watch_address_mask,
                                *watch_id,
                                watch_mode,
                                pdd->dev->vm_info.last_vmid_kfd,
-                               0);
+                               xcc_id);
        amdgpu_gfx_off_ctrl(pdd->dev->adev, true);
 
        if (!pdd->dev->kfd->shared_resources.enable_mes)