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()
104 static void vlv_psr_setup_vsc(struct intel_dp *intel_dp) in vlv_psr_setup_vsc() argument
106 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in vlv_psr_setup_vsc()
120 static void hsw_psr_setup_vsc(struct intel_dp *intel_dp) in hsw_psr_setup_vsc() argument
130 intel_psr_write_vsc(intel_dp, &psr_vsc); in hsw_psr_setup_vsc()
133 static void vlv_psr_enable_sink(struct intel_dp *intel_dp) in vlv_psr_enable_sink() argument
135 drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, in vlv_psr_enable_sink()
139 static void hsw_psr_enable_sink(struct intel_dp *intel_dp) in hsw_psr_enable_sink() argument
141 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_psr_enable_sink()
158 aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, 0); in hsw_psr_enable_sink()
162 drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, in hsw_psr_enable_sink()
165 drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, in hsw_psr_enable_sink()
198 static void vlv_psr_enable_source(struct intel_dp *intel_dp) in vlv_psr_enable_source() argument
200 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_psr_enable_source()
213 static void vlv_psr_activate(struct intel_dp *intel_dp) in vlv_psr_activate() argument
215 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_psr_activate()
230 static void hsw_psr_enable_source(struct intel_dp *intel_dp) in hsw_psr_enable_source() argument
232 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in hsw_psr_enable_source()
260 static bool intel_psr_match_conditions(struct intel_dp *intel_dp) in intel_psr_match_conditions() argument
262 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_psr_match_conditions()
301 static void intel_psr_activate(struct intel_dp *intel_dp) in intel_psr_activate() argument
303 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_psr_activate()
317 hsw_psr_enable_source(intel_dp); in intel_psr_activate()
319 vlv_psr_activate(intel_dp); in intel_psr_activate()
330 void intel_psr_enable(struct intel_dp *intel_dp) in intel_psr_enable() argument
332 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_psr_enable()
341 if (!is_edp_psr(intel_dp)) { in intel_psr_enable()
352 if (!intel_psr_match_conditions(intel_dp)) in intel_psr_enable()
358 if ((intel_dp->psr_dpcd[1] & DP_PSR_NO_TRAIN_ON_EXIT) || in intel_psr_enable()
365 hsw_psr_setup_vsc(intel_dp); in intel_psr_enable()
372 hsw_psr_enable_sink(intel_dp); in intel_psr_enable()
375 intel_psr_activate(intel_dp); in intel_psr_enable()
377 vlv_psr_setup_vsc(intel_dp); in intel_psr_enable()
380 vlv_psr_enable_sink(intel_dp); in intel_psr_enable()
388 vlv_psr_enable_source(intel_dp); in intel_psr_enable()
391 dev_priv->psr.enabled = intel_dp; in intel_psr_enable()
396 static void vlv_psr_disable(struct intel_dp *intel_dp) in vlv_psr_disable() argument
398 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in vlv_psr_disable()
423 static void hsw_psr_disable(struct intel_dp *intel_dp) in hsw_psr_disable() argument
425 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in hsw_psr_disable()
450 void intel_psr_disable(struct intel_dp *intel_dp) in intel_psr_disable() argument
452 struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp); in intel_psr_disable()
463 hsw_psr_disable(intel_dp); in intel_psr_disable()
465 vlv_psr_disable(intel_dp); in intel_psr_disable()
477 struct intel_dp *intel_dp = dev_priv->psr.enabled; in intel_psr_work() local
478 struct drm_crtc *crtc = dp_to_dig_port(intel_dp)->base.base.crtc; in intel_psr_work()
500 intel_dp = dev_priv->psr.enabled; in intel_psr_work()
502 if (!intel_dp) in intel_psr_work()
513 intel_psr_activate(intel_dp); in intel_psr_work()
521 struct intel_dp *intel_dp = dev_priv->psr.enabled; in intel_psr_exit() local
522 struct drm_crtc *crtc = dp_to_dig_port(intel_dp)->base.base.crtc; in intel_psr_exit()
555 drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, in intel_psr_exit()