XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_display_info Struct Reference

#include <drm_connector.h>

Collaboration diagram for drm_display_info:
Collaboration graph
[legend]

Public Attributes

unsigned int width_mm
 
unsigned int height_mm
 
unsigned int bpc
 
enum subpixel_order subpixel_order
 
int panel_orientation
 
u32 color_formats
 
const u32 * bus_formats
 
unsigned int num_bus_formats
 
u32 bus_flags
 
int max_tmds_clock
 
bool dvi_dual
 
bool is_hdmi
 
bool has_audio
 
bool has_hdmi_infoframe
 
bool rgb_quant_range_selectable
 
u8 edid_hdmi_rgb444_dc_modes
 
u8 edid_hdmi_ycbcr444_dc_modes
 
u8 cea_rev
 
struct drm_hdmi_info hdmi
 
struct hdr_sink_metadata hdr_sink_metadata
 
bool non_desktop
 
struct drm_monitor_range_info monitor_range
 
struct drm_luminance_range_info luminance_range
 
u8 mso_stream_count
 
u8 mso_pixel_overlap
 
u32 max_dsc_bpp
 
u8 * vics
 
int vics_len
 
u32 quirks
 
u16 source_physical_address
 
struct drm_amd_vsdb_info amd_vsdb
 

Detailed Description

struct drm_display_info - runtime data about the connected sink

Describes a given display (e.g. CRT or flat panel) and its limitations. For fixed display sinks like built-in panels there's not much difference between this and &struct drm_connector. But for sinks with a real cable this structure is meant to describe all the things at the other end of the cable.

For sinks which provide an EDID this can be filled out by calling drm_add_edid_modes().

Member Data Documentation

◆ amd_vsdb

struct drm_amd_vsdb_info drm_display_info::amd_vsdb

@amd_vsdb: AMD-specific VSDB information.

◆ bpc

unsigned int drm_display_info::bpc

@bpc: Maximum bits per color channel. Used by HDMI and DP outputs.

◆ bus_flags

u32 drm_display_info::bus_flags

@bus_flags: Additional information (like pixel signal polarity) for the pixel data on the bus, using &enum drm_bus_flags values DRM_BUS_FLAGS_.

◆ bus_formats

const u32* drm_display_info::bus_formats

@bus_formats: Pixel data format on the wire, somewhat redundant with @color_formats. Array of size @num_bus_formats encoded using MEDIA_BUS_FMT_ defines shared with v4l and media drivers.

◆ cea_rev

u8 drm_display_info::cea_rev

@cea_rev: CEA revision of the HDMI sink.

◆ color_formats

u32 drm_display_info::color_formats

@color_formats: HDMI Color formats, selects between RGB and YCbCr modes. Uses a bitmask of DRM_OUTPUT_COLOR_FORMAT_ defines, which are not the same ones as used to describe the pixel format in framebuffers, and also don't match the formats in @bus_formats which are shared with v4l.

◆ dvi_dual

bool drm_display_info::dvi_dual

@dvi_dual: Dual-link DVI sink?

◆ edid_hdmi_rgb444_dc_modes

u8 drm_display_info::edid_hdmi_rgb444_dc_modes

@edid_hdmi_rgb444_dc_modes: Mask of supported hdmi deep color modes in RGB 4:4:4. Even more stuff redundant with @bus_formats.

◆ edid_hdmi_ycbcr444_dc_modes

u8 drm_display_info::edid_hdmi_ycbcr444_dc_modes

@edid_hdmi_ycbcr444_dc_modes: Mask of supported hdmi deep color modes in YCbCr 4:4:4. Even more stuff redundant with @bus_formats.

◆ has_audio

bool drm_display_info::has_audio

@has_audio: True if the sink supports audio.

This field shall be used instead of calling drm_detect_monitor_audio() when possible.

◆ has_hdmi_infoframe

bool drm_display_info::has_hdmi_infoframe

@has_hdmi_infoframe: Does the sink support the HDMI infoframe?

◆ hdmi

struct drm_hdmi_info drm_display_info::hdmi

@hdmi: advance features of a HDMI sink.

◆ hdr_sink_metadata

struct hdr_sink_metadata drm_display_info::hdr_sink_metadata

@hdr_sink_metadata: HDR Metadata Information read from sink

◆ height_mm

unsigned int drm_display_info::height_mm

@height_mm: Physical height in mm.

◆ is_hdmi

bool drm_display_info::is_hdmi

@is_hdmi: True if the sink is an HDMI device.

This field shall be used instead of calling drm_detect_hdmi_monitor() when possible.

◆ luminance_range

struct drm_luminance_range_info drm_display_info::luminance_range

@luminance_range: Luminance range supported by panel

◆ max_dsc_bpp

u32 drm_display_info::max_dsc_bpp

@max_dsc_bpp: Maximum DSC target bitrate, if it is set to 0 the monitor's default value is used instead.

◆ max_tmds_clock

int drm_display_info::max_tmds_clock

@max_tmds_clock: Maximum TMDS clock rate supported by the sink in kHz. 0 means undefined.

◆ monitor_range

struct drm_monitor_range_info drm_display_info::monitor_range

@monitor_range: Frequency range supported by monitor range descriptor

◆ mso_pixel_overlap

u8 drm_display_info::mso_pixel_overlap

@mso_pixel_overlap: eDP MSO segment pixel overlap, 0-8 pixels.

◆ mso_stream_count

u8 drm_display_info::mso_stream_count

@mso_stream_count: eDP Multi-SST Operation (MSO) stream count from the DisplayID VESA vendor block. 0 for conventional Single-Stream Transport (SST), or 2 or 4 MSO streams.

◆ non_desktop

bool drm_display_info::non_desktop

@non_desktop: Non desktop display (HMD).

◆ num_bus_formats

unsigned int drm_display_info::num_bus_formats

@num_bus_formats: Size of @bus_formats array.

◆ panel_orientation

int drm_display_info::panel_orientation

@panel_orientation: Read only connector property for built-in panels, indicating the orientation of the panel vs the device's casing. drm_connector_init() sets this to DRM_MODE_PANEL_ORIENTATION_UNKNOWN. When not UNKNOWN this gets used by the drm_fb_helpers to rotate the fb to compensate and gets exported as prop to userspace.

◆ quirks

u32 drm_display_info::quirks

@quirks: EDID based quirks. DRM core and drivers can query the @drm_edid_quirk quirks using drm_edid_has_quirk(), the rest of the quirks also tracked here are internal to EDID parsing.

◆ rgb_quant_range_selectable

bool drm_display_info::rgb_quant_range_selectable

@rgb_quant_range_selectable: Does the sink support selecting the RGB quantization range?

◆ source_physical_address

u16 drm_display_info::source_physical_address

@source_physical_address: Source Physical Address from HDMI Vendor-Specific Data Block, for CEC usage.

Defaults to CEC_PHYS_ADDR_INVALID (0xffff).

◆ subpixel_order

enum subpixel_order drm_display_info::subpixel_order

@subpixel_order: Subpixel order of LCD panels.

◆ vics

u8* drm_display_info::vics

@vics: Array of vics_len VICs. Internal to EDID parsing.

◆ vics_len

int drm_display_info::vics_len

@vics_len: Number of elements in vics. Internal to EDID parsing.

◆ width_mm

unsigned int drm_display_info::width_mm

@width_mm: Physical width in mm.


The documentation for this struct was generated from the following file: