| From d4f1e8ab1a773e1b6e4cf0841a1fa671c8b3b60c Mon Sep 17 00:00:00 2001 |
| From: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Date: Thu, 8 Aug 2013 15:41:32 +0200 |
| Subject: drm: no-op out GET_STATS ioctl |
| |
| Again only used by a tests in libdrm and by dristat. Nowadays we have |
| much better tracing tools to get detailed insights into what a drm |
| driver is doing. And for a simple "does it work" kind of question that |
| these stats could answer we have plenty of dmesg debug log spew. |
| |
| So I don't see any use for this stat gathering complexity at all. |
| |
| To be able to gradually drop things start with ripping out the |
| interfaces to it, here the ioctl. |
| |
| To prevent dristat from eating its own stack garbage we can't use the |
| drm_noop ioctl though, since we need to clear the return data with a |
| memset. |
| |
| Cc: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| Reviewed-by: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Dave Airlie <airlied@redhat.com> |
| (cherry picked from commit d79cdc8312689b39c6d83718c1c196af4b3cd18c) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/drm_ioctl.c | 13 +------------ |
| 1 file changed, 1 insertion(+), 12 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c |
| index e77bd8b57df2..49fd720b0c17 100644 |
| --- a/drivers/gpu/drm/drm_ioctl.c |
| +++ b/drivers/gpu/drm/drm_ioctl.c |
| @@ -243,21 +243,10 @@ int drm_getstats(struct drm_device *dev, void *data, |
| struct drm_file *file_priv) |
| { |
| struct drm_stats *stats = data; |
| - int i; |
| |
| + /* Clear stats to prevent userspace from eating its stack garbage. */ |
| memset(stats, 0, sizeof(*stats)); |
| |
| - for (i = 0; i < dev->counters; i++) { |
| - if (dev->types[i] == _DRM_STAT_LOCK) |
| - stats->data[i].value = |
| - (file_priv->master->lock.hw_lock ? file_priv->master->lock.hw_lock->lock : 0); |
| - else |
| - stats->data[i].value = atomic_read(&dev->counts[i]); |
| - stats->data[i].type = dev->types[i]; |
| - } |
| - |
| - stats->count = dev->counters; |
| - |
| return 0; |
| } |
| |
| -- |
| 1.8.5.rc3 |
| |