drm/vc4: Add a debugfs node for tracking execution state.

Signed-off-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Eric Anholt
2016-01-22 13:06:39 -08:00
committed by popcornmix
parent f0f868e370
commit ee100671e6
3 changed files with 16 additions and 0 deletions

View File

@@ -17,6 +17,7 @@
static const struct drm_info_list vc4_debugfs_list[] = {
{"bo_stats", vc4_bo_stats_debugfs, 0},
{"gem_exec", vc4_gem_exec_debugfs, 0},
{"hdmi_regs", vc4_hdmi_debugfs_regs, 0},
{"hvs_regs", vc4_hvs_debugfs_regs, 0},
{"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0},

View File

@@ -440,6 +440,7 @@ void vc4_job_handle_completed(struct vc4_dev *vc4);
int vc4_queue_seqno_cb(struct drm_device *dev,
struct vc4_seqno_cb *cb, uint64_t seqno,
void (*func)(struct vc4_seqno_cb *cb));
int vc4_gem_exec_debugfs(struct seq_file *m, void *arg);
/* vc4_hdmi.c */
extern struct platform_driver vc4_hdmi_driver;

View File

@@ -32,6 +32,20 @@
#include "vc4_regs.h"
#include "vc4_trace.h"
#ifdef CONFIG_DEBUG_FS
int vc4_gem_exec_debugfs(struct seq_file *m, void *unused)
{
struct drm_info_node *node = (struct drm_info_node *)m->private;
struct drm_device *dev = node->minor->dev;
struct vc4_dev *vc4 = to_vc4_dev(dev);
seq_printf(m, "Emitted seqno: 0x%016llx\n", vc4->emit_seqno);
seq_printf(m, "Finished seqno: 0x%016llx\n", vc4->finished_seqno);
return 0;
}
#endif /* CONFIG_DEBUG_FS */
static void
vc4_queue_hangcheck(struct drm_device *dev)
{