Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20874179 authored by Christian König's avatar Christian König Committed by Alex Deucher
Browse files

drm/amdgpu: nuke the kernel context



Not used any more.

Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c594989c
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -1017,10 +1017,6 @@ struct amdgpu_ctx_mgr {
	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);
int amdgpu_ctx_put(struct amdgpu_ctx *ctx);

@@ -2086,9 +2082,6 @@ struct amdgpu_device {
	/* amdkfd interface */
	struct kfd_dev          *kfd;

	/* kernel conext for IB submission */
	struct amdgpu_ctx	kernel_ctx;

	struct amdgpu_virtualization virtualization;
};

+7 −11
Original line number Diff line number Diff line
@@ -25,8 +25,7 @@
#include <drm/drmP.h>
#include "amdgpu.h"

int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri,
		    struct amdgpu_ctx *ctx)
static int amdgpu_ctx_init(struct amdgpu_device *adev, struct amdgpu_ctx *ctx)
{
	unsigned i, j;
	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 */
	for (i = 0; i < adev->num_rings; i++) {
		struct amdgpu_ring *ring = adev->rings[i];
		struct amd_sched_rq *rq;
		if (pri >= AMD_SCHED_MAX_PRIORITY) {
			kfree(ctx->fences);
			return -EINVAL;
		}
		rq = &adev->rings[i]->sched.sched_rq[pri];
		r = amd_sched_entity_init(&adev->rings[i]->sched,
					  &ctx->rings[i].entity,

		rq = &ring->sched.sched_rq[AMD_SCHED_PRIORITY_NORMAL];
		r = amd_sched_entity_init(&ring->sched, &ctx->rings[i].entity,
					  rq, amdgpu_sched_jobs);
		if (r)
			break;
@@ -70,7 +66,7 @@ int amdgpu_ctx_init(struct amdgpu_device *adev, enum amd_sched_priority pri,
	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;
	unsigned i, j;
@@ -108,7 +104,7 @@ static int amdgpu_ctx_alloc(struct amdgpu_device *adev,
		return r;
	}
	*id = (uint32_t)r;
	r = amdgpu_ctx_init(adev, AMD_SCHED_PRIORITY_NORMAL, ctx);
	r = amdgpu_ctx_init(adev, ctx);
	if (r) {
		idr_remove(&mgr->ctx_handles, *id);
		*id = 0;
+0 −6
Original line number Diff line number Diff line
@@ -1551,11 +1551,6 @@ int amdgpu_device_init(struct amdgpu_device *adev,
		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);
	if (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;
	/* evict vram memory */
	amdgpu_bo_evict_vram(adev);
	amdgpu_ctx_fini(&adev->kernel_ctx);
	amdgpu_ib_pool_fini(adev);
	amdgpu_fence_driver_fini(adev);
	amdgpu_fbdev_fini(adev);
+0 −5
Original line number Diff line number Diff line
@@ -83,11 +83,6 @@ int amdgpu_job_submit(struct amdgpu_job *job, struct amdgpu_ring *ring,
		      struct amd_sched_entity *entity, void *owner,
		      struct fence **f)
{
	struct amdgpu_device *adev = job->adev;

	if (!entity)
		entity = &adev->kernel_ctx.rings[ring->idx].entity;

	job->ring = ring;
	job->base.sched = &ring->sched;
	job->base.s_entity = entity;