summaryrefslogtreecommitdiffstats
path: root/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.31-drm-mem-info.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.31-drm-mem-info.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.31-drm-mem-info.patch140
1 files changed, 0 insertions, 140 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.31-drm-mem-info.patch b/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.31-drm-mem-info.patch
deleted file mode 100644
index 3b9463f01d..0000000000
--- a/meta-moblin/packages/linux/linux-moblin-2.6.31.5/linux-2.6.31-drm-mem-info.patch
+++ /dev/null
@@ -1,140 +0,0 @@
1From 5deab387f5b9ec79a6bf7edc52b0653c2a6d44b5 Mon Sep 17 00:00:00 2001
2From: Alan Olsen <alan.r.olsen@intel.com>
3Date: Fri, 11 Sep 2009 15:57:46 -0700
4Subject: [PATCH] linux-2.6.31-drm-mem-info.patch
5
6Signed-off-by: Alan Olsen <alan.r.olsen@intel.com>
7---
8 drivers/gpu/drm/Makefile | 4 +++
9 drivers/gpu/drm/drm_info.c | 58 ++++++++++++++++++++++++++++++++++++++++++++
10 drivers/gpu/drm/drm_proc.c | 2 +
11 include/drm/drmP.h | 2 +
12 4 files changed, 66 insertions(+), 0 deletions(-)
13
14diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
15index fe23f29..d76f167 100644
16--- a/drivers/gpu/drm/Makefile
17+++ b/drivers/gpu/drm/Makefile
18@@ -4,6 +4,10 @@
19
20 ccflags-y := -Iinclude/drm
21
22+ifeq ($(CONFIG_DRM_PSB),y)
23+ ccflags-y += -Idrivers/gpu/drm/psb
24+endif
25+
26 drm-y := drm_auth.o drm_bufs.o drm_cache.o \
27 drm_context.o drm_dma.o drm_drawable.o \
28 drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \
29diff --git a/drivers/gpu/drm/drm_info.c b/drivers/gpu/drm/drm_info.c
30index f0f6c6b..0ecc778 100644
31--- a/drivers/gpu/drm/drm_info.c
32+++ b/drivers/gpu/drm/drm_info.c
33@@ -36,6 +36,10 @@
34 #include <linux/seq_file.h>
35 #include "drmP.h"
36
37+#ifdef CONFIG_DRM_PSB
38+#include "psb/psb_drv.h"
39+#endif
40+
41 /**
42 * Called when "/proc/dri/.../name" is read.
43 *
44@@ -211,6 +215,33 @@ int drm_vblank_info(struct seq_file *m, void *data)
45 return 0;
46 }
47
48+int drm_gem_object_mem_info(int id, void *ptr, void *data)
49+{
50+ struct drm_gem_object *obj = ptr;
51+ struct seq_file *m = data;
52+
53+ seq_printf(m, "object 0x%p name %2d memory %8zd\n",
54+ obj, obj->name, obj->size);
55+
56+ return 0;
57+}
58+
59+int drm_gem_clients_info(struct seq_file *m, void *data)
60+{
61+ struct drm_info_node *node = (struct drm_info_node *) m->private;
62+ struct drm_device *dev = node->minor->dev;
63+ struct drm_file *priv;
64+
65+ mutex_lock(&dev->struct_mutex);
66+ list_for_each_entry(priv, &dev->filelist, lhead) {
67+ seq_printf(m, "pid %5d \n", priv->pid);
68+ idr_for_each(&priv->object_idr, &drm_gem_object_mem_info, m);
69+ seq_printf(m, "\n");
70+ }
71+ mutex_unlock(&dev->struct_mutex);
72+ return 0;
73+}
74+
75 /**
76 * Called when "/proc/dri/.../clients" is read.
77 *
78@@ -273,6 +304,33 @@ int drm_gem_object_info(struct seq_file *m, void* data)
79 return 0;
80 }
81
82+#ifdef CONFIG_DRM_PSB
83+int drm_ttm_mem_info(struct seq_file *m, void* data)
84+{
85+ struct drm_info_node *node = (struct drm_info_node *) m->private;
86+ struct drm_device *dev = node->minor->dev;
87+
88+ if (!strncmp("psb", dev->devname, 3)) {
89+ struct ttm_bo_device *bdev = &psb_priv(dev)->bdev;
90+ struct ttm_mem_global *glob = bdev->mem_glob;
91+
92+ spin_lock(&glob->lock);
93+ seq_printf(m, "used memory %llu \n", glob->used_memory);
94+ seq_printf(m, "used total memory %llu \n", glob->used_total_memory);
95+ spin_unlock(&glob->lock);
96+ } else {
97+ seq_printf(m, "This is not a PSB device, no ttm mem info available\n");
98+ }
99+ return 0;
100+}
101+#else
102+int drm_ttm_mem_info(struct seq_file *m, void* data)
103+{
104+ seq_printf(m, "ttm is not used\n");
105+ return 0;
106+}
107+#endif
108+
109 #if DRM_DEBUG_CODE
110
111 int drm_vma_info(struct seq_file *m, void *data)
112diff --git a/drivers/gpu/drm/drm_proc.c b/drivers/gpu/drm/drm_proc.c
113index bbd4b3d..26e64ec 100644
114--- a/drivers/gpu/drm/drm_proc.c
115+++ b/drivers/gpu/drm/drm_proc.c
116@@ -55,6 +55,8 @@ static struct drm_info_list drm_proc_list[] = {
117 {"bufs", drm_bufs_info, 0},
118 {"gem_names", drm_gem_name_info, DRIVER_GEM},
119 {"gem_objects", drm_gem_object_info, DRIVER_GEM},
120+ {"gem_clients", drm_gem_clients_info, DRIVER_GEM},
121+ {"ttm_meminfo", drm_ttm_mem_info, 0},
122 #if DRM_DEBUG_CODE
123 {"vma", drm_vma_info, 0},
124 #endif
125diff --git a/include/drm/drmP.h b/include/drm/drmP.h
126index dbd40f1..5575b9a 100644
127--- a/include/drm/drmP.h
128+++ b/include/drm/drmP.h
129@@ -1355,6 +1355,8 @@ extern int drm_vblank_info(struct seq_file *m, void *data);
130 extern int drm_clients_info(struct seq_file *m, void* data);
131 extern int drm_gem_name_info(struct seq_file *m, void *data);
132 extern int drm_gem_object_info(struct seq_file *m, void* data);
133+extern int drm_gem_clients_info(struct seq_file *m, void *data);
134+extern int drm_ttm_mem_info(struct seq_file *m, void* data);
135
136 #if DRM_DEBUG_CODE
137 extern int drm_vma_info(struct seq_file *m, void *data);
138--
1391.6.0.6
140