Lines Matching refs:crtc
39 static void intel_crtc_disable_noatomic_begin(struct intel_crtc *crtc, in intel_crtc_disable_noatomic_begin() argument
42 struct intel_display *display = to_intel_display(crtc); in intel_crtc_disable_noatomic_begin()
44 to_intel_crtc_state(crtc->base.state); in intel_crtc_disable_noatomic_begin()
48 enum pipe pipe = crtc->pipe; in intel_crtc_disable_noatomic_begin()
53 for_each_intel_plane_on_crtc(display->drm, crtc, plane) { in intel_crtc_disable_noatomic_begin()
58 intel_plane_disable_noatomic(crtc, plane); in intel_crtc_disable_noatomic_begin()
65 crtc->base.base.id, crtc->base.name); in intel_crtc_disable_noatomic_begin()
85 display->funcs.display->crtc_disable(to_intel_atomic_state(state), crtc); in intel_crtc_disable_noatomic_begin()
91 crtc->base.base.id, crtc->base.name); in intel_crtc_disable_noatomic_begin()
93 crtc->active = false; in intel_crtc_disable_noatomic_begin()
94 crtc->base.enabled = false; in intel_crtc_disable_noatomic_begin()
97 intel_dpll_crtc_put(crtc, in intel_crtc_disable_noatomic_begin()
107 if (conn_state->crtc) in set_encoder_for_connector()
112 conn_state->crtc = encoder->base.crtc; in set_encoder_for_connector()
116 conn_state->crtc = NULL; in set_encoder_for_connector()
145 static void reset_crtc_encoder_state(struct intel_crtc *crtc) in reset_crtc_encoder_state() argument
147 struct intel_display *display = to_intel_display(crtc); in reset_crtc_encoder_state()
150 for_each_encoder_on_crtc(display->drm, &crtc->base, encoder) { in reset_crtc_encoder_state()
152 encoder->base.crtc = NULL; in reset_crtc_encoder_state()
156 static void intel_crtc_disable_noatomic_complete(struct intel_crtc *crtc) in intel_crtc_disable_noatomic_complete() argument
158 struct intel_display *display = to_intel_display(crtc); in intel_crtc_disable_noatomic_complete()
162 to_intel_crtc_state(crtc->base.state); in intel_crtc_disable_noatomic_complete()
163 enum pipe pipe = crtc->pipe; in intel_crtc_disable_noatomic_complete()
167 intel_crtc_state_reset(crtc_state, crtc); in intel_crtc_disable_noatomic_complete()
169 reset_crtc_encoder_state(crtc); in intel_crtc_disable_noatomic_complete()
171 intel_fbc_disable(crtc); in intel_crtc_disable_noatomic_complete()
174 intel_display_power_put_all_in_set(display, &crtc->enabled_power_domains); in intel_crtc_disable_noatomic_complete()
176 intel_cdclk_crtc_disable_noatomic(crtc); in intel_crtc_disable_noatomic_complete()
177 skl_wm_crtc_disable_noatomic(crtc); in intel_crtc_disable_noatomic_complete()
178 intel_bw_crtc_disable_noatomic(crtc); in intel_crtc_disable_noatomic_complete()
214 static void get_portsync_pipes(struct intel_crtc *crtc, in get_portsync_pipes() argument
217 struct intel_display *display = to_intel_display(crtc); in get_portsync_pipes()
219 to_intel_crtc_state(crtc->base.state); in get_portsync_pipes()
225 *master_pipe_mask = BIT(crtc->pipe); in get_portsync_pipes()
259 static void intel_crtc_disable_noatomic(struct intel_crtc *crtc, in intel_crtc_disable_noatomic() argument
262 struct intel_display *display = to_intel_display(crtc); in intel_crtc_disable_noatomic()
269 get_portsync_pipes(crtc, &portsync_master_mask, &portsync_slaves_mask); in intel_crtc_disable_noatomic()
309 struct intel_crtc *crtc = in intel_modeset_update_connector_atomic_state() local
310 to_intel_crtc(encoder->base.crtc); in intel_modeset_update_connector_atomic_state()
312 to_intel_crtc_state(crtc->base.state); in intel_modeset_update_connector_atomic_state()
329 drm_WARN_ON(crtc_state->uapi.crtc->dev, in intel_crtc_copy_hw_to_uapi_state()
371 struct intel_crtc *crtc; in intel_sanitize_plane_mapping() local
376 for_each_intel_crtc(display->drm, crtc) { in intel_sanitize_plane_mapping()
378 to_intel_plane(crtc->base.primary); in intel_sanitize_plane_mapping()
385 if (pipe == crtc->pipe) in intel_sanitize_plane_mapping()
397 static bool intel_crtc_has_encoders(struct intel_crtc *crtc) in intel_crtc_has_encoders() argument
399 struct drm_device *dev = crtc->base.dev; in intel_crtc_has_encoders()
402 for_each_encoder_on_crtc(dev, &crtc->base, encoder) in intel_crtc_has_encoders()
408 static bool intel_crtc_needs_link_reset(struct intel_crtc *crtc) in intel_crtc_needs_link_reset() argument
410 struct drm_device *dev = crtc->base.dev; in intel_crtc_needs_link_reset()
413 for_each_encoder_on_crtc(dev, &crtc->base, encoder) { in intel_crtc_needs_link_reset()
445 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); in intel_sanitize_fifo_underrun_reporting() local
460 intel_init_fifo_underrun_reporting(display, crtc, in intel_sanitize_fifo_underrun_reporting()
465 static bool intel_sanitize_crtc(struct intel_crtc *crtc, in intel_sanitize_crtc() argument
468 struct intel_display *display = to_intel_display(crtc); in intel_sanitize_crtc()
469 struct intel_crtc_state *crtc_state = to_intel_crtc_state(crtc->base.state); in intel_sanitize_crtc()
476 for_each_intel_plane_on_crtc(display->drm, crtc, plane) { in intel_sanitize_crtc()
482 intel_plane_disable_noatomic(crtc, plane); in intel_sanitize_crtc()
494 needs_link_reset = intel_crtc_needs_link_reset(crtc); in intel_sanitize_crtc()
500 if (!needs_link_reset && intel_crtc_has_encoders(crtc)) in intel_sanitize_crtc()
503 intel_crtc_disable_noatomic(crtc, ctx); in intel_sanitize_crtc()
520 struct intel_crtc *crtc; in intel_sanitize_all_crtcs() local
532 for_each_intel_crtc(display->drm, crtc) { in intel_sanitize_all_crtcs()
533 u32 crtc_mask = drm_crtc_mask(&crtc->base); in intel_sanitize_all_crtcs()
538 if (intel_sanitize_crtc(crtc, ctx)) in intel_sanitize_all_crtcs()
545 for_each_intel_crtc(display->drm, crtc) { in intel_sanitize_all_crtcs()
547 to_intel_crtc_state(crtc->base.state); in intel_sanitize_all_crtcs()
577 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_sanitize_encoder() local
578 struct intel_crtc_state *crtc_state = crtc ? in intel_sanitize_encoder()
579 to_intel_crtc_state(crtc->base.state) : NULL; in intel_sanitize_encoder()
594 pipe_name(crtc->pipe)); in intel_sanitize_encoder()
636 encoder->base.crtc = NULL; in intel_sanitize_encoder()
659 struct intel_crtc *crtc; in readout_plane_state() local
670 crtc = intel_crtc_for_pipe(display, pipe); in readout_plane_state()
671 crtc_state = to_intel_crtc_state(crtc->base.state); in readout_plane_state()
681 for_each_intel_crtc(display->drm, crtc) { in readout_plane_state()
683 to_intel_crtc_state(crtc->base.state); in readout_plane_state()
694 struct intel_crtc *crtc; in intel_modeset_readout_hw_state() local
699 for_each_intel_crtc(display->drm, crtc) { in intel_modeset_readout_hw_state()
701 to_intel_crtc_state(crtc->base.state); in intel_modeset_readout_hw_state()
705 intel_crtc_state_reset(crtc_state, crtc); in intel_modeset_readout_hw_state()
711 crtc->base.enabled = crtc_state->hw.enable; in intel_modeset_readout_hw_state()
712 crtc->active = crtc_state->hw.active; in intel_modeset_readout_hw_state()
716 crtc->base.base.id, crtc->base.name, in intel_modeset_readout_hw_state()
728 crtc = intel_crtc_for_pipe(display, pipe); in intel_modeset_readout_hw_state()
729 crtc_state = to_intel_crtc_state(crtc->base.state); in intel_modeset_readout_hw_state()
731 encoder->base.crtc = &crtc->base; in intel_modeset_readout_hw_state()
758 encoder->base.crtc = NULL; in intel_modeset_readout_hw_state()
767 str_enabled_disabled(encoder->base.crtc), in intel_modeset_readout_hw_state()
778 struct intel_crtc *crtc; in intel_modeset_readout_hw_state() local
785 crtc = to_intel_crtc(encoder->base.crtc); in intel_modeset_readout_hw_state()
786 crtc_state = crtc ? to_intel_crtc_state(crtc->base.state) : NULL; in intel_modeset_readout_hw_state()
814 for_each_intel_crtc(display->drm, crtc) { in intel_modeset_readout_hw_state()
816 to_intel_crtc_state(crtc->base.state); in intel_modeset_readout_hw_state()
837 for_each_intel_plane_on_crtc(display->drm, crtc, plane) { in intel_modeset_readout_hw_state()
895 if (!encoder->base.crtc) in get_encoder_power_domains()
898 crtc_state = to_intel_crtc_state(encoder->base.crtc->state); in get_encoder_power_domains()
934 struct intel_crtc *crtc; in intel_modeset_setup_hw_state() local
955 for_each_intel_crtc(display->drm, crtc) { in intel_modeset_setup_hw_state()
957 to_intel_crtc_state(crtc->base.state); in intel_modeset_setup_hw_state()
961 drm_crtc_vblank_reset(&crtc->base); in intel_modeset_setup_hw_state()
991 for_each_intel_crtc(display->drm, crtc) { in intel_modeset_setup_hw_state()
993 to_intel_crtc_state(crtc->base.state); in intel_modeset_setup_hw_state()
998 intel_modeset_put_crtc_power_domains(crtc, &put_domains); in intel_modeset_setup_hw_state()