Lines Matching defs:encoder
42 * &struct drm_bridge represents a device that hangs on to an encoder. These are
44 * encoder chain.
51 * Here, the output of the encoder feeds to bridge A, and that furthers feeds to
59 * encoder chain.
68 * encoder with a call to drm_bridge_attach().
74 * Once these links are created, the bridges can participate along with encoder
279 * drm_bridge_attach - attach the bridge to an encoder's chain
281 * @encoder: DRM encoder
286 * Called by a kms driver to link the bridge to an encoder's chain. The previous
288 * linked directly at the encoder's output. Otherwise it is linked at the
294 * Note that bridges attached to encoders are auto-detached during encoder
301 int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
307 if (!encoder || !bridge)
310 if (previous && (!previous->dev || previous->encoder != encoder))
316 bridge->dev = encoder->dev;
317 bridge->encoder = encoder;
322 list_add(&bridge->chain_node, &encoder->bridge_chain);
352 bridge->encoder = NULL;
356 DRM_ERROR("failed to attach bridge %pOF to encoder %s: %d\n",
357 bridge->of_node, encoder->name, ret);
359 DRM_ERROR("failed to attach bridge to encoder %s: %d\n",
360 encoder->name, ret);
393 * - The encoder-related operations support control of the bridges in the
419 * encoder-related operations. This feature is not supported by the legacy
476 * encoder chain
482 * encoder chain, starting from the first bridge to the last.
484 * Note: the bridge passed should be the one closest to the encoder
493 struct drm_encoder *encoder;
498 encoder = bridge->encoder;
499 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
513 * encoder chain.
518 * Calls &drm_bridge_funcs.mode_valid for all the bridges in the encoder
522 * Note: the bridge passed should be the one closest to the encoder.
532 struct drm_encoder *encoder;
537 encoder = bridge->encoder;
538 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
555 * encoder chain
557 * @mode: desired mode to be set for the encoder chain
558 * @adjusted_mode: updated mode that works for this encoder chain
561 * encoder chain, starting from the first bridge to the last.
563 * Note: the bridge passed should be the one closest to the encoder
569 struct drm_encoder *encoder;
574 encoder = bridge->encoder;
575 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
583 * drm_atomic_bridge_chain_disable - disables all bridges in the encoder chain
588 * &drm_bridge_funcs.disable) op for all the bridges in the encoder chain,
592 * Note: the bridge passed should be the one closest to the encoder
597 struct drm_encoder *encoder;
603 encoder = bridge->encoder;
604 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
646 * in the encoder chain
651 * &drm_bridge_funcs.post_disable) op for all the bridges in the encoder chain,
659 * Note: the bridge passed should be the one closest to the encoder
664 struct drm_encoder *encoder;
670 encoder = bridge->encoder;
672 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
675 if (!list_is_last(&bridge->chain_node, &encoder->bridge_chain)) {
687 list_for_each_entry_from(next, &encoder->bridge_chain,
697 list_for_each_entry_from_reverse(next, &encoder->bridge_chain,
737 * the encoder chain
742 * &drm_bridge_funcs.pre_enable) op for all the bridges in the encoder chain,
749 * Note: the bridge passed should be the one closest to the encoder
754 struct drm_encoder *encoder;
760 encoder = bridge->encoder;
762 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
767 &encoder->bridge_chain,
781 list_for_each_entry_from(next, &encoder->bridge_chain, chain_node) {
808 * drm_atomic_bridge_chain_enable - enables all bridges in the encoder chain
813 * &drm_bridge_funcs.enable) op for all the bridges in the encoder chain,
817 * Note: the bridge passed should be the one closest to the encoder
822 struct drm_encoder *encoder;
827 encoder = bridge->encoder;
828 list_for_each_entry_from(bridge, &encoder->bridge_chain, chain_node) {
998 struct drm_encoder *encoder = bridge->encoder;
1005 last_bridge = list_last_entry(&encoder->bridge_chain,
1113 * &drm_bridge_funcs.mode_fixup()) op for all the bridges in the encoder chain,
1125 struct drm_encoder *encoder;
1137 encoder = bridge->encoder;
1138 list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
1357 struct drm_encoder *encoder;
1360 list_for_each_entry(encoder, &config->encoder_list, head) {
1363 drm_printf(&p, "encoder[%u]\n", encoder->base.id);
1365 drm_for_each_bridge_in_chain(encoder, bridge) {