All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] winsys/amdgpu: request high addresses
@ 2018-02-26 13:17 Christian König
       [not found] ` <20180226131708.54689-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Christian König @ 2018-02-26 13:17 UTC (permalink / raw)
  To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	mesa-dev-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

We now have hopefully fixed all bugs regarding high addresses on Vega10 and
Raven. Start to use the high range to make room for SVM in the low
range.

Signed-off-by: Christian König <christian.koenig@amd.com>
---
 src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
index 19f6fedf7c..12d497d292 100644
--- a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
+++ b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
@@ -38,6 +38,10 @@
 #define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID (1 << 6)
 #endif
 
+#ifndef AMDGPU_VA_RANGE_HIGH
+#define AMDGPU_VA_RANGE_HIGH	0x2
+#endif
+
 /* Set to 1 for verbose output showing committed sparse buffer ranges. */
 #define DEBUG_SPARSE_COMMITS 0
 
@@ -438,7 +442,8 @@ static struct amdgpu_winsys_bo *amdgpu_create_bo(struct amdgpu_winsys *ws,
 	   alignment = MAX2(alignment, ws->info.pte_fragment_size);
    r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
                              size + va_gap_size, alignment, 0, &va, &va_handle,
-                             flags & RADEON_FLAG_32BIT ? AMDGPU_VA_RANGE_32_BIT : 0);
+                             (flags & RADEON_FLAG_32BIT ? AMDGPU_VA_RANGE_32_BIT : 0) |
+			     AMDGPU_VA_RANGE_HIGH);
    if (r)
       goto error_va_alloc;
 
@@ -896,7 +901,8 @@ amdgpu_bo_sparse_create(struct amdgpu_winsys *ws, uint64_t size,
    va_gap_size = ws->check_vm ? 4 * RADEON_SPARSE_PAGE_SIZE : 0;
    r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
                              map_size + va_gap_size, RADEON_SPARSE_PAGE_SIZE,
-                             0, &bo->va, &bo->u.sparse.va_handle, 0);
+                             0, &bo->va, &bo->u.sparse.va_handle,
+			     AMDGPU_VA_RANGE_HIGH);
    if (r)
       goto error_va_alloc;
 
@@ -1290,7 +1296,8 @@ static struct pb_buffer *amdgpu_bo_from_handle(struct radeon_winsys *rws,
       goto error_query;
 
    r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
-                             result.alloc_size, 1 << 20, 0, &va, &va_handle, 0);
+                             result.alloc_size, 1 << 20, 0, &va, &va_handle,
+			     AMDGPU_VA_RANGE_HIGH);
    if (r)
       goto error_query;
 
@@ -1401,7 +1408,8 @@ static struct pb_buffer *amdgpu_bo_from_ptr(struct radeon_winsys *rws,
         goto error;
 
     if (amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
-                              aligned_size, 1 << 12, 0, &va, &va_handle, 0))
+                              aligned_size, 1 << 12, 0, &va, &va_handle,
+			      AMDGPU_VA_RANGE_HIGH))
         goto error_va_alloc;
 
     if (amdgpu_bo_va_op(buf_handle, 0, aligned_size, va, 0, AMDGPU_VA_OP_MAP))
-- 
2.14.1

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

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Mesa-dev] [PATCH] winsys/amdgpu: request high addresses
       [not found] ` <20180226131708.54689-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
@ 2018-02-26 16:24   ` Marek Olšák
  0 siblings, 0 replies; 2+ messages in thread
From: Marek Olšák @ 2018-02-26 16:24 UTC (permalink / raw)
  To: Christian König; +Cc: ML Mesa-dev, amd-gfx mailing list

Reviewed-by: Marek Olšák <marek.olsak@amd.com>

Marek

On Mon, Feb 26, 2018 at 2:17 PM, Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
> We now have hopefully fixed all bugs regarding high addresses on Vega10 and
> Raven. Start to use the high range to make room for SVM in the low
> range.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
> ---
>  src/gallium/winsys/amdgpu/drm/amdgpu_bo.c | 16 ++++++++++++----
>  1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
> index 19f6fedf7c..12d497d292 100644
> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_bo.c
> @@ -38,6 +38,10 @@
>  #define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID (1 << 6)
>  #endif
>
> +#ifndef AMDGPU_VA_RANGE_HIGH
> +#define AMDGPU_VA_RANGE_HIGH   0x2
> +#endif
> +
>  /* Set to 1 for verbose output showing committed sparse buffer ranges. */
>  #define DEBUG_SPARSE_COMMITS 0
>
> @@ -438,7 +442,8 @@ static struct amdgpu_winsys_bo *amdgpu_create_bo(struct amdgpu_winsys *ws,
>            alignment = MAX2(alignment, ws->info.pte_fragment_size);
>     r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
>                               size + va_gap_size, alignment, 0, &va, &va_handle,
> -                             flags & RADEON_FLAG_32BIT ? AMDGPU_VA_RANGE_32_BIT : 0);
> +                             (flags & RADEON_FLAG_32BIT ? AMDGPU_VA_RANGE_32_BIT : 0) |
> +                            AMDGPU_VA_RANGE_HIGH);
>     if (r)
>        goto error_va_alloc;
>
> @@ -896,7 +901,8 @@ amdgpu_bo_sparse_create(struct amdgpu_winsys *ws, uint64_t size,
>     va_gap_size = ws->check_vm ? 4 * RADEON_SPARSE_PAGE_SIZE : 0;
>     r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
>                               map_size + va_gap_size, RADEON_SPARSE_PAGE_SIZE,
> -                             0, &bo->va, &bo->u.sparse.va_handle, 0);
> +                             0, &bo->va, &bo->u.sparse.va_handle,
> +                            AMDGPU_VA_RANGE_HIGH);
>     if (r)
>        goto error_va_alloc;
>
> @@ -1290,7 +1296,8 @@ static struct pb_buffer *amdgpu_bo_from_handle(struct radeon_winsys *rws,
>        goto error_query;
>
>     r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
> -                             result.alloc_size, 1 << 20, 0, &va, &va_handle, 0);
> +                             result.alloc_size, 1 << 20, 0, &va, &va_handle,
> +                            AMDGPU_VA_RANGE_HIGH);
>     if (r)
>        goto error_query;
>
> @@ -1401,7 +1408,8 @@ static struct pb_buffer *amdgpu_bo_from_ptr(struct radeon_winsys *rws,
>          goto error;
>
>      if (amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
> -                              aligned_size, 1 << 12, 0, &va, &va_handle, 0))
> +                              aligned_size, 1 << 12, 0, &va, &va_handle,
> +                             AMDGPU_VA_RANGE_HIGH))
>          goto error_va_alloc;
>
>      if (amdgpu_bo_va_op(buf_handle, 0, aligned_size, va, 0, AMDGPU_VA_OP_MAP))
> --
> 2.14.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-02-26 16:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-26 13:17 [PATCH] winsys/amdgpu: request high addresses Christian König
     [not found] ` <20180226131708.54689-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2018-02-26 16:24   ` [Mesa-dev] " Marek Olšák

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.