diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0469-drm-amdgpu-some-clean-up-for-cs_ioctl.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0469-drm-amdgpu-some-clean-up-for-cs_ioctl.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0469-drm-amdgpu-some-clean-up-for-cs_ioctl.patch b/common/recipes-kernel/linux/files/0469-drm-amdgpu-some-clean-up-for-cs_ioctl.patch new file mode 100644 index 00000000..7a51be33 --- /dev/null +++ b/common/recipes-kernel/linux/files/0469-drm-amdgpu-some-clean-up-for-cs_ioctl.patch @@ -0,0 +1,81 @@ +From 3c4adead8480f81df687a181d1e54a39b91b9363 Mon Sep 17 00:00:00 2001 +From: Chunming Zhou <david1.zhou@amd.com> +Date: Tue, 18 Aug 2015 16:19:13 +0800 +Subject: [PATCH 0469/1050] drm/amdgpu: some clean up for cs_ioctl + +Signed-off-by: Chunming Zhou <david1.zhou@amd.com> +Reviewed-by: Christian K?nig <christian.koenig@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 -------- + drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 29 +---------------------------- + 2 files changed, 1 insertion(+), 36 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +index 95d4969..d050f50 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h +@@ -1257,14 +1257,6 @@ struct amdgpu_cs_parser { + + /* user fence */ + struct amdgpu_user_fence uf; +- +- struct amdgpu_ring *ring; +- struct mutex job_lock; +- struct work_struct job_work; +- int (*prepare_job)(struct amdgpu_cs_parser *sched_job); +- int (*run_job)(struct amdgpu_cs_parser *sched_job); +- int (*free_job)(struct amdgpu_cs_parser *sched_job); +- struct amd_sched_fence *s_fence; + }; + + struct amdgpu_job { +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +index 7b4823d..77fc7cd 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +@@ -827,32 +827,6 @@ static int amdgpu_cs_parser_prepare_job(struct amdgpu_cs_parser *sched_job) + return r; + } + +-static struct amdgpu_ring *amdgpu_cs_parser_get_ring( +- struct amdgpu_device *adev, +- struct amdgpu_cs_parser *parser) +-{ +- int i, r; +- +- struct amdgpu_cs_chunk *chunk; +- struct drm_amdgpu_cs_chunk_ib *chunk_ib; +- struct amdgpu_ring *ring; +- for (i = 0; i < parser->nchunks; i++) { +- chunk = &parser->chunks[i]; +- chunk_ib = (struct drm_amdgpu_cs_chunk_ib *)chunk->kdata; +- +- if (chunk->chunk_id != AMDGPU_CHUNK_ID_IB) +- continue; +- +- r = amdgpu_cs_get_ring(adev, chunk_ib->ip_type, +- chunk_ib->ip_instance, chunk_ib->ring, +- &ring); +- if (r) +- return NULL; +- break; +- } +- return ring; +-} +- + static int amdgpu_cs_free_job(struct amdgpu_job *sched_job) + { + int i; +@@ -897,8 +871,7 @@ int amdgpu_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *filp) + + if (amdgpu_enable_scheduler && parser->num_ibs) { + struct amdgpu_job *job; +- struct amdgpu_ring * ring = +- amdgpu_cs_parser_get_ring(adev, parser); ++ struct amdgpu_ring * ring = parser->ibs->ring; + job = kzalloc(sizeof(struct amdgpu_job), GFP_KERNEL); + if (!job) + return -ENOMEM; +-- +1.9.1 + |