[][src]Struct vfio_bindings::bindings::vfio::vfio_region_gfx_edid

#[repr(C)]
pub struct vfio_region_gfx_edid {
    pub edid_offset: __u32,
    pub edid_max_size: __u32,
    pub edid_size: __u32,
    pub max_xres: __u32,
    pub max_yres: __u32,
    pub link_state: __u32,
}

struct vfio_region_gfx_edid - EDID region layout.

Set display link state and EDID blob.

The EDID blob has monitor information such as brand, name, serial number, physical size, supported video modes and more.

This special region allows userspace (typically qemu) set a virtual EDID for the virtual monitor, which allows a flexible display configuration.

For the edid blob spec look here: https://en.wikipedia.org/wiki/Extended_Display_Identification_Data

On linux systems you can find the EDID blob in sysfs: /sys/class/drm/${card}/${connector}/edid

You can use the edid-decode ulility (comes with xorg-x11-utils) to decode the EDID blob.

@edid_offset: location of the edid blob, relative to the start of the region (readonly). @edid_max_size: max size of the edid blob (readonly). @edid_size: actual edid size (read/write). @link_state: display link state (read/write). VFIO_DEVICE_GFX_LINK_STATE_UP: Monitor is turned on. VFIO_DEVICE_GFX_LINK_STATE_DOWN: Monitor is turned off. @max_xres: max display width (0 == no limitation, readonly). @max_yres: max display height (0 == no limitation, readonly).

EDID update protocol: (1) set link-state to down. (2) update edid blob and size. (3) set link-state to up.

Fields

edid_offset: __u32edid_max_size: __u32edid_size: __u32max_xres: __u32max_yres: __u32link_state: __u32

Trait Implementations

impl Clone for vfio_region_gfx_edid[src]

impl Copy for vfio_region_gfx_edid[src]

impl Default for vfio_region_gfx_edid[src]

impl PartialEq<vfio_region_gfx_edid> for vfio_region_gfx_edid[src]

impl Debug for vfio_region_gfx_edid[src]

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]