diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/1543-drm-amdgpu-give-a-fence-param-to-ib_free.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/1543-drm-amdgpu-give-a-fence-param-to-ib_free.patch | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/common/recipes-kernel/linux/files/1543-drm-amdgpu-give-a-fence-param-to-ib_free.patch b/common/recipes-kernel/linux/files/1543-drm-amdgpu-give-a-fence-param-to-ib_free.patch deleted file mode 100644 index d00f282b..00000000 --- a/common/recipes-kernel/linux/files/1543-drm-amdgpu-give-a-fence-param-to-ib_free.patch +++ /dev/null @@ -1,150 +0,0 @@ -From e5831afbb52f2787114bc2f1e11d71126b32b6b1 Mon Sep 17 00:00:00 2001 -From: Monk Liu <Monk.Liu@amd.com> -Date: Thu, 17 Mar 2016 10:47:07 +0800 -Subject: [PATCH 1543/1565] drm/amdgpu: give a fence param to ib_free - -thus amdgpu_ib_free() can hook sched fence to SA manager -in later patches. - -BTW: -for amdgpu_free_job(), it should only fence_put() the -fence of the last ib once, so fix it as well in this patch. - -Signed-off-by: Monk Liu <Monk.Liu@amd.com> -Reviewed-by: Chunming Zhou <david1.zhou@amd.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- - drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 5 +++-- - drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 3 ++- - drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 2 +- - drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +- - drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 4 ++-- - drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 2 +- - drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 2 +- - 8 files changed, 12 insertions(+), 10 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -index 4ae58c5..949e2b2 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h -@@ -1141,7 +1141,7 @@ struct amdgpu_gfx { - - int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, - unsigned size, struct amdgpu_ib *ib); --void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib); -+void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib, struct fence *f); - int amdgpu_ib_schedule(struct amdgpu_ring *ring, unsigned num_ibs, - struct amdgpu_ib *ib, struct fence *last_vm_update, - struct fence **f); -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -index 798d466..345cac9 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -@@ -85,12 +85,13 @@ int amdgpu_ib_get(struct amdgpu_device *adev, struct amdgpu_vm *vm, - * - * @adev: amdgpu_device pointer - * @ib: IB object to free -+ * @f: the fence SA bo need wait on for the ib alloation - * - * Free an IB (all asics). - */ --void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib) -+void amdgpu_ib_free(struct amdgpu_device *adev, struct amdgpu_ib *ib, struct fence *f) - { -- amdgpu_sa_bo_free(adev, &ib->sa_bo, ib->fence); -+ amdgpu_sa_bo_free(adev, &ib->sa_bo, f); - fence_put(ib->fence); - } - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c -index 692b455..df2f6666 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c -@@ -72,7 +72,8 @@ void amdgpu_job_free(struct amdgpu_job *job) - unsigned i; - - for (i = 0; i < job->num_ibs; ++i) -- amdgpu_ib_free(job->adev, &job->ibs[i]); -+ amdgpu_sa_bo_free(job->adev, &job->ibs[i].sa_bo, job->ibs[job->num_ibs - 1].fence); -+ fence_put(job->ibs[job->num_ibs - 1].fence); - - amdgpu_bo_unref(&job->uf.bo); - amdgpu_sync_free(&job->sync); -diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -index 0212219..5677cc3 100644 ---- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -@@ -669,7 +669,7 @@ static int cik_sdma_ring_test_ib(struct amdgpu_ring *ring) - - err1: - fence_put(f); -- amdgpu_ib_free(adev, &ib); -+ amdgpu_ib_free(adev, &ib, NULL); - err0: - amdgpu_wb_free(adev, index); - return r; -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -index cdfdd74..7b259f5 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -@@ -2163,7 +2163,7 @@ static int gfx_v7_0_ring_test_ib(struct amdgpu_ring *ring) - - err2: - fence_put(f); -- amdgpu_ib_free(adev, &ib); -+ amdgpu_ib_free(adev, &ib, NULL); - err1: - amdgpu_gfx_scratch_free(adev, scratch); - return r; -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -index 509d0ba..c9c9bea 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -@@ -732,7 +732,7 @@ static int gfx_v8_0_ring_test_ib(struct amdgpu_ring *ring) - } - err2: - fence_put(f); -- amdgpu_ib_free(adev, &ib); -+ amdgpu_ib_free(adev, &ib, NULL); - err1: - amdgpu_gfx_scratch_free(adev, scratch); - return r; -@@ -1289,7 +1289,7 @@ static int gfx_v8_0_do_edc_gpr_workarounds(struct amdgpu_device *adev) - - fail: - fence_put(f); -- amdgpu_ib_free(adev, &ib); -+ amdgpu_ib_free(adev, &ib, NULL); - - return r; - } -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -index 6ac6cdd..5f148bd 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -@@ -727,7 +727,7 @@ static int sdma_v2_4_ring_test_ib(struct amdgpu_ring *ring) - - err1: - fence_put(f); -- amdgpu_ib_free(adev, &ib); -+ amdgpu_ib_free(adev, &ib, NULL); - err0: - amdgpu_wb_free(adev, index); - return r; -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -index 4c24c37..1d67bce 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -@@ -878,7 +878,7 @@ static int sdma_v3_0_ring_test_ib(struct amdgpu_ring *ring) - } - err1: - fence_put(f); -- amdgpu_ib_free(adev, &ib); -+ amdgpu_ib_free(adev, &ib, NULL); - err0: - amdgpu_wb_free(adev, index); - return r; --- -1.9.1 - |