diff options
Diffstat (limited to 'meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0196-drm-amdgpu-add-flags-for-amdgpu_ib-structure.patch')
-rw-r--r-- | meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0196-drm-amdgpu-add-flags-for-amdgpu_ib-structure.patch | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0196-drm-amdgpu-add-flags-for-amdgpu_ib-structure.patch b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0196-drm-amdgpu-add-flags-for-amdgpu_ib-structure.patch new file mode 100644 index 00000000..b2ff301d --- /dev/null +++ b/meta-amdfalconx86/recipes-kernel/linux/linux-yocto/0196-drm-amdgpu-add-flags-for-amdgpu_ib-structure.patch @@ -0,0 +1,111 @@ +From de807f818b953f11b9a132a2d1997711a79bbfa3 Mon Sep 17 00:00:00 2001 +From: Jammy Zhou <Jammy.Zhou@amd.com> +Date: Mon, 11 May 2015 23:41:41 +0800 +Subject: [PATCH 0196/1050] drm/amdgpu: add flags for amdgpu_ib structure +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 3 +-- + drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 6 ++---- + drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c | 4 ++-- + drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 2 +- + drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 2 +- + 5 files changed, 7 insertions(+), 10 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +index a88302c..aaa62f3 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +@@ -892,13 +892,12 @@ struct amdgpu_ib { + struct amdgpu_fence *fence; + struct amdgpu_user_fence *user; + struct amdgpu_vm *vm; +- bool is_const_ib; + bool flush_hdp_writefifo; + struct amdgpu_sync sync; +- bool gds_needed; + uint32_t gds_base, gds_size; + uint32_t gws_base, gws_size; + uint32_t oa_base, oa_size; ++ uint32_t flags; + }; + + enum amdgpu_ring_type { +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +index 1035e44..de17f84 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +@@ -638,10 +638,8 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev, + } + ib->length_dw = chunk_ib->ib_bytes / 4; + +- if (chunk_ib->flags & AMDGPU_IB_FLAG_CE) +- ib->is_const_ib = true; +- if (chunk_ib->flags & AMDGPU_IB_FLAG_GDS) +- ib->gds_needed = true; ++ ib->flags = chunk_ib->flags; ++ + if ((ib->ring->current_filp != parser->filp) || + (ib->ring->current_ctx != parser->ctx_id)) { + ib->ring->need_ctx_switch = true; +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +index 847cab2..a83ff03 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c +@@ -88,13 +88,13 @@ int amdgpu_ib_get(struct amdgpu_ring *ring, struct amdgpu_vm *vm, + ib->fence = NULL; + ib->user = NULL; + ib->vm = vm; +- ib->is_const_ib = false; + 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; + } +@@ -179,7 +179,7 @@ int amdgpu_ib_schedule(struct amdgpu_device *adev, unsigned num_ibs, + amdgpu_vm_flush(ring, vm, ib->sync.last_vm_update); + } + +- if (ring->funcs->emit_gds_switch && ib->vm && ib->gds_needed) ++ if (ring->funcs->emit_gds_switch && ib->vm && (ib->flags & AMDGPU_IB_FLAG_GDS)) + amdgpu_ring_emit_gds_switch(ring, ib->vm->ids[ring->idx].id, + ib->gds_base, ib->gds_size, + ib->gws_base, ib->gws_size, +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +index 26df23e..7428c43 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +@@ -2544,7 +2544,7 @@ static void gfx_v7_0_ring_emit_ib(struct amdgpu_ring *ring, + ring->need_ctx_switch = false; + } + +- if (ib->is_const_ib) ++ if (ib->flags & AMDGPU_IB_FLAG_CE) + header = PACKET3(PACKET3_INDIRECT_BUFFER_CONST, 2); + else + header = PACKET3(PACKET3_INDIRECT_BUFFER, 2); +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +index 3762998..48de920 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +@@ -3673,7 +3673,7 @@ static void gfx_v8_0_ring_emit_ib(struct amdgpu_ring *ring, + ring->need_ctx_switch = false; + } + +- if (ib->is_const_ib) ++ if (ib->flags & AMDGPU_IB_FLAG_CE) + header = PACKET3(PACKET3_INDIRECT_BUFFER_CONST, 2); + else + header = PACKET3(PACKET3_INDIRECT_BUFFER, 2); +-- +1.9.1 + |