* [PATCH libdrm 1/2] amdpgu: fix coding style in amdgpu_vamgr.c
@ 2017-11-04 14:43 Christian König
[not found] ` <20171104144331.1464-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Christian König @ 2017-11-04 14:43 UTC (permalink / raw)
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
No functional change.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
amdgpu/amdgpu_vamgr.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
index 2b1388ed..8516b594 100644
--- a/amdgpu/amdgpu_vamgr.c
+++ b/amdgpu/amdgpu_vamgr.c
@@ -34,18 +34,19 @@
#include "util_math.h"
int amdgpu_va_range_query(amdgpu_device_handle dev,
- enum amdgpu_gpu_va_range type, uint64_t *start, uint64_t *end)
+ enum amdgpu_gpu_va_range type,
+ uint64_t *start, uint64_t *end)
{
- if (type == amdgpu_gpu_va_range_general) {
- *start = dev->dev_info.virtual_address_offset;
- *end = dev->dev_info.virtual_address_max;
- return 0;
- }
- return -EINVAL;
+ if (type != amdgpu_gpu_va_range_general)
+ return -EINVAL;
+
+ *start = dev->dev_info.virtual_address_offset;
+ *end = dev->dev_info.virtual_address_max;
+ return 0;
}
drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
- uint64_t max, uint64_t alignment)
+ uint64_t max, uint64_t alignment)
{
mgr->va_offset = start;
mgr->va_max = max;
@@ -83,8 +84,8 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
/* first look for a hole */
LIST_FOR_EACH_ENTRY_SAFE(hole, n, &mgr->va_holes, list) {
if (base_required) {
- if(hole->offset > base_required ||
- (hole->offset + hole->size) < (base_required + size))
+ if (hole->offset > base_required ||
+ (hole->offset + hole->size) < (base_required + size))
continue;
waste = base_required - hole->offset;
offset = base_required;
@@ -192,9 +193,9 @@ amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size)
hole->offset = va;
hole->size += size;
/* Merge lower hole if it's adjacent */
- if (next != hole
- && &next->list != &mgr->va_holes
- && (next->offset + next->size) == va) {
+ if (next != hole &&
+ &next->list != &mgr->va_holes &&
+ (next->offset + next->size) == va) {
next->size += hole->size;
list_del(&hole->list);
free(hole);
--
2.11.0
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH libdrm 2/2] amdgpu: sanitize 64bit VA manager
[not found] ` <20171104144331.1464-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
@ 2017-11-04 14:43 ` Christian König
[not found] ` <20171104144331.1464-2-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2017-11-07 18:03 ` [PATCH libdrm 1/2] amdpgu: fix coding style in amdgpu_vamgr.c Alex Deucher
1 sibling, 1 reply; 4+ messages in thread
From: Christian König @ 2017-11-04 14:43 UTC (permalink / raw)
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Adding the extra reservation of the 32bit space to the 64bit manager is
complete nonsense and just a waste of memory and CPU cycles.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
amdgpu/amdgpu_device.c | 24 ++++++------------------
amdgpu/amdgpu_internal.h | 7 -------
amdgpu/amdgpu_vamgr.c | 4 ++--
3 files changed, 8 insertions(+), 27 deletions(-)
diff --git a/amdgpu/amdgpu_device.c b/amdgpu/amdgpu_device.c
index 2b31c45b..344e87ed 100644
--- a/amdgpu/amdgpu_device.c
+++ b/amdgpu/amdgpu_device.c
@@ -270,22 +270,16 @@ int amdgpu_device_initialize(int fd,
goto cleanup;
}
- amdgpu_vamgr_init(&dev->vamgr, dev->dev_info.virtual_address_offset,
- dev->dev_info.virtual_address_max,
- dev->dev_info.virtual_address_alignment);
-
+ start = dev->dev_info.virtual_address_offset;
max = MIN2(dev->dev_info.virtual_address_max, 0xffffffff);
- start = amdgpu_vamgr_find_va(&dev->vamgr,
- max - dev->dev_info.virtual_address_offset,
- dev->dev_info.virtual_address_alignment, 0);
- if (start > 0xffffffff) {
- fprintf(stderr, "%s: amdgpu_vamgr_find_va failed\n", __func__);
- goto free_va; /* shouldn't get here */
- }
-
amdgpu_vamgr_init(&dev->vamgr_32, start, max,
dev->dev_info.virtual_address_alignment);
+ start = MAX2(dev->dev_info.virtual_address_offset, 0x100000000ULL);
+ max = MAX2(dev->dev_info.virtual_address_max, 0x100000000ULL);
+ amdgpu_vamgr_init(&dev->vamgr, start, max,
+ dev->dev_info.virtual_address_alignment);
+
r = amdgpu_parse_asic_ids(&dev->asic_ids);
if (r) {
fprintf(stderr, "%s: Cannot parse ASIC IDs, 0x%x.",
@@ -300,12 +294,6 @@ int amdgpu_device_initialize(int fd,
return 0;
-free_va:
- r = -ENOMEM;
- amdgpu_vamgr_free_va(&dev->vamgr, start,
- max - dev->dev_info.virtual_address_offset);
- amdgpu_vamgr_deinit(&dev->vamgr);
-
cleanup:
if (dev->fd >= 0)
close(dev->fd);
diff --git a/amdgpu/amdgpu_internal.h b/amdgpu/amdgpu_internal.h
index 56d15112..e26e5190 100644
--- a/amdgpu/amdgpu_internal.h
+++ b/amdgpu/amdgpu_internal.h
@@ -148,13 +148,6 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr);
-drm_private uint64_t
-amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
- uint64_t alignment, uint64_t base_required);
-
-drm_private void
-amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size);
-
drm_private int amdgpu_parse_asic_ids(struct amdgpu_asic_id **asic_ids);
drm_private int amdgpu_query_gpu_info_init(amdgpu_device_handle dev);
diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
index 8516b594..ab425ef7 100644
--- a/amdgpu/amdgpu_vamgr.c
+++ b/amdgpu/amdgpu_vamgr.c
@@ -66,7 +66,7 @@ drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr)
pthread_mutex_destroy(&mgr->bo_va_mutex);
}
-drm_private uint64_t
+static drm_private uint64_t
amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
uint64_t alignment, uint64_t base_required)
{
@@ -155,7 +155,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
return offset;
}
-drm_private void
+static drm_private void
amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size)
{
struct amdgpu_bo_va_hole *hole;
--
2.11.0
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH libdrm 1/2] amdpgu: fix coding style in amdgpu_vamgr.c
[not found] ` <20171104144331.1464-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2017-11-04 14:43 ` [PATCH libdrm 2/2] amdgpu: sanitize 64bit VA manager Christian König
@ 2017-11-07 18:03 ` Alex Deucher
1 sibling, 0 replies; 4+ messages in thread
From: Alex Deucher @ 2017-11-07 18:03 UTC (permalink / raw)
To: Christian König; +Cc: amd-gfx list
On Sat, Nov 4, 2017 at 10:43 AM, Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
> No functional change.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> ---
> amdgpu/amdgpu_vamgr.c | 27 ++++++++++++++-------------
> 1 file changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
> index 2b1388ed..8516b594 100644
> --- a/amdgpu/amdgpu_vamgr.c
> +++ b/amdgpu/amdgpu_vamgr.c
> @@ -34,18 +34,19 @@
> #include "util_math.h"
>
> int amdgpu_va_range_query(amdgpu_device_handle dev,
> - enum amdgpu_gpu_va_range type, uint64_t *start, uint64_t *end)
> + enum amdgpu_gpu_va_range type,
> + uint64_t *start, uint64_t *end)
> {
> - if (type == amdgpu_gpu_va_range_general) {
> - *start = dev->dev_info.virtual_address_offset;
> - *end = dev->dev_info.virtual_address_max;
> - return 0;
> - }
> - return -EINVAL;
> + if (type != amdgpu_gpu_va_range_general)
> + return -EINVAL;
> +
> + *start = dev->dev_info.virtual_address_offset;
> + *end = dev->dev_info.virtual_address_max;
> + return 0;
> }
>
> drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
> - uint64_t max, uint64_t alignment)
> + uint64_t max, uint64_t alignment)
> {
> mgr->va_offset = start;
> mgr->va_max = max;
> @@ -83,8 +84,8 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
> /* first look for a hole */
> LIST_FOR_EACH_ENTRY_SAFE(hole, n, &mgr->va_holes, list) {
> if (base_required) {
> - if(hole->offset > base_required ||
> - (hole->offset + hole->size) < (base_required + size))
> + if (hole->offset > base_required ||
> + (hole->offset + hole->size) < (base_required + size))
> continue;
> waste = base_required - hole->offset;
> offset = base_required;
> @@ -192,9 +193,9 @@ amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size)
> hole->offset = va;
> hole->size += size;
> /* Merge lower hole if it's adjacent */
> - if (next != hole
> - && &next->list != &mgr->va_holes
> - && (next->offset + next->size) == va) {
> + if (next != hole &&
> + &next->list != &mgr->va_holes &&
> + (next->offset + next->size) == va) {
> next->size += hole->size;
> list_del(&hole->list);
> free(hole);
> --
> 2.11.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH libdrm 2/2] amdgpu: sanitize 64bit VA manager
[not found] ` <20171104144331.1464-2-christian.koenig-5C7GfCeVMHo@public.gmane.org>
@ 2017-11-07 18:38 ` Alex Deucher
0 siblings, 0 replies; 4+ messages in thread
From: Alex Deucher @ 2017-11-07 18:38 UTC (permalink / raw)
To: Christian König; +Cc: amd-gfx list
On Sat, Nov 4, 2017 at 10:43 AM, Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
> Adding the extra reservation of the 32bit space to the 64bit manager is
> complete nonsense and just a waste of memory and CPU cycles.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
> ---
> amdgpu/amdgpu_device.c | 24 ++++++------------------
> amdgpu/amdgpu_internal.h | 7 -------
> amdgpu/amdgpu_vamgr.c | 4 ++--
> 3 files changed, 8 insertions(+), 27 deletions(-)
>
> diff --git a/amdgpu/amdgpu_device.c b/amdgpu/amdgpu_device.c
> index 2b31c45b..344e87ed 100644
> --- a/amdgpu/amdgpu_device.c
> +++ b/amdgpu/amdgpu_device.c
> @@ -270,22 +270,16 @@ int amdgpu_device_initialize(int fd,
> goto cleanup;
> }
>
> - amdgpu_vamgr_init(&dev->vamgr, dev->dev_info.virtual_address_offset,
> - dev->dev_info.virtual_address_max,
> - dev->dev_info.virtual_address_alignment);
> -
> + start = dev->dev_info.virtual_address_offset;
> max = MIN2(dev->dev_info.virtual_address_max, 0xffffffff);
> - start = amdgpu_vamgr_find_va(&dev->vamgr,
> - max - dev->dev_info.virtual_address_offset,
> - dev->dev_info.virtual_address_alignment, 0);
> - if (start > 0xffffffff) {
> - fprintf(stderr, "%s: amdgpu_vamgr_find_va failed\n", __func__);
> - goto free_va; /* shouldn't get here */
> - }
> -
> amdgpu_vamgr_init(&dev->vamgr_32, start, max,
> dev->dev_info.virtual_address_alignment);
>
> + start = MAX2(dev->dev_info.virtual_address_offset, 0x100000000ULL);
> + max = MAX2(dev->dev_info.virtual_address_max, 0x100000000ULL);
> + amdgpu_vamgr_init(&dev->vamgr, start, max,
> + dev->dev_info.virtual_address_alignment);
> +
> r = amdgpu_parse_asic_ids(&dev->asic_ids);
> if (r) {
> fprintf(stderr, "%s: Cannot parse ASIC IDs, 0x%x.",
> @@ -300,12 +294,6 @@ int amdgpu_device_initialize(int fd,
>
> return 0;
>
> -free_va:
> - r = -ENOMEM;
> - amdgpu_vamgr_free_va(&dev->vamgr, start,
> - max - dev->dev_info.virtual_address_offset);
> - amdgpu_vamgr_deinit(&dev->vamgr);
> -
> cleanup:
> if (dev->fd >= 0)
> close(dev->fd);
> diff --git a/amdgpu/amdgpu_internal.h b/amdgpu/amdgpu_internal.h
> index 56d15112..e26e5190 100644
> --- a/amdgpu/amdgpu_internal.h
> +++ b/amdgpu/amdgpu_internal.h
> @@ -148,13 +148,6 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
>
> drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr);
>
> -drm_private uint64_t
> -amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
> - uint64_t alignment, uint64_t base_required);
> -
> -drm_private void
> -amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size);
> -
> drm_private int amdgpu_parse_asic_ids(struct amdgpu_asic_id **asic_ids);
>
> drm_private int amdgpu_query_gpu_info_init(amdgpu_device_handle dev);
> diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
> index 8516b594..ab425ef7 100644
> --- a/amdgpu/amdgpu_vamgr.c
> +++ b/amdgpu/amdgpu_vamgr.c
> @@ -66,7 +66,7 @@ drm_private void amdgpu_vamgr_deinit(struct amdgpu_bo_va_mgr *mgr)
> pthread_mutex_destroy(&mgr->bo_va_mutex);
> }
>
> -drm_private uint64_t
> +static drm_private uint64_t
> amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
> uint64_t alignment, uint64_t base_required)
> {
> @@ -155,7 +155,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
> return offset;
> }
>
> -drm_private void
> +static drm_private void
> amdgpu_vamgr_free_va(struct amdgpu_bo_va_mgr *mgr, uint64_t va, uint64_t size)
> {
> struct amdgpu_bo_va_hole *hole;
> --
> 2.11.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-11-07 18:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-04 14:43 [PATCH libdrm 1/2] amdpgu: fix coding style in amdgpu_vamgr.c Christian König
[not found] ` <20171104144331.1464-1-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2017-11-04 14:43 ` [PATCH libdrm 2/2] amdgpu: sanitize 64bit VA manager Christian König
[not found] ` <20171104144331.1464-2-christian.koenig-5C7GfCeVMHo@public.gmane.org>
2017-11-07 18:38 ` Alex Deucher
2017-11-07 18:03 ` [PATCH libdrm 1/2] amdpgu: fix coding style in amdgpu_vamgr.c Alex Deucher
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.