diff options
Diffstat (limited to 'drivers/gpu/drm/virtio/virtgpu_debugfs.c')
| -rw-r--r-- | drivers/gpu/drm/virtio/virtgpu_debugfs.c | 26 | 
1 files changed, 25 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/virtio/virtgpu_debugfs.c b/drivers/gpu/drm/virtio/virtgpu_debugfs.c index d5b0c543bd6d..f336a8fa6666 100644 --- a/drivers/gpu/drm/virtio/virtgpu_debugfs.c +++ b/drivers/gpu/drm/virtio/virtgpu_debugfs.c @@ -42,15 +42,21 @@ static void virtio_add_int(struct seq_file *m, const char *name,  static int virtio_gpu_features(struct seq_file *m, void *data)  { -	struct drm_info_node *node = (struct drm_info_node *) m->private; +	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_bool(m, "indirect", vgdev->has_indirect);  	virtio_add_bool(m, "resource uuid", vgdev->has_resource_assign_uuid); +	virtio_add_bool(m, "blob resources", vgdev->has_resource_blob);  	virtio_add_int(m, "cap sets", vgdev->num_capsets);  	virtio_add_int(m, "scanouts", vgdev->num_scanouts); +	if (vgdev->host_visible_region.len) { +		seq_printf(m, "%-16s : 0x%lx +0x%lx\n", "host visible region", +			   (unsigned long)vgdev->host_visible_region.addr, +			   (unsigned long)vgdev->host_visible_region.len); +	}  	return 0;  } @@ -66,9 +72,27 @@ virtio_gpu_debugfs_irq_info(struct seq_file *m, void *data)  	return 0;  } +static int +virtio_gpu_debugfs_host_visible_mm(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; +	struct drm_printer p; + +	if (!vgdev->has_host_visible) { +		seq_puts(m, "Host allocations not visible to guest\n"); +		return 0; +	} + +	p = drm_seq_file_printer(m); +	drm_mm_print(&vgdev->host_visible_mm, &p); +	return 0; +} +  static struct drm_info_list virtio_gpu_debugfs_list[] = {  	{ "virtio-gpu-features", virtio_gpu_features },  	{ "virtio-gpu-irq-fence", virtio_gpu_debugfs_irq_info, 0, NULL }, +	{ "virtio-gpu-host-visible-mm", virtio_gpu_debugfs_host_visible_mm },  };  #define VIRTIO_GPU_DEBUGFS_ENTRIES ARRAY_SIZE(virtio_gpu_debugfs_list) | 
