All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chunming Zhou <zhoucm1-5C7GfCeVMHo@public.gmane.org>
To: "Marek Olšák" <maraeo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: amd-gfx mailing list
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	dri-devel
	<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 1/3] drm/syncobj: extract two helpers from drm_syncobj_create
Date: Sat, 30 Sep 2017 09:55:21 +0800	[thread overview]
Message-ID: <53eb9f85-e57f-fe8b-8bfb-967db2370c28@amd.com> (raw)
In-Reply-To: <CAAxE2A6ecZnArHSu8P_DuHPOGhz0+6TfXtQshKWvhU1=1V4Lyg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1696 bytes --]

My mean is like the attached, I revert part of yours.

Regards,

David zhou


On 2017年09月29日 22:15, Marek Olšák wrote:
> On Fri, Sep 29, 2017 at 4:13 PM, Marek Olšák <maraeo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> On Fri, Sep 29, 2017 at 4:44 AM, Chunming Zhou <zhoucm1-5C7GfCeVMHo@public.gmane.org> wrote:
>>>
>>> On 2017年09月13日 04:42, Marek Olšák wrote:
>>>> From: Marek Olšák <marek.olsak-5C7GfCeVMHo@public.gmane.org>
>>>>
>>>> For amdgpu.
>>>>
>>>> drm_syncobj_create is renamed to drm_syncobj_create_as_handle, and new
>>>> helpers drm_syncobj_create and drm_syncobj_get_handle are added.
>>>>
>>>> Signed-off-by: Marek Olšák <marek.olsak-5C7GfCeVMHo@public.gmane.org>
>>>> ---
>>>>    drivers/gpu/drm/drm_syncobj.c | 49
>>>> +++++++++++++++++++++++++++++++++++++++----
>>>>    include/drm/drm_syncobj.h     |  4 ++++
>>>>    2 files changed, 49 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
>>>> index 0422b8c..0bb1741 100644
>>>> --- a/drivers/gpu/drm/drm_syncobj.c
>>>> +++ b/drivers/gpu/drm/drm_syncobj.c
>>>> @@ -262,8 +262,14 @@ void drm_syncobj_free(struct kref *kref)
>>>>    }
>>>>    EXPORT_SYMBOL(drm_syncobj_free);
>>>>    -static int drm_syncobj_create(struct drm_file *file_private,
>>>> -                             u32 *handle, uint32_t flags)
>>> You can add a new parameter for passing dma fence, then in patch3, you can
>>> directly use it for AMDGPU_FENCE_TO HANDLE_GET_SYNCOBJ.
>>>
>>> otherwise the set looks good to me.
>> Sorry I just pushed this.
> Actually, you commented on a deleted line. The function already has
> dma_fence among the parameters.
>
> Marek


[-- Attachment #2: 0001-drm-Don-t-split-drm_syncobj_create.patch --]
[-- Type: text/x-patch, Size: 4344 bytes --]

>From a34c466f4a8617c18bf191d83bff3a3382166b00 Mon Sep 17 00:00:00 2001
From: Chunming Zhou <david1.zhou-5C7GfCeVMHo@public.gmane.org>
Date: Sat, 30 Sep 2017 09:53:53 +0800
Subject: [PATCH] drm: Don't split drm_syncobj_create

Change-Id: Icc6e4d8e94236675d6267d211e53698834d29869
Signed-off-by: Chunming Zhou <david1.zhou-5C7GfCeVMHo@public.gmane.org>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c |  6 +----
 drivers/gpu/drm/drm_syncobj.c          | 42 +++++-----------------------------
 include/drm/drm_syncobj.h              |  7 +++---
 3 files changed, 10 insertions(+), 45 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index ab83dfc..882becc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -1351,14 +1351,10 @@ int amdgpu_cs_fence_to_handle_ioctl(struct drm_device *dev, void *data,
 
 	switch (info->in.what) {
 	case AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ:
-		r = drm_syncobj_create(&syncobj, 0, fence);
+		r = drm_syncobj_create(filp, fence, &info->out.handle, 0);
 		dma_fence_put(fence);
 		if (r)
 			return r;
-		r = drm_syncobj_get_handle(filp, syncobj, &info->out.handle);
-		drm_syncobj_put(syncobj);
-		return r;
-
 	case AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD:
 		r = drm_syncobj_create(&syncobj, 0, fence);
 		dma_fence_put(fence);
diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c
index 62adc7a..28e1463 100644
--- a/drivers/gpu/drm/drm_syncobj.c
+++ b/drivers/gpu/drm/drm_syncobj.c
@@ -268,8 +268,9 @@ EXPORT_SYMBOL(drm_syncobj_free);
  * @flags: DRM_SYNCOBJ_* flags
  * @fence: if non-NULL, the syncobj will represent this fence
  */
-int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags,
-		       struct dma_fence *fence)
+int drm_syncobj_create(struct drm_file *file_private,
+		       struct dma_fence *fence,
+		       u32 *handle, uint32_t flags)
 {
 	int ret;
 	struct drm_syncobj *syncobj;
@@ -293,22 +294,6 @@ int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags,
 	if (fence)
 		drm_syncobj_replace_fence(syncobj, fence);
 
-	*out_syncobj = syncobj;
-	return 0;
-}
-EXPORT_SYMBOL(drm_syncobj_create);
-
-/**
- * drm_syncobj_get_handle - get a handle from a syncobj
- */
-int drm_syncobj_get_handle(struct drm_file *file_private,
-			   struct drm_syncobj *syncobj, u32 *handle)
-{
-	int ret;
-
-	/* take a reference to put in the idr */
-	drm_syncobj_get(syncobj);
-
 	idr_preload(GFP_KERNEL);
 	spin_lock(&file_private->syncobj_table_lock);
 	ret = idr_alloc(&file_private->syncobj_idr, syncobj, 1, 0, GFP_NOWAIT);
@@ -324,22 +309,7 @@ int drm_syncobj_get_handle(struct drm_file *file_private,
 	*handle = ret;
 	return 0;
 }
-EXPORT_SYMBOL(drm_syncobj_get_handle);
-
-static int drm_syncobj_create_as_handle(struct drm_file *file_private,
-					u32 *handle, uint32_t flags)
-{
-	int ret;
-	struct drm_syncobj *syncobj;
-
-	ret = drm_syncobj_create(&syncobj, flags, NULL);
-	if (ret)
-		return ret;
-
-	ret = drm_syncobj_get_handle(file_private, syncobj, handle);
-	drm_syncobj_put(syncobj);
-	return ret;
-}
+EXPORT_SYMBOL(drm_syncobj_create);
 
 static int drm_syncobj_destroy(struct drm_file *file_private,
 			       u32 handle)
@@ -568,8 +538,8 @@ drm_syncobj_create_ioctl(struct drm_device *dev, void *data,
 	if (args->flags & ~DRM_SYNCOBJ_CREATE_SIGNALED)
 		return -EINVAL;
 
-	return drm_syncobj_create_as_handle(file_private,
-					    &args->handle, args->flags);
+	return drm_syncobj_create(file_private, NULL,
+				  &args->handle, args->flags);
 }
 
 int
diff --git a/include/drm/drm_syncobj.h b/include/drm/drm_syncobj.h
index 43e2f38..4e3025e 100644
--- a/include/drm/drm_syncobj.h
+++ b/include/drm/drm_syncobj.h
@@ -136,10 +136,9 @@ int drm_syncobj_find_fence(struct drm_file *file_private,
 			   u32 handle,
 			   struct dma_fence **fence);
 void drm_syncobj_free(struct kref *kref);
-int drm_syncobj_create(struct drm_syncobj **out_syncobj, uint32_t flags,
-		       struct dma_fence *fence);
-int drm_syncobj_get_handle(struct drm_file *file_private,
-			   struct drm_syncobj *syncobj, u32 *handle);
+int drm_syncobj_create(struct drm_file *file_private,
+		       struct dma_fence *fence,
+		       u32 *handle, uint32_t flags);
 int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd);
 
 #endif
-- 
2.7.4


[-- Attachment #3: Type: text/plain, Size: 154 bytes --]

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

  parent reply	other threads:[~2017-09-30  1:55 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-12 20:42 [PATCH 1/3] drm/syncobj: extract two helpers from drm_syncobj_create Marek Olšák
2017-09-12 20:42 ` [PATCH 3/3] drm/amdgpu: add FENCE_TO_HANDLE ioctl that returns syncobj or sync_file Marek Olšák
     [not found]   ` <1505248934-1819-3-git-send-email-maraeo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-13  3:03     ` zhoucm1
2017-09-13  6:57       ` Christian König
     [not found]         ` <10bed18c-f41b-5570-c299-2be190767a20-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-09-13  7:03           ` zhoucm1
2017-09-13  7:09             ` Christian König
     [not found]               ` <a6c564e8-fe75-0e05-d267-e6dc7255b4af-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-09-13  7:39                 ` zhoucm1
2017-09-13  8:07                   ` Christian König
     [not found]                     ` <58914d9d-f140-9cf3-f91b-78db7d913d12-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-09-13  9:57                       ` zhoucm1
2017-09-13 10:11       ` Marek Olšák
     [not found]         ` <CAAxE2A7aR15Y9C2r_V_+6fTp-kEuFKwDApQRCnx_rxdsDOKtmw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-13 11:32           ` Zhou, David(ChunMing)
     [not found]             ` <MWHPR1201MB020689874960A24D32C4A39CB46E0-3iK1xFAIwjrUF/YbdlDdgWrFom/aUZj6nBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-09-13 12:06               ` Marek Olšák
2017-09-13 12:25                 ` Zhou, David(ChunMing)
2017-09-13 13:04                   ` Christian König
     [not found]                     ` <8927d6b6-f87c-00d9-57af-fdf4fb6dfcb8-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-09-13 13:46                       ` Zhou, David(ChunMing)
2017-09-13 14:06                         ` Marek Olšák
     [not found]                           ` <CAAxE2A72RAC61KOF10GTuged-pM4kpKGnnMJh-nmtF-xM4f9AQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-13 14:16                             ` Christian König
     [not found]                               ` <be64ba03-3aa9-6eaf-9267-c3ec51882c12-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2017-09-14  1:52                                 ` Dave Airlie
     [not found]                                   ` <CAPM=9typSOcf3L5Y6acDChY6R5fKMQ44LdCvKp_YZbX7B1LWiw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-14  2:07                                     ` zhoucm1
     [not found]                                       ` <8a800613-07ce-b417-8a1e-0db5a2e31758-5C7GfCeVMHo@public.gmane.org>
2017-09-14  2:26                                         ` zhoucm1
2017-09-14  2:33                                           ` Dave Airlie
2017-09-14  2:34                                             ` zhoucm1
2017-09-28 20:41     ` Marek Olšák
2017-09-28 23:42       ` Dave Airlie
     [not found]         ` <CAPM=9ty8YhG16QSE8OQTDaAPQxT7mXE=cRn1OJXXznUtcBaRSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-29 12:35           ` Marek Olšák
2017-09-14  7:56 ` [PATCH 1/3] drm/syncobj: extract two helpers from drm_syncobj_create Emil Velikov
     [not found]   ` <CACvgo50uprnZZ_+wXLH59Knq2SUCZwoFsyYH6ydcNJQ9Eiaw3A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-14  8:01     ` Emil Velikov
     [not found]       ` <CACvgo51-pfQJgas_VhVv3gyp7DDAQfAtpb6pxNN7c54xDc46wQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-28 22:06         ` Marek Olšák
     [not found] ` <1505248934-1819-1-git-send-email-maraeo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-09-12 20:42   ` [PATCH 2/3] drm/syncobj: add a new helper drm_syncobj_get_fd Marek Olšák
2017-09-29  2:44   ` [PATCH 1/3] drm/syncobj: extract two helpers from drm_syncobj_create Chunming Zhou
2017-09-29 14:13     ` Marek Olšák
     [not found]       ` <CAAxE2A42G4-eD4x6VunDe4rW2c_GuaChn0Df+HE7wbvQYK0QFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-29 14:15         ` Marek Olšák
     [not found]           ` <CAAxE2A6ecZnArHSu8P_DuHPOGhz0+6TfXtQshKWvhU1=1V4Lyg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-30  1:55             ` Chunming Zhou [this message]
2017-09-30 15:55               ` Marek Olšák
     [not found]                 ` <CAAxE2A6gfDHWU73ji+KVbtZH8pG1f8-1Ts2_FUh9MjyYa+b=oA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-09-30 23:20                   ` Zhou, David(ChunMing)
     [not found]                     ` <MWHPR1201MB02061877B54A8E252C7D2196B47F0-3iK1xFAIwjrUF/YbdlDdgWrFom/aUZj6nBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>
2017-10-12 20:33                       ` Marek Olšák

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=53eb9f85-e57f-fe8b-8bfb-967db2370c28@amd.com \
    --to=zhoucm1-5c7gfcevmho@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=maraeo-Re5JQEeQqe8AvxtiuMwx3w@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.