drm/virtio: add virtio-gpu-features debugfs file.
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 20 Mar 2019 08:36:12 +0000 (09:36 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Thu, 28 Mar 2019 11:11:55 +0000 (12:11 +0100)
This file prints which features the virtio-gpu device has.

Also add "virtio-gpu-" prefix to the existing fence file,
to make clear this is a driver-specific debugfs file.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Noralf Trønnes <noralf@tronnes.org>
Link: http://patchwork.freedesktop.org/patch/msgid/20190320083612.32067-1-kraxel@redhat.com
drivers/gpu/drm/virtio/virtgpu_debugfs.c

index 73dc990..ed0fcda 100644 (file)
 
 #include "virtgpu_drv.h"
 
+static void virtio_add_bool(struct seq_file *m, const char *name,
+                                   bool value)
+{
+       seq_printf(m, "%-16s : %s\n", name, value ? "yes" : "no");
+}
+
+static void virtio_add_int(struct seq_file *m, const char *name,
+                                  int value)
+{
+       seq_printf(m, "%-16s : %d\n", name, value);
+}
+
+static int virtio_gpu_features(struct seq_file *m, void *data)
+{
+       struct drm_info_node *node = (struct drm_info_node *) m->private;
+       struct virtio_gpu_device *vgdev = node->minor->dev->dev_private;
+
+       virtio_add_bool(m, "virgl", vgdev->has_virgl_3d);
+       virtio_add_bool(m, "edid", vgdev->has_edid);
+       virtio_add_int(m, "cap sets", vgdev->num_capsets);
+       virtio_add_int(m, "scanouts", vgdev->num_scanouts);
+       return 0;
+}
+
 static int
 virtio_gpu_debugfs_irq_info(struct seq_file *m, void *data)
 {
@@ -41,7 +65,8 @@ virtio_gpu_debugfs_irq_info(struct seq_file *m, void *data)
 }
 
 static struct drm_info_list virtio_gpu_debugfs_list[] = {
-       { "irq_fence", virtio_gpu_debugfs_irq_info, 0, NULL },
+       { "virtio-gpu-features", virtio_gpu_features },
+       { "virtio-gpu-irq-fence", virtio_gpu_debugfs_irq_info, 0, NULL },
 };
 
 #define VIRTIO_GPU_DEBUGFS_ENTRIES ARRAY_SIZE(virtio_gpu_debugfs_list)