drm/nouveau: Add strap_peek to debugfs
authorLyude Paul <lyude@redhat.com>
Wed, 19 Sep 2018 17:13:51 +0000 (13:13 -0400)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 11 Dec 2018 05:37:09 +0000 (15:37 +1000)
Since we already expose the vbios.rom file here, why not also expose the
strap_peek?

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_debugfs.c

index 9109b69..7379c20 100644 (file)
@@ -47,6 +47,26 @@ nouveau_debugfs_vbios_image(struct seq_file *m, void *data)
 }
 
 static int
+nouveau_debugfs_strap_peek(struct seq_file *m, void *data)
+{
+       struct drm_info_node *node = m->private;
+       struct nouveau_drm *drm = nouveau_drm(node->minor->dev);
+       int ret;
+
+       ret = pm_runtime_get_sync(drm->dev->dev);
+       if (ret < 0 && ret != -EACCES)
+               return ret;
+
+       seq_printf(m, "0x%08x\n",
+                  nvif_rd32(&drm->client.device.object, 0x101000));
+
+       pm_runtime_mark_last_busy(drm->dev->dev);
+       pm_runtime_put_autosuspend(drm->dev->dev);
+
+       return 0;
+}
+
+static int
 nouveau_debugfs_pstate_get(struct seq_file *m, void *data)
 {
        struct drm_device *drm = m->private;
@@ -185,7 +205,8 @@ static const struct file_operations nouveau_pstate_fops = {
 };
 
 static struct drm_info_list nouveau_debugfs_list[] = {
-       { "vbios.rom", nouveau_debugfs_vbios_image, 0, NULL },
+       { "vbios.rom",  nouveau_debugfs_vbios_image, 0, NULL },
+       { "strap_peek", nouveau_debugfs_strap_peek, 0, NULL },
 };
 #define NOUVEAU_DEBUGFS_ENTRIES ARRAY_SIZE(nouveau_debugfs_list)