drm/nouveau/disp: expose conn event class
[linux-block.git] / drivers / gpu / drm / nouveau / nvkm / engine / disp / conn.h
CommitLineData
b7019ac5 1/* SPDX-License-Identifier: MIT */
7a014a87
BS
2#ifndef __NVKM_DISP_CONN_H__
3#define __NVKM_DISP_CONN_H__
95983aea 4#include "priv.h"
5025407b 5
878da15a
BS
6#include <subdev/bios.h>
7#include <subdev/bios/conn.h>
8
981a8162 9struct nvkm_conn {
f2c906fc 10 struct nvkm_disp *disp;
7a014a87 11 int index;
f2c906fc 12 struct nvbios_connE info;
7a014a87 13
f2c906fc 14 struct list_head head;
95983aea
BS
15
16 struct nvkm_object object;
7a014a87
BS
17};
18
981a8162
BS
19int nvkm_conn_new(struct nvkm_disp *, int index, struct nvbios_connE *,
20 struct nvkm_conn **);
21void nvkm_conn_del(struct nvkm_conn **);
22void nvkm_conn_init(struct nvkm_conn *);
23void nvkm_conn_fini(struct nvkm_conn *);
f2c906fc
BS
24
25#define CONN_MSG(c,l,f,a...) do { \
981a8162 26 struct nvkm_conn *_conn = (c); \
f2c906fc
BS
27 nvkm_##l(&_conn->disp->engine.subdev, "conn %02x:%02x%02x: "f"\n", \
28 _conn->index, _conn->info.location, _conn->info.type, ##a); \
7a014a87 29} while(0)
f2c906fc
BS
30#define CONN_ERR(c,f,a...) CONN_MSG((c), error, f, ##a)
31#define CONN_DBG(c,f,a...) CONN_MSG((c), debug, f, ##a)
32#define CONN_TRACE(c,f,a...) CONN_MSG((c), trace, f, ##a)
7a014a87 33#endif