1 /* 2 * Copyright © 2014 Broadcom 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9 #include <linux/seq_file.h> 10 #include <linux/circ_buf.h> 11 #include <linux/ctype.h> 12 #include <linux/debugfs.h> 13 #include <drm/drmP.h> 14 15 #include "vc4_drv.h" 16 #include "vc4_regs.h" 17 18 static const struct drm_info_list vc4_debugfs_list[] = { 19 {"bo_stats", vc4_bo_stats_debugfs, 0}, 20 {"dpi_regs", vc4_dpi_debugfs_regs, 0}, 21 {"dsi1_regs", vc4_dsi_debugfs_regs, 0, (void *)(uintptr_t)1}, 22 {"hdmi_regs", vc4_hdmi_debugfs_regs, 0}, 23 {"vec_regs", vc4_vec_debugfs_regs, 0}, 24 {"txp_regs", vc4_txp_debugfs_regs, 0}, 25 {"hvs_regs", vc4_hvs_debugfs_regs, 0}, 26 {"hvs_underrun", vc4_hvs_debugfs_underrun, 0}, 27 {"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0}, 28 {"crtc1_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)1}, 29 {"crtc2_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)2}, 30 {"v3d_ident", vc4_v3d_debugfs_ident, 0}, 31 {"v3d_regs", vc4_v3d_debugfs_regs, 0}, 32 }; 33 34 #define VC4_DEBUGFS_ENTRIES ARRAY_SIZE(vc4_debugfs_list) 35 36 int 37 vc4_debugfs_init(struct drm_minor *minor) 38 { 39 struct vc4_dev *vc4 = to_vc4_dev(minor->dev); 40 struct dentry *dentry; 41 42 dentry = debugfs_create_bool("hvs_load_tracker", S_IRUGO | S_IWUSR, 43 minor->debugfs_root, 44 &vc4->load_tracker_enabled); 45 if (!dentry) 46 return -ENOMEM; 47 48 return drm_debugfs_create_files(vc4_debugfs_list, VC4_DEBUGFS_ENTRIES, 49 minor->debugfs_root, minor); 50 } 51