Lines Matching +full:10 +full:base +full:- +full:t1
1 // SPDX-License-Identifier: MIT
18 return intel_dp->alpm_dpcd & DP_ALPM_CAP; in intel_alpm_aux_wake_supported()
23 return intel_dp->alpm_dpcd & DP_ALPM_AUX_LESS_CAP; in intel_alpm_aux_less_wake_supported()
30 if (drm_dp_dpcd_readb(&intel_dp->aux, DP_RECEIVER_ALPM_CAP, &dpcd) < 0) in intel_alpm_init_dpcd()
33 intel_dp->alpm_dpcd = dpcd; in intel_alpm_init_dpcd()
39 * Silence_period = tSilence,Min + ((tSilence,Max - tSilence,Min) / 2)
43 * Link rates 1.62 - 4.32 and tLFPS_Cycle = 70 ns
44 * FLOOR( (Link Rate * tLFPS_Cycle) / (2 * 10) )
46 * Link rates 5.4 - 8.1
47 * PORT_ALPM_LFPS_CTL[ LFPS Cycle Count ] = 10
48 * LFPS Period chosen is the mid-point of the min:max values from the table
98 *silence_period = *lfps_half_cycle = -1; in _lnl_get_silence_period_and_lfps_half_cycle()
105 * AUX-Less Wake Time = CEILING( ((PHY P2 to P0) + tLFPS_Period, Max+
112 * The tPHY Establishment (a.k.a. t1) term is 50us
120 * tML_PHY_LOCK = TPS4 Length * ( 10 / (Link Rate in MHz) )
128 int t1 = 50 * 1000; in _lnl_compute_aux_less_wake_time() local
130 /* port_clock is link rate in 10kbit/s units */ in _lnl_compute_aux_less_wake_time()
137 t1 + tcds, 1000); in _lnl_compute_aux_less_wake_time()
149 _lnl_compute_aux_less_wake_time(crtc_state->port_clock); in _lnl_compute_aux_less_alpm_params()
150 aux_less_wake_lines = intel_usecs_to_scanlines(&crtc_state->hw.adjusted_mode, in _lnl_compute_aux_less_alpm_params()
153 if (!_lnl_get_silence_period_and_lfps_half_cycle(crtc_state->port_clock, in _lnl_compute_aux_less_alpm_params()
163 if (display->params.psr_safest_params) in _lnl_compute_aux_less_alpm_params()
166 intel_dp->alpm_parameters.aux_less_wake_lines = aux_less_wake_lines; in _lnl_compute_aux_less_alpm_params()
167 intel_dp->alpm_parameters.silence_period_sym_clocks = silence_period; in _lnl_compute_aux_less_alpm_params()
168 intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms = lfps_half_cycle; in _lnl_compute_aux_less_alpm_params()
184 intel_usecs_to_scanlines(&crtc_state->hw.adjusted_mode, 5); in _lnl_compute_alpm_params()
192 if (display->params.psr_safest_params) in _lnl_compute_alpm_params()
195 intel_dp->alpm_parameters.check_entry_lines = check_entry_lines; in _lnl_compute_alpm_params()
203 * not (improperly) included in 32 us fast wake time. 50 us - 32 us = 18 us.
212 return 10; in tgl_io_buffer_wake_time()
233 int precharge = intel_dp_aux_fw_sync_len(intel_dp) - preamble; in intel_alpm_compute_params()
249 &crtc_state->hw.adjusted_mode, io_wake_time); in intel_alpm_compute_params()
251 &crtc_state->hw.adjusted_mode, fast_wake_time); in intel_alpm_compute_params()
260 if (display->params.psr_safest_params) in intel_alpm_compute_params()
264 intel_dp->alpm_parameters.io_wake_lines = max(io_wake_lines, 7); in intel_alpm_compute_params()
265 intel_dp->alpm_parameters.fast_wake_lines = max(fast_wake_lines, 7); in intel_alpm_compute_params()
275 struct drm_display_mode *adjusted_mode = &crtc_state->hw.adjusted_mode; in intel_alpm_lobf_compute_config()
285 if (!intel_dp->as_sdp_supported) in intel_alpm_lobf_compute_config()
288 if (crtc_state->has_psr) in intel_alpm_lobf_compute_config()
298 context_latency = adjusted_mode->crtc_vblank_start - adjusted_mode->crtc_vdisplay; in intel_alpm_lobf_compute_config()
299 guardband = adjusted_mode->crtc_vtotal - in intel_alpm_lobf_compute_config()
300 adjusted_mode->crtc_vdisplay - context_latency; in intel_alpm_lobf_compute_config()
301 first_sdp_position = adjusted_mode->crtc_vtotal - adjusted_mode->crtc_vsync_start; in intel_alpm_lobf_compute_config()
303 waketime_in_lines = intel_dp->alpm_parameters.io_wake_lines; in intel_alpm_lobf_compute_config()
305 waketime_in_lines = intel_dp->alpm_parameters.aux_less_wake_lines; in intel_alpm_lobf_compute_config()
307 crtc_state->has_lobf = (context_latency + guardband) > in intel_alpm_lobf_compute_config()
315 enum transcoder cpu_transcoder = crtc_state->cpu_transcoder; in lnl_alpm_configure()
316 enum port port = dp_to_dig_port(intel_dp)->base.port; in lnl_alpm_configure()
320 (!intel_dp->psr.sel_update_enabled && !intel_dp_is_edp(intel_dp))) in lnl_alpm_configure()
327 if ((intel_dp->psr.panel_replay_enabled && intel_dp_is_edp(intel_dp)) || in lnl_alpm_configure()
328 (crtc_state->has_lobf && intel_alpm_aux_less_wake_supported(intel_dp))) { in lnl_alpm_configure()
332 ALPM_CTL_AUX_LESS_WAKE_TIME(intel_dp->alpm_parameters.aux_less_wake_lines); in lnl_alpm_configure()
340 intel_dp->alpm_parameters.silence_period_sym_clocks)); in lnl_alpm_configure()
344 PORT_ALPM_LFPS_CTL_LFPS_CYCLE_COUNT(10) | in lnl_alpm_configure()
346 intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms) | in lnl_alpm_configure()
348 intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms) | in lnl_alpm_configure()
350 intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms)); in lnl_alpm_configure()
353 ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp->alpm_parameters.fast_wake_lines); in lnl_alpm_configure()
356 if (crtc_state->has_lobf) in lnl_alpm_configure()
359 alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp->alpm_parameters.check_entry_lines); in lnl_alpm_configure()
372 struct intel_connector *connector = m->private; in i915_edp_lobf_info_show()
380 ret = drm_modeset_lock_single_interruptible(&display->drm->mode_config.connection_mutex); in i915_edp_lobf_info_show()
384 crtc = connector->base.state->crtc; in i915_edp_lobf_info_show()
385 if (connector->base.status != connector_status_connected || !crtc) { in i915_edp_lobf_info_show()
386 ret = -ENODEV; in i915_edp_lobf_info_show()
390 crtc_state = to_intel_crtc_state(crtc->state); in i915_edp_lobf_info_show()
391 cpu_transcoder = crtc_state->cpu_transcoder; in i915_edp_lobf_info_show()
394 seq_printf(m, "Aux-wake alpm status: %s\n", in i915_edp_lobf_info_show()
396 seq_printf(m, "Aux-less alpm status: %s\n", in i915_edp_lobf_info_show()
399 drm_modeset_unlock(&display->drm->mode_config.connection_mutex); in i915_edp_lobf_info_show()
409 struct dentry *root = connector->base.debugfs_entry; in intel_alpm_lobf_debugfs_add()
412 connector->base.connector_type != DRM_MODE_CONNECTOR_eDP) in intel_alpm_lobf_debugfs_add()