drm/nouveau/flcn: show falcon user in debug output
Displays both owner/user of the falcon (when they differ), and takes both subdevs' debug levels into account when deciding whether to log the message. - runlist debugging will use one of the alternate macros added here Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
This commit is contained in:
parent
8478cd5a74
commit
e442f1e453
@ -21,14 +21,14 @@ void nvkm_falcon_v1_disable(struct nvkm_falcon *);
|
||||
void gp102_sec2_flcn_bind_context(struct nvkm_falcon *, struct nvkm_memory *);
|
||||
int gp102_sec2_flcn_enable(struct nvkm_falcon *);
|
||||
|
||||
#define FLCN_PRINTK(t,f,fmt,a...) do { \
|
||||
if ((f)->owner->name != (f)->name) \
|
||||
nvkm_##t((f)->owner, "%s: "fmt"\n", (f)->name, ##a); \
|
||||
else \
|
||||
nvkm_##t((f)->owner, fmt"\n", ##a); \
|
||||
} while(0)
|
||||
#define FLCN_DBG(f,fmt,a...) FLCN_PRINTK(debug, (f), fmt, ##a)
|
||||
#define FLCN_ERR(f,fmt,a...) FLCN_PRINTK(error, (f), fmt, ##a)
|
||||
#define FLCN_PRINTK(f,l,p,fmt,a...) ({ \
|
||||
if ((f)->owner->name != (f)->name) \
|
||||
nvkm_printk___((f)->owner, (f)->user, NV_DBG_##l, p, "%s:"fmt, (f)->name, ##a); \
|
||||
else \
|
||||
nvkm_printk___((f)->owner, (f)->user, NV_DBG_##l, p, fmt, ##a); \
|
||||
})
|
||||
#define FLCN_DBG(f,fmt,a...) FLCN_PRINTK((f), DEBUG, info, " "fmt"\n", ##a)
|
||||
#define FLCN_ERR(f,fmt,a...) FLCN_PRINTK((f), ERROR, err, " "fmt"\n", ##a)
|
||||
|
||||
/**
|
||||
* struct nvfw_falcon_msg - header for all messages
|
||||
|
@ -70,11 +70,18 @@ int nvkm_subdev_info(struct nvkm_subdev *, u64, u64 *);
|
||||
void nvkm_subdev_intr(struct nvkm_subdev *);
|
||||
|
||||
/* subdev logging */
|
||||
#define nvkm_printk_(s,l,p,f,a...) do { \
|
||||
const struct nvkm_subdev *_subdev = (s); \
|
||||
if (CONFIG_NOUVEAU_DEBUG >= (l) && _subdev->debug >= (l)) \
|
||||
dev_##p(_subdev->device->dev, "%s: "f, _subdev->name, ##a); \
|
||||
#define nvkm_printk_ok(s,u,l) \
|
||||
((CONFIG_NOUVEAU_DEBUG >= (l)) && ((s)->debug >= (l) || ((u) && (u)->debug >= (l))))
|
||||
#define nvkm_printk___(s,u,l,p,f,a...) do { \
|
||||
if (nvkm_printk_ok((s), (u), (l))) { \
|
||||
if ((u) && (u) != (s)) \
|
||||
dev_##p((s)->device->dev, "%s(%s):"f, (s)->name, (u)->name, ##a); \
|
||||
else \
|
||||
dev_##p((s)->device->dev, "%s:"f, (s)->name, ##a); \
|
||||
} \
|
||||
} while(0)
|
||||
#define nvkm_printk__(s,l,p,f,a...) nvkm_printk___((s), (s), (l), p, f, ##a)
|
||||
#define nvkm_printk_(s,l,p,f,a...) nvkm_printk__((s), (l), p, " "f, ##a)
|
||||
#define nvkm_printk(s,l,p,f,a...) nvkm_printk_((s), NV_DBG_##l, p, f, ##a)
|
||||
#define nvkm_fatal(s,f,a...) nvkm_printk((s), FATAL, crit, f, ##a)
|
||||
#define nvkm_error(s,f,a...) nvkm_printk((s), ERROR, err, f, ##a)
|
||||
|
@ -82,8 +82,7 @@ struct nvkm_falcon_msgq {
|
||||
u32 position;
|
||||
};
|
||||
|
||||
#define FLCNQ_PRINTK(t,q,f,a...) \
|
||||
FLCN_PRINTK(t, (q)->qmgr->falcon, "%s: "f, (q)->name, ##a)
|
||||
#define FLCNQ_DBG(q,f,a...) FLCNQ_PRINTK(debug, (q), f, ##a)
|
||||
#define FLCNQ_ERR(q,f,a...) FLCNQ_PRINTK(error, (q), f, ##a)
|
||||
#define FLCNQ_PRINTK(q,l,p,f,a...) FLCN_PRINTK((q)->qmgr->falcon, l, p, "%s: "f, (q)->name, ##a)
|
||||
#define FLCNQ_DBG(q,f,a...) FLCNQ_PRINTK((q), DEBUG, info, f, ##a)
|
||||
#define FLCNQ_ERR(q,f,a...) FLCNQ_PRINTK((q), ERROR, err, f, ##a)
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user