30 lines
1.2 KiB
C
30 lines
1.2 KiB
C
|
/* SPDX-License-Identifier: MIT */
|
||
|
#ifndef __NVIF_PRINTF_H__
|
||
|
#define __NVIF_PRINTF_H__
|
||
|
#include <nvif/client.h>
|
||
|
#include <nvif/parent.h>
|
||
|
|
||
|
#define NVIF_PRINT(l,o,f,a...) do { \
|
||
|
struct nvif_object *_o = (o); \
|
||
|
struct nvif_parent *_p = _o->parent; \
|
||
|
_p->func->l(_o, "[%s/%08x:%s] "f"\n", _o->client->object.name, _o->handle, _o->name, ##a); \
|
||
|
} while(0)
|
||
|
|
||
|
#ifndef NVIF_DEBUG_PRINT_DISABLE
|
||
|
#define NVIF_DEBUG(o,f,a...) NVIF_PRINT(debugf, (o), f, ##a)
|
||
|
#else
|
||
|
#define NVIF_DEBUG(o,f,a...)
|
||
|
#endif
|
||
|
|
||
|
#define NVIF_ERROR(o,f,a...) NVIF_PRINT(errorf, (o), f, ##a)
|
||
|
#define NVIF_ERRON(c,o,f,a...) do { \
|
||
|
struct nvif_object *_object = (o); \
|
||
|
int _cond = (c); \
|
||
|
if (_cond) { \
|
||
|
NVIF_ERROR(_object, f" (ret:%d)", ##a, _cond); \
|
||
|
} else { \
|
||
|
NVIF_DEBUG(_object, f, ##a); \
|
||
|
} \
|
||
|
} while(0)
|
||
|
#endif
|