RE: [PATCH] drm/amdkfd: Add SVM API support capability bits

2022-03-30 Thread Sierra Guiza, Alejandro (Alex)
Hi Matthew,
I sent this patch by accident. Please ignore it.

Regards,
Alex Sierra

> -Original Message-
> From: Matthew Wilcox 
> Sent: Wednesday, March 30, 2022 4:29 PM
> To: Sierra Guiza, Alejandro (Alex) 
> Cc: j...@nvidia.com; da...@redhat.com; Kuehling, Felix
> ; linux...@kvack.org; rcampb...@nvidia.com;
> linux-e...@vger.kernel.org; linux-...@vger.kernel.org; amd-
> g...@lists.freedesktop.org; dri-devel@lists.freedesktop.org; h...@lst.de;
> jgli...@redhat.com; apop...@nvidia.com; a...@linux-foundation.org
> Subject: Re: [PATCH] drm/amdkfd: Add SVM API support capability bits
> 
> On Wed, Mar 30, 2022 at 04:24:20PM -0500, Alex Sierra wrote:
> > From: Philip Yang 
> >
> > 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 systems with 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.
> 
> Could you translate this commit message into English?  Reviewing
> Documentation/process/5.Posting.rst might be helpful.


Re: [PATCH] drm/amdkfd: Add SVM API support capability bits

2022-03-30 Thread Matthew Wilcox
On Wed, Mar 30, 2022 at 04:24:20PM -0500, Alex Sierra wrote:
> From: Philip Yang 
> 
> 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 systems with 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.

Could you translate this commit message into English?  Reviewing
Documentation/process/5.Posting.rst might be helpful.


RE: [PATCH] drm/amdkfd: Add SVM API support capability bits

2022-03-30 Thread Sierra Guiza, Alejandro (Alex)
Please ignore this patch.

> -Original Message-
> From: amd-gfx  On Behalf Of Alex
> Sierra
> Sent: Wednesday, March 30, 2022 4:24 PM
> To: j...@nvidia.com
> Cc: rcampb...@nvidia.com; wi...@infradead.org; da...@redhat.com;
> Kuehling, Felix ; apop...@nvidia.com; amd-
> g...@lists.freedesktop.org; linux-...@vger.kernel.org; linux...@kvack.org;
> jgli...@redhat.com; dri-devel@lists.freedesktop.org; akpm@linux-
> foundation.org; linux-e...@vger.kernel.org; h...@lst.de
> Subject: [PATCH] drm/amdkfd: Add SVM API support capability bits
> 
> From: Philip Yang 
> 
> 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 systems with 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 
> Reviewed-by: Felix Kuehling 
> Signed-off-by: Felix Kuehling 
> Signed-off-by: Alex Deucher 
> ---
>  drivers/gpu/drm/amd/amdkfd/kfd_topology.c |  6 ++
> drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 10 ++
>  2 files changed, 12 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> index cdef608db4f4..083ac9babfa8 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> @@ -1419,6 +1419,12 @@ int kfd_topology_add_device(struct kfd_dev
> *gpu)
>   dev->node_props.capability |= (adev->ras_features != 0) ?
>   HSA_CAP_RASEVENTNOTIFY : 0;
> 
> + /* SVM API and HMM page migration work together, device memory
> type
> +  * is initialized to not 0 when page migration register device memory.
> +  */
> + if (adev->kfd.dev->pgmap.type != 0)
> + dev->node_props.capability |=
> HSA_CAP_SVMAPI_SUPPORTED;
> +
>   kfd_debug_print_topology();
> 
>   if (!res)
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> index b8b68087bd7a..6bd6380b0ee0 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
> @@ -53,8 +53,9 @@
>  #define HSA_CAP_ASIC_REVISION_MASK   0x03c0
>  #define HSA_CAP_ASIC_REVISION_SHIFT  22
>  #define HSA_CAP_SRAM_EDCSUPPORTED0x0400
> +#define HSA_CAP_SVMAPI_SUPPORTED 0x0800
> 
> -#define HSA_CAP_RESERVED 0xf80f8000
> +#define HSA_CAP_RESERVED 0xf00f8000
> 
>  struct kfd_node_properties {
>   uint64_t hive_id;
> @@ -98,9 +99,10 @@ struct kfd_node_properties {
>  #define HSA_MEM_HEAP_TYPE_GPU_LDS4
>  #define HSA_MEM_HEAP_TYPE_GPU_SCRATCH5
> 
> -#define HSA_MEM_FLAGS_HOT_PLUGGABLE  0x0001
> -#define HSA_MEM_FLAGS_NON_VOLATILE   0x0002
> -#define HSA_MEM_FLAGS_RESERVED   0xfffc
> +#define HSA_MEM_FLAGS_HOT_PLUGGABLE  0x0001
> +#define HSA_MEM_FLAGS_NON_VOLATILE   0x0002
> +#define HSA_MEM_FLAGS_COHERENTHOSTACCESS 0x0004
> +#define HSA_MEM_FLAGS_RESERVED   0xfff8
> 
>  struct kfd_mem_properties {
>   struct list_headlist;
> --
> 2.32.0



[PATCH] drm/amdkfd: Add SVM API support capability bits

2022-03-30 Thread Alex Sierra
From: Philip Yang 

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 systems with 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 
Reviewed-by: Felix Kuehling 
Signed-off-by: Felix Kuehling 
Signed-off-by: Alex Deucher 
---
 drivers/gpu/drm/amd/amdkfd/kfd_topology.c |  6 ++
 drivers/gpu/drm/amd/amdkfd/kfd_topology.h | 10 ++
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
index cdef608db4f4..083ac9babfa8 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
@@ -1419,6 +1419,12 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
dev->node_props.capability |= (adev->ras_features != 0) ?
HSA_CAP_RASEVENTNOTIFY : 0;
 
+   /* SVM API and HMM page migration work together, device memory type
+* is initialized to not 0 when page migration register device memory.
+*/
+   if (adev->kfd.dev->pgmap.type != 0)
+   dev->node_props.capability |= HSA_CAP_SVMAPI_SUPPORTED;
+
kfd_debug_print_topology();
 
if (!res)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h 
b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
index b8b68087bd7a..6bd6380b0ee0 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.h
@@ -53,8 +53,9 @@
 #define HSA_CAP_ASIC_REVISION_MASK 0x03c0
 #define HSA_CAP_ASIC_REVISION_SHIFT22
 #define HSA_CAP_SRAM_EDCSUPPORTED  0x0400
+#define HSA_CAP_SVMAPI_SUPPORTED   0x0800
 
-#define HSA_CAP_RESERVED   0xf80f8000
+#define HSA_CAP_RESERVED   0xf00f8000
 
 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_PLUGGABLE0x0001
-#define HSA_MEM_FLAGS_NON_VOLATILE 0x0002
-#define HSA_MEM_FLAGS_RESERVED 0xfffc
+#define HSA_MEM_FLAGS_HOT_PLUGGABLE0x0001
+#define HSA_MEM_FLAGS_NON_VOLATILE 0x0002
+#define HSA_MEM_FLAGS_COHERENTHOSTACCESS   0x0004
+#define HSA_MEM_FLAGS_RESERVED 0xfff8
 
 struct kfd_mem_properties {
struct list_headlist;
-- 
2.32.0