[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <SN6PR12MB2717CBD5A2A27E1C0026D614FD1F9@SN6PR12MB2717.namprd12.prod.outlook.com>
Date: Wed, 30 Mar 2022 21:26:52 +0000
From: "Sierra Guiza, Alejandro (Alex)" <Alex.Sierra@....com>
To: "Sierra Guiza, Alejandro (Alex)" <Alex.Sierra@....com>,
"jgg@...dia.com" <jgg@...dia.com>
CC: "rcampbell@...dia.com" <rcampbell@...dia.com>,
"willy@...radead.org" <willy@...radead.org>,
"david@...hat.com" <david@...hat.com>,
"Kuehling, Felix" <Felix.Kuehling@....com>,
"apopple@...dia.com" <apopple@...dia.com>,
"amd-gfx@...ts.freedesktop.org" <amd-gfx@...ts.freedesktop.org>,
"linux-xfs@...r.kernel.org" <linux-xfs@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"jglisse@...hat.com" <jglisse@...hat.com>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
"hch@....de" <hch@....de>
Subject: RE: [PATCH] drm/amdkfd: Add SVM API support capability bits
Please ignore this patch.
> -----Original Message-----
> From: amd-gfx <amd-gfx-bounces@...ts.freedesktop.org> On Behalf Of Alex
> Sierra
> Sent: Wednesday, March 30, 2022 4:24 PM
> To: jgg@...dia.com
> Cc: rcampbell@...dia.com; willy@...radead.org; david@...hat.com;
> Kuehling, Felix <Felix.Kuehling@....com>; apopple@...dia.com; amd-
> gfx@...ts.freedesktop.org; linux-xfs@...r.kernel.org; linux-mm@...ck.org;
> jglisse@...hat.com; dri-devel@...ts.freedesktop.org; akpm@...ux-
> foundation.org; linux-ext4@...r.kernel.org; hch@....de
> Subject: [PATCH] drm/amdkfd: Add SVM API support capability bits
>
> From: Philip Yang <Philip.Yang@....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 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 <Philip.Yang@....com>
> Reviewed-by: Felix Kuehling <Felix.Kuehling@....com>
> Signed-off-by: Felix Kuehling <Felix.Kuehling@....com>
> Signed-off-by: Alex Deucher <alexander.deucher@....com>
> ---
> 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 0x03c00000
> #define HSA_CAP_ASIC_REVISION_SHIFT 22
> #define HSA_CAP_SRAM_EDCSUPPORTED 0x04000000
> +#define HSA_CAP_SVMAPI_SUPPORTED 0x08000000
>
> -#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_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.32.0
Powered by blists - more mailing lists