linux/drivers/gpu/host1x/debug.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Tegra host1x Debug
   4 *
   5 * Copyright (c) 2011-2013 NVIDIA Corporation.
   6 */
   7#ifndef __HOST1X_DEBUG_H
   8#define __HOST1X_DEBUG_H
   9
  10#include <linux/debugfs.h>
  11#include <linux/seq_file.h>
  12
  13struct host1x;
  14
  15struct output {
  16        void (*fn)(void *ctx, const char *str, size_t len, bool cont);
  17        void *ctx;
  18        char buf[256];
  19};
  20
  21static inline void write_to_seqfile(void *ctx, const char *str, size_t len,
  22                                    bool cont)
  23{
  24        seq_write((struct seq_file *)ctx, str, len);
  25}
  26
  27static inline void write_to_printk(void *ctx, const char *str, size_t len,
  28                                   bool cont)
  29{
  30        if (cont)
  31                pr_cont("%s", str);
  32        else
  33                pr_info("%s", str);
  34}
  35
  36void __printf(2, 3) host1x_debug_output(struct output *o, const char *fmt, ...);
  37void __printf(2, 3) host1x_debug_cont(struct output *o, const char *fmt, ...);
  38
  39extern unsigned int host1x_debug_trace_cmdbuf;
  40
  41void host1x_debug_init(struct host1x *host1x);
  42void host1x_debug_deinit(struct host1x *host1x);
  43void host1x_debug_dump(struct host1x *host1x);
  44void host1x_debug_dump_syncpts(struct host1x *host1x);
  45
  46#endif
  47