|
XenevaOS
|
#include <drm_encoder.h>
Public Attributes | |
| void(* | reset )(struct drm_encoder *encoder) |
| void(* | destroy )(struct drm_encoder *encoder) |
| int(* | late_register )(struct drm_encoder *encoder) |
| void(* | early_unregister )(struct drm_encoder *encoder) |
| void(* | debugfs_init )(struct drm_encoder *encoder, struct dentry *root) |
struct drm_encoder_funcs - encoder controls
Encoders sit between CRTCs and connectors.
| void(* drm_encoder_funcs::debugfs_init) (struct drm_encoder *encoder, struct dentry *root) |
@debugfs_init:
Allows encoders to create encoder-specific debugfs files.
| void(* drm_encoder_funcs::destroy) (struct drm_encoder *encoder) |
@destroy:
Clean up encoder resources. This is only called at driver unload time through drm_mode_config_cleanup() since an encoder cannot be hotplugged in DRM.
| void(* drm_encoder_funcs::early_unregister) (struct drm_encoder *encoder) |
@early_unregister:
This optional hook should be used to unregister the additional userspace interfaces attached to the encoder from @late_register. It is called from drm_dev_unregister(), early in the driver unload sequence to disable userspace access before data structures are torndown.
| int(* drm_encoder_funcs::late_register) (struct drm_encoder *encoder) |
@late_register:
This optional hook can be used to register additional userspace interfaces attached to the encoder. It is called late in the driver load sequence from drm_dev_register(). Everything added from this callback should be unregistered in the early_unregister callback.
Returns:
0 on success, or a negative error code on failure.
| void(* drm_encoder_funcs::reset) (struct drm_encoder *encoder) |
@reset:
Reset encoder hardware and software state to off. This function isn't called by the core directly, only through drm_mode_config_reset(). It's not a helper hook only for historical reasons.