]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amdkfd: expose num_cp_queues data field to topology node (v2)
authorHuang Rui <ray.huang@amd.com>
Mon, 16 Dec 2019 07:02:51 +0000 (15:02 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 19 Dec 2019 15:10:18 +0000 (10:10 -0500)
Thunk driver would like to know the num_cp_queues data, however this data relied
on different asic specific. So it's better to get it from kfd driver.

v2: don't update name size.

Signed-off-by: Huang Rui <ray.huang@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
drivers/gpu/drm/amd/amdkfd/kfd_topology.h

index cc01ccd9208202823a4fced7a7549c9164d26f9d..203c823d65f158bc6a211895273b6f33263feb49 100644 (file)
@@ -488,6 +488,8 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr,
                        dev->node_props.num_sdma_xgmi_engines);
        sysfs_show_32bit_prop(buffer, "num_sdma_queues_per_engine",
                        dev->node_props.num_sdma_queues_per_engine);
+       sysfs_show_32bit_prop(buffer, "num_cp_queues",
+                       dev->node_props.num_cp_queues);
 
        if (dev->gpu) {
                log_max_watch_addr =
@@ -1316,6 +1318,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
        dev->node_props.num_gws = (hws_gws_support &&
                dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ?
                amdgpu_amdkfd_get_num_gws(dev->gpu->kgd) : 0;
+       dev->node_props.num_cp_queues = get_queues_num(dev->gpu->dqm);
 
        kfd_fill_mem_clk_max_info(dev);
        kfd_fill_iolink_non_crat_info(dev);
index e1c9719f994e7fc672150a7ae84dacbbc2365bc8..74e9b1682af8a9cc4de04a30450f5aa761168bd6 100644 (file)
@@ -82,6 +82,7 @@ struct kfd_node_properties {
        uint32_t num_sdma_engines;
        uint32_t num_sdma_xgmi_engines;
        uint32_t num_sdma_queues_per_engine;
+       uint32_t num_cp_queues;
        char name[KFD_TOPOLOGY_PUBLIC_NAME_SIZE];
 };