aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0403-drm-amdgpu-add-helper-function-for-kernel-submission.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0403-drm-amdgpu-add-helper-function-for-kernel-submission.patch')
-rw-r--r--common/recipes-kernel/linux/files/0403-drm-amdgpu-add-helper-function-for-kernel-submission.patch77
1 files changed, 0 insertions, 77 deletions
diff --git a/common/recipes-kernel/linux/files/0403-drm-amdgpu-add-helper-function-for-kernel-submission.patch b/common/recipes-kernel/linux/files/0403-drm-amdgpu-add-helper-function-for-kernel-submission.patch
deleted file mode 100644
index c87850fa..00000000
--- a/common/recipes-kernel/linux/files/0403-drm-amdgpu-add-helper-function-for-kernel-submission.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 3c704e934d07bcb5fdf9725db190e2ae60fba1bd Mon Sep 17 00:00:00 2001
-From: Chunming Zhou <david1.zhou@amd.com>
-Date: Wed, 29 Jul 2015 10:33:14 +0800
-Subject: [PATCH 0403/1050] drm/amdgpu: add helper function for kernel
- submission
-
-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 | 7 +++++++
- drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 35 +++++++++++++++++++++++++++++++
- 2 files changed, 42 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-index 2619c78..1e87acf 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
-@@ -864,6 +864,13 @@ enum amdgpu_ring_type {
-
- extern struct amd_sched_backend_ops amdgpu_sched_ops;
-
-+int amdgpu_sched_ib_submit_kernel_helper(struct amdgpu_device *adev,
-+ struct amdgpu_ring *ring,
-+ struct amdgpu_ib *ibs,
-+ unsigned num_ibs,
-+ int (*free_job)(struct amdgpu_cs_parser *),
-+ void *owner);
-+
- struct amdgpu_ring {
- struct amdgpu_device *adev;
- const struct amdgpu_ring_funcs *funcs;
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
-index b913c22..d682fab 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
-@@ -108,3 +108,38 @@ struct amd_sched_backend_ops amdgpu_sched_ops = {
- .process_job = amdgpu_sched_process_job
- };
-
-+int amdgpu_sched_ib_submit_kernel_helper(struct amdgpu_device *adev,
-+ struct amdgpu_ring *ring,
-+ struct amdgpu_ib *ibs,
-+ unsigned num_ibs,
-+ int (*free_job)(struct amdgpu_cs_parser *),
-+ void *owner)
-+{
-+ int r = 0;
-+ if (amdgpu_enable_scheduler) {
-+ uint64_t v_seq;
-+ struct amdgpu_cs_parser *sched_job =
-+ amdgpu_cs_parser_create(adev,
-+ owner,
-+ adev->kernel_ctx,
-+ ibs, 1);
-+ if(!sched_job) {
-+ return -ENOMEM;
-+ }
-+ sched_job->free_job = free_job;
-+ v_seq = atomic64_inc_return(&adev->kernel_ctx->rings[ring->idx].c_entity.last_queued_v_seq);
-+ ibs[num_ibs - 1].sequence = v_seq;
-+ amd_sched_push_job(ring->scheduler,
-+ &adev->kernel_ctx->rings[ring->idx].c_entity,
-+ sched_job);
-+ r = amd_sched_wait_emit(
-+ &adev->kernel_ctx->rings[ring->idx].c_entity,
-+ v_seq,
-+ false,
-+ -1);
-+ if (r)
-+ WARN(true, "emit timeout\n");
-+ } else
-+ r = amdgpu_ib_schedule(adev, 1, ibs, owner);
-+ return r;
-+}
---
-1.9.1
-