diff options
author | Christian König <christian.koenig@amd.com> | 2016-02-11 03:56:44 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-02-12 15:41:58 -0500 |
commit | 20874179a22310c2224f43fc5676b7d87ad47e70 (patch) | |
tree | 86a4b3a7188c00dd7975f02431da62f53e974d12 | |
parent | c594989cc0db05a07a852e1da6f5387d8265a64a (diff) |
drm/amdgpu: nuke the kernel context
Not used any more.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 7 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 18 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 5 |
4 files changed, 7 insertions, 29 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 4654beac7e70..37ac1b2bbadc 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1017,10 +1017,6 @@ struct amdgpu_ctx_mgr { | |||
1017 | struct idr ctx_handles; | 1017 | struct idr ctx_handles; |
1018 | }; | 1018 | }; |
1019 | 1019 | ||
1020 | int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri, | ||
1021 | struct amdgpu_ctx *ctx); | ||
1022 | void amdgpu_ctx_fini(struct amdgpu_ctx *ctx); | ||
1023 | |||
1024 | struct amdgpu_ctx *amdgpu_ctx_get(struct amdgpu_fpriv *fpriv, uint32_t id); | 1020 | struct amdgpu_ctx *amdgpu_ctx_get(struct amdgpu_fpriv *fpriv, uint32_t id); |
1025 | int amdgpu_ctx_put(struct amdgpu_ctx *ctx); | 1021 | int amdgpu_ctx_put(struct amdgpu_ctx *ctx); |
1026 | 1022 | ||
@@ -2086,9 +2082,6 @@ struct amdgpu_device { | |||
2086 | /* amdkfd interface */ | 2082 | /* amdkfd interface */ |
2087 | struct kfd_dev *kfd; | 2083 | struct kfd_dev *kfd; |
2088 | 2084 | ||
2089 | /* kernel conext for IB submission */ | ||
2090 | struct amdgpu_ctx kernel_ctx; | ||
2091 | |||
2092 | struct amdgpu_virtualization virtualization; | 2085 | struct amdgpu_virtualization virtualization; |
2093 | }; | 2086 | }; |
2094 | 2087 | ||
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c index f1f4b453ece1..3b99282a3307 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | |||
@@ -25,8 +25,7 @@ | |||
25 | #include <drm/drmP.h> | 25 | #include <drm/drmP.h> |
26 | #include "amdgpu.h" | 26 | #include "amdgpu.h" |
27 | 27 | ||
28 | int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri, | 28 | static int amdgpu_ctx_init(struct amdgpu_device *adev, struct amdgpu_ctx *ctx) |
29 | struct amdgpu_ctx *ctx) | ||
30 | { | 29 | { |
31 | unsigned i, j; | 30 | unsigned i, j; |
32 | int r; | 31 | int r; |
@@ -47,14 +46,11 @@ int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri, | |||
47 | } | 46 | } |
48 | /* create context entity for each ring */ | 47 | /* create context entity for each ring */ |
49 | for (i = 0; i < adev->num_rings; i++) { | 48 | for (i = 0; i < adev->num_rings; i++) { |
49 | struct amdgpu_ring *ring = adev->rings[i]; | ||
50 | struct amd_sched_rq *rq; | 50 | struct amd_sched_rq *rq; |
51 | if (pri >= AMD_SCHED_MAX_PRIORITY) { | 51 | |
52 | kfree(ctx->fences); | 52 | rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL]; |
53 | return -EINVAL; | 53 | r = amd_sched_entity_init(&ring->sched, &ctx->rings[i].entity, |
54 | } | ||
55 | rq = &adev->rings[i]->sched.sched_rq[pri]; | ||
56 | r = amd_sched_entity_init(&adev->rings[i]->sched, | ||
57 | &ctx->rings[i].entity, | ||
58 | rq, amdgpu_sched_jobs); | 54 | rq, amdgpu_sched_jobs); |
59 | if (r) | 55 | if (r) |
60 | break; | 56 | break; |
@@ -70,7 +66,7 @@ int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri, | |||
70 | return 0; | 66 | return 0; |
71 | } | 67 | } |
72 | 68 | ||
73 | void amdgpu_ctx_fini(struct amdgpu_ctx *ctx) | 69 | static void amdgpu_ctx_fini(struct amdgpu_ctx *ctx) |
74 | { | 70 | { |
75 | struct amdgpu_device *adev = ctx->adev; | 71 | struct amdgpu_device *adev = ctx->adev; |
76 | unsigned i, j; | 72 | unsigned i, j; |
@@ -108,7 +104,7 @@ static int amdgpu_ctx_alloc(struct amdgpu_device *adev, | |||
108 | return r; | 104 | return r; |
109 | } | 105 | } |
110 | *id = (uint32_t)r; | 106 | *id = (uint32_t)r; |
111 | r = amdgpu_ctx_init(adev, AMD_SCHED_PRIORITY_NORMAL, ctx); | 107 | r = amdgpu_ctx_init(adev, ctx); |
112 | if (r) { | 108 | if (r) { |
113 | idr_remove(&mgr->ctx_handles, *id); | 109 | idr_remove(&mgr->ctx_handles, *id); |
114 | *id = 0; | 110 | *id = 0; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 6bdb891b9ddc..93cd1a46ccc4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | |||
@@ -1551,11 +1551,6 @@ int amdgpu_device_init(struct amdgpu_device *adev, | |||
1551 | return r; | 1551 | return r; |
1552 | } | 1552 | } |
1553 | 1553 | ||
1554 | r = amdgpu_ctx_init(adev, AMD_SCHED_PRIORITY_KERNEL, &adev->kernel_ctx); | ||
1555 | if (r) { | ||
1556 | dev_err(adev->dev, "failed to create kernel context (%d).\n", r); | ||
1557 | return r; | ||
1558 | } | ||
1559 | r = amdgpu_ib_ring_tests(adev); | 1554 | r = amdgpu_ib_ring_tests(adev); |
1560 | if (r) | 1555 | if (r) |
1561 | DRM_ERROR("ib ring test failed (%d).\n", r); | 1556 | DRM_ERROR("ib ring test failed (%d).\n", r); |
@@ -1619,7 +1614,6 @@ void amdgpu_device_fini(struct amdgpu_device *adev) | |||
1619 | adev->shutdown = true; | 1614 | adev->shutdown = true; |
1620 | /* evict vram memory */ | 1615 | /* evict vram memory */ |
1621 | amdgpu_bo_evict_vram(adev); | 1616 | amdgpu_bo_evict_vram(adev); |
1622 | amdgpu_ctx_fini(&adev->kernel_ctx); | ||
1623 | amdgpu_ib_pool_fini(adev); | 1617 | amdgpu_ib_pool_fini(adev); |
1624 | amdgpu_fence_driver_fini(adev); | 1618 | amdgpu_fence_driver_fini(adev); |
1625 | amdgpu_fbdev_fini(adev); | 1619 | amdgpu_fbdev_fini(adev); |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c index 97db6beeca13..f29bbb96a881 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | |||
@@ -83,11 +83,6 @@ int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring, | |||
83 | struct amd_sched_entity *entity, void *owner, | 83 | struct amd_sched_entity *entity, void *owner, |
84 | struct fence **f) | 84 | struct fence **f) |
85 | { | 85 | { |
86 | struct amdgpu_device *adev = job->adev; | ||
87 | |||
88 | if (!entity) | ||
89 | entity = &adev->kernel_ctx.rings[ring->idx].entity; | ||
90 | |||
91 | job->ring = ring; | 86 | job->ring = ring; |
92 | job->base.sched = &ring->sched; | 87 | job->base.sched = &ring->sched; |
93 | job->base.s_entity = entity; | 88 | job->base.s_entity = entity; |