linux/drivers/gpu/host1x/debug.h
<<
>>
Prefs
   1/*
   2 * Tegra host1x Debug
   3 *
   4 * Copyright (c) 2011-2013 NVIDIA Corporation.
   5 *
   6 * This program is free software; you can redistribute it and/or modify it
   7 * under the terms and conditions of the GNU General Public License,
   8 * version 2, as published by the Free Software Foundation.
   9 *
  10 * This program is distributed in the hope it will be useful, but WITHOUT
  11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  13 * more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  17 */
  18#ifndef __HOST1X_DEBUG_H
  19#define __HOST1X_DEBUG_H
  20
  21#include <linux/debugfs.h>
  22#include <linux/seq_file.h>
  23
  24struct host1x;
  25
  26struct output {
  27        void (*fn)(void *ctx, const char *str, size_t len);
  28        void *ctx;
  29        char buf[256];
  30};
  31
  32static inline void write_to_seqfile(void *ctx, const char *str, size_t len)
  33{
  34        seq_write((struct seq_file *)ctx, str, len);
  35}
  36
  37static inline void write_to_printk(void *ctx, const char *str, size_t len)
  38{
  39        pr_info("%s", str);
  40}
  41
  42void __printf(2, 3) host1x_debug_output(struct output *o, const char *fmt, ...);
  43
  44extern unsigned int host1x_debug_trace_cmdbuf;
  45
  46void host1x_debug_init(struct host1x *host1x);
  47void host1x_debug_deinit(struct host1x *host1x);
  48void host1x_debug_dump(struct host1x *host1x);
  49void host1x_debug_dump_syncpts(struct host1x *host1x);
  50
  51#endif
  52