xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/include/nvkm/subdev/vga.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1 /*	$NetBSD: vga.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 #ifndef __NOUVEAU_VGA_H__
5 #define __NOUVEAU_VGA_H__
6 #include <core/subdev.h>
7 
8 /* access to various legacy io ports */
9 u8   nvkm_rdport(struct nvkm_device *, int head, u16 port);
10 void nvkm_wrport(struct nvkm_device *, int head, u16 port, u8 value);
11 
12 /* VGA Sequencer */
13 u8   nvkm_rdvgas(struct nvkm_device *, int head, u8 index);
14 void nvkm_wrvgas(struct nvkm_device *, int head, u8 index, u8 value);
15 
16 /* VGA Graphics */
17 u8   nvkm_rdvgag(struct nvkm_device *, int head, u8 index);
18 void nvkm_wrvgag(struct nvkm_device *, int head, u8 index, u8 value);
19 
20 /* VGA CRTC */
21 u8   nvkm_rdvgac(struct nvkm_device *, int head, u8 index);
22 void nvkm_wrvgac(struct nvkm_device *, int head, u8 index, u8 value);
23 
24 /* VGA indexed port access dispatcher */
25 u8   nvkm_rdvgai(struct nvkm_device *, int head, u16 port, u8 index);
26 void nvkm_wrvgai(struct nvkm_device *, int head, u16 port, u8 index, u8 value);
27 
28 bool nvkm_lockvgac(struct nvkm_device *, bool lock);
29 u8   nvkm_rdvgaowner(struct nvkm_device *);
30 void nvkm_wrvgaowner(struct nvkm_device *, u8);
31 #endif
32