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