* [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel
@ 2026-06-24 14:27 James Zhu
2026-06-24 14:27 ` [PATCH v2 2/2] drm/amdgpu: move DGPU TBA/TMA from system to device memory James Zhu
2026-06-24 15:14 ` [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel Philip Yang
0 siblings, 2 replies; 4+ messages in thread
From: James Zhu @ 2026-06-24 14:27 UTC (permalink / raw)
To: amd-gfx
Cc: philip.yang, Hawking.Zhang, Bob.Zhou, Harish.Kasiviswanathan,
jamesz, Vladimir Indic
with different domain.
Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Vladimir Indic <vladimir.indic@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 6 +++---
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 13 +++++++------
drivers/gpu/drm/amd/amdkfd/kfd_events.c | 5 +++--
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 10 +++++-----
4 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
index 5b49fa50a47d..e40e71f35bb9 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
@@ -336,9 +336,9 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
int amdgpu_amdkfd_gpuvm_dmaunmap_mem(struct kgd_mem *mem, void *drm_priv);
int amdgpu_amdkfd_gpuvm_sync_memory(
struct amdgpu_device *adev, struct kgd_mem *mem, bool intr);
-int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
- void **kptr, uint64_t *size);
-void amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(struct kgd_mem *mem);
+int amdgpu_amdkfd_gpuvm_map_bo_to_kernel(struct kgd_mem *mem,
+ void **kptr, uint64_t *size, uint32_t domain);
+void amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(struct kgd_mem *mem);
int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_bo *bo, struct amdgpu_bo **bo_gart);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
index 5bb3e28441a5..ec0901aa923c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
@@ -2271,11 +2271,12 @@ int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_bo *bo, struct amdgpu_bo **bo
return ret;
}
-/** amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel() - Map a GTT BO for kernel CPU access
+/** amdgpu_amdkfd_gpuvm_map_bo_to_kernel() - Map a GTT BO for kernel CPU access
*
* @mem: Buffer object to be mapped for CPU access
* @kptr[out]: pointer in kernel CPU address space
* @size[out]: size of the buffer
+ * @domain[IN]: domain of the buffer
*
* Pins the BO and maps it for kernel CPU access. The eviction fence is removed
* from the BO, since pinned BOs cannot be evicted. The bo must remain on the
@@ -2284,8 +2285,8 @@ int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_bo *bo, struct amdgpu_bo **bo
*
* Return: 0 on success, error code on failure
*/
-int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
- void **kptr, uint64_t *size)
+int amdgpu_amdkfd_gpuvm_map_bo_to_kernel(struct kgd_mem *mem,
+ void **kptr, uint64_t *size, uint32_t domain)
{
int ret;
struct amdgpu_bo *bo = mem->bo;
@@ -2303,7 +2304,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
goto bo_reserve_failed;
}
- ret = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT);
+ ret = amdgpu_bo_pin(bo, domain);
if (ret) {
pr_err("Failed to pin bo. ret %d\n", ret);
goto pin_failed;
@@ -2336,7 +2337,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
return ret;
}
-/** amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel() - Unmap a GTT BO for kernel CPU access
+/** amdgpu_amdkfd_gpuvm_map_bo_to_kernel() - Unmap a GTT BO for kernel CPU access
*
* @mem: Buffer object to be unmapped for CPU access
*
@@ -2344,7 +2345,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
* eviction fence, so this function should only be used for cleanup before the
* BO is destroyed.
*/
-void amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(struct kgd_mem *mem)
+void amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(struct kgd_mem *mem)
{
struct amdgpu_bo *bo = mem->bo;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
index 3ffe9a52f3e1..d6fa5d71f581 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
@@ -314,7 +314,8 @@ int kfd_kmap_event_page(struct kfd_process *p, uint64_t event_page_offset)
return -EINVAL;
}
- err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(mem, &kern_addr, &size);
+ err = amdgpu_amdkfd_gpuvm_map_bo_to_kernel(mem, &kern_addr, &size,
+ AMDGPU_GEM_DOMAIN_GTT);
if (err) {
pr_err("Failed to map event page to kernel\n");
return err;
@@ -323,7 +324,7 @@ int kfd_kmap_event_page(struct kfd_process *p, uint64_t event_page_offset)
err = kfd_event_page_set(p, kern_addr, size, event_page_offset);
if (err) {
pr_err("Failed to set event page\n");
- amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(mem);
+ amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(mem);
return err;
}
return err;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 71b36a4613fa..21a90fc3adff 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -736,7 +736,7 @@ static void kfd_process_free_gpuvm(struct kgd_mem *mem,
struct kfd_node *dev = pdd->dev;
if (kptr && *kptr) {
- amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(mem);
+ amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(mem);
*kptr = NULL;
}
@@ -776,10 +776,10 @@ static int kfd_process_alloc_gpuvm(struct kfd_process_device *pdd,
}
if (kptr) {
- err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(
- (struct kgd_mem *)*mem, kptr, NULL);
+ err = amdgpu_amdkfd_gpuvm_map_bo_to_kernel(
+ (struct kgd_mem *)*mem, kptr, NULL, domain);
if (err) {
- pr_debug("Map GTT BO to kernel failed\n");
+ pr_debug("Map BO to kernel failed\n");
goto sync_memory_failed;
}
}
@@ -1140,7 +1140,7 @@ static void kfd_process_kunmap_signal_bo(struct kfd_process *p)
if (!mem)
goto out;
- amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(mem);
+ amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(mem);
out:
mutex_unlock(&p->mutex);
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v2 2/2] drm/amdgpu: move DGPU TBA/TMA from system to device memory
2026-06-24 14:27 [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel James Zhu
@ 2026-06-24 14:27 ` James Zhu
2026-06-24 15:00 ` Philip Yang
2026-06-24 15:14 ` [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel Philip Yang
1 sibling, 1 reply; 4+ messages in thread
From: James Zhu @ 2026-06-24 14:27 UTC (permalink / raw)
To: amd-gfx
Cc: philip.yang, Hawking.Zhang, Bob.Zhou, Harish.Kasiviswanathan,
jamesz, Vladimir Indic
for GFX9.4.2 and above.
-v2: keep APU with GTT allocation
Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Vladimir Indic <vladimir.indic@amd.com>
Reviewed-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
---
drivers/gpu/drm/amd/amdkfd/kfd_process.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
index 21a90fc3adff..a69e278f7aee 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
@@ -776,6 +776,12 @@ static int kfd_process_alloc_gpuvm(struct kfd_process_device *pdd,
}
if (kptr) {
+ uint32_t domain;
+
+ if (flags & KFD_IOC_ALLOC_MEM_FLAGS_GTT)
+ domain = AMDGPU_GEM_DOMAIN_GTT;
+ else
+ domain = AMDGPU_GEM_DOMAIN_VRAM;
err = amdgpu_amdkfd_gpuvm_map_bo_to_kernel(
(struct kgd_mem *)*mem, kptr, NULL, domain);
if (err) {
@@ -1489,8 +1495,7 @@ static int kfd_process_device_init_cwsr_dgpu(struct kfd_process_device *pdd)
{
struct kfd_node *dev = pdd->dev;
struct qcm_process_device *qpd = &pdd->qpd;
- uint32_t flags = KFD_IOC_ALLOC_MEM_FLAGS_GTT
- | KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE
+ uint32_t flags = KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE
| KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE;
struct kgd_mem *mem;
void *kaddr;
@@ -1499,7 +1504,13 @@ static int kfd_process_device_init_cwsr_dgpu(struct kfd_process_device *pdd)
if (!dev->kfd->cwsr_enabled || qpd->cwsr_kaddr || !qpd->cwsr_base)
return 0;
- /* cwsr_base is only set for dGPU */
+ if (KFD_GC_VERSION(dev) >= IP_VERSION(9, 4, 2) &&
+ !(dev->adev->flags & AMD_IS_APU))
+ flags |= KFD_IOC_ALLOC_MEM_FLAGS_VRAM;
+ else
+ flags |= KFD_IOC_ALLOC_MEM_FLAGS_GTT;
+
+ /* Allocate CWSR TBA/TMA buffers */
ret = kfd_process_alloc_gpuvm(pdd, qpd->cwsr_base,
KFD_CWSR_TBA_TMA_SIZE, flags, &mem, &kaddr);
if (ret)
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v2 2/2] drm/amdgpu: move DGPU TBA/TMA from system to device memory
2026-06-24 14:27 ` [PATCH v2 2/2] drm/amdgpu: move DGPU TBA/TMA from system to device memory James Zhu
@ 2026-06-24 15:00 ` Philip Yang
0 siblings, 0 replies; 4+ messages in thread
From: Philip Yang @ 2026-06-24 15:00 UTC (permalink / raw)
To: James Zhu, amd-gfx
Cc: philip.yang, Hawking.Zhang, Bob.Zhou, Harish.Kasiviswanathan,
jamesz, Vladimir Indic
[-- Attachment #1: Type: text/plain, Size: 2186 bytes --]
On 2026-06-24 10:27, James Zhu wrote:
> for GFX9.4.2 and above.
>
> -v2: keep APU with GTT allocation
>
> Signed-off-by: James Zhu<James.Zhu@amd.com>
> Reviewed-by: Vladimir Indic<vladimir.indic@amd.com>
> Reviewed-by: Harish Kasiviswanathan<Harish.Kasiviswanathan@amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> index 21a90fc3adff..a69e278f7aee 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> @@ -776,6 +776,12 @@ static int kfd_process_alloc_gpuvm(struct kfd_process_device *pdd,
> }
>
> if (kptr) {
> + uint32_t domain;
> +
> + if (flags & KFD_IOC_ALLOC_MEM_FLAGS_GTT)
> + domain = AMDGPU_GEM_DOMAIN_GTT;
> + else
> + domain = AMDGPU_GEM_DOMAIN_VRAM;
> err = amdgpu_amdkfd_gpuvm_map_bo_to_kernel(
> (struct kgd_mem *)*mem, kptr, NULL, domain);
> if (err) {
> @@ -1489,8 +1495,7 @@ static int kfd_process_device_init_cwsr_dgpu(struct kfd_process_device *pdd)
> {
> struct kfd_node *dev = pdd->dev;
> struct qcm_process_device *qpd = &pdd->qpd;
> - uint32_t flags = KFD_IOC_ALLOC_MEM_FLAGS_GTT
> - | KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE
> + uint32_t flags = KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE
> | KFD_IOC_ALLOC_MEM_FLAGS_EXECUTABLE;
> struct kgd_mem *mem;
> void *kaddr;
> @@ -1499,7 +1504,13 @@ static int kfd_process_device_init_cwsr_dgpu(struct kfd_process_device *pdd)
> if (!dev->kfd->cwsr_enabled || qpd->cwsr_kaddr || !qpd->cwsr_base)
> return 0;
>
> - /* cwsr_base is only set for dGPU */
> + if (KFD_GC_VERSION(dev) >= IP_VERSION(9, 4, 2) &&
> + !(dev->adev->flags & AMD_IS_APU))
use !adev->apu_prefer_gtt
With this fixed, this patch is Reviewed-by: Philip Yang
<philip.yang@amd.com>
> + flags |= KFD_IOC_ALLOC_MEM_FLAGS_VRAM;
> + else
> + flags |= KFD_IOC_ALLOC_MEM_FLAGS_GTT;
> +
> + /* Allocate CWSR TBA/TMA buffers */
> ret = kfd_process_alloc_gpuvm(pdd, qpd->cwsr_base,
> KFD_CWSR_TBA_TMA_SIZE, flags, &mem, &kaddr);
> if (ret)
[-- Attachment #2: Type: text/html, Size: 3007 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel
2026-06-24 14:27 [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel James Zhu
2026-06-24 14:27 ` [PATCH v2 2/2] drm/amdgpu: move DGPU TBA/TMA from system to device memory James Zhu
@ 2026-06-24 15:14 ` Philip Yang
1 sibling, 0 replies; 4+ messages in thread
From: Philip Yang @ 2026-06-24 15:14 UTC (permalink / raw)
To: James Zhu, amd-gfx
Cc: philip.yang, Hawking.Zhang, Bob.Zhou, Harish.Kasiviswanathan,
jamesz, Vladimir Indic
[-- Attachment #1: Type: text/plain, Size: 6440 bytes --]
On 2026-06-24 10:27, James Zhu wrote:
> with different domain.
>
> Signed-off-by: James Zhu<James.Zhu@amd.com>
> Reviewed-by: Vladimir Indic<vladimir.indic@amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 6 +++---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 13 +++++++------
> drivers/gpu/drm/amd/amdkfd/kfd_events.c | 5 +++--
> drivers/gpu/drm/amd/amdkfd/kfd_process.c | 10 +++++-----
> 4 files changed, 18 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> index 5b49fa50a47d..e40e71f35bb9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
> @@ -336,9 +336,9 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
> int amdgpu_amdkfd_gpuvm_dmaunmap_mem(struct kgd_mem *mem, void *drm_priv);
> int amdgpu_amdkfd_gpuvm_sync_memory(
> struct amdgpu_device *adev, struct kgd_mem *mem, bool intr);
> -int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
> - void **kptr, uint64_t *size);
> -void amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(struct kgd_mem *mem);
> +int amdgpu_amdkfd_gpuvm_map_bo_to_kernel(struct kgd_mem *mem,
> + void **kptr, uint64_t *size, uint32_t domain);
> +void amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(struct kgd_mem *mem);
>
> int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_bo *bo, struct amdgpu_bo **bo_gart);
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> index 5bb3e28441a5..ec0901aa923c 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
> @@ -2271,11 +2271,12 @@ int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_bo *bo, struct amdgpu_bo **bo
> return ret;
> }
>
> -/** amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel() - Map a GTT BO for kernel CPU access
> +/** amdgpu_amdkfd_gpuvm_map_bo_to_kernel() - Map a GTT BO for kernel CPU access
Map a GTT or VRAM BO for kernel CPU access
> *
> * @mem: Buffer object to be mapped for CPU access
> * @kptr[out]: pointer in kernel CPU address space
> * @size[out]: size of the buffer
> + * @domain[IN]: domain of the buffer
> *
> * Pins the BO and maps it for kernel CPU access. The eviction fence is removed
> * from the BO, since pinned BOs cannot be evicted. The bo must remain on the
> @@ -2284,8 +2285,8 @@ int amdgpu_amdkfd_map_gtt_bo_to_gart(struct amdgpu_bo *bo, struct amdgpu_bo **bo
> *
> * Return: 0 on success, error code on failure
> */
> -int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
> - void **kptr, uint64_t *size)
> +int amdgpu_amdkfd_gpuvm_map_bo_to_kernel(struct kgd_mem *mem,
> + void **kptr, uint64_t *size, uint32_t domain)
> {
> int ret;
> struct amdgpu_bo *bo = mem->bo;
> @@ -2303,7 +2304,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
> goto bo_reserve_failed;
> }
>
> - ret = amdgpu_bo_pin(bo, AMDGPU_GEM_DOMAIN_GTT);
> + ret = amdgpu_bo_pin(bo, domain);
> if (ret) {
> pr_err("Failed to pin bo. ret %d\n", ret);
> goto pin_failed;
> @@ -2336,7 +2337,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
> return ret;
> }
>
> -/** amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel() - Unmap a GTT BO for kernel CPU access
> +/** amdgpu_amdkfd_gpuvm_map_bo_to_kernel() - Unmap a GTT BO for kernel CPU access
> *
> * @mem: Buffer object to be unmapped for CPU access
> *
> @@ -2344,7 +2345,7 @@ int amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(struct kgd_mem *mem,
> * eviction fence, so this function should only be used for cleanup before the
> * BO is destroyed.
> */
> -void amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(struct kgd_mem *mem)
> +void amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(struct kgd_mem *mem)
> {
> struct amdgpu_bo *bo = mem->bo;
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_events.c b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> index 3ffe9a52f3e1..d6fa5d71f581 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_events.c
> @@ -314,7 +314,8 @@ int kfd_kmap_event_page(struct kfd_process *p, uint64_t event_page_offset)
> return -EINVAL;
> }
>
> - err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(mem, &kern_addr, &size);
> + err = amdgpu_amdkfd_gpuvm_map_bo_to_kernel(mem, &kern_addr, &size,
> + AMDGPU_GEM_DOMAIN_GTT);
> if (err) {
> pr_err("Failed to map event page to kernel\n");
> return err;
> @@ -323,7 +324,7 @@ int kfd_kmap_event_page(struct kfd_process *p, uint64_t event_page_offset)
> err = kfd_event_page_set(p, kern_addr, size, event_page_offset);
> if (err) {
> pr_err("Failed to set event page\n");
> - amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(mem);
> + amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(mem);
> return err;
> }
> return err;
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> index 71b36a4613fa..21a90fc3adff 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
> @@ -736,7 +736,7 @@ static void kfd_process_free_gpuvm(struct kgd_mem *mem,
> struct kfd_node *dev = pdd->dev;
>
> if (kptr && *kptr) {
> - amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(mem);
> + amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(mem);
> *kptr = NULL;
> }
>
> @@ -776,10 +776,10 @@ static int kfd_process_alloc_gpuvm(struct kfd_process_device *pdd,
> }
>
> if (kptr) {
> - err = amdgpu_amdkfd_gpuvm_map_gtt_bo_to_kernel(
> - (struct kgd_mem *)*mem, kptr, NULL);
> + err = amdgpu_amdkfd_gpuvm_map_bo_to_kernel(
> + (struct kgd_mem *)*mem, kptr, NULL, domain);
> if (err) {
> - pr_debug("Map GTT BO to kernel failed\n");
> + pr_debug("Map BO to kernel failed\n");
print out err code
pr_debug("Map BO to kernel failed err %d\n", err);
With those fixed, this is Reviewed-by: Philip Yang <philip.yang@amd.com
> goto sync_memory_failed;
> }
> }
> @@ -1140,7 +1140,7 @@ static void kfd_process_kunmap_signal_bo(struct kfd_process *p)
> if (!mem)
> goto out;
>
> - amdgpu_amdkfd_gpuvm_unmap_gtt_bo_from_kernel(mem);
> + amdgpu_amdkfd_gpuvm_unmap_bo_from_kernel(mem);
>
> out:
> mutex_unlock(&p->mutex);
[-- Attachment #2: Type: text/html, Size: 7163 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-06-24 15:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-24 14:27 [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel James Zhu
2026-06-24 14:27 ` [PATCH v2 2/2] drm/amdgpu: move DGPU TBA/TMA from system to device memory James Zhu
2026-06-24 15:00 ` Philip Yang
2026-06-24 15:14 ` [PATCH v2 1/2] drm/amdkfd: support kfd map bo to kernel Philip Yang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.