Lines Matching refs:encoder
37 * &struct drm_bridge represents a device that hangs on to an encoder. These are
39 * encoder chain.
46 * Here, the output of the encoder feeds to bridge A, and that furthers feeds to
56 * attached to the encoder with a call to drm_bridge_attach().
62 * Once these links are created, the bridges can participate along with encoder
91 * encoder chain.
153 * drm_bridge_attach - attach the bridge to an encoder's chain
155 * @encoder: DRM encoder
160 * Called by a kms driver to link the bridge to an encoder's chain. The previous
162 * linked directly at the encoder's output. Otherwise it is linked at the
168 * Note that bridges attached to encoders are auto-detached during encoder
175 int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
181 if (!encoder || !bridge)
184 if (previous && (!previous->dev || previous->encoder != encoder))
190 bridge->dev = encoder->dev;
191 bridge->encoder = encoder;
196 list_add(&bridge->chain_node, &encoder->bridge_chain);
226 bridge->encoder = NULL;
258 * - The encoder-related operations support control of the bridges in the
284 * encoder-related operations. This feature is not supported by the legacy
341 * encoder chain
347 * encoder chain, starting from the first bridge to the last.
349 * Note: the bridge passed should be the one closest to the encoder
358 struct drm_encoder *encoder;
363 encoder = bridge->encoder;
364 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
378 * encoder chain.
383 * Calls &drm_bridge_funcs.mode_valid for all the bridges in the encoder
387 * Note: the bridge passed should be the one closest to the encoder.
397 struct drm_encoder *encoder;
402 encoder = bridge->encoder;
403 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
419 * drm_bridge_chain_disable - disables all bridges in the encoder chain
422 * Calls &drm_bridge_funcs.disable op for all the bridges in the encoder
424 * calling the encoder's prepare op.
426 * Note: the bridge passed should be the one closest to the encoder
430 struct drm_encoder *encoder;
436 encoder = bridge->encoder;
437 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
449 * encoder chain
453 * encoder chain, starting from the first bridge to the last. These are called
454 * after completing the encoder's prepare op.
456 * Note: the bridge passed should be the one closest to the encoder
460 struct drm_encoder *encoder;
465 encoder = bridge->encoder;
466 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
475 * encoder chain
477 * @mode: desired mode to be set for the encoder chain
478 * @adjusted_mode: updated mode that works for this encoder chain
481 * encoder chain, starting from the first bridge to the last.
483 * Note: the bridge passed should be the one closest to the encoder
489 struct drm_encoder *encoder;
494 encoder = bridge->encoder;
495 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
504 * encoder chain
507 * Calls &drm_bridge_funcs.pre_enable op for all the bridges in the encoder
509 * before calling the encoder's commit op.
511 * Note: the bridge passed should be the one closest to the encoder
515 struct drm_encoder *encoder;
521 encoder = bridge->encoder;
522 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
533 * drm_bridge_chain_enable - enables all bridges in the encoder chain
536 * Calls &drm_bridge_funcs.enable op for all the bridges in the encoder
538 * after completing the encoder's commit op.
540 * Note that the bridge passed should be the one closest to the encoder
544 struct drm_encoder *encoder;
549 encoder = bridge->encoder;
550 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
558 * drm_atomic_bridge_chain_disable - disables all bridges in the encoder chain
563 * &drm_bridge_funcs.disable) op for all the bridges in the encoder chain,
567 * Note: the bridge passed should be the one closest to the encoder
572 struct drm_encoder *encoder;
578 encoder = bridge->encoder;
579 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
602 * in the encoder chain
607 * &drm_bridge_funcs.post_disable) op for all the bridges in the encoder chain,
611 * Note: the bridge passed should be the one closest to the encoder
616 struct drm_encoder *encoder;
621 encoder = bridge->encoder;
622 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
643 * the encoder chain
648 * &drm_bridge_funcs.pre_enable) op for all the bridges in the encoder chain,
652 * Note: the bridge passed should be the one closest to the encoder
657 struct drm_encoder *encoder;
663 encoder = bridge->encoder;
664 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
686 * drm_atomic_bridge_chain_enable - enables all bridges in the encoder chain
691 * &drm_bridge_funcs.enable) op for all the bridges in the encoder chain,
695 * Note: the bridge passed should be the one closest to the encoder
700 struct drm_encoder *encoder;
705 encoder = bridge->encoder;
706 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
876 struct drm_encoder *encoder = bridge->encoder;
883 last_bridge = list_last_entry(&encoder->bridge_chain,
991 * &drm_bridge_funcs.mode_fixup()) op for all the bridges in the encoder chain,
1003 struct drm_encoder *encoder;
1015 encoder = bridge->encoder;
1016 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {