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>
This commit is contained in:
committed by
Alex Deucher
parent
c594989cc0
commit
20874179a2
@@ -1017,10 +1017,6 @@ struct amdgpu_ctx_mgr {
|
|||||||
struct idr ctx_handles;
|
struct idr ctx_handles;
|
||||||
};
|
};
|
||||||
|
|
||||||
int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri,
|
|
||||||
struct amdgpu_ctx *ctx);
|
|
||||||
void amdgpu_ctx_fini(struct amdgpu_ctx *ctx);
|
|
||||||
|
|
||||||
struct amdgpu_ctx *amdgpu_ctx_get(struct amdgpu_fpriv *fpriv, uint32_t id);
|
struct amdgpu_ctx *amdgpu_ctx_get(struct amdgpu_fpriv *fpriv, uint32_t id);
|
||||||
int amdgpu_ctx_put(struct amdgpu_ctx *ctx);
|
int amdgpu_ctx_put(struct amdgpu_ctx *ctx);
|
||||||
|
|
||||||
@@ -2086,9 +2082,6 @@ struct amdgpu_device {
|
|||||||
/* amdkfd interface */
|
/* amdkfd interface */
|
||||||
struct kfd_dev *kfd;
|
struct kfd_dev *kfd;
|
||||||
|
|
||||||
/* kernel conext for IB submission */
|
|
||||||
struct amdgpu_ctx kernel_ctx;
|
|
||||||
|
|
||||||
struct amdgpu_virtualization virtualization;
|
struct amdgpu_virtualization virtualization;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,7 @@
|
|||||||
#include <drm/drmP.h>
|
#include <drm/drmP.h>
|
||||||
#include "amdgpu.h"
|
#include "amdgpu.h"
|
||||||
|
|
||||||
int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri,
|
static int amdgpu_ctx_init(struct amdgpu_device *adev, struct amdgpu_ctx *ctx)
|
||||||
struct amdgpu_ctx *ctx)
|
|
||||||
{
|
{
|
||||||
unsigned i, j;
|
unsigned i, j;
|
||||||
int r;
|
int r;
|
||||||
@@ -47,14 +46,11 @@ int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri,
|
|||||||
}
|
}
|
||||||
/* create context entity for each ring */
|
/* create context entity for each ring */
|
||||||
for (i = 0; i < adev->num_rings; i++) {
|
for (i = 0; i < adev->num_rings; i++) {
|
||||||
|
struct amdgpu_ring *ring = adev->rings[i];
|
||||||
struct amd_sched_rq *rq;
|
struct amd_sched_rq *rq;
|
||||||
if (pri >= AMD_SCHED_MAX_PRIORITY) {
|
|
||||||
kfree(ctx->fences);
|
rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
|
||||||
return -EINVAL;
|
r = amd_sched_entity_init(&ring->sched, &ctx->rings[i].entity,
|
||||||
}
|
|
||||||
rq = &adev->rings[i]->sched.sched_rq[pri];
|
|
||||||
r = amd_sched_entity_init(&adev->rings[i]->sched,
|
|
||||||
&ctx->rings[i].entity,
|
|
||||||
rq, amdgpu_sched_jobs);
|
rq, amdgpu_sched_jobs);
|
||||||
if (r)
|
if (r)
|
||||||
break;
|
break;
|
||||||
@@ -70,7 +66,7 @@ int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void amdgpu_ctx_fini(struct amdgpu_ctx *ctx)
|
static void amdgpu_ctx_fini(struct amdgpu_ctx *ctx)
|
||||||
{
|
{
|
||||||
struct amdgpu_device *adev = ctx->adev;
|
struct amdgpu_device *adev = ctx->adev;
|
||||||
unsigned i, j;
|
unsigned i, j;
|
||||||
@@ -108,7 +104,7 @@ static int amdgpu_ctx_alloc(struct amdgpu_device *adev,
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
*id = (uint32_t)r;
|
*id = (uint32_t)r;
|
||||||
r = amdgpu_ctx_init(adev, AMD_SCHED_PRIORITY_NORMAL, ctx);
|
r = amdgpu_ctx_init(adev, ctx);
|
||||||
if (r) {
|
if (r) {
|
||||||
idr_remove(&mgr->ctx_handles, *id);
|
idr_remove(&mgr->ctx_handles, *id);
|
||||||
*id = 0;
|
*id = 0;
|
||||||
|
|||||||
@@ -1551,11 +1551,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
|
|||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = amdgpu_ctx_init(adev, AMD_SCHED_PRIORITY_KERNEL, &adev->kernel_ctx);
|
|
||||||
if (r) {
|
|
||||||
dev_err(adev->dev, "failed to create kernel context (%d).\n", r);
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
r = amdgpu_ib_ring_tests(adev);
|
r = amdgpu_ib_ring_tests(adev);
|
||||||
if (r)
|
if (r)
|
||||||
DRM_ERROR("ib ring test failed (%d).\n", r);
|
DRM_ERROR("ib ring test failed (%d).\n", r);
|
||||||
@@ -1619,7 +1614,6 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
|
|||||||
adev->shutdown = true;
|
adev->shutdown = true;
|
||||||
/* evict vram memory */
|
/* evict vram memory */
|
||||||
amdgpu_bo_evict_vram(adev);
|
amdgpu_bo_evict_vram(adev);
|
||||||
amdgpu_ctx_fini(&adev->kernel_ctx);
|
|
||||||
amdgpu_ib_pool_fini(adev);
|
amdgpu_ib_pool_fini(adev);
|
||||||
amdgpu_fence_driver_fini(adev);
|
amdgpu_fence_driver_fini(adev);
|
||||||
amdgpu_fbdev_fini(adev);
|
amdgpu_fbdev_fini(adev);
|
||||||
|
|||||||
@@ -83,11 +83,6 @@ int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring,
|
|||||||
struct amd_sched_entity *entity, void *owner,
|
struct amd_sched_entity *entity, void *owner,
|
||||||
struct fence **f)
|
struct fence **f)
|
||||||
{
|
{
|
||||||
struct amdgpu_device *adev = job->adev;
|
|
||||||
|
|
||||||
if (!entity)
|
|
||||||
entity = &adev->kernel_ctx.rings[ring->idx].entity;
|
|
||||||
|
|
||||||
job->ring = ring;
|
job->ring = ring;
|
||||||
job->base.sched = &ring->sched;
|
job->base.sched = &ring->sched;
|
||||||
job->base.s_entity = entity;
|
job->base.s_entity = entity;
|
||||||
|
|||||||
Reference in New Issue
Block a user