|
XenevaOS
|
#include <linux/cleanup.h>#include <linux/ctype.h>#include <linux/list.h>#include <linux/mutex.h>#include <drm/drm_atomic.h>#include <drm/drm_encoder.h>#include <drm/drm_mode_object.h>#include <drm/drm_modes.h>
Go to the source code of this file.
Classes | |
| struct | drm_bridge_funcs |
| struct | drm_bridge_timings |
| struct | drm_bridge |
Macros | |
| #define | devm_drm_bridge_alloc(dev, type, member, funcs) |
| #define | drm_for_each_bridge_in_chain_scoped(encoder, bridge) |
| #define | drm_for_each_bridge_in_chain_from(first_bridge, bridge) |
Enumerations | |
| enum | drm_bridge_attach_flags { DRM_BRIDGE_ATTACH_NO_CONNECTOR = BIT(0) } |
| enum | drm_bridge_ops { DRM_BRIDGE_OP_DETECT = BIT(0) , DRM_BRIDGE_OP_EDID = BIT(1) , DRM_BRIDGE_OP_HPD = BIT(2) , DRM_BRIDGE_OP_MODES = BIT(3) , DRM_BRIDGE_OP_HDMI = BIT(4) , DRM_BRIDGE_OP_HDMI_AUDIO = BIT(5) , DRM_BRIDGE_OP_DP_AUDIO = BIT(6) , DRM_BRIDGE_OP_HDMI_CEC_NOTIFIER = BIT(7) , DRM_BRIDGE_OP_HDMI_CEC_ADAPTER = BIT(8) , DRM_BRIDGE_OP_HDMI_HDR_DRM_INFOFRAME = BIT(9) , DRM_BRIDGE_OP_HDMI_SPD_INFOFRAME = BIT(10) } |
Variables | |
: printf style format string for the plane name, or NULL for default name | |
drm_universal_plane_alloc() - Allocate and initialize an universal plane object @dev: DRM device @type: the type of the struct which contains struct &drm_plane @member: the name of the &drm_plane within @type @possible_crtcs: bitmask of possible CRTCs @funcs: callbacks for the new plane @formats: array of supported formats (DRM_FORMAT_*) @format_count: number of elements in @formats @format_modifiers: array of struct drm_format modifiers terminated by DRM_FORMAT_MOD_INVALID @plane_type: type of plane (overlay, primary, cursor) Allocates and initializes a plane object of type @type. The caller is responsible for releasing the allocated memory with kfree(). Drivers are encouraged to use drmm_universal_plane_alloc() instead. Drivers that only support the DRM_FORMAT_MOD_LINEAR modifier support may set @format_modifiers to NULL. The plane will advertise the linear modifier. Returns: Pointer to new plane, or ERR_PTR on failure. | |
| size_t | size |
| size_t size_t | offset |
: human readable name, can be overwritten by the driver | |
struct drm_encoder - central DRM encoder structure @dev: parent DRM device @head: list management @base: base KMS object @funcs: control functions, can be NULL for simple managed encoders @helper_private: mid-layer private data CRTCs drive pixels to encoders, which convert them into signals appropriate for a given connector or set of connectors. | |
| size_t size_t const struct drm_bridge_funcs * | funcs |
devm_drm_bridge_alloc - Allocate and initialize a bridge @dev: struct device of the bridge device @type: the type of the struct which contains struct &drm_bridge @member: the name of the &drm_bridge within @type @funcs: callbacks for this bridge
The reference count of the returned bridge is initialized to 1. This reference will be automatically dropped via devm (by calling drm_bridge_put()) when @dev is removed.
Returns: Pointer to new bridge, or ERR_PTR on failure.
| #define drm_for_each_bridge_in_chain_from | ( | first_bridge, | |
| bridge | |||
| ) |
drm_for_each_bridge_in_chain_from - iterate over all bridges starting from the given bridge @first_bridge: the bridge to start from @bridge: a bridge pointer updated to point to the current bridge at each iteration
Iterate over all bridges in the encoder chain starting from @first_bridge, included.
Automatically gets/puts the bridge reference while iterating and locks the encoder chain mutex to prevent chain modifications while iterating.
| #define drm_for_each_bridge_in_chain_scoped | ( | encoder, | |
| bridge | |||
| ) |
drm_for_each_bridge_in_chain_scoped - iterate over all bridges attached to an encoder @encoder: the encoder to iterate bridges on @bridge: a bridge pointer updated to point to the current bridge at each iteration
Iterate over all bridges present in the bridge chain attached to @encoder.
Automatically gets/puts the bridge reference while iterating and locks the encoder chain mutex to prevent chain modifications while iterating.
enum drm_bridge_attach_flags - Flags for &drm_bridge_funcs.attach
| Enumerator | |
|---|---|
| DRM_BRIDGE_ATTACH_NO_CONNECTOR | @DRM_BRIDGE_ATTACH_NO_CONNECTOR: When this flag is set the bridge shall not create a drm_connector. |
| enum drm_bridge_ops |
enum drm_bridge_ops - Bitmask of operations supported by the bridge
| DEFINE_FREE | ( | __drm_for_each_bridge_in_chain_cleanup | , |
| struct drm_bridge * | , | ||
| if(_T) { mutex_unlock(&_T->encoder->bridge_chain_mutex);drm_bridge_put(_T);} | |||
| ) |
| DEFINE_FREE | ( | drm_bridge_put | , |
| struct drm_bridge * | , | ||
| if(_T) drm_bridge_put(_T) | |||
| ) |
| int devm_drm_bridge_add | ( | struct device * | dev, |
| struct drm_bridge * | bridge | ||
| ) |
| void devm_drm_put_bridge | ( | struct device * | dev, |
| struct drm_bridge * | bridge | ||
| ) |
| int drm_atomic_bridge_chain_check | ( | struct drm_bridge * | bridge, |
| struct drm_crtc_state * | crtc_state, | ||
| struct drm_connector_state * | conn_state | ||
| ) |
| void drm_atomic_bridge_chain_disable | ( | struct drm_bridge * | bridge, |
| struct drm_atomic_commit * | state | ||
| ) |
| void drm_atomic_bridge_chain_enable | ( | struct drm_bridge * | bridge, |
| struct drm_atomic_commit * | state | ||
| ) |
| void drm_atomic_bridge_chain_post_disable | ( | struct drm_bridge * | bridge, |
| struct drm_atomic_commit * | state | ||
| ) |
| void drm_atomic_bridge_chain_pre_enable | ( | struct drm_bridge * | bridge, |
| struct drm_atomic_commit * | state | ||
| ) |
| u32 * drm_atomic_helper_bridge_propagate_bus_fmt | ( | struct drm_bridge * | bridge, |
| struct drm_bridge_state * | bridge_state, | ||
| struct drm_crtc_state * | crtc_state, | ||
| struct drm_connector_state * | conn_state, | ||
| u32 | output_fmt, | ||
| unsigned int * | num_input_fmts | ||
| ) |
| void drm_bridge_add | ( | struct drm_bridge * | bridge | ) |
| int drm_bridge_attach | ( | struct drm_encoder * | encoder, |
| struct drm_bridge * | bridge, | ||
| struct drm_bridge * | previous, | ||
| enum drm_bridge_attach_flags | flags | ||
| ) |
| void drm_bridge_chain_mode_set | ( | struct drm_bridge * | bridge, |
| const struct drm_display_mode * | mode, | ||
| const struct drm_display_mode * | adjusted_mode | ||
| ) |
| enum drm_mode_status drm_bridge_chain_mode_valid | ( | struct drm_bridge * | bridge, |
| const struct drm_display_info * | info, | ||
| const struct drm_display_mode * | mode | ||
| ) |
| void drm_bridge_clear_and_put | ( | struct drm_bridge ** | bridge_pp | ) |
| void drm_bridge_debugfs_encoder_params | ( | struct dentry * | root, |
| struct drm_encoder * | encoder | ||
| ) |
| void drm_bridge_debugfs_params | ( | struct dentry * | root | ) |
| enum drm_connector_status drm_bridge_detect | ( | struct drm_bridge * | bridge, |
| struct drm_connector * | connector | ||
| ) |
| const struct drm_edid * drm_bridge_edid_read | ( | struct drm_bridge * | bridge, |
| struct drm_connector * | connector | ||
| ) |
| bool drm_bridge_enter | ( | struct drm_bridge * | bridge, |
| int * | idx | ||
| ) |
| void drm_bridge_exit | ( | int | idx | ) |
| struct drm_bridge * drm_bridge_get | ( | struct drm_bridge * | bridge | ) |
| int drm_bridge_get_modes | ( | struct drm_bridge * | bridge, |
| struct drm_connector * | connector | ||
| ) |
| void drm_bridge_hpd_disable | ( | struct drm_bridge * | bridge | ) |
| void drm_bridge_hpd_enable | ( | struct drm_bridge * | bridge, |
| void(*)(void *data, enum drm_connector_status status) | cb, | ||
| void * | data | ||
| ) |
| void drm_bridge_hpd_notify | ( | struct drm_bridge * | bridge, |
| enum drm_connector_status | status | ||
| ) |
| void drm_bridge_put | ( | struct drm_bridge * | bridge | ) |
| void drm_bridge_remove | ( | struct drm_bridge * | bridge | ) |
| void drm_bridge_unplug | ( | struct drm_bridge * | bridge | ) |
| size_t size_t uint32_t const struct drm_plane_funcs * funcs |
| size_t size |