struct_drm_mode_config(9) Mode configuration control structure

SYNOPSIS


struct drm_mode_config {
struct mutex mutex;
struct drm_modeset_lock connection_mutex;
struct drm_modeset_acquire_ctx * acquire_ctx;
struct mutex idr_mutex;
struct idr crtc_idr;
struct mutex fb_lock;
int num_fb;
struct list_head fb_list;
int num_connector;
struct list_head connector_list;
int num_encoder;
struct list_head encoder_list;
int num_overlay_plane;
int num_total_plane;
struct list_head plane_list;
int num_crtc;
struct list_head crtc_list;
struct list_head property_list;
int min_width;
int min_height;
int max_width;
int max_height;
const struct drm_mode_config_funcs * funcs;
resource_size_t fb_base;
bool poll_enabled;
bool poll_running;
struct delayed_work output_poll_work;
struct mutex blob_lock;
struct list_head property_blob_list;
struct drm_property * degamma_lut_property;
struct drm_property * degamma_lut_size_property;
struct drm_property * ctm_property;
struct drm_property * gamma_lut_property;
struct drm_property * gamma_lut_size_property;
uint32_t preferred_depth;
uint32_t prefer_shadow;
bool async_page_flip;
uint32_t cursor_width;
uint32_t cursor_height;
};

MEMBERS

mutex

mutex protecting KMS related lists and structures

connection_mutex

ww mutex protecting connector state and routing

acquire_ctx

global implicit acquire context used by atomic drivers for legacy IOCTLs

idr_mutex

mutex for KMS ID allocation and management

crtc_idr

main KMS ID tracking object

fb_lock

mutex to protect fb state and lists

num_fb

number of fbs available

fb_list

list of framebuffers available

num_connector

number of connectors on this device

connector_list

list of connector objects

num_encoder

number of encoders on this device

encoder_list

list of encoder objects

num_overlay_plane

number of overlay planes on this device

num_total_plane

number of universal (i.e. with primary/curso) planes on this device

plane_list

list of plane objects

num_crtc

number of CRTCs on this device

crtc_list

list of CRTC objects

property_list

list of property objects

min_width

minimum pixel width on this device

min_height

minimum pixel height on this device

max_width

maximum pixel width on this device

max_height

maximum pixel height on this device

funcs

core driver provided mode setting functions

fb_base

base address of the framebuffer

poll_enabled

track polling support for this device

poll_running

track polling status for this device

output_poll_work

delayed work for polling in process context

blob_lock

mutex for blob property allocation and management

property_blob_list

list of all the blob property objects

degamma_lut_property

LUT used to convert the framebuffer's colors to linear gamma

degamma_lut_size_property

size of the degamma LUT as supported by the driver (read-only)

ctm_property

Matrix used to convert colors after the lookup in the degamma LUT

gamma_lut_property

LUT used to convert the colors, after the CSC matrix, to the gamma space of the connected screen (read-only)

gamma_lut_size_property

size of the gamma LUT as supported by the driver

preferred_depth

preferred RBG pixel depth, used by fb helpers

prefer_shadow

hint to userspace to prefer shadow-fb rendering

async_page_flip

does this device support async flips on the primary plane?

cursor_width

hint to userspace for max cursor width

cursor_height

hint to userspace for max cursor height

_PROPERTY

core property tracking

DESCRIPTION

Core mode resource tracking structure. All CRTC, encoders, and connectors enumerated by the driver are added here, as are global properties. Some global restrictions are also here, e.g. dimension restrictions.

AUTHORS

Jesse Barnes <[email protected]>
Intel Corporation,         
        

Initial version

Laurent Pinchart <[email protected]>
Ideas on board SPRL,         
        

Driver internals

Daniel Vetter <[email protected]>
Intel Corporation,         
        

Contributions all over the place

Lukas Wunner <[email protected]>

vga_switcheroo documentation

COPYRIGHT