diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0473-drm-amdgpu-fix-zeroing-all-IB-fields-manually-v2.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0473-drm-amdgpu-fix-zeroing-all-IB-fields-manually-v2.patch | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/common/recipes-kernel/linux/files/0473-drm-amdgpu-fix-zeroing-all-IB-fields-manually-v2.patch b/common/recipes-kernel/linux/files/0473-drm-amdgpu-fix-zeroing-all-IB-fields-manually-v2.patch deleted file mode 100644 index 50ed08a9..00000000 --- a/common/recipes-kernel/linux/files/0473-drm-amdgpu-fix-zeroing-all-IB-fields-manually-v2.patch +++ /dev/null @@ -1,138 +0,0 @@ -From b203dd95949ec8d5e30d53446408eb9a4d1bdc62 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> -Date: Tue, 18 Aug 2015 18:23:16 +0200 -Subject: [PATCH 0473/1050] drm/amdgpu: fix zeroing all IB fields manually v2 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The problem now is that we don't necessarily call amdgpu_ib_get() -in some error paths and so work with uninitialized data. - -Better require that the memory is already zeroed. - -v2: better commit message - -Signed-off-by: Christian König <christian.koenig@amd.com> -Reviewed-by: Chunming Zhou <david1.zhou@amd.com> (v1) -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +- - drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 17 ----------------- - drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 1 + - drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 1 + - drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 1 + - drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 1 + - drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 1 + - 7 files changed, 6 insertions(+), 18 deletions(-) - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -index 2cf7f52..a592df5 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c -@@ -260,7 +260,7 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data) - } - - -- p->ibs = kmalloc_array(p->num_ibs, sizeof(struct amdgpu_ib), GFP_KERNEL); -+ p->ibs = kcalloc(p->num_ibs, sizeof(struct amdgpu_ib), GFP_KERNEL); - if (!p->ibs) - r = -ENOMEM; - -diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -index 5104e64..1c237f5 100644 ---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c -@@ -73,29 +73,12 @@ int amdgpu_ib_get(struct amdgpu_ring *ring, struct amdgpu_vm *vm, - - if (!vm) - ib->gpu_addr = amdgpu_sa_bo_gpu_addr(ib->sa_bo); -- else -- ib->gpu_addr = 0; -- -- } else { -- ib->sa_bo = NULL; -- ib->ptr = NULL; -- ib->gpu_addr = 0; - } - - amdgpu_sync_create(&ib->sync); - - ib->ring = ring; -- ib->fence = NULL; -- ib->user = NULL; - ib->vm = vm; -- ib->ctx = NULL; -- ib->gds_base = 0; -- ib->gds_size = 0; -- ib->gws_base = 0; -- ib->gws_size = 0; -- ib->oa_base = 0; -- ib->oa_size = 0; -- ib->flags = 0; - - return 0; - } -diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -index 2b4242b..af52655 100644 ---- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -+++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c -@@ -630,6 +630,7 @@ static int cik_sdma_ring_test_ib(struct amdgpu_ring *ring) - gpu_addr = adev->wb.gpu_addr + (index * 4); - tmp = 0xCAFEDEAD; - adev->wb.wb[index] = cpu_to_le32(tmp); -+ memset(&ib, 0, sizeof(ib)); - r = amdgpu_ib_get(ring, NULL, 256, &ib); - if (r) { - DRM_ERROR("amdgpu: failed to get ib (%d).\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 9b0cab4..fab7b23 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c -@@ -2660,6 +2660,7 @@ static int gfx_v7_0_ring_test_ib(struct amdgpu_ring *ring) - return r; - } - WREG32(scratch, 0xCAFEDEAD); -+ memset(&ib, 0, sizeof(ib)); - r = amdgpu_ib_get(ring, NULL, 256, &ib); - if (r) { - DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); -diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -index 4b68e63..818edb3 100644 ---- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c -@@ -622,6 +622,7 @@ static int gfx_v8_0_ring_test_ib(struct amdgpu_ring *ring) - return r; - } - WREG32(scratch, 0xCAFEDEAD); -+ memset(&ib, 0, sizeof(ib)); - r = amdgpu_ib_get(ring, NULL, 256, &ib); - if (r) { - DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -index 9de8104..2b0e89e 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c -@@ -689,6 +689,7 @@ static int sdma_v2_4_ring_test_ib(struct amdgpu_ring *ring) - gpu_addr = adev->wb.gpu_addr + (index * 4); - tmp = 0xCAFEDEAD; - adev->wb.wb[index] = cpu_to_le32(tmp); -+ memset(&ib, 0, sizeof(ib)); - r = amdgpu_ib_get(ring, NULL, 256, &ib); - if (r) { - DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); -diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -index 029f345..6f1df03 100644 ---- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -+++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c -@@ -810,6 +810,7 @@ static int sdma_v3_0_ring_test_ib(struct amdgpu_ring *ring) - gpu_addr = adev->wb.gpu_addr + (index * 4); - tmp = 0xCAFEDEAD; - adev->wb.wb[index] = cpu_to_le32(tmp); -+ memset(&ib, 0, sizeof(ib)); - r = amdgpu_ib_get(ring, NULL, 256, &ib); - if (r) { - DRM_ERROR("amdgpu: failed to get ib (%d).\n", r); --- -1.9.1 - |