|
XenevaOS
|
#include <drm_encoder.h>

Public Attributes | |
| struct drm_device * | dev |
| struct list_head | head |
| struct drm_mode_object | base |
| char * | name |
| int | encoder_type |
| unsigned | index |
| uint32_t | possible_crtcs |
| uint32_t | possible_clones |
| struct drm_crtc * | crtc |
| struct list_head | bridge_chain |
| struct mutex | bridge_chain_mutex |
| const struct drm_encoder_funcs * | funcs |
| const struct drm_encoder_helper_funcs * | helper_private |
| struct dentry * | debugfs_entry |
| struct drm_mode_object drm_encoder::base |
| struct list_head drm_encoder::bridge_chain |
@bridge_chain: Bridges attached to this encoder. Drivers shall not access this field directly.
| struct mutex drm_encoder::bridge_chain_mutex |
@bridge_chain_mutex: protect bridge_chain from changes while iterating
| struct drm_crtc* drm_encoder::crtc |
@crtc: Currently bound CRTC, only really meaningful for non-atomic drivers. Atomic drivers should instead check &drm_connector_state.crtc.
| struct dentry* drm_encoder::debugfs_entry |
@debugfs_entry:
Debugfs directory for this CRTC.
| struct drm_device* drm_encoder::dev |
| int drm_encoder::encoder_type |
@encoder_type:
One of the DRM_MODE_ENCODER_<foo> types in drm_mode.h. The following encoder types are defined thus far:
| const struct drm_encoder_funcs* drm_encoder::funcs |
| struct list_head drm_encoder::head |
| const struct drm_encoder_helper_funcs* drm_encoder::helper_private |
| unsigned drm_encoder::index |
@index: Position inside the mode_config.list, can be used as an array index. It is invariant over the lifetime of the encoder.
| char* drm_encoder::name |
| uint32_t drm_encoder::possible_clones |
@possible_clones: Bitmask of potential sibling encoders for cloning, using drm_encoder_index() as the index into the bitfield. The driver must set the bits for all &drm_encoder objects which can clone a &drm_crtc together with this encoder before calling drm_dev_register(). Drivers should set the bit representing the encoder itself, too. Cloning bits should be set such that when two encoders can be used in a cloned configuration, they both should have each another bits set.
As an exception to the above rule if the driver doesn't implement any cloning it can leave @possible_clones set to 0. The core will automagically fix this up by setting the bit for the encoder itself.
You will get a WARN if you get this wrong in the driver.
Note that since encoder objects can't be hotplugged the assigned indices are stable and hence known before registering all objects.
| uint32_t drm_encoder::possible_crtcs |
@possible_crtcs: Bitmask of potential CRTC bindings, using drm_crtc_index() as the index into the bitfield. The driver must set the bits for all &drm_crtc objects this encoder can be connected to before calling drm_dev_register().
You will get a WARN if you get this wrong in the driver.
Note that since CRTC objects can't be hotplugged the assigned indices are stable and hence known before registering all objects.