RE: [PATCH] drm/amdkfd: Add SVM API support capability bits
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
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
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
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