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