All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chunming Zhou <David1.Zhou-5C7GfCeVMHo@public.gmane.org>
To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: Chunming Zhou <David1.Zhou-5C7GfCeVMHo@public.gmane.org>,
	David.Mao-5C7GfCeVMHo@public.gmane.org
Subject: [PATCH 2/6] drm/amdgpu: clean up for amdgpu ctx
Date: Thu, 18 Aug 2016 15:50:14 +0800	[thread overview]
Message-ID: <1471506618-29849-3-git-send-email-David1.Zhou@amd.com> (raw)
In-Reply-To: <1471506618-29849-1-git-send-email-David1.Zhou-5C7GfCeVMHo@public.gmane.org>

No used more.

Change-Id: I54ddd3f492354863a055ad2356bccccc749ff420
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu.h     | 13 +------------
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c  |  7 +++----
 drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 27 ++++++---------------------
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c |  4 ----
 4 files changed, 10 insertions(+), 41 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
index b6552ed..049e1d6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
@@ -1032,14 +1032,7 @@ struct amdgpu_ctx {
 	struct amdgpu_ctx_ring	rings[AMDGPU_MAX_RINGS];
 };
 
-struct amdgpu_ctx_mgr {
-	struct amdgpu_device	*adev;
-	struct mutex		lock;
-	/* protected by lock */
-	struct idr		ctx_handles;
-};
-
-struct amdgpu_ctx *amdgpu_ctx_get(struct amdgpu_fpriv *fpriv, uint32_t id);
+struct amdgpu_ctx *amdgpu_ctx_get(uint32_t id);
 int amdgpu_ctx_put(struct amdgpu_ctx *ctx);
 
 uint64_t amdgpu_ctx_add_fence(struct amdgpu_ctx *ctx, struct amdgpu_ring *ring,
@@ -1050,9 +1043,6 @@ struct fence *amdgpu_ctx_get_fence(struct amdgpu_ctx *ctx,
 int amdgpu_ctx_ioctl(struct drm_device *dev, void *data,
 		     struct drm_file *filp);
 
-void amdgpu_ctx_mgr_init(struct amdgpu_ctx_mgr *mgr);
-void amdgpu_ctx_mgr_fini(struct amdgpu_ctx_mgr *mgr);
-
 /*
  * file private structure
  */
@@ -1061,7 +1051,6 @@ struct amdgpu_fpriv {
 	struct amdgpu_vm	vm;
 	struct mutex		bo_list_lock;
 	struct idr		bo_list_handles;
-	struct amdgpu_ctx_mgr	ctx_mgr;
 };
 
 /*
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 3434098..cfae65d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -133,7 +133,7 @@ int amdgpu_cs_parser_init(struct amdgpu_cs_parser *p, void *data)
 	if (!chunk_array)
 		return -ENOMEM;
 
-	p->ctx = amdgpu_ctx_get(fpriv, cs->in.ctx_id);
+	p->ctx = amdgpu_ctx_get(cs->in.ctx_id);
 	if (!p->ctx) {
 		ret = -EINVAL;
 		goto free_chunk;
@@ -804,7 +804,6 @@ static int amdgpu_cs_ib_fill(struct amdgpu_device *adev,
 static int amdgpu_cs_dependencies(struct amdgpu_device *adev,
 				  struct amdgpu_cs_parser *p)
 {
-	struct amdgpu_fpriv *fpriv = p->filp->driver_priv;
 	int i, j, r;
 
 	for (i = 0; i < p->nchunks; ++i) {
@@ -832,7 +831,7 @@ static int amdgpu_cs_dependencies(struct amdgpu_device *adev,
 			if (r)
 				return r;
 
-			ctx = amdgpu_ctx_get(fpriv, deps[j].ctx_id);
+			ctx = amdgpu_ctx_get(deps[j].ctx_id);
 			if (ctx == NULL)
 				return -EINVAL;
 
@@ -967,7 +966,7 @@ int amdgpu_cs_wait_ioctl(struct drm_device *dev, void *data,
 	if (r)
 		return r;
 
-	ctx = amdgpu_ctx_get(filp->driver_priv, wait->in.ctx_id);
+	ctx = amdgpu_ctx_get(wait->in.ctx_id);
 	if (ctx == NULL)
 		return -EINVAL;
 
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index bd74a57..963a14e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -87,7 +87,6 @@ static void amdgpu_ctx_fini(struct amdgpu_ctx *ctx)
 }
 
 static int amdgpu_ctx_alloc(struct amdgpu_device *adev,
-			    struct amdgpu_fpriv *fpriv,
 			    uint32_t *id)
 {
 	struct amdgpu_ctx *ctx;
@@ -126,7 +125,7 @@ static void amdgpu_ctx_do_release(struct kref *ref)
 	kfree(ctx);
 }
 
-static int amdgpu_ctx_free(struct amdgpu_fpriv *fpriv, uint32_t id)
+static int amdgpu_ctx_free(uint32_t id)
 {
 	struct amdgpu_ctx *ctx;
 
@@ -143,15 +142,12 @@ static int amdgpu_ctx_free(struct amdgpu_fpriv *fpriv, uint32_t id)
 }
 
 static int amdgpu_ctx_query(struct amdgpu_device *adev,
-			    struct amdgpu_fpriv *fpriv, uint32_t id,
+			    uint32_t id,
 			    union drm_amdgpu_ctx_out *out)
 {
 	struct amdgpu_ctx *ctx;
 	unsigned reset_counter;
 
-	if (!fpriv)
-		return -EINVAL;
-
 	mutex_lock(&amdgpu_ctx_lock);
 	ctx = idr_find(&amdgpu_ctx_idr, id);
 	if (!ctx) {
@@ -184,21 +180,20 @@ int amdgpu_ctx_ioctl(struct drm_device *dev, void *data,
 
 	union drm_amdgpu_ctx *args = data;
 	struct amdgpu_device *adev = dev->dev_private;
-	struct amdgpu_fpriv *fpriv = filp->driver_priv;
 
 	r = 0;
 	id = args->in.ctx_id;
 
 	switch (args->in.op) {
 	case AMDGPU_CTX_OP_ALLOC_CTX:
-		r = amdgpu_ctx_alloc(adev, fpriv, &id);
+		r = amdgpu_ctx_alloc(adev, &id);
 		args->out.alloc.ctx_id = id;
 		break;
 	case AMDGPU_CTX_OP_FREE_CTX:
-		r = amdgpu_ctx_free(fpriv, id);
+		r = amdgpu_ctx_free(id);
 		break;
 	case AMDGPU_CTX_OP_QUERY_STATE:
-		r = amdgpu_ctx_query(adev, fpriv, id, &args->out);
+		r = amdgpu_ctx_query(adev, id, &args->out);
 		break;
 	default:
 		return -EINVAL;
@@ -207,13 +202,10 @@ int amdgpu_ctx_ioctl(struct drm_device *dev, void *data,
 	return r;
 }
 
-struct amdgpu_ctx *amdgpu_ctx_get(struct amdgpu_fpriv *fpriv, uint32_t id)
+struct amdgpu_ctx *amdgpu_ctx_get(uint32_t id)
 {
 	struct amdgpu_ctx *ctx;
 
-	if (!fpriv)
-		return NULL;
-
 	mutex_lock(&amdgpu_ctx_lock);
 	ctx = idr_find(&amdgpu_ctx_idr, id);
 	if (ctx)
@@ -285,10 +277,3 @@ struct fence *amdgpu_ctx_get_fence(struct amdgpu_ctx *ctx,
 	return fence;
 }
 
-void amdgpu_ctx_mgr_init(struct amdgpu_ctx_mgr *mgr)
-{
-}
-
-void amdgpu_ctx_mgr_fini(struct amdgpu_ctx_mgr *mgr)
-{
-}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 0fb5488..9cef83e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -543,8 +543,6 @@ int amdgpu_driver_open_kms(struct drm_device *dev, struct drm_file *file_priv)
 	mutex_init(&fpriv->bo_list_lock);
 	idr_init(&fpriv->bo_list_handles);
 
-	amdgpu_ctx_mgr_init(&fpriv->ctx_mgr);
-
 	file_priv->driver_priv = fpriv;
 
 	pm_runtime_mark_last_busy(dev->dev);
@@ -576,8 +574,6 @@ void amdgpu_driver_postclose_kms(struct drm_device *dev,
 	if (!fpriv)
 		return;
 
-	amdgpu_ctx_mgr_fini(&fpriv->ctx_mgr);
-
 	amdgpu_uvd_free_handles(adev, file_priv);
 	amdgpu_vce_free_handles(adev, file_priv);
 
-- 
1.9.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2016-08-18  7:50 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-18  7:50 [PATCH 0/6] make ctx mgr global Chunming Zhou
     [not found] ` <1471506618-29849-1-git-send-email-David1.Zhou-5C7GfCeVMHo@public.gmane.org>
2016-08-18  7:50   ` [PATCH 1/6] drm/amdgpu: use global ctx mgr instead of vm specified Chunming Zhou
2016-08-18  7:50   ` Chunming Zhou [this message]
2016-08-18  7:50   ` [PATCH 3/6] drm/amdgpu: allocate progressively higher ids for ctx until idr counter wraps Chunming Zhou
2016-08-18  7:50   ` [PATCH 4/6] drm/amdgpu: ctx id should be removed when ctx is freed Chunming Zhou
2016-08-18  7:50   ` [PATCH 5/6] drm/amdgpu: use fence-array for ctx release Chunming Zhou
     [not found]     ` <1471506618-29849-6-git-send-email-David1.Zhou-5C7GfCeVMHo@public.gmane.org>
2016-08-21  6:42       ` Edward O'Callaghan
     [not found]         ` <56580e14-9d77-f85c-20ce-a32971d9bce2-dczkZgxz+BNUPWh3PAxdjQ@public.gmane.org>
2016-08-22  2:24           ` zhoucm1
2016-08-18  7:50   ` [PATCH 6/6] drm/amdgpu: dependency is already signaled if ctx has been freed Chunming Zhou
2016-08-18  8:15   ` [PATCH 0/6] make ctx mgr global Christian König
     [not found]     ` <3e0bb599-e8e3-2e66-909f-ed75ac87ab56-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-24  9:33       ` zhoucm1
     [not found]         ` <57BD69E4.9000609-5C7GfCeVMHo@public.gmane.org>
2016-08-24  9:39           ` Christian König
     [not found]             ` <ca1f322f-4c1e-c3cc-3a6d-7bab42d1fe41-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-24 10:01               ` zhoucm1
     [not found]                 ` <57BD7062.60408-5C7GfCeVMHo@public.gmane.org>
2016-08-24 10:06                   ` Christian König
2016-08-24 10:45   ` Liu, Monk
     [not found]     ` <MWHPR12MB11825F3995323EB96C7E867984EA0-Gy0DoCVfaSVhjnLHdLm0OQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-24 12:20       ` Christian König
     [not found]         ` <df5ad8b0-a4b7-002d-732b-4cda97698199-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-25  3:38           ` Liu, Monk
     [not found]             ` <DM5PR12MB1178059E79C688636B77BD5584ED0-2J9CzHegvk8I8PWcjD5QtQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-25  8:08               ` Christian König
     [not found]                 ` <41c5e1d7-3903-0184-155b-2b3953f5cfa6-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-25  8:21                   ` Liu, Monk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1471506618-29849-3-git-send-email-David1.Zhou@amd.com \
    --to=david1.zhou-5c7gfcevmho@public.gmane.org \
    --cc=David.Mao-5C7GfCeVMHo@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.