Lines Matching refs:encoder
95 bool drm_helper_encoder_in_use(struct drm_encoder *encoder) in drm_helper_encoder_in_use() argument
99 struct drm_device *dev = encoder->dev; in drm_helper_encoder_in_use()
115 if (connector->encoder == encoder) { in drm_helper_encoder_in_use()
138 struct drm_encoder *encoder; in drm_helper_crtc_in_use() local
150 drm_for_each_encoder(encoder, dev) in drm_helper_crtc_in_use()
151 if (encoder->crtc == crtc && drm_helper_encoder_in_use(encoder)) in drm_helper_crtc_in_use()
158 drm_encoder_disable(struct drm_encoder *encoder) in drm_encoder_disable() argument
160 const struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; in drm_encoder_disable()
166 (*encoder_funcs->disable)(encoder); in drm_encoder_disable()
168 (*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF); in drm_encoder_disable()
173 struct drm_encoder *encoder; in __drm_helper_disable_unused_functions() local
178 drm_for_each_encoder(encoder, dev) { in __drm_helper_disable_unused_functions()
179 if (!drm_helper_encoder_in_use(encoder)) { in __drm_helper_disable_unused_functions()
180 drm_encoder_disable(encoder); in __drm_helper_disable_unused_functions()
182 encoder->crtc = NULL; in __drm_helper_disable_unused_functions()
238 struct drm_encoder *encoder; in drm_crtc_prepare_encoders() local
240 drm_for_each_encoder(encoder, dev) { in drm_crtc_prepare_encoders()
241 encoder_funcs = encoder->helper_private; in drm_crtc_prepare_encoders()
246 if (encoder->crtc == NULL) in drm_crtc_prepare_encoders()
247 drm_encoder_disable(encoder); in drm_crtc_prepare_encoders()
282 struct drm_encoder *encoder; in drm_crtc_helper_set_mode() local
316 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_mode()
318 if (encoder->crtc != crtc) in drm_crtc_helper_set_mode()
321 encoder_funcs = encoder->helper_private; in drm_crtc_helper_set_mode()
325 encoder_funcs = encoder->helper_private; in drm_crtc_helper_set_mode()
327 if (!(ret = encoder_funcs->mode_fixup(encoder, mode, in drm_crtc_helper_set_mode()
347 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_mode()
349 if (encoder->crtc != crtc) in drm_crtc_helper_set_mode()
352 encoder_funcs = encoder->helper_private; in drm_crtc_helper_set_mode()
358 encoder_funcs->prepare(encoder); in drm_crtc_helper_set_mode()
372 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_mode()
374 if (encoder->crtc != crtc) in drm_crtc_helper_set_mode()
377 encoder_funcs = encoder->helper_private; in drm_crtc_helper_set_mode()
382 encoder->base.id, encoder->name, mode->name); in drm_crtc_helper_set_mode()
384 encoder_funcs->mode_set(encoder, mode, adjusted_mode); in drm_crtc_helper_set_mode()
390 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_mode()
392 if (encoder->crtc != crtc) in drm_crtc_helper_set_mode()
395 encoder_funcs = encoder->helper_private; in drm_crtc_helper_set_mode()
400 encoder_funcs->commit(encoder); in drm_crtc_helper_set_mode()
429 struct drm_encoder *encoder; in drm_crtc_helper_disable() local
432 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_disable()
435 if (encoder->crtc != crtc) in drm_crtc_helper_disable()
440 if (connector->encoder != encoder) in drm_crtc_helper_disable()
443 connector->encoder = NULL; in drm_crtc_helper_disable()
469 struct drm_encoder *encoder; in drm_connector_get_single_encoder() local
472 drm_connector_for_each_possible_encoder(connector, encoder) in drm_connector_get_single_encoder()
473 return encoder; in drm_connector_get_single_encoder()
521 struct drm_encoder **save_connector_encoders, *new_encoder, *encoder; in drm_crtc_helper_set_config() local
586 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_config()
587 save_encoder_crtcs[count++] = encoder->crtc; in drm_crtc_helper_set_config()
593 save_connector_encoders[count++] = connector->encoder; in drm_crtc_helper_set_config()
629 if (set->connectors[ro]->encoder) in drm_crtc_helper_set_config()
640 new_encoder = connector->encoder; in drm_crtc_helper_set_config()
663 if (new_encoder != connector->encoder) { in drm_crtc_helper_set_config()
669 if (connector->encoder) in drm_crtc_helper_set_config()
670 connector->encoder->crtc = NULL; in drm_crtc_helper_set_config()
671 connector->encoder = new_encoder; in drm_crtc_helper_set_config()
684 if (!connector->encoder) in drm_crtc_helper_set_config()
687 if (connector->encoder->crtc == set->crtc) in drm_crtc_helper_set_config()
690 new_crtc = connector->encoder->crtc; in drm_crtc_helper_set_config()
699 !drm_encoder_crtc_ok(connector->encoder, new_crtc)) { in drm_crtc_helper_set_config()
704 if (new_crtc != connector->encoder->crtc) { in drm_crtc_helper_set_config()
707 connector->encoder->crtc = new_crtc; in drm_crtc_helper_set_config()
768 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_config()
769 encoder->crtc = save_encoder_crtcs[count++]; in drm_crtc_helper_set_config()
775 connector->encoder = save_connector_encoders[count++]; in drm_crtc_helper_set_config()
782 if (set->connectors[ro]->encoder) in drm_crtc_helper_set_config()
799 static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder) in drm_helper_choose_encoder_dpms() argument
804 struct drm_device *dev = encoder->dev; in drm_helper_choose_encoder_dpms()
808 if (connector->encoder == encoder) in drm_helper_choose_encoder_dpms()
817 static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode) in drm_helper_encoder_dpms() argument
821 encoder_funcs = encoder->helper_private; in drm_helper_encoder_dpms()
826 encoder_funcs->dpms(encoder, mode); in drm_helper_encoder_dpms()
838 if (connector->encoder && connector->encoder->crtc == crtc) in drm_helper_choose_crtc_dpms()
869 struct drm_encoder *encoder = connector->encoder; in drm_helper_connector_dpms() local
870 struct drm_crtc *crtc = encoder ? encoder->crtc : NULL; in drm_helper_connector_dpms()
881 if (encoder) in drm_helper_connector_dpms()
882 encoder_dpms = drm_helper_choose_encoder_dpms(encoder); in drm_helper_connector_dpms()
893 if (encoder) in drm_helper_connector_dpms()
894 drm_helper_encoder_dpms(encoder, encoder_dpms); in drm_helper_connector_dpms()
899 if (encoder) in drm_helper_connector_dpms()
900 drm_helper_encoder_dpms(encoder, encoder_dpms); in drm_helper_connector_dpms()
943 struct drm_encoder *encoder; in drm_helper_resume_force_mode() local
965 drm_for_each_encoder(encoder, dev) { in drm_helper_resume_force_mode()
967 if(encoder->crtc != crtc) in drm_helper_resume_force_mode()
971 encoder); in drm_helper_resume_force_mode()
973 drm_helper_encoder_dpms(encoder, encoder_dpms); in drm_helper_resume_force_mode()