Lines Matching refs:encoder

92 bool drm_helper_encoder_in_use(struct drm_encoder *encoder)  in drm_helper_encoder_in_use()  argument
96 struct drm_device *dev = encoder->dev; in drm_helper_encoder_in_use()
112 if (connector->encoder == encoder) { in drm_helper_encoder_in_use()
135 struct drm_encoder *encoder; in drm_helper_crtc_in_use() local
147 drm_for_each_encoder(encoder, dev) in drm_helper_crtc_in_use()
148 if (encoder->crtc == crtc && drm_helper_encoder_in_use(encoder)) in drm_helper_crtc_in_use()
155 drm_encoder_disable(struct drm_encoder *encoder) in drm_encoder_disable() argument
157 const struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private; in drm_encoder_disable()
163 (*encoder_funcs->disable)(encoder); in drm_encoder_disable()
165 (*encoder_funcs->dpms)(encoder, DRM_MODE_DPMS_OFF); in drm_encoder_disable()
170 struct drm_encoder *encoder; in __drm_helper_disable_unused_functions() local
175 drm_for_each_encoder(encoder, dev) { in __drm_helper_disable_unused_functions()
176 if (!drm_helper_encoder_in_use(encoder)) { in __drm_helper_disable_unused_functions()
177 drm_encoder_disable(encoder); in __drm_helper_disable_unused_functions()
179 encoder->crtc = NULL; in __drm_helper_disable_unused_functions()
234 struct drm_encoder *encoder; in drm_crtc_prepare_encoders() local
236 drm_for_each_encoder(encoder, dev) { in drm_crtc_prepare_encoders()
237 encoder_funcs = encoder->helper_private; in drm_crtc_prepare_encoders()
242 if (encoder->crtc == NULL) in drm_crtc_prepare_encoders()
243 drm_encoder_disable(encoder); in drm_crtc_prepare_encoders()
246 encoder->crtc != (*encoder_funcs->get_crtc)(encoder)) 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()
505 struct drm_encoder **save_connector_encoders, *new_encoder, *encoder; in drm_crtc_helper_set_config() local
570 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_config()
571 save_encoder_crtcs[count++] = encoder->crtc; in drm_crtc_helper_set_config()
577 save_connector_encoders[count++] = connector->encoder; in drm_crtc_helper_set_config()
613 if (set->connectors[ro]->encoder) in drm_crtc_helper_set_config()
624 new_encoder = connector->encoder; in drm_crtc_helper_set_config()
643 if (new_encoder != connector->encoder) { in drm_crtc_helper_set_config()
649 if (connector->encoder) in drm_crtc_helper_set_config()
650 connector->encoder->crtc = NULL; in drm_crtc_helper_set_config()
651 connector->encoder = new_encoder; in drm_crtc_helper_set_config()
664 if (!connector->encoder) in drm_crtc_helper_set_config()
667 if (connector->encoder->crtc == set->crtc) in drm_crtc_helper_set_config()
670 new_crtc = connector->encoder->crtc; in drm_crtc_helper_set_config()
679 !drm_encoder_crtc_ok(connector->encoder, new_crtc)) { in drm_crtc_helper_set_config()
684 if (new_crtc != connector->encoder->crtc) { in drm_crtc_helper_set_config()
687 connector->encoder->crtc = new_crtc; in drm_crtc_helper_set_config()
748 drm_for_each_encoder(encoder, dev) { in drm_crtc_helper_set_config()
749 encoder->crtc = save_encoder_crtcs[count++]; in drm_crtc_helper_set_config()
755 connector->encoder = save_connector_encoders[count++]; in drm_crtc_helper_set_config()
762 if (set->connectors[ro]->encoder) in drm_crtc_helper_set_config()
779 static int drm_helper_choose_encoder_dpms(struct drm_encoder *encoder) in drm_helper_choose_encoder_dpms() argument
784 struct drm_device *dev = encoder->dev; in drm_helper_choose_encoder_dpms()
788 if (connector->encoder == encoder) in drm_helper_choose_encoder_dpms()
797 static void drm_helper_encoder_dpms(struct drm_encoder *encoder, int mode) in drm_helper_encoder_dpms() argument
801 encoder_funcs = encoder->helper_private; in drm_helper_encoder_dpms()
806 encoder_funcs->dpms(encoder, mode); in drm_helper_encoder_dpms()
818 if (connector->encoder && connector->encoder->crtc == crtc) in drm_helper_choose_crtc_dpms()
849 struct drm_encoder *encoder = connector->encoder; in drm_helper_connector_dpms() local
850 struct drm_crtc *crtc = encoder ? encoder->crtc : NULL; in drm_helper_connector_dpms()
861 if (encoder) in drm_helper_connector_dpms()
862 encoder_dpms = drm_helper_choose_encoder_dpms(encoder); in drm_helper_connector_dpms()
872 if (encoder) in drm_helper_connector_dpms()
873 drm_helper_encoder_dpms(encoder, encoder_dpms); in drm_helper_connector_dpms()
878 if (encoder) in drm_helper_connector_dpms()
879 drm_helper_encoder_dpms(encoder, encoder_dpms); in drm_helper_connector_dpms()
921 struct drm_encoder *encoder; in drm_helper_resume_force_mode() local
943 drm_for_each_encoder(encoder, dev) { in drm_helper_resume_force_mode()
945 if(encoder->crtc != crtc) in drm_helper_resume_force_mode()
949 encoder); in drm_helper_resume_force_mode()
951 drm_helper_encoder_dpms(encoder, encoder_dpms); in drm_helper_resume_force_mode()