OSDN Git Service

drm/amdkfd: Add AQL Queue Memory flag on topology
authorBen Goz <ben.goz@amd.com>
Sat, 9 Dec 2017 04:09:02 +0000 (23:09 -0500)
committerOded Gabbay <oded.gabbay@gmail.com>
Sat, 9 Dec 2017 04:09:02 +0000 (23:09 -0500)
This is needed for enabling a user-mode workaround for an AQL queue
wrapping HW bug on Tonga.

Signed-off-by: Ben Goz <ben.goz@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Acked-by: Oded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
drivers/gpu/drm/amd/amdkfd/kfd_topology.c
drivers/gpu/drm/amd/amdkfd/kfd_topology.h

index 80bc71d..e7daf2c 100644 (file)
@@ -455,6 +455,10 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr,
                                HSA_CAP_WATCH_POINTS_TOTALBITS_MASK);
                }
 
+               if (dev->gpu->device_info->asic_family == CHIP_TONGA)
+                       dev->node_props.capability |=
+                                       HSA_CAP_AQL_QUEUE_DOUBLE_MAP;
+
                sysfs_show_32bit_prop(buffer, "max_engine_clk_fcompute",
                        dev->node_props.max_engine_clk_fcompute);
 
index b9f3142..53fca1f 100644 (file)
@@ -45,6 +45,7 @@
 
 #define HSA_CAP_DOORBELL_TYPE_PRE_1_0          0x0
 #define HSA_CAP_DOORBELL_TYPE_1_0              0x1
+#define HSA_CAP_AQL_QUEUE_DOUBLE_MAP           0x00004000
 
 struct kfd_node_properties {
        uint32_t cpu_cores_count;