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

#include <drm_bridge.h>

Collaboration diagram for drm_bridge:
Collaboration graph
[legend]

Public Attributes

struct drm_private_obj base
 
struct drm_device * dev
 
struct drm_encoder * encoder
 
struct list_head chain_node
 
struct device_node * of_node
 
struct list_head list
 
const struct drm_bridge_timings * timings
 
const struct drm_bridge_funcs * funcs
 
void * container
 
struct kref refcount
 
bool unplugged
 
void * driver_private
 
enum drm_bridge_ops ops
 
int type
 
bool interlace_allowed
 
bool ycbcr_420_allowed
 
bool pre_enable_prev_first
 
bool support_hdcp
 
struct i2c_adapter * ddc
 
const char * vendor
 
const char * product
 
unsigned int supported_formats
 
unsigned int max_bpc
 
struct device * hdmi_cec_dev
 
struct device * hdmi_audio_dev
 
int hdmi_audio_max_i2s_playback_channels
 
u64 hdmi_audio_i2s_formats
 
unsigned int hdmi_audio_spdif_playback: 1
 
int hdmi_audio_dai_port
 
const char * hdmi_cec_adapter_name
 
u8 hdmi_cec_available_las
 
struct mutex hpd_mutex
 
void(* hpd_cb )(void *data, enum drm_connector_status status)
 
void * hpd_data
 
struct drm_bridge * next_bridge
 

Detailed Description

struct drm_bridge - central DRM bridge control structure

@container: Pointer to the private driver struct embedding this

Member Data Documentation

◆ base

struct drm_private_obj drm_bridge::base

@base: inherit from &drm_private_object

◆ chain_node

struct list_head drm_bridge::chain_node

@chain_node: used to form a bridge chain

◆ container

void* drm_bridge::container

◆ ddc

struct i2c_adapter* drm_bridge::ddc

@ddc: Associated I2C adapter for DDC access, if any.

◆ dev

struct drm_device* drm_bridge::dev

@dev: DRM device this bridge belongs to

◆ driver_private

void* drm_bridge::driver_private

@driver_private: pointer to the bridge driver's internal context

◆ encoder

struct drm_encoder* drm_bridge::encoder

@encoder: encoder to which this bridge is connected

◆ funcs

const struct drm_bridge_funcs* drm_bridge::funcs

@funcs: control functions

◆ hdmi_audio_dai_port

int drm_bridge::hdmi_audio_dai_port

@hdmi_audio_dai_port: sound DAI port for either of @DRM_BRIDGE_OP_HDMI_AUDIO and @DRM_BRIDGE_OP_DP_AUDIO, -1 if it is not used.

◆ hdmi_audio_dev

struct device* drm_bridge::hdmi_audio_dev

@hdmi_audio_dev: device to be used as a parent for the HDMI Codec if either of @DRM_BRIDGE_OP_HDMI_AUDIO or @DRM_BRIDGE_OP_DP_AUDIO is set.

◆ hdmi_audio_i2s_formats

u64 drm_bridge::hdmi_audio_i2s_formats

@hdmi_audio_i2s_formats: supported I2S formats, optional. The default is to allow all formats supported by the corresponding I2S bus driver. This is only used for bridges setting @DRM_BRIDGE_OP_HDMI_AUDIO or @DRM_BRIDGE_OP_DP_AUDIO.

◆ hdmi_audio_max_i2s_playback_channels

int drm_bridge::hdmi_audio_max_i2s_playback_channels

@hdmi_audio_max_i2s_playback_channels: maximum number of playback I2S channels for the @DRM_BRIDGE_OP_HDMI_AUDIO or @DRM_BRIDGE_OP_DP_AUDIO.

◆ hdmi_audio_spdif_playback

unsigned int drm_bridge::hdmi_audio_spdif_playback

@hdmi_audio_spdif_playback: set if this bridge has S/PDIF playback port for @DRM_BRIDGE_OP_HDMI_AUDIO or @DRM_BRIDGE_OP_DP_AUDIO.

◆ hdmi_cec_adapter_name

const char* drm_bridge::hdmi_cec_adapter_name

@hdmi_cec_adapter_name: the name of the adapter to register

◆ hdmi_cec_available_las

u8 drm_bridge::hdmi_cec_available_las

@hdmi_cec_available_las: number of logical addresses, CEC_MAX_LOG_ADDRS if unset

◆ hdmi_cec_dev

struct device* drm_bridge::hdmi_cec_dev

@hdmi_cec_dev: device to be used as a containing device for CEC functions.

◆ hpd_cb

void(* drm_bridge::hpd_cb) (void *data, enum drm_connector_status status)

@hpd_cb: Hot plug detection callback, registered with drm_bridge_hpd_enable().

◆ hpd_data

void* drm_bridge::hpd_data

@hpd_data: Private data passed to the Hot plug detection callback @hpd_cb.

◆ hpd_mutex

struct mutex drm_bridge::hpd_mutex

private: @hpd_mutex: Protects the @hpd_cb and @hpd_data fields.

◆ interlace_allowed

bool drm_bridge::interlace_allowed

@interlace_allowed: Indicate that the bridge can handle interlaced modes.

◆ list

struct list_head drm_bridge::list

@list: to keep track of all added bridges

◆ max_bpc

unsigned int drm_bridge::max_bpc

@max_bpc: Maximum bits per char the HDMI bridge supports. Allowed values are 8, 10 and 12. This is only relevant if @DRM_BRIDGE_OP_HDMI is set.

◆ next_bridge

struct drm_bridge* drm_bridge::next_bridge

@next_bridge: Pointer to the following bridge, automatically put when this bridge is freed (i.e. at destroy time). This is for drivers needing to store a pointer to the next bridge in the chain, and ensures any code still holding a reference to this bridge after its removal cannot use-after-free the next bridge. Any other bridge pointers stored by the driver must be put in the .destroy callback by driver code.

◆ of_node

struct device_node* drm_bridge::of_node

@of_node: device node pointer to the bridge

◆ ops

enum drm_bridge_ops drm_bridge::ops

@ops: bitmask of operations supported by the bridge

◆ pre_enable_prev_first

bool drm_bridge::pre_enable_prev_first

@pre_enable_prev_first: The bridge requires that the prev bridge @pre_enable function is called before its @pre_enable, and conversely for post_disable. This is most frequently a requirement for DSI devices which need the host to be initialised before the peripheral.

◆ product

const char* drm_bridge::product

@product: Name of the product to be used for the SPD InfoFrame generation. This is required if @DRM_BRIDGE_OP_HDMI is set.

◆ refcount

struct kref drm_bridge::refcount

@refcount: reference count of users referencing this bridge.

◆ support_hdcp

bool drm_bridge::support_hdcp

@support_hdcp: Indicate that the bridge supports HDCP.

◆ supported_formats

unsigned int drm_bridge::supported_formats

@supported_formats: Bitmask of @drm_output_color_format listing supported output formats. This is only relevant if @DRM_BRIDGE_OP_HDMI is set.

◆ timings

const struct drm_bridge_timings* drm_bridge::timings

@timings:

the timing specification for the bridge, if any (may be NULL)

◆ type

int drm_bridge::type

@type: Type of the connection at the bridge output (DRM_MODE_CONNECTOR_*). For bridges at the end of this chain this identifies the type of connected display.

◆ unplugged

bool drm_bridge::unplugged

@unplugged:

Flag to tell if the bridge has been unplugged. See drm_bridge_enter() and drm_bridge_unplug().

◆ vendor

const char* drm_bridge::vendor

@vendor: Vendor of the product to be used for the SPD InfoFrame generation. This is required if @DRM_BRIDGE_OP_HDMI is set.

◆ ycbcr_420_allowed

bool drm_bridge::ycbcr_420_allowed

@ycbcr_420_allowed: Indicate that the bridge can handle YCbCr 420 output.


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