Warning: This file is not a C or C++ file. It does not have highlighting.

1/* SPDX-License-Identifier: MIT */
2#ifndef __NVIF_PRINTF_H__
3#define __NVIF_PRINTF_H__
4#include <nvif/client.h>
5#include <nvif/parent.h>
6
7#define NVIF_PRINT(l,o,f,a...) do { \
8 struct nvif_object *_o = (o); \
9 struct nvif_parent *_p = _o->parent; \
10 _p->func->l(_o, "[%s/%08x:%s] "f"\n", _o->client->object.name, _o->handle, _o->name, ##a); \
11} while(0)
12
13#ifndef NVIF_DEBUG_PRINT_DISABLE
14#define NVIF_DEBUG(o,f,a...) NVIF_PRINT(debugf, (o), f, ##a)
15#else
16#define NVIF_DEBUG(o,f,a...)
17#endif
18
19#define NVIF_ERROR(o,f,a...) NVIF_PRINT(errorf, (o), f, ##a)
20#define NVIF_ERRON(c,o,f,a...) do { \
21 struct nvif_object *_object = (o); \
22 int _cond = (c); \
23 if (_cond) { \
24 NVIF_ERROR(_object, f" (ret:%d)", ##a, _cond); \
25 } else { \
26 NVIF_DEBUG(_object, f, ##a); \
27 } \
28} while(0)
29#endif
30

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/drivers/gpu/drm/nouveau/include/nvif/printf.h