Lines Matching refs:crtc
29 static void intel_crtc_disable_noatomic(struct intel_crtc *crtc, in intel_crtc_disable_noatomic() argument
33 struct drm_i915_private *i915 = to_i915(crtc->base.dev); in intel_crtc_disable_noatomic()
41 to_intel_crtc_state(crtc->base.state); in intel_crtc_disable_noatomic()
45 enum pipe pipe = crtc->pipe; in intel_crtc_disable_noatomic()
51 for_each_intel_plane_on_crtc(&i915->drm, crtc, plane) { in intel_crtc_disable_noatomic()
56 intel_plane_disable_noatomic(crtc, plane); in intel_crtc_disable_noatomic()
63 crtc->base.base.id, crtc->base.name); in intel_crtc_disable_noatomic()
70 temp_crtc_state = intel_atomic_get_crtc_state(state, crtc); in intel_crtc_disable_noatomic()
71 ret = drm_atomic_add_affected_connectors(state, &crtc->base); in intel_crtc_disable_noatomic()
75 i915->display.funcs.display->crtc_disable(to_intel_atomic_state(state), crtc); in intel_crtc_disable_noatomic()
81 crtc->base.base.id, crtc->base.name); in intel_crtc_disable_noatomic()
83 crtc->active = false; in intel_crtc_disable_noatomic()
84 crtc->base.enabled = false; in intel_crtc_disable_noatomic()
94 for_each_encoder_on_crtc(&i915->drm, &crtc->base, encoder) in intel_crtc_disable_noatomic()
95 encoder->base.crtc = NULL; in intel_crtc_disable_noatomic()
97 intel_fbc_disable(crtc); in intel_crtc_disable_noatomic()
101 intel_display_power_put_all_in_set(i915, &crtc->enabled_power_domains); in intel_crtc_disable_noatomic()
124 if (conn_state->crtc) in intel_modeset_update_connector_atomic_state()
128 struct intel_crtc *crtc = in intel_modeset_update_connector_atomic_state() local
129 to_intel_crtc(encoder->base.crtc); in intel_modeset_update_connector_atomic_state()
131 to_intel_crtc_state(crtc->base.state); in intel_modeset_update_connector_atomic_state()
134 conn_state->crtc = &crtc->base; in intel_modeset_update_connector_atomic_state()
140 conn_state->crtc = NULL; in intel_modeset_update_connector_atomic_state()
153 drm_WARN_ON(crtc_state->uapi.crtc->dev, in intel_crtc_copy_hw_to_uapi_state()
176 struct intel_crtc *crtc; in intel_sanitize_plane_mapping() local
181 for_each_intel_crtc(&i915->drm, crtc) { in intel_sanitize_plane_mapping()
183 to_intel_plane(crtc->base.primary); in intel_sanitize_plane_mapping()
190 if (pipe == crtc->pipe) in intel_sanitize_plane_mapping()
202 static bool intel_crtc_has_encoders(struct intel_crtc *crtc) in intel_crtc_has_encoders() argument
204 struct drm_device *dev = crtc->base.dev; in intel_crtc_has_encoders()
207 for_each_encoder_on_crtc(dev, &crtc->base, encoder) in intel_crtc_has_encoders()
234 struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); in intel_sanitize_fifo_underrun_reporting() local
235 struct drm_i915_private *i915 = to_i915(crtc->base.dev); in intel_sanitize_fifo_underrun_reporting()
253 crtc->cpu_fifo_underrun_disabled = true; in intel_sanitize_fifo_underrun_reporting()
264 if (intel_has_pch_trancoder(i915, crtc->pipe)) in intel_sanitize_fifo_underrun_reporting()
265 crtc->pch_fifo_underrun_disabled = true; in intel_sanitize_fifo_underrun_reporting()
268 static void intel_sanitize_crtc(struct intel_crtc *crtc, in intel_sanitize_crtc() argument
271 struct drm_i915_private *i915 = to_i915(crtc->base.dev); in intel_sanitize_crtc()
272 struct intel_crtc_state *crtc_state = to_intel_crtc_state(crtc->base.state); in intel_sanitize_crtc()
278 for_each_intel_plane_on_crtc(&i915->drm, crtc, plane) { in intel_sanitize_crtc()
284 intel_plane_disable_noatomic(crtc, plane); in intel_sanitize_crtc()
296 if (crtc_state->hw.active && !intel_crtc_has_encoders(crtc) && in intel_sanitize_crtc()
298 intel_crtc_disable_noatomic(crtc, ctx); in intel_sanitize_crtc()
303 struct drm_i915_private *i915 = to_i915(crtc_state->uapi.crtc->dev); in has_bogus_dpll_config()
325 struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc); in intel_sanitize_encoder() local
326 struct intel_crtc_state *crtc_state = crtc ? in intel_sanitize_encoder()
327 to_intel_crtc_state(crtc->base.state) : NULL; in intel_sanitize_encoder()
340 pipe_name(crtc->pipe)); in intel_sanitize_encoder()
378 encoder->base.crtc = NULL; in intel_sanitize_encoder()
401 struct intel_crtc *crtc; in readout_plane_state() local
412 crtc = intel_crtc_for_pipe(i915, pipe); in readout_plane_state()
413 crtc_state = to_intel_crtc_state(crtc->base.state); in readout_plane_state()
423 for_each_intel_crtc(&i915->drm, crtc) { in readout_plane_state()
425 to_intel_crtc_state(crtc->base.state); in readout_plane_state()
438 struct intel_crtc *crtc; in intel_modeset_readout_hw_state() local
444 for_each_intel_crtc(&i915->drm, crtc) { in intel_modeset_readout_hw_state()
446 to_intel_crtc_state(crtc->base.state); in intel_modeset_readout_hw_state()
450 intel_crtc_state_reset(crtc_state, crtc); in intel_modeset_readout_hw_state()
456 crtc->base.enabled = crtc_state->hw.enable; in intel_modeset_readout_hw_state()
457 crtc->active = crtc_state->hw.active; in intel_modeset_readout_hw_state()
460 active_pipes |= BIT(crtc->pipe); in intel_modeset_readout_hw_state()
464 crtc->base.base.id, crtc->base.name, in intel_modeset_readout_hw_state()
479 crtc = intel_crtc_for_pipe(i915, pipe); in intel_modeset_readout_hw_state()
480 crtc_state = to_intel_crtc_state(crtc->base.state); in intel_modeset_readout_hw_state()
482 encoder->base.crtc = &crtc->base; in intel_modeset_readout_hw_state()
501 encoder->base.crtc = NULL; in intel_modeset_readout_hw_state()
510 str_enabled_disabled(encoder->base.crtc), in intel_modeset_readout_hw_state()
520 struct intel_crtc *crtc; in intel_modeset_readout_hw_state() local
527 crtc = to_intel_crtc(encoder->base.crtc); in intel_modeset_readout_hw_state()
528 crtc_state = crtc ? to_intel_crtc_state(crtc->base.state) : NULL; in intel_modeset_readout_hw_state()
552 for_each_intel_crtc(&i915->drm, crtc) { in intel_modeset_readout_hw_state()
556 to_intel_crtc_state(crtc->base.state); in intel_modeset_readout_hw_state()
577 for_each_intel_plane_on_crtc(&i915->drm, crtc, plane) { in intel_modeset_readout_hw_state()
612 cdclk_state->min_cdclk[crtc->pipe] = min_cdclk; in intel_modeset_readout_hw_state()
613 cdclk_state->min_voltage_level[crtc->pipe] = in intel_modeset_readout_hw_state()
635 if (!encoder->base.crtc) in get_encoder_power_domains()
638 crtc_state = to_intel_crtc_state(encoder->base.crtc->state); in get_encoder_power_domains()
676 struct intel_crtc *crtc; in intel_modeset_setup_hw_state() local
693 for_each_intel_crtc(&i915->drm, crtc) { in intel_modeset_setup_hw_state()
695 to_intel_crtc_state(crtc->base.state); in intel_modeset_setup_hw_state()
699 drm_crtc_vblank_reset(&crtc->base); in intel_modeset_setup_hw_state()
702 intel_dmc_enable_pipe(i915, crtc->pipe); in intel_modeset_setup_hw_state()
714 for_each_intel_crtc(&i915->drm, crtc) { in intel_modeset_setup_hw_state()
716 to_intel_crtc_state(crtc->base.state); in intel_modeset_setup_hw_state()
718 intel_sanitize_crtc(crtc, ctx); in intel_modeset_setup_hw_state()
739 for_each_intel_crtc(&i915->drm, crtc) { in intel_modeset_setup_hw_state()
741 to_intel_crtc_state(crtc->base.state); in intel_modeset_setup_hw_state()
746 intel_modeset_put_crtc_power_domains(crtc, &put_domains); in intel_modeset_setup_hw_state()