Lines Matching defs:encoder
38 * struct drm_encoder_funcs - encoder controls
46 * Reset encoder hardware and software state to off. This function isn't
50 void (*reset)(struct drm_encoder *encoder);
55 * Clean up encoder resources. This is only called at driver unload time
56 * through drm_mode_config_cleanup() since an encoder cannot be
59 void (*destroy)(struct drm_encoder *encoder);
65 * interfaces attached to the encoder like debugfs interfaces.
74 int (*late_register)(struct drm_encoder *encoder);
80 * userspace interfaces attached to the encoder from
85 void (*early_unregister)(struct drm_encoder *encoder);
89 * struct drm_encoder - central DRM encoder structure
94 * @bridge: bridge associated to the encoder
111 * encoder types are defined thus far:
131 * mutliple DP MST streams to share one physical encoder.
137 * index. It is invariant over the lifetime of the encoder.
144 * the bits for all &drm_crtc objects this encoder can be connected to
158 * &drm_crtc together with this encoder before calling
160 * encoder itself, too. Cloning bits should be set such that when two
166 * Note that since encoder objects can't be hotplugged the assigned indices
179 * @bridge_chain: Bridges attached to this encoder.
191 struct drm_encoder *encoder,
196 * drm_encoder_index - find the index of a registered encoder
197 * @encoder: encoder to find index for
199 * Given a registered encoder, return the index of that encoder within a DRM
202 static inline unsigned int drm_encoder_index(const struct drm_encoder *encoder)
204 return encoder->index;
208 * drm_encoder_mask - find the mask of a registered encoder
209 * @encoder: encoder to find mask for
211 * Given a registered encoder, return the mask bit of that encoder for an
212 * encoder's possible_clones field.
214 static inline u32 drm_encoder_mask(const struct drm_encoder *encoder)
216 return 1 << drm_encoder_index(encoder);
220 * drm_encoder_crtc_ok - can a given crtc drive a given encoder?
221 * @encoder: encoder to test
224 * Returns false if @encoder can't be driven by @crtc, true otherwise.
226 static inline bool drm_encoder_crtc_ok(struct drm_encoder *encoder,
229 return !!(encoder->possible_crtcs & drm_crtc_mask(crtc));
236 * @id: encoder id
238 * Returns the encoder with @id, NULL if it doesn't exist. Simple wrapper around
252 void drm_encoder_cleanup(struct drm_encoder *encoder);
256 * @encoder: the loop cursor
258 * @encoder_mask: bitmask of encoder indices
262 #define drm_for_each_encoder_mask(encoder, dev, encoder_mask) \
263 list_for_each_entry((encoder), &(dev)->mode_config.encoder_list, head) \
264 for_each_if ((encoder_mask) & drm_encoder_mask(encoder))
268 * @encoder: the loop cursor
273 #define drm_for_each_encoder(encoder, dev) \
274 list_for_each_entry(encoder, &(dev)->mode_config.encoder_list, head)