162306a36Sopenharmony_ci/* SPDX-License-Identifier: MIT */ 262306a36Sopenharmony_ci/* Copyright (C) 2006-2017 Oracle Corporation */ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#ifndef __HGSMI_CH_SETUP_H__ 562306a36Sopenharmony_ci#define __HGSMI_CH_SETUP_H__ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci/* 862306a36Sopenharmony_ci * Tell the host the location of hgsmi_host_flags structure, where the host 962306a36Sopenharmony_ci * can write information about pending buffers, etc, and which can be quickly 1062306a36Sopenharmony_ci * polled by the guest without a need to port IO. 1162306a36Sopenharmony_ci */ 1262306a36Sopenharmony_ci#define HGSMI_CC_HOST_FLAGS_LOCATION 0 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_cistruct hgsmi_buffer_location { 1562306a36Sopenharmony_ci u32 buf_location; 1662306a36Sopenharmony_ci u32 buf_len; 1762306a36Sopenharmony_ci} __packed; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci/* HGSMI setup and configuration data structures. */ 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ci#define HGSMIHOSTFLAGS_COMMANDS_PENDING 0x01u 2262306a36Sopenharmony_ci#define HGSMIHOSTFLAGS_IRQ 0x02u 2362306a36Sopenharmony_ci#define HGSMIHOSTFLAGS_VSYNC 0x10u 2462306a36Sopenharmony_ci#define HGSMIHOSTFLAGS_HOTPLUG 0x20u 2562306a36Sopenharmony_ci#define HGSMIHOSTFLAGS_CURSOR_CAPABILITIES 0x40u 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cistruct hgsmi_host_flags { 2862306a36Sopenharmony_ci u32 host_flags; 2962306a36Sopenharmony_ci u32 reserved[3]; 3062306a36Sopenharmony_ci} __packed; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci#endif 33