From: Philip Yang <philip.y...@amd.com>

SVMAPISupported property added to HSA_CAPABILITY, the value match
HSA_CAPABILITY defined in Thunk spec:

SVMAPISupported: it will not be supported on older kernels that don't
have HMM or on GFXv8 or older GPUs without support for 48-bit virtual
addresses.

CoherentHostAccess property added to HSA_MEMORYPROPERTY, the value match
HSA_MEMORYPROPERTY defined in Thunk spec:

CoherentHostAccess: whether or not device memory can be coherently
accessed by the host CPU.

Signed-off-by: Philip Yang <philip.y...@amd.com>
Signed-off-by: Felix Kuehling <felix.kuehl...@amd.com>
---
 drivers/gpu/drm/amd/amdkfd/kfd_topology.c |  1 +
 drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 10 ++++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
index a3fc23873819..885b8a071717 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
@@ -1380,6 +1380,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
                dev->node_props.capability |= ((HSA_CAP_DOORBELL_TYPE_2_0 <<
                        HSA_CAP_DOORBELL_TYPE_TOTALBITS_SHIFT) &
                        HSA_CAP_DOORBELL_TYPE_TOTALBITS_MASK);
+               dev->node_props.capability |= HSA_CAP_SVMAPI_SUPPORTED;
                break;
        default:
                WARN(1, "Unexpected ASIC family %u",
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h 
b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
index 326d9b26b7aa..7c5ea9b4b9d9 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
@@ -52,8 +52,9 @@
 #define HSA_CAP_RASEVENTNOTIFY                 0x00200000
 #define HSA_CAP_ASIC_REVISION_MASK             0x03c00000
 #define HSA_CAP_ASIC_REVISION_SHIFT            22
+#define HSA_CAP_SVMAPI_SUPPORTED               0x04000000
 
-#define HSA_CAP_RESERVED                       0xfc078000
+#define HSA_CAP_RESERVED                       0xf8078000
 
 struct kfd_node_properties {
        uint64_t hive_id;
@@ -98,9 +99,10 @@ struct kfd_node_properties {
 #define HSA_MEM_HEAP_TYPE_GPU_LDS      4
 #define HSA_MEM_HEAP_TYPE_GPU_SCRATCH  5
 
-#define HSA_MEM_FLAGS_HOT_PLUGGABLE    0x00000001
-#define HSA_MEM_FLAGS_NON_VOLATILE     0x00000002
-#define HSA_MEM_FLAGS_RESERVED         0xfffffffc
+#define HSA_MEM_FLAGS_HOT_PLUGGABLE            0x00000001
+#define HSA_MEM_FLAGS_NON_VOLATILE             0x00000002
+#define HSA_MEM_FLAGS_COHERENTHOSTACCESS       0x00000004
+#define HSA_MEM_FLAGS_RESERVED                 0xfffffff8
 
 struct kfd_mem_properties {
        struct list_head        list;
-- 
2.29.2

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to