Lines Matching refs:intel_dp
59 static bool is_edp_psr(struct intel_dp *intel_dp) in is_edp_psr() argument
61 return intel_dp->psr_dpcd[0] & DP_PSR_IS_SUPPORTED; in is_edp_psr()
75 static void intel_psr_write_vsc(struct intel_dp *intel_dp, in intel_psr_write_vsc() argument
78 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_psr_write_vsc()
106 static void vlv_psr_setup_vsc(struct intel_dp *intel_dp) in vlv_psr_setup_vsc() argument
108 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in vlv_psr_setup_vsc()
122 static void skl_psr_setup_su_vsc(struct intel_dp *intel_dp) in skl_psr_setup_su_vsc() argument
132 intel_psr_write_vsc(intel_dp, &psr_vsc); in skl_psr_setup_su_vsc()
135 static void hsw_psr_setup_vsc(struct intel_dp *intel_dp) in hsw_psr_setup_vsc() argument
145 intel_psr_write_vsc(intel_dp, &psr_vsc); in hsw_psr_setup_vsc()
148 static void vlv_psr_enable_sink(struct intel_dp *intel_dp) in vlv_psr_enable_sink() argument
150 drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, in vlv_psr_enable_sink()
154 static void hsw_psr_enable_sink(struct intel_dp *intel_dp) in hsw_psr_enable_sink() argument
156 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_psr_enable_sink()
173 aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, 0); in hsw_psr_enable_sink()
175 drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, in hsw_psr_enable_sink()
180 drm_dp_dpcd_writeb(&intel_dp->aux, in hsw_psr_enable_sink()
215 drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, DP_PSR_ENABLE); in hsw_psr_enable_sink()
218 static void vlv_psr_enable_source(struct intel_dp *intel_dp) in vlv_psr_enable_source() argument
220 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_psr_enable_source()
233 static void vlv_psr_activate(struct intel_dp *intel_dp) in vlv_psr_activate() argument
235 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_psr_activate()
250 static void hsw_psr_enable_source(struct intel_dp *intel_dp) in hsw_psr_enable_source() argument
252 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_psr_enable_source()
269 if (intel_dp->psr_dpcd[1] & DP_PSR_NO_TRAIN_ON_EXIT) { in hsw_psr_enable_source()
290 static bool intel_psr_match_conditions(struct intel_dp *intel_dp) in intel_psr_match_conditions() argument
292 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_psr_match_conditions()
337 static void intel_psr_activate(struct intel_dp *intel_dp) in intel_psr_activate() argument
339 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_psr_activate()
353 hsw_psr_enable_source(intel_dp); in intel_psr_activate()
355 vlv_psr_activate(intel_dp); in intel_psr_activate()
366 void intel_psr_enable(struct intel_dp *intel_dp) in intel_psr_enable() argument
368 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_psr_enable()
378 if (!is_edp_psr(intel_dp)) { in intel_psr_enable()
389 if (!intel_psr_match_conditions(intel_dp)) in intel_psr_enable()
395 hsw_psr_setup_vsc(intel_dp); in intel_psr_enable()
403 skl_psr_setup_su_vsc(intel_dp); in intel_psr_enable()
411 hsw_psr_enable_sink(intel_dp); in intel_psr_enable()
414 intel_psr_activate(intel_dp); in intel_psr_enable()
416 vlv_psr_setup_vsc(intel_dp); in intel_psr_enable()
419 vlv_psr_enable_sink(intel_dp); in intel_psr_enable()
427 vlv_psr_enable_source(intel_dp); in intel_psr_enable()
430 dev_priv->psr.enabled = intel_dp; in intel_psr_enable()
435 static void vlv_psr_disable(struct intel_dp *intel_dp) in vlv_psr_disable() argument
437 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in vlv_psr_disable()
462 static void hsw_psr_disable(struct intel_dp *intel_dp) in hsw_psr_disable() argument
464 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in hsw_psr_disable()
489 void intel_psr_disable(struct intel_dp *intel_dp) in intel_psr_disable() argument
491 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_psr_disable()
502 hsw_psr_disable(intel_dp); in intel_psr_disable()
504 vlv_psr_disable(intel_dp); in intel_psr_disable()
516 struct intel_dp *intel_dp = dev_priv->psr.enabled; in intel_psr_work() local
517 struct drm_crtc *crtc = dp_to_dig_port(intel_dp)->base.base.crtc; in intel_psr_work()
539 intel_dp = dev_priv->psr.enabled; in intel_psr_work()
541 if (!intel_dp) in intel_psr_work()
552 intel_psr_activate(intel_dp); in intel_psr_work()
560 struct intel_dp *intel_dp = dev_priv->psr.enabled; in intel_psr_exit() local
561 struct drm_crtc *crtc = dp_to_dig_port(intel_dp)->base.base.crtc; in intel_psr_exit()
594 drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, in intel_psr_exit()