drm: Move master pointer from drm_minor to drm_device
[cascardo/linux.git] / drivers / gpu / drm / drm_info.c
index 5d469b2..d6cfd53 100644 (file)
@@ -50,106 +50,24 @@ int drm_name_info(struct seq_file *m, void *data)
        struct drm_info_node *node = (struct drm_info_node *) m->private;
        struct drm_minor *minor = node->minor;
        struct drm_device *dev = minor->dev;
-       struct drm_master *master = minor->master;
-       if (!master)
-               return 0;
-
-       if (master->unique) {
-               seq_printf(m, "%s %s %s\n",
-                          dev->driver->name,
-                          dev_name(dev->dev), master->unique);
-       } else {
-               seq_printf(m, "%s %s\n",
-                          dev->driver->name, dev_name(dev->dev));
-       }
-       return 0;
-}
-
-/**
- * Called when "/proc/dri/.../vm" is read.
- *
- * Prints information about all mappings in drm_device::maplist.
- */
-int drm_vm_info(struct seq_file *m, void *data)
-{
-       struct drm_info_node *node = (struct drm_info_node *) m->private;
-       struct drm_device *dev = node->minor->dev;
-       struct drm_local_map *map;
-       struct drm_map_list *r_list;
-
-       /* Hardcoded from _DRM_FRAME_BUFFER,
-          _DRM_REGISTERS, _DRM_SHM, _DRM_AGP, and
-          _DRM_SCATTER_GATHER and _DRM_CONSISTENT */
-       const char *types[] = { "FB", "REG", "SHM", "AGP", "SG", "PCI" };
-       const char *type;
-       int i;
-
-       mutex_lock(&dev->struct_mutex);
-       seq_printf(m, "slot      offset       size type flags    address mtrr\n\n");
-       i = 0;
-       list_for_each_entry(r_list, &dev->maplist, head) {
-               map = r_list->map;
-               if (!map)
-                       continue;
-               if (map->type < 0 || map->type > 5)
-                       type = "??";
-               else
-                       type = types[map->type];
-
-               seq_printf(m, "%4d 0x%016llx 0x%08lx %4.4s  0x%02x 0x%08lx ",
-                          i,
-                          (unsigned long long)map->offset,
-                          map->size, type, map->flags,
-                          (unsigned long) r_list->user_token);
-               if (map->mtrr < 0)
-                       seq_printf(m, "none\n");
-               else
-                       seq_printf(m, "%4d\n", map->mtrr);
-               i++;
-       }
-       mutex_unlock(&dev->struct_mutex);
-       return 0;
-}
+       struct drm_master *master;
 
-/**
- * Called when "/proc/dri/.../bufs" is read.
- */
-int drm_bufs_info(struct seq_file *m, void *data)
-{
-       struct drm_info_node *node = (struct drm_info_node *) m->private;
-       struct drm_device *dev = node->minor->dev;
-       struct drm_device_dma *dma;
-       int i, seg_pages;
-
-       mutex_lock(&dev->struct_mutex);
-       dma = dev->dma;
-       if (!dma) {
-               mutex_unlock(&dev->struct_mutex);
-               return 0;
-       }
-
-       seq_printf(m, " o     size count  free   segs pages    kB\n\n");
-       for (i = 0; i <= DRM_MAX_ORDER; i++) {
-               if (dma->bufs[i].buf_count) {
-                       seg_pages = dma->bufs[i].seg_count * (1 << dma->bufs[i].page_order);
-                       seq_printf(m, "%2d %8d %5d %5d %5d %5d %5ld\n",
-                                  i,
-                                  dma->bufs[i].buf_size,
-                                  dma->bufs[i].buf_count,
-                                  0,
-                                  dma->bufs[i].seg_count,
-                                  seg_pages,
-                                  seg_pages * PAGE_SIZE / 1024);
-               }
-       }
-       seq_printf(m, "\n");
-       for (i = 0; i < dma->buf_count; i++) {
-               if (i && !(i % 32))
-                       seq_printf(m, "\n");
-               seq_printf(m, " %d", dma->buflist[i]->list);
-       }
+       mutex_lock(&dev->master_mutex);
+       master = dev->master;
+       if (!master)
+               goto out_unlock;
+
+       seq_printf(m, "%s", dev->driver->name);
+       if (dev->dev)
+               seq_printf(m, " dev=%s", dev_name(dev->dev));
+       if (master && master->unique)
+               seq_printf(m, " master=%s", master->unique);
+       if (dev->unique)
+               seq_printf(m, " unique=%s", dev->unique);
        seq_printf(m, "\n");
-       mutex_unlock(&dev->struct_mutex);
+out_unlock:
+       mutex_unlock(&dev->master_mutex);
+
        return 0;
 }
 
@@ -194,7 +112,6 @@ int drm_clients_info(struct seq_file *m, void *data)
        return 0;
 }
 
-
 static int drm_gem_one_name_info(int id, void *ptr, void *data)
 {
        struct drm_gem_object *obj = ptr;