From: Rob Clark <robdclark@gmail.com>
To: dri-devel@lists.freedesktop.org
Cc: Jordan Crouse <jcrouse@codeaurora.org>,
Rob Clark <robdclark@gmail.com>, David Airlie <airlied@linux.ie>,
linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org,
linux-kernel@vger.kernel.org
Subject: [PATCH 3/4] drm/msm: add uapi to get/set debug name
Date: Fri, 30 Nov 2018 10:00:41 -0500 [thread overview]
Message-ID: <20181130150050.13762-4-robdclark@gmail.com> (raw)
In-Reply-To: <20181130150050.13762-1-robdclark@gmail.com>
Add UAPI to get/set GEM objects' debug name.
Signed-off-by: Rob Clark <robdclark@gmail.com>
---
drivers/gpu/drm/msm/msm_drv.c | 36 ++++++++++++++++++++++++++++++++++-
include/uapi/drm/msm_drm.h | 2 ++
2 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index 913f5b3642b5..6ebbd5010722 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -23,6 +23,7 @@
#include "msm_drv.h"
#include "msm_debugfs.h"
#include "msm_fence.h"
+#include "msm_gem.h"
#include "msm_gpu.h"
#include "msm_kms.h"
@@ -861,7 +862,8 @@ static int msm_ioctl_gem_info(struct drm_device *dev, void *data,
{
struct drm_msm_gem_info *args = data;
struct drm_gem_object *obj;
- int ret = 0;
+ struct msm_gem_object *msm_obj;
+ int i, ret = 0;
switch (args->info) {
case MSM_INFO_GET_OFFSET:
@@ -870,6 +872,9 @@ static int msm_ioctl_gem_info(struct drm_device *dev, void *data,
if (args->len)
return -EINVAL;
break;
+ case MSM_INFO_SET_NAME:
+ case MSM_INFO_GET_NAME:
+ break;
default:
return -EINVAL;
}
@@ -878,6 +883,8 @@ static int msm_ioctl_gem_info(struct drm_device *dev, void *data,
if (!obj)
return -ENOENT;
+ msm_obj = to_msm_bo(obj);
+
switch (args->info) {
case MSM_INFO_GET_OFFSET:
args->value = msm_gem_mmap_offset(obj);
@@ -885,6 +892,33 @@ static int msm_ioctl_gem_info(struct drm_device *dev, void *data,
case MSM_INFO_GET_IOVA:
ret = msm_ioctl_gem_info_iova(dev, obj, &args->value);
break;
+ case MSM_INFO_SET_NAME:
+ /* length check should leave room for terminating null: */
+ if (args->len >= sizeof(msm_obj->name)) {
+ ret = -EINVAL;
+ break;
+ }
+ ret = copy_from_user(msm_obj->name,
+ u64_to_user_ptr(args->value), args->len);
+ msm_obj->name[args->len] = '\0';
+ for (i = 0; i < args->len; i++) {
+ if (!isprint(msm_obj->name[i])) {
+ msm_obj->name[i] = '\0';
+ break;
+ }
+ }
+ break;
+ case MSM_INFO_GET_NAME:
+ if (args->value && (args->len < strlen(msm_obj->name))) {
+ ret = -EINVAL;
+ break;
+ }
+ args->len = strlen(msm_obj->name);
+ if (args->value) {
+ ret = copy_to_user(u64_to_user_ptr(args->value),
+ msm_obj->name, args->len);
+ }
+ break;
}
drm_gem_object_put_unlocked(obj);
diff --git a/include/uapi/drm/msm_drm.h b/include/uapi/drm/msm_drm.h
index bc1757848c7c..09f16fd7beda 100644
--- a/include/uapi/drm/msm_drm.h
+++ b/include/uapi/drm/msm_drm.h
@@ -114,6 +114,8 @@ struct drm_msm_gem_new {
*/
#define MSM_INFO_GET_OFFSET 0x00 /* get mmap() offset, returned by value */
#define MSM_INFO_GET_IOVA 0x01 /* get iova, returned by value */
+#define MSM_INFO_SET_NAME 0x02 /* set the debug name (by pointer) */
+#define MSM_INFO_GET_NAME 0x03 /* get debug name, returned by pointer */
struct drm_msm_gem_info {
__u32 handle; /* in */
--
2.19.2
prev parent reply other threads:[~2018-11-30 15:00 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-30 15:00 [PATCH 0/4] drm/msm: uapi updates Rob Clark
[not found] ` <20181130150050.13762-1-robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-11-30 15:00 ` [PATCH 1/4] drm/msm/gpu: add submit flag to hint which buffers should be dumped Rob Clark
2018-11-30 15:00 ` Rob Clark
2018-11-30 15:00 ` [PATCH 2/4] drm/msm: rework GEM_INFO ioctl Rob Clark
2018-11-30 15:00 ` Rob Clark
2018-11-30 15:14 ` Arnd Bergmann
[not found] ` <CAK8P3a2ePkk21bz=N=97aMGJVoxSu-cULjLZbf03W4jhSQAGJA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-30 15:28 ` Rob Clark
2018-11-30 15:28 ` Rob Clark
2018-11-30 15:00 ` [PATCH 4/4] drm/msm: bump UAPI version Rob Clark
2018-11-30 15:00 ` Rob Clark
[not found] ` <20181130150050.13762-5-robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2018-11-30 15:12 ` Arnd Bergmann
2018-11-30 15:12 ` Arnd Bergmann
[not found] ` <CAK8P3a07rtXfq1PApR7Nsa5mch9hcZHx3dT_u2y2ARuNpCUz9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-30 15:31 ` Rob Clark
2018-11-30 15:31 ` Rob Clark
2018-11-30 15:36 ` Arnd Bergmann
2018-11-30 15:36 ` Arnd Bergmann
[not found] ` <CAK8P3a2FZfVbGKEud+T54EUR0ZMKPeW9VzLmU2s97+TPQhroCg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-11-30 15:43 ` Rob Clark
2018-11-30 15:43 ` Rob Clark
2018-11-30 15:00 ` Rob Clark [this message]
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=20181130150050.13762-4-robdclark@gmail.com \
--to=robdclark@gmail.com \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=jcrouse@codeaurora.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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.