|  | /* | 
|  | * VFIO display | 
|  | * | 
|  | * Copyright Red Hat, Inc. 2025 | 
|  | * | 
|  | * SPDX-License-Identifier: GPL-2.0-or-later | 
|  | */ | 
|  |  | 
|  | #ifndef HW_VFIO_VFIO_DISPLAY_H | 
|  | #define HW_VFIO_VFIO_DISPLAY_H | 
|  |  | 
|  | #include "ui/console.h" | 
|  | #include "hw/display/ramfb.h" | 
|  | #include "hw/vfio/vfio-region.h" | 
|  |  | 
|  | typedef struct VFIODMABuf { | 
|  | QemuDmaBuf *buf; | 
|  | uint32_t pos_x, pos_y, pos_updates; | 
|  | uint32_t hot_x, hot_y, hot_updates; | 
|  | int dmabuf_id; | 
|  | QTAILQ_ENTRY(VFIODMABuf) next; | 
|  | } VFIODMABuf; | 
|  |  | 
|  | typedef struct VFIODisplay { | 
|  | QemuConsole *con; | 
|  | RAMFBState *ramfb; | 
|  | struct vfio_region_info *edid_info; | 
|  | struct vfio_region_gfx_edid *edid_regs; | 
|  | uint8_t *edid_blob; | 
|  | QEMUTimer *edid_link_timer; | 
|  | struct { | 
|  | VFIORegion buffer; | 
|  | DisplaySurface *surface; | 
|  | } region; | 
|  | struct { | 
|  | QTAILQ_HEAD(, VFIODMABuf) bufs; | 
|  | VFIODMABuf *primary; | 
|  | VFIODMABuf *cursor; | 
|  | } dmabuf; | 
|  | } VFIODisplay; | 
|  |  | 
|  | #endif /* HW_VFIO_VFIO_DISPLAY_H */ |