1131abc56SHans de Goede /* SPDX-License-Identifier: MIT */
2131abc56SHans de Goede /* Copyright (C) 2006-2017 Oracle Corporation */
3131abc56SHans de Goede 
4131abc56SHans de Goede #ifndef __HGSMI_CHANNELS_H__
5131abc56SHans de Goede #define __HGSMI_CHANNELS_H__
6131abc56SHans de Goede 
7131abc56SHans de Goede /*
8131abc56SHans de Goede  * Each channel has an 8 bit identifier. There are a number of predefined
9131abc56SHans de Goede  * (hardcoded) channels.
10131abc56SHans de Goede  *
11131abc56SHans de Goede  * HGSMI_CH_HGSMI channel can be used to map a string channel identifier
12131abc56SHans de Goede  * to a free 16 bit numerical value. values are allocated in range
13131abc56SHans de Goede  * [HGSMI_CH_STRING_FIRST;HGSMI_CH_STRING_LAST].
14131abc56SHans de Goede  */
15131abc56SHans de Goede 
16131abc56SHans de Goede /* A reserved channel value */
17131abc56SHans de Goede #define HGSMI_CH_RESERVED				0x00
18131abc56SHans de Goede /* HGCMI: setup and configuration */
19131abc56SHans de Goede #define HGSMI_CH_HGSMI					0x01
20131abc56SHans de Goede /* Graphics: VBVA */
21131abc56SHans de Goede #define HGSMI_CH_VBVA					0x02
22131abc56SHans de Goede /* Graphics: Seamless with a single guest region */
23131abc56SHans de Goede #define HGSMI_CH_SEAMLESS				0x03
24131abc56SHans de Goede /* Graphics: Seamless with separate host windows */
25131abc56SHans de Goede #define HGSMI_CH_SEAMLESS2				0x04
26131abc56SHans de Goede /* Graphics: OpenGL HW acceleration */
27131abc56SHans de Goede #define HGSMI_CH_OPENGL					0x05
28131abc56SHans de Goede 
29131abc56SHans de Goede /* The first channel index to be used for string mappings (inclusive) */
30131abc56SHans de Goede #define HGSMI_CH_STRING_FIRST				0x20
31131abc56SHans de Goede /* The last channel index for string mappings (inclusive) */
32131abc56SHans de Goede #define HGSMI_CH_STRING_LAST				0xff
33131abc56SHans de Goede 
34131abc56SHans de Goede #endif
35