* [PATCH 1/2] drm/amdgpu: Add a parameter to amdgpu_bo_create()
@ 2017-07-27 19:48 Yong Zhao
[not found] ` <1501184886-2450-1-git-send-email-Yong.Zhao-5C7GfCeVMHo@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Yong Zhao @ 2017-07-27 19:48 UTC (permalink / raw)
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW; +Cc: Yong Zhao
The parameter init_value contains the value to which we initialized
VRAM bo when AMDGPU_GEM_CREATE_VRAM_CLEARED flag is set.
Change-Id: I9ef3b9dd3ca9b98cc25dd2eaff68fbe1129c3e3c
Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 3 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 12 +++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 2 ++
drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 4 ++--
drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 10 +++++-----
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 6 +++---
drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
20 files changed, 43 insertions(+), 34 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index 2292c77..6d2bd80 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -185,7 +185,8 @@ int alloc_gtt_mem(struct kgd_dev *kgd, size_t size,
return -ENOMEM;
r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_GTT,
- AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, &(*mem)->bo);
+ AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, 0,
+ &(*mem)->bo);
if (r) {
dev_err(adev->dev,
"failed to allocate BO for amdkfd (%d)\n", r);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
index 2fb299a..63ec1e1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
@@ -81,7 +81,7 @@ static void amdgpu_benchmark_move(struct amdgpu_device *adev, unsigned size,
n = AMDGPU_BENCHMARK_ITERATIONS;
r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, sdomain, 0, NULL,
- NULL, &sobj);
+ NULL, 0, &sobj);
if (r) {
goto out_cleanup;
}
@@ -94,7 +94,7 @@ static void amdgpu_benchmark_move(struct amdgpu_device *adev, unsigned size,
goto out_cleanup;
}
r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, ddomain, 0, NULL,
- NULL, &dobj);
+ NULL, 0, &dobj);
if (r) {
goto out_cleanup;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
index 3d41cd4..343cdf9 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -124,7 +124,7 @@ static int amdgpu_cgs_alloc_gpu_mem(struct cgs_device *cgs_device,
ret = amdgpu_bo_create_restricted(adev, size, PAGE_SIZE,
true, domain, flags,
NULL, &placement, NULL,
- &obj);
+ 0, &obj);
if (ret) {
DRM_ERROR("(%d) bo create failed\n", ret);
return ret;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index fe6783e..cf81f9d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -344,7 +344,7 @@ static int amdgpu_vram_scratch_init(struct amdgpu_device *adev)
PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &adev->vram_scratch.robj);
+ NULL, NULL, 0, &adev->vram_scratch.robj);
if (r) {
return r;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
index 124b237..8cd79dc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
@@ -141,7 +141,7 @@ int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev)
PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &adev->gart.robj);
+ NULL, NULL, 0, &adev->gart.robj);
if (r) {
return r;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index 917ac5e..db5ff06 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -59,7 +59,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
retry:
r = amdgpu_bo_create(adev, size, alignment, kernel, initial_domain,
- flags, NULL, NULL, &robj);
+ flags, NULL, NULL, 0, &robj);
if (r) {
if (r != -ERESTARTSYS) {
if (initial_domain == AMDGPU_GEM_DOMAIN_VRAM) {
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 3ec43cf..5b44043 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -244,7 +244,7 @@ int amdgpu_bo_create_kernel(struct amdgpu_device *adev,
r = amdgpu_bo_create(adev, size, align, true, domain,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, bo_ptr);
+ NULL, NULL, 0, bo_ptr);
if (r) {
dev_err(adev->dev, "(%d) failed to allocate kernel bo\n", r);
return r;
@@ -318,6 +318,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
struct sg_table *sg,
struct ttm_placement *placement,
struct reservation_object *resv,
+ uint64_t init_value,
struct amdgpu_bo **bo_ptr)
{
struct amdgpu_bo *bo;
@@ -418,7 +419,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
bo->tbo.mem.placement & TTM_PL_FLAG_VRAM) {
struct dma_fence *fence;
- r = amdgpu_fill_buffer(bo, 0, bo->tbo.resv, &fence);
+ r = amdgpu_fill_buffer(bo, init_value, bo->tbo.resv, &fence);
if (unlikely(r))
goto fail_unreserve;
@@ -470,6 +471,7 @@ static int amdgpu_bo_create_shadow(struct amdgpu_device *adev,
AMDGPU_GEM_CREATE_CPU_GTT_USWC,
NULL, &placement,
bo->tbo.resv,
+ 0,
&bo->shadow);
if (!r) {
bo->shadow->parent = amdgpu_bo_ref(bo);
@@ -481,11 +483,15 @@ static int amdgpu_bo_create_shadow(struct amdgpu_device *adev,
return r;
}
+/* init_value will only take effect when flags contains
+ * AMDGPU_GEM_CREATE_VRAM_CLEARED.
+ */
int amdgpu_bo_create(struct amdgpu_device *adev,
unsigned long size, int byte_align,
bool kernel, u32 domain, u64 flags,
struct sg_table *sg,
struct reservation_object *resv,
+ uint64_t init_value,
struct amdgpu_bo **bo_ptr)
{
struct ttm_placement placement = {0};
@@ -500,7 +506,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
r = amdgpu_bo_create_restricted(adev, size, byte_align, kernel,
domain, flags, sg, &placement,
- resv, bo_ptr);
+ resv, init_value, bo_ptr);
if (r)
return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
index 833b172..59b1f6d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
@@ -132,6 +132,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
bool kernel, u32 domain, u64 flags,
struct sg_table *sg,
struct reservation_object *resv,
+ uint64_t init_value,
struct amdgpu_bo **bo_ptr);
int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
unsigned long size, int byte_align,
@@ -139,6 +140,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
struct sg_table *sg,
struct ttm_placement *placement,
struct reservation_object *resv,
+ uint64_t init_value,
struct amdgpu_bo **bo_ptr);
int amdgpu_bo_create_kernel(struct amdgpu_device *adev,
unsigned long size, int align,
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
index 6bdc866..5b3f928 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
@@ -69,7 +69,7 @@ amdgpu_gem_prime_import_sg_table(struct drm_device *dev,
ww_mutex_lock(&resv->lock, NULL);
ret = amdgpu_bo_create(adev, attach->dmabuf->size, PAGE_SIZE, false,
- AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, &bo);
+ AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, 0, &bo);
ww_mutex_unlock(&resv->lock);
if (ret)
return ERR_PTR(ret);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
index 5ca75a4..3144400 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
@@ -64,7 +64,7 @@ int amdgpu_sa_bo_manager_init(struct amdgpu_device *adev,
INIT_LIST_HEAD(&sa_manager->flist[i]);
r = amdgpu_bo_create(adev, size, align, true, domain,
- 0, NULL, NULL, &sa_manager->bo);
+ 0, NULL, NULL, 0, &sa_manager->bo);
if (r) {
dev_err(adev->dev, "(%d) failed to allocate bo for manager\n", r);
return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
index 3c4d757..ed8c373 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
@@ -61,7 +61,7 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev)
r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_VRAM, 0,
- NULL, NULL, &vram_obj);
+ NULL, NULL, 0, &vram_obj);
if (r) {
DRM_ERROR("Failed to create VRAM object\n");
goto out_cleanup;
@@ -82,7 +82,7 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev)
r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_GTT, 0, NULL,
- NULL, gtt_obj + i);
+ NULL, 0, gtt_obj + i);
if (r) {
DRM_ERROR("Failed to create GTT object %d\n", i);
goto out_lclean;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
index d6206bc..ac1d09e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
@@ -1236,7 +1236,7 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &adev->stollen_vga_memory);
+ NULL, NULL, 0, &adev->stollen_vga_memory);
if (r) {
return r;
}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
index fcfb9d4..d3468a2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
@@ -381,7 +381,7 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev)
err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE, true,
amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT,
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, bo);
+ NULL, NULL, 0, bo);
if (err) {
dev_err(adev->dev, "(%d) Firmware buffer allocate failed\n", err);
goto failed;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
index 2ca09f1..aefecf6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
@@ -1051,7 +1051,7 @@ int amdgpu_uvd_get_create_msg(struct amdgpu_ring *ring, uint32_t handle,
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &bo);
+ NULL, NULL, 0, &bo);
if (r)
return r;
@@ -1101,7 +1101,7 @@ int amdgpu_uvd_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle,
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &bo);
+ NULL, NULL, 0, &bo);
if (r)
return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
index d58ca82..041e012 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
@@ -359,7 +359,7 @@ static int amdgpu_vcn_dec_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &bo);
+ NULL, NULL, 0, &bo);
if (r)
return r;
@@ -411,7 +411,7 @@ static int amdgpu_vcn_dec_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL, &bo);
+ NULL, NULL, 0, &bo);
if (r)
return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index fc482cc4..9325f39 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -332,7 +332,7 @@ static int amdgpu_vm_alloc_levels(struct amdgpu_device *adev,
AMDGPU_GPU_PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_VRAM,
flags,
- NULL, resv, &pt);
+ NULL, resv, 0, &pt);
if (r)
return r;
@@ -2537,7 +2537,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
r = amdgpu_bo_create(adev, amdgpu_vm_bo_size(adev, 0), align, true,
AMDGPU_GEM_DOMAIN_VRAM,
flags,
- NULL, NULL, &vm->root.bo);
+ NULL, NULL, 0, &vm->root.bo);
if (r)
goto error_free_sched_entity;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
index 4ac85f4..b607154 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
@@ -2277,7 +2277,7 @@ static int gfx_v6_0_rlc_init(struct amdgpu_device *adev)
r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
- NULL, NULL,
+ NULL, NULL, 0,
&adev->gfx.rlc.save_restore_obj);
if (r) {
@@ -2324,7 +2324,7 @@ static int gfx_v6_0_rlc_init(struct amdgpu_device *adev)
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
NULL, NULL,
- &adev->gfx.rlc.clear_state_obj);
+ 0, &adev->gfx.rlc.clear_state_obj);
if (r) {
dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r);
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
index 42b932c..f0d47cb 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
@@ -2828,7 +2828,7 @@ static int gfx_v7_0_mec_init(struct amdgpu_device *adev)
mec_hpd_size,
PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
- &adev->gfx.mec.hpd_eop_obj);
+ 0, &adev->gfx.mec.hpd_eop_obj);
if (r) {
dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
return r;
@@ -3113,7 +3113,7 @@ static int gfx_v7_0_compute_queue_init(struct amdgpu_device *adev, int ring_id)
sizeof(struct cik_mqd),
PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
- &ring->mqd_obj);
+ 0, &ring->mqd_obj);
if (r) {
dev_warn(adev->dev, "(%d) create MQD bo failed\n", r);
return r;
@@ -3437,7 +3437,7 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev)
AMDGPU_GEM_DOMAIN_VRAM,
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
- NULL, NULL,
+ NULL, NULL, 0,
&adev->gfx.rlc.save_restore_obj);
if (r) {
dev_warn(adev->dev, "(%d) create RLC sr bo failed\n", r);
@@ -3483,7 +3483,7 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev)
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
NULL, NULL,
- &adev->gfx.rlc.clear_state_obj);
+ 0, &adev->gfx.rlc.clear_state_obj);
if (r) {
dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r);
gfx_v7_0_rlc_fini(adev);
@@ -3524,7 +3524,7 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev)
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
NULL, NULL,
- &adev->gfx.rlc.cp_table_obj);
+ 0, &adev->gfx.rlc.cp_table_obj);
if (r) {
dev_warn(adev->dev, "(%d) create RLC cp table bo failed\n", r);
gfx_v7_0_rlc_fini(adev);
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index b58d98d..5a10552 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -1284,7 +1284,7 @@ static int gfx_v8_0_rlc_init(struct amdgpu_device *adev)
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
NULL, NULL,
- &adev->gfx.rlc.clear_state_obj);
+ 0, &adev->gfx.rlc.clear_state_obj);
if (r) {
dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r);
gfx_v8_0_rlc_fini(adev);
@@ -1327,7 +1327,7 @@ static int gfx_v8_0_rlc_init(struct amdgpu_device *adev)
AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
NULL, NULL,
- &adev->gfx.rlc.cp_table_obj);
+ 0, &adev->gfx.rlc.cp_table_obj);
if (r) {
dev_warn(adev->dev, "(%d) create RLC cp table bo failed\n", r);
return r;
@@ -1394,7 +1394,7 @@ static int gfx_v8_0_mec_init(struct amdgpu_device *adev)
mec_hpd_size,
PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
- &adev->gfx.mec.hpd_eop_obj);
+ 0, &adev->gfx.mec.hpd_eop_obj);
if (r) {
dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
return r;
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
index 4d7f042..500318d 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
@@ -867,7 +867,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device *adev)
mec_hpd_size,
PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
- &adev->gfx.mec.hpd_eop_obj);
+ 0, &adev->gfx.mec.hpd_eop_obj);
if (r) {
dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
return r;
@@ -910,7 +910,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device *adev)
mec_hdr->header.ucode_size_bytes,
PAGE_SIZE, true,
AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
- &adev->gfx.mec.mec_fw_obj);
+ 0, &adev->gfx.mec.mec_fw_obj);
if (r) {
dev_warn(adev->dev, "(%d) create mec firmware bo failed\n", r);
return r;
--
2.7.4
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: Add a parameter to amdgpu_bo_create()
[not found] ` <1501184886-2450-1-git-send-email-Yong.Zhao-5C7GfCeVMHo@public.gmane.org>
@ 2017-07-28 9:01 ` Christian König
[not found] ` <2e8598b7-5382-3800-8502-68d69fe75b3a-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Christian König @ 2017-07-28 9:01 UTC (permalink / raw)
To: Yong Zhao, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Am 27.07.2017 um 21:48 schrieb Yong Zhao:
> The parameter init_value contains the value to which we initialized
> VRAM bo when AMDGPU_GEM_CREATE_VRAM_CLEARED flag is set.
>
> Change-Id: I9ef3b9dd3ca9b98cc25dd2eaff68fbe1129c3e3c
> Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
I'm about to push a cleanup which removes a bunch of references to
amdgpu_bo_create(), so don't be surprised when you need to rebase your
patch once more before pushing.
The patch is Reviewed-by: Christian König <christian.koenig@amd.com> and
that rebase should only require you to remove changes, so feel free to
push it after the rebase.
Christian.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 3 ++-
> drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 12 +++++++++---
> drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 2 ++
> drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 2 +-
> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 4 ++--
> drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 10 +++++-----
> drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 6 +++---
> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
> 20 files changed, 43 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> index 2292c77..6d2bd80 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
> @@ -185,7 +185,8 @@ int alloc_gtt_mem(struct kgd_dev *kgd, size_t size,
> return -ENOMEM;
>
> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_GTT,
> - AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, &(*mem)->bo);
> + AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, 0,
> + &(*mem)->bo);
> if (r) {
> dev_err(adev->dev,
> "failed to allocate BO for amdkfd (%d)\n", r);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
> index 2fb299a..63ec1e1 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
> @@ -81,7 +81,7 @@ static void amdgpu_benchmark_move(struct amdgpu_device *adev, unsigned size,
>
> n = AMDGPU_BENCHMARK_ITERATIONS;
> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, sdomain, 0, NULL,
> - NULL, &sobj);
> + NULL, 0, &sobj);
> if (r) {
> goto out_cleanup;
> }
> @@ -94,7 +94,7 @@ static void amdgpu_benchmark_move(struct amdgpu_device *adev, unsigned size,
> goto out_cleanup;
> }
> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, ddomain, 0, NULL,
> - NULL, &dobj);
> + NULL, 0, &dobj);
> if (r) {
> goto out_cleanup;
> }
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> index 3d41cd4..343cdf9 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
> @@ -124,7 +124,7 @@ static int amdgpu_cgs_alloc_gpu_mem(struct cgs_device *cgs_device,
> ret = amdgpu_bo_create_restricted(adev, size, PAGE_SIZE,
> true, domain, flags,
> NULL, &placement, NULL,
> - &obj);
> + 0, &obj);
> if (ret) {
> DRM_ERROR("(%d) bo create failed\n", ret);
> return ret;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index fe6783e..cf81f9d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -344,7 +344,7 @@ static int amdgpu_vram_scratch_init(struct amdgpu_device *adev)
> PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &adev->vram_scratch.robj);
> + NULL, NULL, 0, &adev->vram_scratch.robj);
> if (r) {
> return r;
> }
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> index 124b237..8cd79dc 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
> @@ -141,7 +141,7 @@ int amdgpu_gart_table_vram_alloc(struct amdgpu_device *adev)
> PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &adev->gart.robj);
> + NULL, NULL, 0, &adev->gart.robj);
> if (r) {
> return r;
> }
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> index 917ac5e..db5ff06 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> @@ -59,7 +59,7 @@ int amdgpu_gem_object_create(struct amdgpu_device *adev, unsigned long size,
>
> retry:
> r = amdgpu_bo_create(adev, size, alignment, kernel, initial_domain,
> - flags, NULL, NULL, &robj);
> + flags, NULL, NULL, 0, &robj);
> if (r) {
> if (r != -ERESTARTSYS) {
> if (initial_domain == AMDGPU_GEM_DOMAIN_VRAM) {
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index 3ec43cf..5b44043 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -244,7 +244,7 @@ int amdgpu_bo_create_kernel(struct amdgpu_device *adev,
> r = amdgpu_bo_create(adev, size, align, true, domain,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, bo_ptr);
> + NULL, NULL, 0, bo_ptr);
> if (r) {
> dev_err(adev->dev, "(%d) failed to allocate kernel bo\n", r);
> return r;
> @@ -318,6 +318,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
> struct sg_table *sg,
> struct ttm_placement *placement,
> struct reservation_object *resv,
> + uint64_t init_value,
> struct amdgpu_bo **bo_ptr)
> {
> struct amdgpu_bo *bo;
> @@ -418,7 +419,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
> bo->tbo.mem.placement & TTM_PL_FLAG_VRAM) {
> struct dma_fence *fence;
>
> - r = amdgpu_fill_buffer(bo, 0, bo->tbo.resv, &fence);
> + r = amdgpu_fill_buffer(bo, init_value, bo->tbo.resv, &fence);
> if (unlikely(r))
> goto fail_unreserve;
>
> @@ -470,6 +471,7 @@ static int amdgpu_bo_create_shadow(struct amdgpu_device *adev,
> AMDGPU_GEM_CREATE_CPU_GTT_USWC,
> NULL, &placement,
> bo->tbo.resv,
> + 0,
> &bo->shadow);
> if (!r) {
> bo->shadow->parent = amdgpu_bo_ref(bo);
> @@ -481,11 +483,15 @@ static int amdgpu_bo_create_shadow(struct amdgpu_device *adev,
> return r;
> }
>
> +/* init_value will only take effect when flags contains
> + * AMDGPU_GEM_CREATE_VRAM_CLEARED.
> + */
> int amdgpu_bo_create(struct amdgpu_device *adev,
> unsigned long size, int byte_align,
> bool kernel, u32 domain, u64 flags,
> struct sg_table *sg,
> struct reservation_object *resv,
> + uint64_t init_value,
> struct amdgpu_bo **bo_ptr)
> {
> struct ttm_placement placement = {0};
> @@ -500,7 +506,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
>
> r = amdgpu_bo_create_restricted(adev, size, byte_align, kernel,
> domain, flags, sg, &placement,
> - resv, bo_ptr);
> + resv, init_value, bo_ptr);
> if (r)
> return r;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> index 833b172..59b1f6d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> @@ -132,6 +132,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
> bool kernel, u32 domain, u64 flags,
> struct sg_table *sg,
> struct reservation_object *resv,
> + uint64_t init_value,
> struct amdgpu_bo **bo_ptr);
> int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
> unsigned long size, int byte_align,
> @@ -139,6 +140,7 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
> struct sg_table *sg,
> struct ttm_placement *placement,
> struct reservation_object *resv,
> + uint64_t init_value,
> struct amdgpu_bo **bo_ptr);
> int amdgpu_bo_create_kernel(struct amdgpu_device *adev,
> unsigned long size, int align,
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
> index 6bdc866..5b3f928 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
> @@ -69,7 +69,7 @@ amdgpu_gem_prime_import_sg_table(struct drm_device *dev,
>
> ww_mutex_lock(&resv->lock, NULL);
> ret = amdgpu_bo_create(adev, attach->dmabuf->size, PAGE_SIZE, false,
> - AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, &bo);
> + AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, 0, &bo);
> ww_mutex_unlock(&resv->lock);
> if (ret)
> return ERR_PTR(ret);
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
> index 5ca75a4..3144400 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
> @@ -64,7 +64,7 @@ int amdgpu_sa_bo_manager_init(struct amdgpu_device *adev,
> INIT_LIST_HEAD(&sa_manager->flist[i]);
>
> r = amdgpu_bo_create(adev, size, align, true, domain,
> - 0, NULL, NULL, &sa_manager->bo);
> + 0, NULL, NULL, 0, &sa_manager->bo);
> if (r) {
> dev_err(adev->dev, "(%d) failed to allocate bo for manager\n", r);
> return r;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
> index 3c4d757..ed8c373 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
> @@ -61,7 +61,7 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev)
>
> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_VRAM, 0,
> - NULL, NULL, &vram_obj);
> + NULL, NULL, 0, &vram_obj);
> if (r) {
> DRM_ERROR("Failed to create VRAM object\n");
> goto out_cleanup;
> @@ -82,7 +82,7 @@ static void amdgpu_do_test_moves(struct amdgpu_device *adev)
>
> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_GTT, 0, NULL,
> - NULL, gtt_obj + i);
> + NULL, 0, gtt_obj + i);
> if (r) {
> DRM_ERROR("Failed to create GTT object %d\n", i);
> goto out_lclean;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index d6206bc..ac1d09e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -1236,7 +1236,7 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &adev->stollen_vga_memory);
> + NULL, NULL, 0, &adev->stollen_vga_memory);
> if (r) {
> return r;
> }
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> index fcfb9d4..d3468a2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
> @@ -381,7 +381,7 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev)
> err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE, true,
> amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT,
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, bo);
> + NULL, NULL, 0, bo);
> if (err) {
> dev_err(adev->dev, "(%d) Firmware buffer allocate failed\n", err);
> goto failed;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> index 2ca09f1..aefecf6 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> @@ -1051,7 +1051,7 @@ int amdgpu_uvd_get_create_msg(struct amdgpu_ring *ring, uint32_t handle,
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &bo);
> + NULL, NULL, 0, &bo);
> if (r)
> return r;
>
> @@ -1101,7 +1101,7 @@ int amdgpu_uvd_get_destroy_msg(struct amdgpu_ring *ring, uint32_t handle,
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &bo);
> + NULL, NULL, 0, &bo);
> if (r)
> return r;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> index d58ca82..041e012 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
> @@ -359,7 +359,7 @@ static int amdgpu_vcn_dec_get_create_msg(struct amdgpu_ring *ring, uint32_t hand
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &bo);
> + NULL, NULL, 0, &bo);
> if (r)
> return r;
>
> @@ -411,7 +411,7 @@ static int amdgpu_vcn_dec_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL, &bo);
> + NULL, NULL, 0, &bo);
> if (r)
> return r;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index fc482cc4..9325f39 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -332,7 +332,7 @@ static int amdgpu_vm_alloc_levels(struct amdgpu_device *adev,
> AMDGPU_GPU_PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_VRAM,
> flags,
> - NULL, resv, &pt);
> + NULL, resv, 0, &pt);
> if (r)
> return r;
>
> @@ -2537,7 +2537,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
> r = amdgpu_bo_create(adev, amdgpu_vm_bo_size(adev, 0), align, true,
> AMDGPU_GEM_DOMAIN_VRAM,
> flags,
> - NULL, NULL, &vm->root.bo);
> + NULL, NULL, 0, &vm->root.bo);
> if (r)
> goto error_free_sched_entity;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
> index 4ac85f4..b607154 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
> @@ -2277,7 +2277,7 @@ static int gfx_v6_0_rlc_init(struct amdgpu_device *adev)
> r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
> - NULL, NULL,
> + NULL, NULL, 0,
> &adev->gfx.rlc.save_restore_obj);
>
> if (r) {
> @@ -2324,7 +2324,7 @@ static int gfx_v6_0_rlc_init(struct amdgpu_device *adev)
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
> NULL, NULL,
> - &adev->gfx.rlc.clear_state_obj);
> + 0, &adev->gfx.rlc.clear_state_obj);
>
> if (r) {
> dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r);
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> index 42b932c..f0d47cb 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
> @@ -2828,7 +2828,7 @@ static int gfx_v7_0_mec_init(struct amdgpu_device *adev)
> mec_hpd_size,
> PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
> - &adev->gfx.mec.hpd_eop_obj);
> + 0, &adev->gfx.mec.hpd_eop_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
> return r;
> @@ -3113,7 +3113,7 @@ static int gfx_v7_0_compute_queue_init(struct amdgpu_device *adev, int ring_id)
> sizeof(struct cik_mqd),
> PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
> - &ring->mqd_obj);
> + 0, &ring->mqd_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create MQD bo failed\n", r);
> return r;
> @@ -3437,7 +3437,7 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev)
> AMDGPU_GEM_DOMAIN_VRAM,
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> - NULL, NULL,
> + NULL, NULL, 0,
> &adev->gfx.rlc.save_restore_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create RLC sr bo failed\n", r);
> @@ -3483,7 +3483,7 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev)
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> NULL, NULL,
> - &adev->gfx.rlc.clear_state_obj);
> + 0, &adev->gfx.rlc.clear_state_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r);
> gfx_v7_0_rlc_fini(adev);
> @@ -3524,7 +3524,7 @@ static int gfx_v7_0_rlc_init(struct amdgpu_device *adev)
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> NULL, NULL,
> - &adev->gfx.rlc.cp_table_obj);
> + 0, &adev->gfx.rlc.cp_table_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create RLC cp table bo failed\n", r);
> gfx_v7_0_rlc_fini(adev);
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> index b58d98d..5a10552 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
> @@ -1284,7 +1284,7 @@ static int gfx_v8_0_rlc_init(struct amdgpu_device *adev)
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> NULL, NULL,
> - &adev->gfx.rlc.clear_state_obj);
> + 0, &adev->gfx.rlc.clear_state_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create RLC c bo failed\n", r);
> gfx_v8_0_rlc_fini(adev);
> @@ -1327,7 +1327,7 @@ static int gfx_v8_0_rlc_init(struct amdgpu_device *adev)
> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
> NULL, NULL,
> - &adev->gfx.rlc.cp_table_obj);
> + 0, &adev->gfx.rlc.cp_table_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create RLC cp table bo failed\n", r);
> return r;
> @@ -1394,7 +1394,7 @@ static int gfx_v8_0_mec_init(struct amdgpu_device *adev)
> mec_hpd_size,
> PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
> - &adev->gfx.mec.hpd_eop_obj);
> + 0, &adev->gfx.mec.hpd_eop_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
> return r;
> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> index 4d7f042..500318d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
> @@ -867,7 +867,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device *adev)
> mec_hpd_size,
> PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
> - &adev->gfx.mec.hpd_eop_obj);
> + 0, &adev->gfx.mec.hpd_eop_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
> return r;
> @@ -910,7 +910,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device *adev)
> mec_hdr->header.ucode_size_bytes,
> PAGE_SIZE, true,
> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
> - &adev->gfx.mec.mec_fw_obj);
> + 0, &adev->gfx.mec.mec_fw_obj);
> if (r) {
> dev_warn(adev->dev, "(%d) create mec firmware bo failed\n", r);
> return r;
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] drm/amdgpu: Add a parameter to amdgpu_bo_create()
[not found] ` <2e8598b7-5382-3800-8502-68d69fe75b3a-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
@ 2017-07-28 14:51 ` Yong Zhao
0 siblings, 0 replies; 3+ messages in thread
From: Yong Zhao @ 2017-07-28 14:51 UTC (permalink / raw)
To: Christian König, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
Got it.
On 2017-07-28 05:01 AM, Christian König wrote:
> Am 27.07.2017 um 21:48 schrieb Yong Zhao:
>> The parameter init_value contains the value to which we initialized
>> VRAM bo when AMDGPU_GEM_CREATE_VRAM_CLEARED flag is set.
>>
>> Change-Id: I9ef3b9dd3ca9b98cc25dd2eaff68fbe1129c3e3c
>> Signed-off-by: Yong Zhao <Yong.Zhao@amd.com>
>
> I'm about to push a cleanup which removes a bunch of references to
> amdgpu_bo_create(), so don't be surprised when you need to rebase your
> patch once more before pushing.
>
> The patch is Reviewed-by: Christian König <christian.koenig@amd.com>
> and that rebase should only require you to remove changes, so feel
> free to push it after the rebase.
>
> Christian.
>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 3 ++-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c | 4 ++--
>> drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 12 +++++++++---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 2 ++
>> drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_test.c | 4 ++--
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c | 2 +-
>> drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 4 ++--
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c | 4 ++--
>> drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
>> drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c | 4 ++--
>> drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 10 +++++-----
>> drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 6 +++---
>> drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 4 ++--
>> 20 files changed, 43 insertions(+), 34 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
>> index 2292c77..6d2bd80 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
>> @@ -185,7 +185,8 @@ int alloc_gtt_mem(struct kgd_dev *kgd, size_t size,
>> return -ENOMEM;
>> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT,
>> - AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL,
>> &(*mem)->bo);
>> + AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, 0,
>> + &(*mem)->bo);
>> if (r) {
>> dev_err(adev->dev,
>> "failed to allocate BO for amdkfd (%d)\n", r);
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
>> index 2fb299a..63ec1e1 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_benchmark.c
>> @@ -81,7 +81,7 @@ static void amdgpu_benchmark_move(struct
>> amdgpu_device *adev, unsigned size,
>> n = AMDGPU_BENCHMARK_ITERATIONS;
>> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, sdomain, 0,
>> NULL,
>> - NULL, &sobj);
>> + NULL, 0, &sobj);
>> if (r) {
>> goto out_cleanup;
>> }
>> @@ -94,7 +94,7 @@ static void amdgpu_benchmark_move(struct
>> amdgpu_device *adev, unsigned size,
>> goto out_cleanup;
>> }
>> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, ddomain, 0,
>> NULL,
>> - NULL, &dobj);
>> + NULL, 0, &dobj);
>> if (r) {
>> goto out_cleanup;
>> }
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
>> index 3d41cd4..343cdf9 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
>> @@ -124,7 +124,7 @@ static int amdgpu_cgs_alloc_gpu_mem(struct
>> cgs_device *cgs_device,
>> ret = amdgpu_bo_create_restricted(adev, size, PAGE_SIZE,
>> true, domain, flags,
>> NULL, &placement, NULL,
>> - &obj);
>> + 0, &obj);
>> if (ret) {
>> DRM_ERROR("(%d) bo create failed\n", ret);
>> return ret;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index fe6783e..cf81f9d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -344,7 +344,7 @@ static int amdgpu_vram_scratch_init(struct
>> amdgpu_device *adev)
>> PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &adev->vram_scratch.robj);
>> + NULL, NULL, 0, &adev->vram_scratch.robj);
>> if (r) {
>> return r;
>> }
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
>> index 124b237..8cd79dc 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gart.c
>> @@ -141,7 +141,7 @@ int amdgpu_gart_table_vram_alloc(struct
>> amdgpu_device *adev)
>> PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &adev->gart.robj);
>> + NULL, NULL, 0, &adev->gart.robj);
>> if (r) {
>> return r;
>> }
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> index 917ac5e..db5ff06 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
>> @@ -59,7 +59,7 @@ int amdgpu_gem_object_create(struct amdgpu_device
>> *adev, unsigned long size,
>> retry:
>> r = amdgpu_bo_create(adev, size, alignment, kernel,
>> initial_domain,
>> - flags, NULL, NULL, &robj);
>> + flags, NULL, NULL, 0, &robj);
>> if (r) {
>> if (r != -ERESTARTSYS) {
>> if (initial_domain == AMDGPU_GEM_DOMAIN_VRAM) {
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> index 3ec43cf..5b44043 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
>> @@ -244,7 +244,7 @@ int amdgpu_bo_create_kernel(struct amdgpu_device
>> *adev,
>> r = amdgpu_bo_create(adev, size, align, true, domain,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, bo_ptr);
>> + NULL, NULL, 0, bo_ptr);
>> if (r) {
>> dev_err(adev->dev, "(%d) failed to allocate kernel bo\n", r);
>> return r;
>> @@ -318,6 +318,7 @@ int amdgpu_bo_create_restricted(struct
>> amdgpu_device *adev,
>> struct sg_table *sg,
>> struct ttm_placement *placement,
>> struct reservation_object *resv,
>> + uint64_t init_value,
>> struct amdgpu_bo **bo_ptr)
>> {
>> struct amdgpu_bo *bo;
>> @@ -418,7 +419,7 @@ int amdgpu_bo_create_restricted(struct
>> amdgpu_device *adev,
>> bo->tbo.mem.placement & TTM_PL_FLAG_VRAM) {
>> struct dma_fence *fence;
>> - r = amdgpu_fill_buffer(bo, 0, bo->tbo.resv, &fence);
>> + r = amdgpu_fill_buffer(bo, init_value, bo->tbo.resv, &fence);
>> if (unlikely(r))
>> goto fail_unreserve;
>> @@ -470,6 +471,7 @@ static int amdgpu_bo_create_shadow(struct
>> amdgpu_device *adev,
>> AMDGPU_GEM_CREATE_CPU_GTT_USWC,
>> NULL, &placement,
>> bo->tbo.resv,
>> + 0,
>> &bo->shadow);
>> if (!r) {
>> bo->shadow->parent = amdgpu_bo_ref(bo);
>> @@ -481,11 +483,15 @@ static int amdgpu_bo_create_shadow(struct
>> amdgpu_device *adev,
>> return r;
>> }
>> +/* init_value will only take effect when flags contains
>> + * AMDGPU_GEM_CREATE_VRAM_CLEARED.
>> + */
>> int amdgpu_bo_create(struct amdgpu_device *adev,
>> unsigned long size, int byte_align,
>> bool kernel, u32 domain, u64 flags,
>> struct sg_table *sg,
>> struct reservation_object *resv,
>> + uint64_t init_value,
>> struct amdgpu_bo **bo_ptr)
>> {
>> struct ttm_placement placement = {0};
>> @@ -500,7 +506,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
>> r = amdgpu_bo_create_restricted(adev, size, byte_align, kernel,
>> domain, flags, sg, &placement,
>> - resv, bo_ptr);
>> + resv, init_value, bo_ptr);
>> if (r)
>> return r;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
>> index 833b172..59b1f6d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
>> @@ -132,6 +132,7 @@ int amdgpu_bo_create(struct amdgpu_device *adev,
>> bool kernel, u32 domain, u64 flags,
>> struct sg_table *sg,
>> struct reservation_object *resv,
>> + uint64_t init_value,
>> struct amdgpu_bo **bo_ptr);
>> int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
>> unsigned long size, int byte_align,
>> @@ -139,6 +140,7 @@ int amdgpu_bo_create_restricted(struct
>> amdgpu_device *adev,
>> struct sg_table *sg,
>> struct ttm_placement *placement,
>> struct reservation_object *resv,
>> + uint64_t init_value,
>> struct amdgpu_bo **bo_ptr);
>> int amdgpu_bo_create_kernel(struct amdgpu_device *adev,
>> unsigned long size, int align,
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>> index 6bdc866..5b3f928 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
>> @@ -69,7 +69,7 @@ amdgpu_gem_prime_import_sg_table(struct drm_device
>> *dev,
>> ww_mutex_lock(&resv->lock, NULL);
>> ret = amdgpu_bo_create(adev, attach->dmabuf->size, PAGE_SIZE,
>> false,
>> - AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, &bo);
>> + AMDGPU_GEM_DOMAIN_GTT, 0, sg, resv, 0, &bo);
>> ww_mutex_unlock(&resv->lock);
>> if (ret)
>> return ERR_PTR(ret);
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
>> index 5ca75a4..3144400 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
>> @@ -64,7 +64,7 @@ int amdgpu_sa_bo_manager_init(struct amdgpu_device
>> *adev,
>> INIT_LIST_HEAD(&sa_manager->flist[i]);
>> r = amdgpu_bo_create(adev, size, align, true, domain,
>> - 0, NULL, NULL, &sa_manager->bo);
>> + 0, NULL, NULL, 0, &sa_manager->bo);
>> if (r) {
>> dev_err(adev->dev, "(%d) failed to allocate bo for
>> manager\n", r);
>> return r;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
>> index 3c4d757..ed8c373 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_test.c
>> @@ -61,7 +61,7 @@ static void amdgpu_do_test_moves(struct
>> amdgpu_device *adev)
>> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_VRAM, 0,
>> - NULL, NULL, &vram_obj);
>> + NULL, NULL, 0, &vram_obj);
>> if (r) {
>> DRM_ERROR("Failed to create VRAM object\n");
>> goto out_cleanup;
>> @@ -82,7 +82,7 @@ static void amdgpu_do_test_moves(struct
>> amdgpu_device *adev)
>> r = amdgpu_bo_create(adev, size, PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT, 0, NULL,
>> - NULL, gtt_obj + i);
>> + NULL, 0, gtt_obj + i);
>> if (r) {
>> DRM_ERROR("Failed to create GTT object %d\n", i);
>> goto out_lclean;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> index d6206bc..ac1d09e 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
>> @@ -1236,7 +1236,7 @@ int amdgpu_ttm_init(struct amdgpu_device *adev)
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &adev->stollen_vga_memory);
>> + NULL, NULL, 0, &adev->stollen_vga_memory);
>> if (r) {
>> return r;
>> }
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
>> index fcfb9d4..d3468a2 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c
>> @@ -381,7 +381,7 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev)
>> err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE,
>> true,
>> amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM :
>> AMDGPU_GEM_DOMAIN_GTT,
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, bo);
>> + NULL, NULL, 0, bo);
>> if (err) {
>> dev_err(adev->dev, "(%d) Firmware buffer allocate
>> failed\n", err);
>> goto failed;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
>> index 2ca09f1..aefecf6 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
>> @@ -1051,7 +1051,7 @@ int amdgpu_uvd_get_create_msg(struct
>> amdgpu_ring *ring, uint32_t handle,
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &bo);
>> + NULL, NULL, 0, &bo);
>> if (r)
>> return r;
>> @@ -1101,7 +1101,7 @@ int amdgpu_uvd_get_destroy_msg(struct
>> amdgpu_ring *ring, uint32_t handle,
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &bo);
>> + NULL, NULL, 0, &bo);
>> if (r)
>> return r;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> index d58ca82..041e012 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c
>> @@ -359,7 +359,7 @@ static int amdgpu_vcn_dec_get_create_msg(struct
>> amdgpu_ring *ring, uint32_t hand
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &bo);
>> + NULL, NULL, 0, &bo);
>> if (r)
>> return r;
>> @@ -411,7 +411,7 @@ static int
>> amdgpu_vcn_dec_get_destroy_msg(struct amdgpu_ring *ring, uint32_t han
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL, &bo);
>> + NULL, NULL, 0, &bo);
>> if (r)
>> return r;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> index fc482cc4..9325f39 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
>> @@ -332,7 +332,7 @@ static int amdgpu_vm_alloc_levels(struct
>> amdgpu_device *adev,
>> AMDGPU_GPU_PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_VRAM,
>> flags,
>> - NULL, resv, &pt);
>> + NULL, resv, 0, &pt);
>> if (r)
>> return r;
>> @@ -2537,7 +2537,7 @@ int amdgpu_vm_init(struct amdgpu_device
>> *adev, struct amdgpu_vm *vm,
>> r = amdgpu_bo_create(adev, amdgpu_vm_bo_size(adev, 0), align,
>> true,
>> AMDGPU_GEM_DOMAIN_VRAM,
>> flags,
>> - NULL, NULL, &vm->root.bo);
>> + NULL, NULL, 0, &vm->root.bo);
>> if (r)
>> goto error_free_sched_entity;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
>> index 4ac85f4..b607154 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c
>> @@ -2277,7 +2277,7 @@ static int gfx_v6_0_rlc_init(struct
>> amdgpu_device *adev)
>> r = amdgpu_bo_create(adev, dws * 4, PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
>> - NULL, NULL,
>> + NULL, NULL, 0,
>> &adev->gfx.rlc.save_restore_obj);
>> if (r) {
>> @@ -2324,7 +2324,7 @@ static int gfx_v6_0_rlc_init(struct
>> amdgpu_device *adev)
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED,
>> NULL, NULL,
>> - &adev->gfx.rlc.clear_state_obj);
>> + 0, &adev->gfx.rlc.clear_state_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create RLC c bo
>> failed\n", r);
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
>> index 42b932c..f0d47cb 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c
>> @@ -2828,7 +2828,7 @@ static int gfx_v7_0_mec_init(struct
>> amdgpu_device *adev)
>> mec_hpd_size,
>> PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
>> - &adev->gfx.mec.hpd_eop_obj);
>> + 0, &adev->gfx.mec.hpd_eop_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
>> return r;
>> @@ -3113,7 +3113,7 @@ static int gfx_v7_0_compute_queue_init(struct
>> amdgpu_device *adev, int ring_id)
>> sizeof(struct cik_mqd),
>> PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
>> - &ring->mqd_obj);
>> + 0, &ring->mqd_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create MQD bo failed\n", r);
>> return r;
>> @@ -3437,7 +3437,7 @@ static int gfx_v7_0_rlc_init(struct
>> amdgpu_device *adev)
>> AMDGPU_GEM_DOMAIN_VRAM,
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> - NULL, NULL,
>> + NULL, NULL, 0,
>> &adev->gfx.rlc.save_restore_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create RLC sr bo
>> failed\n", r);
>> @@ -3483,7 +3483,7 @@ static int gfx_v7_0_rlc_init(struct
>> amdgpu_device *adev)
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> NULL, NULL,
>> - &adev->gfx.rlc.clear_state_obj);
>> + 0, &adev->gfx.rlc.clear_state_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create RLC c bo
>> failed\n", r);
>> gfx_v7_0_rlc_fini(adev);
>> @@ -3524,7 +3524,7 @@ static int gfx_v7_0_rlc_init(struct
>> amdgpu_device *adev)
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> NULL, NULL,
>> - &adev->gfx.rlc.cp_table_obj);
>> + 0, &adev->gfx.rlc.cp_table_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create RLC cp table bo
>> failed\n", r);
>> gfx_v7_0_rlc_fini(adev);
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>> index b58d98d..5a10552 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
>> @@ -1284,7 +1284,7 @@ static int gfx_v8_0_rlc_init(struct
>> amdgpu_device *adev)
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> NULL, NULL,
>> - &adev->gfx.rlc.clear_state_obj);
>> + 0, &adev->gfx.rlc.clear_state_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create RLC c bo
>> failed\n", r);
>> gfx_v8_0_rlc_fini(adev);
>> @@ -1327,7 +1327,7 @@ static int gfx_v8_0_rlc_init(struct
>> amdgpu_device *adev)
>> AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED |
>> AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
>> NULL, NULL,
>> - &adev->gfx.rlc.cp_table_obj);
>> + 0, &adev->gfx.rlc.cp_table_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create RLC cp table bo
>> failed\n", r);
>> return r;
>> @@ -1394,7 +1394,7 @@ static int gfx_v8_0_mec_init(struct
>> amdgpu_device *adev)
>> mec_hpd_size,
>> PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
>> - &adev->gfx.mec.hpd_eop_obj);
>> + 0, &adev->gfx.mec.hpd_eop_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
>> return r;
>> diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> index 4d7f042..500318d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
>> @@ -867,7 +867,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device
>> *adev)
>> mec_hpd_size,
>> PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
>> - &adev->gfx.mec.hpd_eop_obj);
>> + 0, &adev->gfx.mec.hpd_eop_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create HDP EOP bo failed\n", r);
>> return r;
>> @@ -910,7 +910,7 @@ static int gfx_v9_0_mec_init(struct amdgpu_device
>> *adev)
>> mec_hdr->header.ucode_size_bytes,
>> PAGE_SIZE, true,
>> AMDGPU_GEM_DOMAIN_GTT, 0, NULL, NULL,
>> - &adev->gfx.mec.mec_fw_obj);
>> + 0, &adev->gfx.mec.mec_fw_obj);
>> if (r) {
>> dev_warn(adev->dev, "(%d) create mec firmware bo
>> failed\n", r);
>> return r;
>
>
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-07-28 14:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-27 19:48 [PATCH 1/2] drm/amdgpu: Add a parameter to amdgpu_bo_create() Yong Zhao
[not found] ` <1501184886-2450-1-git-send-email-Yong.Zhao-5C7GfCeVMHo@public.gmane.org>
2017-07-28 9:01 ` Christian König
[not found] ` <2e8598b7-5382-3800-8502-68d69fe75b3a-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-07-28 14:51 ` Yong Zhao
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.