Lines Matching full:encoder
36 * struct drm_encoder_funcs - encoder controls
44 * Reset encoder hardware and software state to off. This function isn't
48 void (*reset)(struct drm_encoder *encoder);
53 * Clean up encoder resources. This is only called at driver unload time
54 * through drm_mode_config_cleanup() since an encoder cannot be
57 void (*destroy)(struct drm_encoder *encoder);
63 * interfaces attached to the encoder like debugfs interfaces.
72 int (*late_register)(struct drm_encoder *encoder);
78 * userspace interfaces attached to the encoder from
83 void (*early_unregister)(struct drm_encoder *encoder);
87 * struct drm_encoder - central DRM encoder structure
92 * @bridge: bridge associated to the encoder
109 * encoder types are defined thus far:
129 * mutliple DP MST streams to share one physical encoder.
135 * index. It is invariant over the lifetime of the encoder.
142 * the bits for all &drm_crtc objects this encoder can be connected to
156 * &drm_crtc together with this encoder before calling
158 * encoder itself, too. Cloning bits should be set such that when two
164 * automagically fix this up by setting the bit for the encoder itself.
168 * Note that since encoder objects can't be hotplugged the assigned indices
181 * @bridge_chain: Bridges attached to this encoder. Drivers shall not
194 struct drm_encoder *encoder,
199 * drm_encoder_index - find the index of a registered encoder
200 * @encoder: encoder to find index for
202 * Given a registered encoder, return the index of that encoder within a DRM
205 static inline unsigned int drm_encoder_index(const struct drm_encoder *encoder) in drm_encoder_index() argument
207 return encoder->index; in drm_encoder_index()
211 * drm_encoder_mask - find the mask of a registered encoder
212 * @encoder: encoder to find mask for
214 * Given a registered encoder, return the mask bit of that encoder for an
215 * encoder's possible_clones field.
217 static inline u32 drm_encoder_mask(const struct drm_encoder *encoder) in drm_encoder_mask() argument
219 return 1 << drm_encoder_index(encoder); in drm_encoder_mask()
223 * drm_encoder_crtc_ok - can a given crtc drive a given encoder?
224 * @encoder: encoder to test
227 * Returns false if @encoder can't be driven by @crtc, true otherwise.
229 static inline bool drm_encoder_crtc_ok(struct drm_encoder *encoder, in drm_encoder_crtc_ok() argument
232 return !!(encoder->possible_crtcs & drm_crtc_mask(crtc)); in drm_encoder_crtc_ok()
239 * @id: encoder id
241 * Returns the encoder with @id, NULL if it doesn't exist. Simple wrapper around
255 void drm_encoder_cleanup(struct drm_encoder *encoder);
259 * @encoder: the loop cursor
261 * @encoder_mask: bitmask of encoder indices
265 #define drm_for_each_encoder_mask(encoder, dev, encoder_mask) \ argument
266 list_for_each_entry((encoder), &(dev)->mode_config.encoder_list, head) \
267 for_each_if ((encoder_mask) & drm_encoder_mask(encoder))
271 * @encoder: the loop cursor
276 #define drm_for_each_encoder(encoder, dev) \ argument
277 list_for_each_entry(encoder, &(dev)->mode_config.encoder_list, head)