drm/amdkfd: Store drm node minor number for kfd nodes
authorPhilip Yang <Philip.Yang@amd.com>
Thu, 23 Feb 2023 16:03:37 +0000 (11:03 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 9 Jun 2023 13:59:50 +0000 (09:59 -0400)
From KFD topology, application will find kfd node with the corresponding
drm device node minor number, for example if partition drm node starts
from /dev/dri/renderD129, then KFD node 0 with store drm node minor
number 129. Application will open drm node /dev/dri/renderD129 to create
amdgpu vm for kfd node 0 with the correct vm->mem_id to indicate the
memory partition.

Signed-off-by: Philip Yang <Philip.Yang@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_topology.c

index 6d6243b978e1cebfa2d2da13da6e216c1cea9888..a8e25aecf839b4cd1713af5f7f025a9b3366a56f 100644 (file)
@@ -1942,8 +1942,12 @@ int kfd_topology_add_device(struct kfd_node *gpu)
                amdgpu_amdkfd_get_max_engine_clock_in_mhz(dev->gpu->adev);
        dev->node_props.max_engine_clk_ccompute =
                cpufreq_quick_get_max(0) / 1000;
-       dev->node_props.drm_render_minor =
-               gpu->kfd->shared_resources.drm_render_minor;
+
+       if (gpu->xcp)
+               dev->node_props.drm_render_minor = gpu->xcp->ddev->render->index;
+       else
+               dev->node_props.drm_render_minor =
+                               gpu->kfd->shared_resources.drm_render_minor;
 
        dev->node_props.hive_id = gpu->kfd->hive_id;
        dev->node_props.num_sdma_engines = kfd_get_num_sdma_engines(gpu);