Lines Matching defs:encoder
110 struct drm_encoder *encoder;
116 * part of the state. If the same encoder is assigned to multiple
154 * If a conflicting encoder is found and disable_conflicting_encoders
159 * and the CRTC is disabled if no encoder is left. This preserves
169 encoder = connector->state->best_encoder;
170 if (!encoder || !(encoder_mask & drm_encoder_mask(encoder)))
176 encoder->base.id, encoder->name,
192 encoder->base.id, encoder->name,
220 struct drm_encoder *encoder)
233 * best_encoder is equal to encoder we intend to set.
235 WARN_ON(!crtc && encoder != conn_state->best_encoder);
244 if (encoder) {
251 drm_encoder_mask(encoder);
255 conn_state->best_encoder = encoder;
260 struct drm_encoder *encoder)
270 if (new_connector_state->best_encoder != encoder)
275 drm_dbg_atomic(encoder->dev,
277 encoder->base.id, encoder->name,
367 "No suitable encoder found for [CONNECTOR:%d:%s]\n",
435 struct drm_encoder *encoder;
447 * Each encoder has at most one connector (since we always steal
450 encoder = new_conn_state->best_encoder;
451 funcs = encoder->helper_private;
453 bridge = drm_bridge_chain_get_first_bridge(encoder);
458 drm_dbg_atomic(encoder->dev, "Bridge atomic check failed\n");
463 ret = funcs->atomic_check(encoder, new_crtc_state,
466 drm_dbg_atomic(encoder->dev,
468 encoder->base.id, encoder->name);
472 ret = funcs->mode_fixup(encoder, &new_crtc_state->mode,
475 drm_dbg_atomic(encoder->dev,
477 encoder->base.id, encoder->name);
510 struct drm_encoder *encoder,
517 ret = drm_encoder_mode_valid(encoder, mode);
519 drm_dbg_atomic(encoder->dev,
521 encoder->base.id, encoder->name);
525 bridge = drm_bridge_chain_get_first_bridge(encoder);
529 drm_dbg_atomic(encoder->dev, "[BRIDGE] mode_valid() failed\n");
535 drm_dbg_atomic(encoder->dev, "[CRTC:%d:%s] mode_valid() failed\n",
551 struct drm_encoder *encoder = conn_state->best_encoder;
557 if (!crtc || !encoder)
568 mode_status = mode_valid_path(connector, encoder, crtc, mode);
586 * 1. &drm_connector_helper_funcs.atomic_best_encoder for determining the new encoder.
592 * 5. &drm_bridge_funcs.mode_fixup is called on all encoder bridges.
593 * 6. &drm_encoder_helper_funcs.atomic_check is called to validate any encoder state.
594 * This function is only called when the encoder will be part of a configured CRTC,
776 struct drm_encoder *encoder;
778 encoder = old_connector_state->best_encoder;
779 ret = drm_atomic_add_encoder_bridges(state, encoder);
783 encoder = new_connector_state->best_encoder;
784 ret = drm_atomic_add_encoder_bridges(state, encoder);
798 * drm_atomic_helper_check_wb_encoder_state() - Check writeback encoder state
799 * @encoder: encoder state to check
809 drm_atomic_helper_check_wb_encoder_state(struct drm_encoder *encoder,
830 drm_dbg_kms(encoder->dev, "Invalid pixel format %p4cc\n", &fb->format->format);
1132 struct drm_encoder *encoder;
1155 encoder = old_conn_state->best_encoder;
1158 * an encoder.. but WARN_ON() rather than explode.
1160 if (WARN_ON(!encoder))
1163 funcs = encoder->helper_private;
1166 encoder->base.id, encoder->name);
1169 * Each encoder has at most one connector (since we always steal
1172 bridge = drm_bridge_chain_get_first_bridge(encoder);
1178 funcs->atomic_disable(encoder, old_state);
1180 funcs->prepare(encoder);
1182 funcs->disable(encoder);
1184 funcs->dpms(encoder, DRM_MODE_DPMS_OFF);
1265 if (connector->encoder) {
1266 WARN_ON(!connector->encoder->crtc);
1268 connector->encoder->crtc = NULL;
1269 connector->encoder = NULL;
1292 connector->encoder = new_conn_state->best_encoder;
1293 connector->encoder->crtc = new_conn_state->crtc;
1363 struct drm_encoder *encoder;
1370 encoder = new_conn_state->best_encoder;
1371 funcs = encoder->helper_private;
1380 encoder->base.id, encoder->name);
1383 * Each encoder has at most one connector (since we always steal
1387 funcs->atomic_mode_set(encoder, new_crtc_state,
1390 funcs->mode_set(encoder, mode, adjusted_mode);
1393 bridge = drm_bridge_chain_get_first_bridge(encoder);
1493 struct drm_encoder *encoder;
1503 encoder = new_conn_state->best_encoder;
1504 funcs = encoder->helper_private;
1507 encoder->base.id, encoder->name);
1510 * Each encoder has at most one connector (since we always steal
1513 bridge = drm_bridge_chain_get_first_bridge(encoder);
1518 funcs->atomic_enable(encoder, old_state);
1520 funcs->enable(encoder);
1522 funcs->commit(encoder);