xref: /openbmc/linux/drivers/gpu/drm/vboxvideo/hgsmi_ch_setup.h (revision c39f2d9db0fd81ea20bb5cce9b3f082ca63753e2)
1*131abc56SHans de Goede /* SPDX-License-Identifier: MIT */
2*131abc56SHans de Goede /* Copyright (C) 2006-2017 Oracle Corporation */
3*131abc56SHans de Goede 
4*131abc56SHans de Goede #ifndef __HGSMI_CH_SETUP_H__
5*131abc56SHans de Goede #define __HGSMI_CH_SETUP_H__
6*131abc56SHans de Goede 
7*131abc56SHans de Goede /*
8*131abc56SHans de Goede  * Tell the host the location of hgsmi_host_flags structure, where the host
9*131abc56SHans de Goede  * can write information about pending buffers, etc, and which can be quickly
10*131abc56SHans de Goede  * polled by the guest without a need to port IO.
11*131abc56SHans de Goede  */
12*131abc56SHans de Goede #define HGSMI_CC_HOST_FLAGS_LOCATION 0
13*131abc56SHans de Goede 
14*131abc56SHans de Goede struct hgsmi_buffer_location {
15*131abc56SHans de Goede 	u32 buf_location;
16*131abc56SHans de Goede 	u32 buf_len;
17*131abc56SHans de Goede } __packed;
18*131abc56SHans de Goede 
19*131abc56SHans de Goede /* HGSMI setup and configuration data structures. */
20*131abc56SHans de Goede 
21*131abc56SHans de Goede #define HGSMIHOSTFLAGS_COMMANDS_PENDING    0x01u
22*131abc56SHans de Goede #define HGSMIHOSTFLAGS_IRQ                 0x02u
23*131abc56SHans de Goede #define HGSMIHOSTFLAGS_VSYNC               0x10u
24*131abc56SHans de Goede #define HGSMIHOSTFLAGS_HOTPLUG             0x20u
25*131abc56SHans de Goede #define HGSMIHOSTFLAGS_CURSOR_CAPABILITIES 0x40u
26*131abc56SHans de Goede 
27*131abc56SHans de Goede struct hgsmi_host_flags {
28*131abc56SHans de Goede 	u32 host_flags;
29*131abc56SHans de Goede 	u32 reserved[3];
30*131abc56SHans de Goede } __packed;
31*131abc56SHans de Goede 
32*131abc56SHans de Goede #endif
33