Home | History | Annotate | Line # | Download | only in disp
      1 /*	$NetBSD: conn.h,v 1.3 2021/12/18 23:45:35 riastradh Exp $	*/
      2 
      3 /* SPDX-License-Identifier: MIT */
      4 #ifndef __NVKM_DISP_CONN_H__
      5 #define __NVKM_DISP_CONN_H__
      6 #include <engine/disp.h>
      7 
      8 #include <core/notify.h>
      9 #include <subdev/bios.h>
     10 #include <subdev/bios/conn.h>
     11 
     12 struct nvkm_conn {
     13 	struct nvkm_disp *disp;
     14 	int index;
     15 	struct nvbios_connE info;
     16 
     17 	struct nvkm_notify hpd;
     18 
     19 	struct list_head head;
     20 };
     21 
     22 int nvkm_conn_new(struct nvkm_disp *, int index, struct nvbios_connE *,
     23 		  struct nvkm_conn **);
     24 void nvkm_conn_del(struct nvkm_conn **);
     25 void nvkm_conn_init(struct nvkm_conn *);
     26 void nvkm_conn_fini(struct nvkm_conn *);
     27 
     28 #define CONN_MSG(c,l,f,a...) do {                                              \
     29 	struct nvkm_conn *_conn = (c);                                    \
     30 	nvkm_##l(&_conn->disp->engine.subdev, "conn %02x:%02x%02x: "f"\n",     \
     31 		 _conn->index, _conn->info.location, _conn->info.type, ##a);   \
     32 } while(0)
     33 #define CONN_ERR(c,f,a...) CONN_MSG((c), error, f, ##a)
     34 #define CONN_DBG(c,f,a...) CONN_MSG((c), debug, f, ##a)
     35 #define CONN_TRACE(c,f,a...) CONN_MSG((c), trace, f, ##a)
     36 #endif
     37