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

#include <drm_connector.h>

Collaboration diagram for drm_connector_state:
Collaboration graph
[legend]

Public Attributes

struct drm_connector * connector
 
struct drm_crtc * crtc
 
struct drm_encoder * best_encoder
 
enum drm_link_status link_status
 
struct drm_atomic_commit * state
 
struct drm_crtc_commit * commit
 
struct drm_tv_connector_state tv
 
bool self_refresh_aware
 
enum hdmi_picture_aspect picture_aspect_ratio
 
unsigned int content_type
 
unsigned int hdcp_content_type
 
unsigned int scaling_mode
 
unsigned int content_protection
 
enum drm_colorspace colorspace
 
struct drm_writeback_job * writeback_job
 
u8 max_requested_bpc
 
u8 max_bpc
 
enum drm_privacy_screen_status privacy_screen_sw_state
 
struct drm_property_blob * hdr_output_metadata
 
struct drm_connector_hdmi_state hdmi
 

Detailed Description

struct drm_connector_state - mutable connector state

Member Data Documentation

◆ best_encoder

struct drm_encoder* drm_connector_state::best_encoder

@best_encoder:

Used by the atomic helpers to select the encoder, through the &drm_connector_helper_funcs.atomic_best_encoder or &drm_connector_helper_funcs.best_encoder callbacks.

This is also used in the atomic helpers to map encoders to their current and previous connectors, see drm_atomic_get_old_connector_for_encoder() and drm_atomic_get_new_connector_for_encoder().

NOTE: Atomic drivers must fill this out (either themselves or through helpers), for otherwise the GETCONNECTOR and GETENCODER IOCTLs will not return correct data to userspace.

◆ colorspace

enum drm_colorspace drm_connector_state::colorspace

@colorspace: State variable for Connector property to request colorspace change on Sink. This is most commonly used to switch to wider color gamuts like BT2020.

◆ commit

struct drm_crtc_commit* drm_connector_state::commit

@commit: Tracks the pending commit to prevent use-after-free conditions.

Is only set when @crtc is NULL.

◆ connector

struct drm_connector* drm_connector_state::connector

@connector: backpointer to the connector

◆ content_protection

unsigned int drm_connector_state::content_protection

@content_protection: Connector property to request content protection. This is most commonly used for HDCP.

◆ content_type

unsigned int drm_connector_state::content_type

@content_type: Connector property to control the HDMI infoframe content type setting. The DRM_MODE_CONTENT_TYPE_* values much match the values.

◆ crtc

struct drm_crtc* drm_connector_state::crtc

@crtc: CRTC to connect connector to, NULL if disabled.

Do not change this directly, use drm_atomic_set_crtc_for_connector() instead.

◆ hdcp_content_type

unsigned int drm_connector_state::hdcp_content_type

@hdcp_content_type: Connector property to pass the type of protected content. This is most commonly used for HDCP.

◆ hdmi

struct drm_connector_hdmi_state drm_connector_state::hdmi

@hdmi: HDMI-related variable and properties. Filled by @drm_atomic_helper_connector_hdmi_check().

◆ hdr_output_metadata

struct drm_property_blob* drm_connector_state::hdr_output_metadata

@hdr_output_metadata: DRM blob property for HDR output metadata

◆ link_status

enum drm_link_status drm_connector_state::link_status

@link_status: Connector link_status to keep track of whether link is GOOD or BAD to notify userspace if retraining is necessary.

◆ max_bpc

u8 drm_connector_state::max_bpc

@max_bpc: Connector max_bpc based on the requested max_bpc property and the connector bpc limitations obtained from edid.

◆ max_requested_bpc

u8 drm_connector_state::max_requested_bpc

@max_requested_bpc: Connector property to limit the maximum bit depth of the pixels.

◆ picture_aspect_ratio

enum hdmi_picture_aspect drm_connector_state::picture_aspect_ratio

@picture_aspect_ratio: Connector property to control the HDMI infoframe aspect ratio setting.

The DRM_MODE_PICTURE_ASPECT_* values much match the values for &enum hdmi_picture_aspect

◆ privacy_screen_sw_state

enum drm_privacy_screen_status drm_connector_state::privacy_screen_sw_state

@privacy_screen_sw_state: See :ref:Standard Connector Properties<standard_connector_properties>

◆ scaling_mode

unsigned int drm_connector_state::scaling_mode

@scaling_mode: Connector property to control the upscaling, mostly used for built-in panels.

◆ self_refresh_aware

bool drm_connector_state::self_refresh_aware

@self_refresh_aware:

This tracks whether a connector is aware of the self refresh state. It should be set to true for those connector implementations which understand the self refresh state. This is needed since the crtc registers the self refresh helpers and it doesn't know if the connectors downstream have implemented self refresh entry/exit.

Drivers should set this to true in atomic_check if they know how to handle self_refresh requests.

◆ state

struct drm_atomic_commit* drm_connector_state::state

@state: backpointer to global drm_atomic_commit

◆ tv

struct drm_tv_connector_state drm_connector_state::tv

@tv: TV connector state

◆ writeback_job

struct drm_writeback_job* drm_connector_state::writeback_job

@writeback_job: Writeback job for writeback connectors

Holds the framebuffer and out-fence for a writeback connector. As the writeback completion may be asynchronous to the normal commit cycle, the writeback job lifetime is managed separately from the normal atomic state by this object.

See also: drm_writeback_queue_job() and drm_writeback_signal_completion()


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