brcm2708-gpu-fw: update to latest version
[librecmc/librecmc.git] / target / linux / brcm2708 / patches-4.4 / 0193-drm-vc4-Add-a-debugfs-node-for-tracking-execution-st.patch
1 From b30fecff47b19f93b4d20706bc6c6e6c0b972344 Mon Sep 17 00:00:00 2001
2 From: Eric Anholt <eric@anholt.net>
3 Date: Fri, 22 Jan 2016 13:06:39 -0800
4 Subject: [PATCH 193/232] drm/vc4: Add a debugfs node for tracking execution
5  state.
6
7 Signed-off-by: Eric Anholt <eric@anholt.net>
8 ---
9  drivers/gpu/drm/vc4/vc4_debugfs.c |  1 +
10  drivers/gpu/drm/vc4/vc4_drv.h     |  1 +
11  drivers/gpu/drm/vc4/vc4_gem.c     | 14 ++++++++++++++
12  3 files changed, 16 insertions(+)
13
14 --- a/drivers/gpu/drm/vc4/vc4_debugfs.c
15 +++ b/drivers/gpu/drm/vc4/vc4_debugfs.c
16 @@ -17,6 +17,7 @@
17  
18  static const struct drm_info_list vc4_debugfs_list[] = {
19         {"bo_stats", vc4_bo_stats_debugfs, 0},
20 +       {"gem_exec", vc4_gem_exec_debugfs, 0},
21         {"hdmi_regs", vc4_hdmi_debugfs_regs, 0},
22         {"hvs_regs", vc4_hvs_debugfs_regs, 0},
23         {"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0},
24 --- a/drivers/gpu/drm/vc4/vc4_drv.h
25 +++ b/drivers/gpu/drm/vc4/vc4_drv.h
26 @@ -403,6 +403,7 @@ void vc4_job_handle_completed(struct vc4
27  int vc4_queue_seqno_cb(struct drm_device *dev,
28                        struct vc4_seqno_cb *cb, uint64_t seqno,
29                        void (*func)(struct vc4_seqno_cb *cb));
30 +int vc4_gem_exec_debugfs(struct seq_file *m, void *arg);
31  
32  /* vc4_hdmi.c */
33  extern struct platform_driver vc4_hdmi_driver;
34 --- a/drivers/gpu/drm/vc4/vc4_gem.c
35 +++ b/drivers/gpu/drm/vc4/vc4_gem.c
36 @@ -31,6 +31,20 @@
37  #include "vc4_regs.h"
38  #include "vc4_trace.h"
39  
40 +#ifdef CONFIG_DEBUG_FS
41 +int vc4_gem_exec_debugfs(struct seq_file *m, void *unused)
42 +{
43 +       struct drm_info_node *node = (struct drm_info_node *)m->private;
44 +       struct drm_device *dev = node->minor->dev;
45 +       struct vc4_dev *vc4 = to_vc4_dev(dev);
46 +
47 +       seq_printf(m, "Emitted  seqno:   0x%016llx\n", vc4->emit_seqno);
48 +       seq_printf(m, "Finished seqno:   0x%016llx\n", vc4->finished_seqno);
49 +
50 +       return 0;
51 +}
52 +#endif /* CONFIG_DEBUG_FS */
53 +
54  static void
55  vc4_queue_hangcheck(struct drm_device *dev)
56  {