Symbol: intel_dp
sys/dev/pci/drm/i915/display/g4x_dp.c
102
intel_dp_set_link_params(intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
1036
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
1037
u8 train_set = intel_dp->train_set[0];
sys/dev/pci/drm/i915/display/g4x_dp.c
1045
intel_dp->DP &= ~(DP_VOLTAGE_MASK | DP_PRE_EMPHASIS_MASK);
sys/dev/pci/drm/i915/display/g4x_dp.c
1046
intel_dp->DP |= signal_levels;
sys/dev/pci/drm/i915/display/g4x_dp.c
1048
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
1049
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
1084
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
1085
u8 train_set = intel_dp->train_set[0];
sys/dev/pci/drm/i915/display/g4x_dp.c
1093
intel_dp->DP &= ~EDP_LINK_TRAIN_VOL_EMP_MASK_SNB;
sys/dev/pci/drm/i915/display/g4x_dp.c
1094
intel_dp->DP |= signal_levels;
sys/dev/pci/drm/i915/display/g4x_dp.c
1096
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
1097
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
1136
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
1137
u8 train_set = intel_dp->train_set[0];
sys/dev/pci/drm/i915/display/g4x_dp.c
1145
intel_dp->DP &= ~EDP_LINK_TRAIN_VOL_EMP_MASK_IVB;
sys/dev/pci/drm/i915/display/g4x_dp.c
1146
intel_dp->DP |= signal_levels;
sys/dev/pci/drm/i915/display/g4x_dp.c
1148
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
1149
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
1168
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
1171
if (intel_dp_test_phy(intel_dp))
sys/dev/pci/drm/i915/display/g4x_dp.c
1176
intel_dp_check_link_state(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
125
intel_dp->DP = intel_de_read(display, intel_dp->output_reg) & DP_DETECTED;
sys/dev/pci/drm/i915/display/g4x_dp.c
1266
struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(encoder));
sys/dev/pci/drm/i915/display/g4x_dp.c
1268
intel_dp->DP = intel_de_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
1270
intel_dp->reset_link_params = true;
sys/dev/pci/drm/i915/display/g4x_dp.c
1271
intel_dp_invalidate_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
1274
vlv_pps_pipe_reset(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
1276
intel_pps_encoder_reset(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
128
intel_dp->DP |= DP_VOLTAGE_0_4 | DP_PRE_EMPHASIS_0;
sys/dev/pci/drm/i915/display/g4x_dp.c
129
intel_dp->DP |= DP_PORT_WIDTH(pipe_config->lane_count);
sys/dev/pci/drm/i915/display/g4x_dp.c
135
intel_dp->DP |= DP_SYNC_HS_HIGH;
sys/dev/pci/drm/i915/display/g4x_dp.c
137
intel_dp->DP |= DP_SYNC_VS_HIGH;
sys/dev/pci/drm/i915/display/g4x_dp.c
138
intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
140
if (drm_dp_enhanced_frame_cap(intel_dp->dpcd))
sys/dev/pci/drm/i915/display/g4x_dp.c
141
intel_dp->DP |= DP_ENHANCED_FRAMING;
sys/dev/pci/drm/i915/display/g4x_dp.c
143
intel_dp->DP |= DP_PIPE_SEL_IVB(crtc->pipe);
sys/dev/pci/drm/i915/display/g4x_dp.c
145
intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
153
intel_dp->DP |= DP_COLOR_RANGE_16_235;
sys/dev/pci/drm/i915/display/g4x_dp.c
156
intel_dp->DP |= DP_SYNC_HS_HIGH;
sys/dev/pci/drm/i915/display/g4x_dp.c
158
intel_dp->DP |= DP_SYNC_VS_HIGH;
sys/dev/pci/drm/i915/display/g4x_dp.c
159
intel_dp->DP |= DP_LINK_TRAIN_OFF;
sys/dev/pci/drm/i915/display/g4x_dp.c
162
intel_dp->DP |= DP_ENHANCED_FRAMING;
sys/dev/pci/drm/i915/display/g4x_dp.c
165
intel_dp->DP |= DP_PIPE_SEL_CHV(crtc->pipe);
sys/dev/pci/drm/i915/display/g4x_dp.c
167
intel_dp->DP |= DP_PIPE_SEL(crtc->pipe);
sys/dev/pci/drm/i915/display/g4x_dp.c
171
static void assert_dp_port(struct intel_dp *intel_dp, bool state)
sys/dev/pci/drm/i915/display/g4x_dp.c
173
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
174
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
175
bool cur_state = intel_de_read(display, intel_dp->output_reg) & DP_PORT_EN;
sys/dev/pci/drm/i915/display/g4x_dp.c
195
static void ilk_edp_pll_on(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
198
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
202
assert_dp_port_disabled(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
208
intel_dp->DP &= ~EDP_PLL_FREQ_MASK;
sys/dev/pci/drm/i915/display/g4x_dp.c
211
intel_dp->DP |= EDP_PLL_FREQ_162MHZ;
sys/dev/pci/drm/i915/display/g4x_dp.c
213
intel_dp->DP |= EDP_PLL_FREQ_270MHZ;
sys/dev/pci/drm/i915/display/g4x_dp.c
215
intel_de_write(display, DP_A, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
228
intel_dp->DP |= EDP_PLL_ENABLE;
sys/dev/pci/drm/i915/display/g4x_dp.c
230
intel_de_write(display, DP_A, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
235
static void ilk_edp_pll_off(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
238
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
241
assert_dp_port_disabled(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
246
intel_dp->DP &= ~EDP_PLL_ENABLE;
sys/dev/pci/drm/i915/display/g4x_dp.c
248
intel_de_write(display, DP_A, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
304
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
313
ret = g4x_dp_port_enabled(display, intel_dp->output_reg,
sys/dev/pci/drm/i915/display/g4x_dp.c
340
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
350
tmp = intel_de_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
405
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/g4x_dp.c
416
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
421
(intel_de_read(display, intel_dp->output_reg) &
sys/dev/pci/drm/i915/display/g4x_dp.c
427
intel_dp->DP &= ~DP_PORT_EN;
sys/dev/pci/drm/i915/display/g4x_dp.c
428
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
429
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
445
intel_dp->DP &= ~(DP_PIPE_SEL_MASK | DP_LINK_TRAIN_MASK);
sys/dev/pci/drm/i915/display/g4x_dp.c
446
intel_dp->DP |= DP_PORT_EN | DP_PIPE_SEL(PIPE_A) |
sys/dev/pci/drm/i915/display/g4x_dp.c
448
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
449
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
451
intel_dp->DP &= ~DP_PORT_EN;
sys/dev/pci/drm/i915/display/g4x_dp.c
452
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
453
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
460
drm_msleep(intel_dp->pps.panel_power_down_delay);
sys/dev/pci/drm/i915/display/g4x_dp.c
471
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
477
intel_dp->DP |= DP_AUDIO_OUTPUT_ENABLE;
sys/dev/pci/drm/i915/display/g4x_dp.c
478
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
488
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
496
intel_dp->DP &= ~DP_AUDIO_OUTPUT_ENABLE;
sys/dev/pci/drm/i915/display/g4x_dp.c
497
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
505
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
507
intel_dp->link.active = false;
sys/dev/pci/drm/i915/display/g4x_dp.c
513
intel_pps_vdd_on(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
515
intel_dp_set_power(intel_dp, DP_SET_POWER_D3);
sys/dev/pci/drm/i915/display/g4x_dp.c
516
intel_pps_off(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
540
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
553
ilk_edp_pll_off(intel_dp, old_crtc_state);
sys/dev/pci/drm/i915/display/g4x_dp.c
576
cpt_set_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
580
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
582
intel_dp->DP &= ~DP_LINK_TRAIN_MASK_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
586
intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
589
intel_dp->DP |= DP_LINK_TRAIN_PAT_1_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
592
intel_dp->DP |= DP_LINK_TRAIN_PAT_2_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
599
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
600
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
604
cpt_set_idle_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
607
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
609
intel_dp->DP &= ~DP_LINK_TRAIN_MASK_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
610
intel_dp->DP |= DP_LINK_TRAIN_PAT_IDLE_CPT;
sys/dev/pci/drm/i915/display/g4x_dp.c
612
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
613
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
617
g4x_set_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
621
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
623
intel_dp->DP &= ~DP_LINK_TRAIN_MASK;
sys/dev/pci/drm/i915/display/g4x_dp.c
627
intel_dp->DP |= DP_LINK_TRAIN_OFF;
sys/dev/pci/drm/i915/display/g4x_dp.c
630
intel_dp->DP |= DP_LINK_TRAIN_PAT_1;
sys/dev/pci/drm/i915/display/g4x_dp.c
633
intel_dp->DP |= DP_LINK_TRAIN_PAT_2;
sys/dev/pci/drm/i915/display/g4x_dp.c
640
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
641
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
645
g4x_set_idle_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
648
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
650
intel_dp->DP &= ~DP_LINK_TRAIN_MASK;
sys/dev/pci/drm/i915/display/g4x_dp.c
651
intel_dp->DP |= DP_LINK_TRAIN_PAT_IDLE;
sys/dev/pci/drm/i915/display/g4x_dp.c
653
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
654
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
657
static void intel_dp_enable_port(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
660
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
664
intel_dp_program_link_training_pattern(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/g4x_dp.c
673
intel_dp->DP |= DP_PORT_EN;
sys/dev/pci/drm/i915/display/g4x_dp.c
675
intel_de_write(display, intel_dp->output_reg, intel_dp->DP);
sys/dev/pci/drm/i915/display/g4x_dp.c
676
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
685
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
686
u32 dp_reg = intel_de_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/g4x_dp.c
692
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/g4x_dp.c
696
intel_dp_enable_port(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/g4x_dp.c
698
intel_pps_vdd_on_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
699
intel_pps_on_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
700
intel_pps_vdd_off_unlocked(intel_dp, true);
sys/dev/pci/drm/i915/display/g4x_dp.c
712
intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/g4x_dp.c
713
intel_dp_configure_protocol_converter(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/g4x_dp.c
714
intel_dp_check_frl_training(intel_dp);
sys/dev/pci/drm/i915/display/g4x_dp.c
715
intel_dp_pcon_dsc_configure(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/g4x_dp.c
716
intel_dp_start_link_train(state, intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/g4x_dp.c
717
intel_dp_stop_link_train(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/g4x_dp.c
742
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
749
ilk_edp_pll_on(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/g4x_dp.c
803
static u8 intel_dp_voltage_max_2(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
809
static u8 intel_dp_voltage_max_3(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/g4x_dp.c
815
static u8 intel_dp_preemph_max_2(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/g4x_dp.c
820
static u8 intel_dp_preemph_max_3(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/g4x_dp.c
828
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
831
u8 train_set = intel_dp->train_set[0];
sys/dev/pci/drm/i915/display/g4x_dp.c
914
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.c
917
u8 train_set = intel_dp->train_set[0];
sys/dev/pci/drm/i915/display/g4x_dp.c
97
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/g4x_dp.h
17
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_alpm.c
135
_lnl_compute_aux_less_alpm_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
138
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
160
intel_dp->alpm_parameters.aux_less_wake_lines = aux_less_wake_lines;
sys/dev/pci/drm/i915/display/intel_alpm.c
161
intel_dp->alpm_parameters.silence_period_sym_clocks = silence_period;
sys/dev/pci/drm/i915/display/intel_alpm.c
162
intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms = lfps_half_cycle;
sys/dev/pci/drm/i915/display/intel_alpm.c
167
static bool _lnl_compute_alpm_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
170
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
183
if (!_lnl_compute_aux_less_alpm_params(intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_alpm.c
189
intel_dp->alpm_parameters.check_entry_lines = check_entry_lines;
sys/dev/pci/drm/i915/display/intel_alpm.c
219
bool intel_alpm_compute_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
222
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
227
int precharge = intel_dp_aux_fw_sync_len(intel_dp) - preamble;
sys/dev/pci/drm/i915/display/intel_alpm.c
251
if (!_lnl_compute_alpm_params(intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_alpm.c
258
intel_dp->alpm_parameters.io_wake_lines = max(io_wake_lines, 7);
sys/dev/pci/drm/i915/display/intel_alpm.c
259
intel_dp->alpm_parameters.fast_wake_lines = max(fast_wake_lines, 7);
sys/dev/pci/drm/i915/display/intel_alpm.c
264
void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
268
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
27
bool intel_alpm_aux_wake_supported(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_alpm.c
273
if (intel_dp->alpm_parameters.lobf_disable_debug) {
sys/dev/pci/drm/i915/display/intel_alpm.c
278
if (intel_dp->alpm_parameters.sink_alpm_error)
sys/dev/pci/drm/i915/display/intel_alpm.c
281
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_alpm.c
287
if (!intel_dp->as_sdp_supported)
sys/dev/pci/drm/i915/display/intel_alpm.c
29
return intel_dp->alpm_dpcd & DP_ALPM_CAP;
sys/dev/pci/drm/i915/display/intel_alpm.c
297
if (!(intel_alpm_aux_wake_supported(intel_dp) ||
sys/dev/pci/drm/i915/display/intel_alpm.c
298
intel_alpm_aux_less_wake_supported(intel_dp)))
sys/dev/pci/drm/i915/display/intel_alpm.c
301
if (!intel_alpm_compute_params(intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_alpm.c
308
if (intel_alpm_aux_less_wake_supported(intel_dp))
sys/dev/pci/drm/i915/display/intel_alpm.c
309
waketime_in_lines = intel_dp->alpm_parameters.io_wake_lines;
sys/dev/pci/drm/i915/display/intel_alpm.c
311
waketime_in_lines = intel_dp->alpm_parameters.aux_less_wake_lines;
sys/dev/pci/drm/i915/display/intel_alpm.c
317
static void lnl_alpm_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
32
bool intel_alpm_aux_less_wake_supported(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_alpm.c
320
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
324
if (DISPLAY_VER(display) < 20 || (!intel_psr_needs_alpm(intel_dp, crtc_state) &&
sys/dev/pci/drm/i915/display/intel_alpm.c
328
mutex_lock(&intel_dp->alpm_parameters.lock);
sys/dev/pci/drm/i915/display/intel_alpm.c
333
if (intel_alpm_is_alpm_aux_less(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_alpm.c
337
ALPM_CTL_AUX_LESS_WAKE_TIME(intel_dp->alpm_parameters.aux_less_wake_lines);
sys/dev/pci/drm/i915/display/intel_alpm.c
339
if (intel_dp->as_sdp_supported) {
sys/dev/pci/drm/i915/display/intel_alpm.c
34
return intel_dp->alpm_dpcd & DP_ALPM_AUX_LESS_CAP;
sys/dev/pci/drm/i915/display/intel_alpm.c
342
if (intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_CAPABILITY)] &
sys/dev/pci/drm/i915/display/intel_alpm.c
345
if (!(intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_CAPABILITY)] &
sys/dev/pci/drm/i915/display/intel_alpm.c
355
ALPM_CTL_EXTENDED_FAST_WAKE_TIME(intel_dp->alpm_parameters.fast_wake_lines);
sys/dev/pci/drm/i915/display/intel_alpm.c
363
alpm_ctl |= ALPM_CTL_ALPM_ENTRY_CHECK(intel_dp->alpm_parameters.check_entry_lines);
sys/dev/pci/drm/i915/display/intel_alpm.c
366
mutex_unlock(&intel_dp->alpm_parameters.lock);
sys/dev/pci/drm/i915/display/intel_alpm.c
369
void intel_alpm_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
37
bool intel_alpm_is_alpm_aux_less(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
372
lnl_alpm_configure(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_alpm.c
373
intel_dp->alpm_parameters.transcoder = crtc_state->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_alpm.c
376
void intel_alpm_port_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
379
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
380
enum port port = dp_to_dig_port(intel_dp)->base.port;
sys/dev/pci/drm/i915/display/intel_alpm.c
386
if (intel_alpm_is_alpm_aux_less(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_alpm.c
391
intel_dp->alpm_parameters.silence_period_sym_clocks);
sys/dev/pci/drm/i915/display/intel_alpm.c
394
intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms) |
sys/dev/pci/drm/i915/display/intel_alpm.c
396
intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms) |
sys/dev/pci/drm/i915/display/intel_alpm.c
398
intel_dp->alpm_parameters.lfps_half_cycle_num_of_syms);
sys/dev/pci/drm/i915/display/intel_alpm.c
40
return intel_psr_needs_alpm_aux_less(intel_dp, crtc_state) ||
sys/dev/pci/drm/i915/display/intel_alpm.c
41
(crtc_state->has_lobf && intel_alpm_aux_less_wake_supported(intel_dp));
sys/dev/pci/drm/i915/display/intel_alpm.c
425
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_alpm.c
430
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_alpm.c
432
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_alpm.c
436
mutex_lock(&intel_dp->alpm_parameters.lock);
sys/dev/pci/drm/i915/display/intel_alpm.c
439
mutex_unlock(&intel_dp->alpm_parameters.lock);
sys/dev/pci/drm/i915/display/intel_alpm.c
44
void intel_alpm_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_alpm.c
444
void intel_alpm_enable_sink(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.c
449
if (!intel_psr_needs_alpm(intel_dp, crtc_state) && !crtc_state->has_lobf)
sys/dev/pci/drm/i915/display/intel_alpm.c
455
intel_alpm_aux_less_wake_supported(intel_dp)))
sys/dev/pci/drm/i915/display/intel_alpm.c
458
drm_dp_dpcd_writeb(&intel_dp->aux, DP_RECEIVER_ALPM_CONFIG, val);
sys/dev/pci/drm/i915/display/intel_alpm.c
477
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_alpm.c
48
if (drm_dp_dpcd_readb(&intel_dp->aux, DP_RECEIVER_ALPM_CAP, &dpcd) < 0)
sys/dev/pci/drm/i915/display/intel_alpm.c
482
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_alpm.c
484
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_alpm.c
485
intel_alpm_enable_sink(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_alpm.c
486
intel_alpm_configure(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_alpm.c
51
intel_dp->alpm_dpcd = dpcd;
sys/dev/pci/drm/i915/display/intel_alpm.c
52
rw_init(&intel_dp->alpm_parameters.lock, "alpmp");
sys/dev/pci/drm/i915/display/intel_alpm.c
531
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_alpm.c
533
*val = intel_dp->alpm_parameters.lobf_disable_debug;
sys/dev/pci/drm/i915/display/intel_alpm.c
542
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_alpm.c
544
intel_dp->alpm_parameters.lobf_disable_debug = val;
sys/dev/pci/drm/i915/display/intel_alpm.c
569
void intel_alpm_disable(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_alpm.c
571
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
572
enum transcoder cpu_transcoder = intel_dp->alpm_parameters.transcoder;
sys/dev/pci/drm/i915/display/intel_alpm.c
574
if (DISPLAY_VER(display) < 20 || !intel_dp->alpm_dpcd)
sys/dev/pci/drm/i915/display/intel_alpm.c
577
mutex_lock(&intel_dp->alpm_parameters.lock);
sys/dev/pci/drm/i915/display/intel_alpm.c
583
mutex_unlock(&intel_dp->alpm_parameters.lock);
sys/dev/pci/drm/i915/display/intel_alpm.c
586
bool intel_alpm_get_error(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_alpm.c
588
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.c
589
struct drm_dp_aux *aux = &intel_dp->aux;
sys/dev/pci/drm/i915/display/intel_alpm.h
11
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_alpm.h
18
void intel_alpm_init(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.h
19
bool intel_alpm_compute_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.h
21
void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.h
24
void intel_alpm_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.h
26
void intel_alpm_enable_sink(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.h
30
void intel_alpm_port_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.h
35
bool intel_alpm_aux_wake_supported(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.h
36
bool intel_alpm_aux_less_wake_supported(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.h
37
bool intel_alpm_is_alpm_aux_less(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_alpm.h
39
void intel_alpm_disable(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_alpm.h
40
bool intel_alpm_get_error(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2558
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2560
intel_psr_pause(intel_dp);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2572
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2574
mutex_lock_nest_lock(&intel_dp->aux.hw_mutex,
sys/dev/pci/drm/i915/display/intel_cdclk.c
2581
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2583
mutex_unlock(&intel_dp->aux.hw_mutex);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2588
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cdclk.c
2590
intel_psr_resume(intel_dp);
sys/dev/pci/drm/i915/display/intel_cx0_phy.c
112
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cx0_phy.c
115
intel_psr_pause(intel_dp);
sys/dev/pci/drm/i915/display/intel_cx0_phy.c
125
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cx0_phy.c
127
intel_psr_resume(intel_dp);
sys/dev/pci/drm/i915/display/intel_cx0_phy.c
2036
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_cx0_phy.c
2038
(intel_dp->dpcd[DP_MAX_DOWNSPREAD] & DP_MAX_DOWNSPREAD_0_5);
sys/dev/pci/drm/i915/display/intel_ddi.c
1125
static u8 intel_ddi_dp_voltage_max(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
1128
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
1129
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_ddi.c
1149
static u8 intel_ddi_dp_preemph_max(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_ddi.c
1180
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
1183
intel_dp->hobl_active = is_hobl_buf_trans(trans);
sys/dev/pci/drm/i915/display/intel_ddi.c
1185
intel_dp->hobl_active ? val : 0);
sys/dev/pci/drm/i915/display/intel_ddi.c
1465
static int translate_signal_level(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
1468
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
1483
static int intel_ddi_dp_level(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
1487
u8 train_set = intel_dp->train_set[lane];
sys/dev/pci/drm/i915/display/intel_ddi.c
1495
return translate_signal_level(intel_dp, signal_levels);
sys/dev/pci/drm/i915/display/intel_ddi.c
1528
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
1545
intel_dp->DP &= ~DDI_BUF_EMP_MASK;
sys/dev/pci/drm/i915/display/intel_ddi.c
1546
intel_dp->DP |= signal_levels;
sys/dev/pci/drm/i915/display/intel_ddi.c
1548
intel_de_write(display, DDI_BUF_CTL(port), intel_dp->DP);
sys/dev/pci/drm/i915/display/intel_ddi.c
2309
static void intel_dp_sink_set_msa_timing_par_ignore_state(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
2313
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2318
if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_DOWNSPREAD_CTRL,
sys/dev/pci/drm/i915/display/intel_ddi.c
2325
static void intel_dp_sink_set_fec_ready(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
2329
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2334
if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_FEC_CONFIGURATION,
sys/dev/pci/drm/i915/display/intel_ddi.c
2340
drm_dp_dpcd_writeb(&intel_dp->aux, DP_FEC_STATUS,
sys/dev/pci/drm/i915/display/intel_ddi.c
2373
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
2397
ret = wait_for_fec_detected(&intel_dp->aux, enabled);
sys/dev/pci/drm/i915/display/intel_ddi.c
2623
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
2628
intel_dp_set_link_params(intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
2651
intel_pps_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2675
intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/intel_ddi.c
2677
transparent_mode = intel_dp_lttpr_transparent_mode_enabled(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2678
drm_dp_lttpr_wake_timeout_setup(&intel_dp->aux, transparent_mode);
sys/dev/pci/drm/i915/display/intel_ddi.c
2680
intel_dp_configure_protocol_converter(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2691
intel_dp_sink_set_fec_ready(intel_dp, crtc_state, true);
sys/dev/pci/drm/i915/display/intel_ddi.c
2693
intel_dp_check_frl_training(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2694
intel_dp_pcon_dsc_configure(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2715
intel_dp_start_link_train(state, intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2719
intel_dp_stop_link_train(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2727
ret = drm_dp_dpcd_write_payload(&intel_dp->aux, 1, 0, crtc_state->dp_m_n.tu);
sys/dev/pci/drm/i915/display/intel_ddi.c
2742
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
2747
intel_dp_set_link_params(intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
2765
intel_pps_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2839
intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/intel_ddi.c
2841
intel_dp_configure_protocol_converter(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2851
intel_dp_sink_set_fec_ready(intel_dp, crtc_state, true);
sys/dev/pci/drm/i915/display/intel_ddi.c
2853
intel_dp_check_frl_training(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2854
intel_dp_pcon_dsc_configure(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2863
intel_dp_start_link_train(state, intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2867
intel_dp_stop_link_train(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2874
ret = drm_dp_dpcd_write_payload(&intel_dp->aux, 1, 0, crtc_state->dp_m_n.tu);
sys/dev/pci/drm/i915/display/intel_ddi.c
2889
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
2900
intel_dp_set_link_params(intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
2910
intel_pps_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
2930
intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/intel_ddi.c
2931
intel_dp_configure_protocol_converter(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2936
intel_dp_sink_set_fec_ready(intel_dp, crtc_state, true);
sys/dev/pci/drm/i915/display/intel_ddi.c
2937
intel_dp_start_link_train(state, intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
2940
intel_dp_stop_link_train(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
3128
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_ddi.c
3141
intel_dp_set_power(intel_dp, DP_SET_POWER_D3);
sys/dev/pci/drm/i915/display/intel_ddi.c
3159
intel_dp_sink_set_fec_ready(intel_dp, old_crtc_state, false);
sys/dev/pci/drm/i915/display/intel_ddi.c
3171
intel_pps_vdd_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
3172
intel_pps_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
3227
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
3244
drm_dp_dpcd_write_payload(&intel_dp->aux, 1, 0, 0);
sys/dev/pci/drm/i915/display/intel_ddi.c
3252
drm_dp_dpcd_poll_act_handled(&intel_dp->aux, 0);
sys/dev/pci/drm/i915/display/intel_ddi.c
3368
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
3373
intel_dp_stop_link_train(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
3535
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
354
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
3543
drm_dp_dpcd_poll_act_handled(&intel_dp->aux, 0);
sys/dev/pci/drm/i915/display/intel_ddi.c
3571
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
3575
intel_dp->link.active = false;
sys/dev/pci/drm/i915/display/intel_ddi.c
3578
intel_psr_disable(intel_dp, old_crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
3579
intel_alpm_disable(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
358
intel_dp->DP = DDI_PORT_WIDTH(crtc_state->lane_count) |
sys/dev/pci/drm/i915/display/intel_ddi.c
3585
intel_dp_sink_set_msa_timing_par_ignore_state(intel_dp, old_crtc_state,
sys/dev/pci/drm/i915/display/intel_ddi.c
362
intel_dp->DP |= DDI_BUF_PORT_REVERSAL;
sys/dev/pci/drm/i915/display/intel_ddi.c
364
intel_dp->DP |= DDI_A_4_LANES;
sys/dev/pci/drm/i915/display/intel_ddi.c
368
intel_dp->DP |= DDI_BUF_PORT_DATA_40BIT;
sys/dev/pci/drm/i915/display/intel_ddi.c
370
intel_dp->DP |= DDI_BUF_PORT_DATA_10BIT;
sys/dev/pci/drm/i915/display/intel_ddi.c
3723
static void mtl_ddi_prepare_link_retrain(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
3727
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
374
intel_dp->DP |= ddi_buf_phy_link_rate(crtc_state->port_clock);
sys/dev/pci/drm/i915/display/intel_ddi.c
376
intel_dp->DP |= DDI_BUF_CTL_TC_PHY_OWNERSHIP;
sys/dev/pci/drm/i915/display/intel_ddi.c
3763
intel_dp->DP |= XE2LPD_DDI_BUF_D2D_LINK_ENABLE;
sys/dev/pci/drm/i915/display/intel_ddi.c
3765
intel_ddi_buf_enable(encoder, intel_dp->DP);
sys/dev/pci/drm/i915/display/intel_ddi.c
3766
intel_dp->DP |= DDI_BUF_CTL_ENABLE;
sys/dev/pci/drm/i915/display/intel_ddi.c
3772
intel_alpm_port_configure(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_ddi.c
3781
static void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
3784
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
3785
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
3809
intel_ddi_buf_enable(encoder, intel_dp->DP);
sys/dev/pci/drm/i915/display/intel_ddi.c
3810
intel_dp->DP |= DDI_BUF_CTL_ENABLE;
sys/dev/pci/drm/i915/display/intel_ddi.c
3813
static void intel_ddi_set_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
3817
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
3818
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_ddi.c
382
intel_dp->DP |= DDI_BUF_LANE_STAGGER_DELAY(delay);
sys/dev/pci/drm/i915/display/intel_ddi.c
3845
static void intel_ddi_set_idle_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_ddi.c
3848
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
3849
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_ddi.c
4148
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
4154
if (intel_dp_mst_active_streams(intel_dp))
sys/dev/pci/drm/i915/display/intel_ddi.c
4606
struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(encoder));
sys/dev/pci/drm/i915/display/intel_ddi.c
4609
intel_dp->reset_link_params = true;
sys/dev/pci/drm/i915/display/intel_ddi.c
4610
intel_dp_invalidate_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
4612
intel_pps_encoder_reset(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
4762
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_ddi.c
4768
if (intel_dp_test_phy(intel_dp))
sys/dev/pci/drm/i915/display/intel_ddi.c
4779
intel_dp_check_link_state(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
4994
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
4995
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
5015
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
5016
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_ddi.c
887
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi.c
900
intel_dp_mst_active_streams(intel_dp))
sys/dev/pci/drm/i915/display/intel_ddi.h
18
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_ddi_buf_trans.c
1125
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi_buf_trans.c
1126
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_ddi_buf_trans.c
1128
return connector->panel.vbt.edp.hobl && !intel_dp->hobl_failed;
sys/dev/pci/drm/i915/display/intel_ddi_buf_trans.c
1133
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_ddi_buf_trans.c
1134
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1037
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1045
intel_dp->force_dsc_bpc = dsc_bpc;
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1104
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1112
intel_dp->force_dsc_output_format = dsc_output_format;
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1139
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1155
intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1157
str_yes_no(intel_dp->force_dsc_fractional_bpp_en));
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1173
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
1189
intel_dp->force_dsc_fractional_bpp_en = dsc_fractional_bpp_enable;
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
218
struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
220
seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
224
drm_dp_downstream_debug(m, intel_dp->dpcd, intel_dp->downstream_ports,
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
225
connector->detect_edid, &intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
889
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
924
intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
940
drm_dp_dsc_sink_max_slice_count((connector->dp.dsc_dpcd), intel_dp_is_edp(intel_dp)));
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
942
str_yes_no(intel_dp->force_dsc_en));
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
943
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
962
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_display_debugfs.c
978
intel_dp->force_dsc_en = dsc_enable;
sys/dev/pci/drm/i915/display/intel_display_irq.c
1224
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_display_irq.c
1228
intel_dp->psr.transcoder);
sys/dev/pci/drm/i915/display/intel_display_irq.c
1237
intel_psr_irq_handler(intel_dp, psr_iir);
sys/dev/pci/drm/i915/display/intel_display_irq.c
941
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_display_irq.c
945
intel_psr_irq_handler(intel_dp, psr_iir);
sys/dev/pci/drm/i915/display/intel_display_types.h
1792
u32 (*get_aux_clock_divider)(struct intel_dp *dp, int index);
sys/dev/pci/drm/i915/display/intel_display_types.h
1797
u32 (*get_aux_send_ctl)(struct intel_dp *dp, int send_bytes,
sys/dev/pci/drm/i915/display/intel_display_types.h
1800
i915_reg_t (*aux_ch_ctl_reg)(struct intel_dp *dp);
sys/dev/pci/drm/i915/display/intel_display_types.h
1801
i915_reg_t (*aux_ch_data_reg)(struct intel_dp *dp, int index);
sys/dev/pci/drm/i915/display/intel_display_types.h
1804
void (*prepare_link_retrain)(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_display_types.h
1806
void (*set_link_train)(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_display_types.h
1809
void (*set_idle_link_train)(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_display_types.h
1812
u8 (*preemph_max)(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_display_types.h
1813
u8 (*voltage_max)(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_display_types.h
1888
struct intel_dp dp;
sys/dev/pci/drm/i915/display/intel_display_types.h
2008
static inline struct intel_dp *enc_to_intel_dp(struct intel_encoder *encoder)
sys/dev/pci/drm/i915/display/intel_display_types.h
2013
static inline struct intel_dp *intel_attached_dp(struct intel_connector *connector)
sys/dev/pci/drm/i915/display/intel_display_types.h
2049
dp_to_dig_port(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_display_types.h
2051
return container_of(intel_dp, struct intel_digital_port, dp);
sys/dev/pci/drm/i915/display/intel_display_types.h
2212
__assoc(intel_dp, p), \
sys/dev/pci/drm/i915/display/intel_display_types.h
559
struct intel_dp *dp;
sys/dev/pci/drm/i915/display/intel_dp.c
1084
static bool source_can_output(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1087
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1112
dfp_can_convert_from_rgb(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1115
if (!drm_dp_is_branch(intel_dp->dpcd))
sys/dev/pci/drm/i915/display/intel_dp.c
1119
return intel_dp->dfp.rgb_to_ycbcr;
sys/dev/pci/drm/i915/display/intel_dp.c
1122
return intel_dp->dfp.rgb_to_ycbcr &&
sys/dev/pci/drm/i915/display/intel_dp.c
1123
intel_dp->dfp.ycbcr_444_to_420;
sys/dev/pci/drm/i915/display/intel_dp.c
1129
dfp_can_convert_from_ycbcr444(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1132
if (!drm_dp_is_branch(intel_dp->dpcd))
sys/dev/pci/drm/i915/display/intel_dp.c
1136
return intel_dp->dfp.ycbcr_444_to_420;
sys/dev/pci/drm/i915/display/intel_dp.c
1142
dfp_can_convert(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1148
return dfp_can_convert_from_rgb(intel_dp, sink_format);
sys/dev/pci/drm/i915/display/intel_dp.c
1150
return dfp_can_convert_from_ycbcr444(intel_dp, sink_format);
sys/dev/pci/drm/i915/display/intel_dp.c
1164
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
1166
intel_dp->force_dsc_output_format;
sys/dev/pci/drm/i915/display/intel_dp.c
1169
if (source_can_output(intel_dp, force_dsc_output_format) &&
sys/dev/pci/drm/i915/display/intel_dp.c
1170
(!drm_dp_is_branch(intel_dp->dpcd) ||
sys/dev/pci/drm/i915/display/intel_dp.c
1172
dfp_can_convert(intel_dp, force_dsc_output_format, sink_format)))
sys/dev/pci/drm/i915/display/intel_dp.c
1179
dfp_can_convert_from_rgb(intel_dp, sink_format))
sys/dev/pci/drm/i915/display/intel_dp.c
1183
dfp_can_convert_from_ycbcr444(intel_dp, sink_format))
sys/dev/pci/drm/i915/display/intel_dp.c
1189
drm_WARN_ON(display->drm, !source_can_output(intel_dp, output_format));
sys/dev/pci/drm/i915/display/intel_dp.c
1259
static int intel_dp_max_tmds_clock(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1261
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
1263
int max_tmds_clock = intel_dp->dfp.max_tmds_clock;
sys/dev/pci/drm/i915/display/intel_dp.c
1273
intel_dp_tmds_clock_valid(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1285
min_tmds_clock = intel_dp->dfp.min_tmds_clock;
sys/dev/pci/drm/i915/display/intel_dp.c
1286
max_tmds_clock = intel_dp_max_tmds_clock(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1302
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
1308
if (intel_dp->dfp.pcon_max_frl_bw) {
sys/dev/pci/drm/i915/display/intel_dp.c
1315
max_frl_bw = intel_dp->dfp.pcon_max_frl_bw;
sys/dev/pci/drm/i915/display/intel_dp.c
1326
if (intel_dp->dfp.max_dotclock &&
sys/dev/pci/drm/i915/display/intel_dp.c
1327
target_clock > intel_dp->dfp.max_dotclock)
sys/dev/pci/drm/i915/display/intel_dp.c
1333
status = intel_dp_tmds_clock_valid(intel_dp, target_clock,
sys/dev/pci/drm/i915/display/intel_dp.c
1342
status = intel_dp_tmds_clock_valid(intel_dp, target_clock,
sys/dev/pci/drm/i915/display/intel_dp.c
1352
bool intel_dp_needs_joiner(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1357
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
136
bool intel_dp_is_edp(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1360
if (!intel_dp_has_joiner(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
1371
int intel_dp_num_joined_pipes(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1375
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
138
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1381
intel_dp_needs_joiner(intel_dp, connector, hdisplay, clock, 4))
sys/dev/pci/drm/i915/display/intel_dp.c
1385
intel_dp_needs_joiner(intel_dp, connector, hdisplay, clock, 2))
sys/dev/pci/drm/i915/display/intel_dp.c
1417
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
143
static void intel_dp_unset_edid(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1440
if (intel_dp_is_edp(intel_dp) && fixed_mode) {
sys/dev/pci/drm/i915/display/intel_dp.c
1448
num_joined_pipes = intel_dp_num_joined_pipes(intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp.c
1465
max_link_clock = intel_dp_max_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1466
max_lanes = intel_dp_max_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1468
max_rate = intel_dp_max_link_data_rate(intel_dp, max_link_clock, max_lanes);
sys/dev/pci/drm/i915/display/intel_dp.c
1486
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
1544
static void intel_dp_print_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1546
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1552
seq_buf_print_array(&s, intel_dp->source_rates, intel_dp->num_source_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
1556
seq_buf_print_array(&s, intel_dp->sink_rates, intel_dp->num_sink_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
1560
seq_buf_print_array(&s, intel_dp->common_rates, intel_dp->num_common_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
1564
static int forced_link_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1566
int len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.force_rate);
sys/dev/pci/drm/i915/display/intel_dp.c
1569
return intel_dp_common_rate(intel_dp, 0);
sys/dev/pci/drm/i915/display/intel_dp.c
1571
return intel_dp_common_rate(intel_dp, len - 1);
sys/dev/pci/drm/i915/display/intel_dp.c
1575
intel_dp_max_link_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1579
if (intel_dp->link.force_rate)
sys/dev/pci/drm/i915/display/intel_dp.c
1580
return forced_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1582
len = intel_dp_common_len_rate_limit(intel_dp, intel_dp->link.max_rate);
sys/dev/pci/drm/i915/display/intel_dp.c
1584
return intel_dp_common_rate(intel_dp, len - 1);
sys/dev/pci/drm/i915/display/intel_dp.c
1588
intel_dp_min_link_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1590
if (intel_dp->link.force_rate)
sys/dev/pci/drm/i915/display/intel_dp.c
1591
return forced_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1593
return intel_dp_common_rate(intel_dp, 0);
sys/dev/pci/drm/i915/display/intel_dp.c
1596
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate)
sys/dev/pci/drm/i915/display/intel_dp.c
1598
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1599
int i = intel_dp_rate_index(intel_dp->sink_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
1600
intel_dp->num_sink_rates, rate);
sys/dev/pci/drm/i915/display/intel_dp.c
1608
void intel_dp_compute_rate(struct intel_dp *intel_dp, int port_clock,
sys/dev/pci/drm/i915/display/intel_dp.c
1611
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1618
if (intel_dp->use_rate_select) {
sys/dev/pci/drm/i915/display/intel_dp.c
1621
intel_dp_rate_select(intel_dp, port_clock);
sys/dev/pci/drm/i915/display/intel_dp.c
1628
bool intel_dp_has_hdmi_sink(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1630
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
1635
static bool intel_dp_source_supports_fec(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1638
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1639
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
1651
bool intel_dp_supports_fec(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1655
return intel_dp_source_supports_fec(intel_dp, pipe_config) &&
sys/dev/pci/drm/i915/display/intel_dp.c
1659
bool intel_dp_supports_dsc(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1667
!intel_dp_supports_fec(intel_dp, connector, crtc_state))
sys/dev/pci/drm/i915/display/intel_dp.c
1673
static int intel_dp_hdmi_compute_bpc(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1696
intel_dp_has_hdmi_sink(intel_dp)) &&
sys/dev/pci/drm/i915/display/intel_dp.c
1697
intel_dp_tmds_clock_valid(intel_dp, clock, bpc, crtc_state->sink_format,
sys/dev/pci/drm/i915/display/intel_dp.c
1705
static int intel_dp_max_bpp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1709
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1710
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
1715
if (intel_dp->dfp.max_bpc)
sys/dev/pci/drm/i915/display/intel_dp.c
1716
bpc = min_t(int, bpc, intel_dp->dfp.max_bpc);
sys/dev/pci/drm/i915/display/intel_dp.c
1718
if (intel_dp->dfp.min_tmds_clock) {
sys/dev/pci/drm/i915/display/intel_dp.c
1721
max_hdmi_bpc = intel_dp_hdmi_compute_bpc(intel_dp, crtc_state, bpc,
sys/dev/pci/drm/i915/display/intel_dp.c
1730
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
175
static int max_dprx_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
177
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
1772
intel_dp_compute_link_config_wide(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1787
for (i = 0; i < intel_dp->num_common_rates; i++) {
sys/dev/pci/drm/i915/display/intel_dp.c
1788
link_rate = intel_dp_common_rate(intel_dp, i);
sys/dev/pci/drm/i915/display/intel_dp.c
1796
link_avail = intel_dp_max_link_data_rate(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
180
if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
181
max_rate = drm_dp_tunnel_max_dprx_rate(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp.c
183
max_rate = drm_dp_bw_code_to_link_rate(intel_dp->dpcd[DP_MAX_LINK_RATE]);
sys/dev/pci/drm/i915/display/intel_dp.c
191
if (intel_dp_is_edp(intel_dp) && intel_has_quirk(display, QUIRK_EDP_LIMIT_RATE_HBR2))
sys/dev/pci/drm/i915/display/intel_dp.c
197
static int max_dprx_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
1971
static int dsc_compute_link_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
1982
for (i = 0; i < intel_dp->num_common_rates; i++) {
sys/dev/pci/drm/i915/display/intel_dp.c
1983
link_rate = intel_dp_common_rate(intel_dp, i);
sys/dev/pci/drm/i915/display/intel_dp.c
199
if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
200
return drm_dp_tunnel_max_dprx_lane_count(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp.c
2005
ret = intel_dp_mtp_tu_compute_config(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
202
return drm_dp_max_lane_count(intel_dp->dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
205
static void intel_dp_set_default_sink_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
207
intel_dp->sink_rates[0] = 162000;
sys/dev/pci/drm/i915/display/intel_dp.c
208
intel_dp->num_sink_rates = 1;
sys/dev/pci/drm/i915/display/intel_dp.c
2086
static int dsc_src_max_compressed_bpp(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
2088
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2096
if (intel_dp->force_dsc_en)
sys/dev/pci/drm/i915/display/intel_dp.c
212
static void intel_dp_set_dpcd_sink_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
2132
bool intel_dp_dsc_valid_compressed_bpp(struct intel_dp *intel_dp, int bpp_x16)
sys/dev/pci/drm/i915/display/intel_dp.c
2134
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2138
if (intel_dp->force_dsc_fractional_bpp_en && !fxp_q4_to_frac(bpp_x16))
sys/dev/pci/drm/i915/display/intel_dp.c
2159
static int dsc_compute_compressed_bpp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2166
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2192
if (!intel_dp_dsc_valid_compressed_bpp(intel_dp, bpp_x16))
sys/dev/pci/drm/i915/display/intel_dp.c
2195
ret = dsc_compute_link_config(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
220
if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS)) {
sys/dev/pci/drm/i915/display/intel_dp.c
2203
if (intel_dp->force_dsc_fractional_bpp_en &&
sys/dev/pci/drm/i915/display/intel_dp.c
2230
int intel_dp_force_dsc_pipe_bpp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2233
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2236
if (!intel_dp->force_dsc_bpc)
sys/dev/pci/drm/i915/display/intel_dp.c
2239
forced_bpp = intel_dp->force_dsc_bpc * 3;
sys/dev/pci/drm/i915/display/intel_dp.c
224
memcpy(intel_dp->sink_rates, quirk_rates, sizeof(quirk_rates));
sys/dev/pci/drm/i915/display/intel_dp.c
2243
intel_dp->force_dsc_bpc);
sys/dev/pci/drm/i915/display/intel_dp.c
2249
intel_dp->force_dsc_bpc);
sys/dev/pci/drm/i915/display/intel_dp.c
225
intel_dp->num_sink_rates = ARRAY_SIZE(quirk_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
2254
static int intel_dp_dsc_compute_pipe_bpp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2266
forced_bpp = intel_dp_force_dsc_pipe_bpp(intel_dp, limits);
sys/dev/pci/drm/i915/display/intel_dp.c
2269
ret = dsc_compute_compressed_bpp(intel_dp, pipe_config, conn_state,
sys/dev/pci/drm/i915/display/intel_dp.c
2287
ret = dsc_compute_compressed_bpp(intel_dp, pipe_config, conn_state,
sys/dev/pci/drm/i915/display/intel_dp.c
2298
static int intel_edp_dsc_compute_pipe_bpp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2303
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2310
forced_bpp = intel_dp_force_dsc_pipe_bpp(intel_dp, limits);
sys/dev/pci/drm/i915/display/intel_dp.c
233
max_rate = max_dprx_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
234
max_lttpr_rate = drm_dp_lttpr_max_link_rate(intel_dp->lttpr_common_caps);
sys/dev/pci/drm/i915/display/intel_dp.c
2343
static void intel_dp_fec_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2354
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
2363
int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2369
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2378
intel_dp_fec_compute_config(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/intel_dp.c
2388
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
2389
ret = intel_edp_dsc_compute_pipe_bpp(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp.c
2392
ret = intel_dp_dsc_compute_pipe_bpp(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp.c
2402
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
241
intel_dp->sink_rates[i] = dp_rates[i];
sys/dev/pci/drm/i915/display/intel_dp.c
2468
intel_dp_compute_config_link_bpp_limits(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2474
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2478
const struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
248
if (drm_dp_128b132b_supported(intel_dp->dpcd)) {
sys/dev/pci/drm/i915/display/intel_dp.c
2500
dsc_src_max_bpp = dsc_src_max_compressed_bpp(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
251
BUILD_BUG_ON(ARRAY_SIZE(intel_dp->sink_rates) < ARRAY_SIZE(dp_rates) + 3);
sys/dev/pci/drm/i915/display/intel_dp.c
253
drm_dp_dpcd_readb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
2553
intel_dp_compute_config_limits(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
256
if (drm_dp_lttpr_count(intel_dp->lttpr_common_caps)) {
sys/dev/pci/drm/i915/display/intel_dp.c
2560
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2565
limits->min_rate = intel_dp_min_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2566
limits->max_rate = intel_dp_max_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2570
limits->min_lane_count = intel_dp_min_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2571
limits->max_lane_count = intel_dp_max_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
258
if (intel_dp->lttpr_common_caps[0] >= 0x20 &&
sys/dev/pci/drm/i915/display/intel_dp.c
2585
limits->pipe.max_bpp = intel_dp_max_bpp(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp.c
259
intel_dp->lttpr_common_caps[DP_MAIN_LINK_CHANNEL_CODING_PHY_REPEATER -
sys/dev/pci/drm/i915/display/intel_dp.c
2590
if (intel_dp_supports_dsc(intel_dp, connector, crtc_state) &&
sys/dev/pci/drm/i915/display/intel_dp.c
2598
str_yes_no(intel_dp_supports_dsc(intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp.c
2605
if (is_mst || intel_dp->use_max_params) {
sys/dev/pci/drm/i915/display/intel_dp.c
2621
intel_dp_test_compute_config(intel_dp, crtc_state, limits);
sys/dev/pci/drm/i915/display/intel_dp.c
2623
return intel_dp_compute_config_link_bpp_limits(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
263
uhbr_rates &= intel_dp->lttpr_common_caps[DP_PHY_REPEATER_128B132B_RATES -
sys/dev/pci/drm/i915/display/intel_dp.c
2666
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
2673
!intel_dp_supports_fec(intel_dp, connector, pipe_config))
sys/dev/pci/drm/i915/display/intel_dp.c
2676
num_joined_pipes = intel_dp_num_joined_pipes(intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp.c
2684
dsc_needed = joiner_needs_dsc || intel_dp->force_dsc_en ||
sys/dev/pci/drm/i915/display/intel_dp.c
2685
!intel_dp_compute_config_limits(intel_dp, conn_state, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp.c
2695
ret = intel_dp_compute_link_config_wide(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp.c
2698
ret = intel_dp_mtp_tu_compute_config(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2708
if (dsc_needed && !intel_dp_supports_dsc(intel_dp, connector, pipe_config)) {
sys/dev/pci/drm/i915/display/intel_dp.c
2717
str_yes_no(intel_dp->force_dsc_en));
sys/dev/pci/drm/i915/display/intel_dp.c
2719
if (!intel_dp_compute_config_limits(intel_dp, conn_state, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp.c
272
intel_dp->sink_rates[i++] = 1000000;
sys/dev/pci/drm/i915/display/intel_dp.c
2725
ret = intel_dp_dsc_compute_config(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp.c
2738
intel_dp_max_link_data_rate(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
274
intel_dp->sink_rates[i++] = 1350000;
sys/dev/pci/drm/i915/display/intel_dp.c
276
intel_dp->sink_rates[i++] = 2000000;
sys/dev/pci/drm/i915/display/intel_dp.c
279
intel_dp->num_sink_rates = i;
sys/dev/pci/drm/i915/display/intel_dp.c
282
static void intel_dp_set_sink_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
284
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
285
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
286
struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2877
static void intel_dp_compute_as_sdp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2884
if (!crtc_state->vrr.enable || !intel_dp->as_sdp_supported)
sys/dev/pci/drm/i915/display/intel_dp.c
289
intel_dp_set_dpcd_sink_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
2904
static void intel_dp_compute_vsc_sdp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
291
if (intel_dp->num_sink_rates)
sys/dev/pci/drm/i915/display/intel_dp.c
2910
if ((!intel_dp->colorimetry_support ||
sys/dev/pci/drm/i915/display/intel_dp.c
2966
intel_dp_compute_hdr_metadata_infoframe_sdp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
2970
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
299
intel_dp_set_default_sink_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
302
static void intel_dp_set_default_max_sink_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
304
intel_dp->max_sink_lane_count = 1;
sys/dev/pci/drm/i915/display/intel_dp.c
307
static void intel_dp_set_max_sink_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3086
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
3087
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
309
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
310
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
311
struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
314
intel_dp->max_sink_lane_count = max_dprx_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3143
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
3146
if (intel_dp->needs_modeset_retry)
sys/dev/pci/drm/i915/display/intel_dp.c
3149
intel_dp->needs_modeset_retry = true;
sys/dev/pci/drm/i915/display/intel_dp.c
3152
intel_connector_queue_modeset_retry_work(intel_dp->attached_connector);
sys/dev/pci/drm/i915/display/intel_dp.c
316
switch (intel_dp->max_sink_lane_count) {
sys/dev/pci/drm/i915/display/intel_dp.c
3161
if (connector->mst.dp == intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3263
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
3265
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
3269
if (intel_dp_is_edp(intel_dp) && fixed_mode) {
sys/dev/pci/drm/i915/display/intel_dp.c
327
intel_dp->max_sink_lane_count);
sys/dev/pci/drm/i915/display/intel_dp.c
329
intel_dp_set_default_max_sink_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3298
if ((intel_dp_is_edp(intel_dp) && fixed_mode) ||
sys/dev/pci/drm/i915/display/intel_dp.c
3313
drm_dp_enhanced_frame_cap(intel_dp->dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
3322
if (intel_dp->mso_link_count) {
sys/dev/pci/drm/i915/display/intel_dp.c
3323
int n = intel_dp->mso_link_count;
sys/dev/pci/drm/i915/display/intel_dp.c
3324
int overlap = intel_dp->mso_pixel_overlap;
sys/dev/pci/drm/i915/display/intel_dp.c
3363
intel_dp_compute_as_sdp(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/intel_dp.c
3364
intel_psr_compute_config(intel_dp, pipe_config, conn_state);
sys/dev/pci/drm/i915/display/intel_dp.c
3365
intel_alpm_lobf_compute_config(intel_dp, pipe_config, conn_state);
sys/dev/pci/drm/i915/display/intel_dp.c
3367
intel_dp_compute_vsc_sdp(intel_dp, pipe_config, conn_state);
sys/dev/pci/drm/i915/display/intel_dp.c
3368
intel_dp_compute_hdr_metadata_infoframe_sdp(intel_dp, pipe_config, conn_state);
sys/dev/pci/drm/i915/display/intel_dp.c
3370
return intel_dp_tunnel_atomic_compute_stream_bw(state, intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp.c
3374
void intel_dp_set_link_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
3377
memset(intel_dp->train_set, 0, sizeof(intel_dp->train_set));
sys/dev/pci/drm/i915/display/intel_dp.c
3378
intel_dp->link.active = false;
sys/dev/pci/drm/i915/display/intel_dp.c
3379
intel_dp->needs_modeset_retry = false;
sys/dev/pci/drm/i915/display/intel_dp.c
3380
intel_dp->link_rate = link_rate;
sys/dev/pci/drm/i915/display/intel_dp.c
3381
intel_dp->lane_count = lane_count;
sys/dev/pci/drm/i915/display/intel_dp.c
3384
void intel_dp_reset_link_params(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3386
intel_dp->link.max_lane_count = intel_dp_max_common_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3387
intel_dp->link.max_rate = intel_dp_max_common_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3388
intel_dp->link.mst_probed_lane_count = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
3389
intel_dp->link.mst_probed_rate = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
3390
intel_dp->link.retrain_disabled = false;
sys/dev/pci/drm/i915/display/intel_dp.c
3391
intel_dp->link.seq_train_failures = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
3399
struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(conn_state->best_encoder));
sys/dev/pci/drm/i915/display/intel_dp.c
3401
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
3407
intel_pps_backlight_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3413
struct intel_dp *intel_dp = enc_to_intel_dp(to_intel_encoder(old_conn_state->best_encoder));
sys/dev/pci/drm/i915/display/intel_dp.c
3414
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3416
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
3421
intel_pps_backlight_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3425
static bool downstream_hpd_needs_d0(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3435
return intel_dp->dpcd[DP_DPCD_REV] == 0x11 &&
sys/dev/pci/drm/i915/display/intel_dp.c
3436
drm_dp_is_branch(intel_dp->dpcd) &&
sys/dev/pci/drm/i915/display/intel_dp.c
3437
intel_dp->downstream_ports[0] & DP_DS_PORT_HPD;
sys/dev/pci/drm/i915/display/intel_dp.c
347
static int intel_dp_common_len_rate_limit(const struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
350
return intel_dp_rate_limit_len(intel_dp->common_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
351
intel_dp->num_common_rates, max_rate);
sys/dev/pci/drm/i915/display/intel_dp.c
354
int intel_dp_common_rate(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp.c
356
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
359
index < 0 || index >= intel_dp->num_common_rates))
sys/dev/pci/drm/i915/display/intel_dp.c
3614
intel_dp_init_source_oui(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3616
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
362
return intel_dp->common_rates[index];
sys/dev/pci/drm/i915/display/intel_dp.c
3620
if (READ_ONCE(intel_dp->oui_valid))
sys/dev/pci/drm/i915/display/intel_dp.c
3623
WRITE_ONCE(intel_dp->oui_valid, true);
sys/dev/pci/drm/i915/display/intel_dp.c
3629
if (drm_dp_dpcd_read(&intel_dp->aux, DP_SOURCE_OUI, buf, sizeof(buf)) < 0)
sys/dev/pci/drm/i915/display/intel_dp.c
3634
intel_dp->last_oui_write = jiffies;
sys/dev/pci/drm/i915/display/intel_dp.c
3638
if (drm_dp_dpcd_write(&intel_dp->aux, DP_SOURCE_OUI, oui, sizeof(oui)) < 0) {
sys/dev/pci/drm/i915/display/intel_dp.c
3640
WRITE_ONCE(intel_dp->oui_valid, false);
sys/dev/pci/drm/i915/display/intel_dp.c
3643
intel_dp->last_oui_write = jiffies;
sys/dev/pci/drm/i915/display/intel_dp.c
3646
void intel_dp_invalidate_source_oui(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3648
WRITE_ONCE(intel_dp->oui_valid, false);
sys/dev/pci/drm/i915/display/intel_dp.c
3651
void intel_dp_wait_source_oui(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3653
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3654
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
366
int intel_dp_max_common_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3661
wait_remaining_ms_from_jiffies(intel_dp->last_oui_write,
sys/dev/pci/drm/i915/display/intel_dp.c
3666
void intel_dp_set_power(struct intel_dp *intel_dp, u8 mode)
sys/dev/pci/drm/i915/display/intel_dp.c
3668
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3669
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
3673
if (intel_dp->dpcd[DP_DPCD_REV] < 0x11)
sys/dev/pci/drm/i915/display/intel_dp.c
3677
if (downstream_hpd_needs_d0(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
368
return intel_dp_common_rate(intel_dp, intel_dp->num_common_rates - 1);
sys/dev/pci/drm/i915/display/intel_dp.c
3680
ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, mode);
sys/dev/pci/drm/i915/display/intel_dp.c
3682
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3687
intel_dp_init_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3694
ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, mode);
sys/dev/pci/drm/i915/display/intel_dp.c
3712
intel_dp_get_dpcd(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3725
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
3732
if (crtc_state && intel_dp->dpcd[DP_DPCD_REV] == 0) {
sys/dev/pci/drm/i915/display/intel_dp.c
3733
intel_dp_get_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3737
intel_dp_tunnel_resume(intel_dp, crtc_state, dpcd_updated);
sys/dev/pci/drm/i915/display/intel_dp.c
3740
intel_dp_reset_link_params(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3741
intel_dp_set_link_params(intel_dp, crtc_state->port_clock, crtc_state->lane_count);
sys/dev/pci/drm/i915/display/intel_dp.c
3742
intel_dp->link.active = true;
sys/dev/pci/drm/i915/display/intel_dp.c
3750
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
3757
if (intel_dp_rate_index(intel_dp->source_rates, intel_dp->num_source_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
3781
if (CAN_PANEL_REPLAY(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
3792
static void intel_dp_get_pcon_dsc_cap(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3794
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3798
memset(intel_dp->pcon_dsc_dpcd, 0, sizeof(intel_dp->pcon_dsc_dpcd));
sys/dev/pci/drm/i915/display/intel_dp.c
3800
if (!drm_dp_is_branch(intel_dp->dpcd))
sys/dev/pci/drm/i915/display/intel_dp.c
3803
if (drm_dp_dpcd_read(&intel_dp->aux, DP_PCON_DSC_ENCODER,
sys/dev/pci/drm/i915/display/intel_dp.c
3804
intel_dp->pcon_dsc_dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
3805
sizeof(intel_dp->pcon_dsc_dpcd)) < 0)
sys/dev/pci/drm/i915/display/intel_dp.c
3810
(int)sizeof(intel_dp->pcon_dsc_dpcd), intel_dp->pcon_dsc_dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
383
int intel_dp_max_common_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3845
static int intel_dp_hdmi_sink_max_frl(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3847
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
385
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3868
intel_dp_pcon_is_frl_trained(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
387
int sink_max = intel_dp->max_sink_lane_count;
sys/dev/pci/drm/i915/display/intel_dp.c
3871
if (drm_dp_pcon_hdmi_link_active(&intel_dp->aux) &&
sys/dev/pci/drm/i915/display/intel_dp.c
3872
drm_dp_pcon_hdmi_link_mode(&intel_dp->aux, frl_trained_mask) == DP_PCON_HDMI_MODE_FRL &&
sys/dev/pci/drm/i915/display/intel_dp.c
3879
static int intel_dp_pcon_start_frl_training(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3881
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3888
max_pcon_frl_bw = intel_dp->dfp.pcon_max_frl_bw;
sys/dev/pci/drm/i915/display/intel_dp.c
389
int lttpr_max = drm_dp_lttpr_max_lane_count(intel_dp->lttpr_common_caps);
sys/dev/pci/drm/i915/display/intel_dp.c
3891
max_edid_frl_bw = intel_dp_hdmi_sink_max_frl(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3903
if (intel_dp_pcon_is_frl_trained(intel_dp, max_frl_bw_mask, &frl_trained_mask))
sys/dev/pci/drm/i915/display/intel_dp.c
3906
ret = drm_dp_pcon_frl_prepare(&intel_dp->aux, false);
sys/dev/pci/drm/i915/display/intel_dp.c
3910
ret = poll_timeout_us(is_active = drm_dp_pcon_is_frl_ready(&intel_dp->aux),
sys/dev/pci/drm/i915/display/intel_dp.c
3916
ret = drm_dp_pcon_frl_configure_1(&intel_dp->aux, max_frl_bw,
sys/dev/pci/drm/i915/display/intel_dp.c
3920
ret = drm_dp_pcon_frl_configure_2(&intel_dp->aux, max_frl_bw_mask,
sys/dev/pci/drm/i915/display/intel_dp.c
3924
ret = drm_dp_pcon_frl_enable(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
3931
ret = poll_timeout_us(is_active = intel_dp_pcon_is_frl_trained(intel_dp, max_frl_bw_mask, &frl_trained_mask),
sys/dev/pci/drm/i915/display/intel_dp.c
3939
intel_dp->frl.trained_rate_gbps = intel_dp_pcon_get_frl_mask(frl_trained_mask);
sys/dev/pci/drm/i915/display/intel_dp.c
3940
intel_dp->frl.is_trained = true;
sys/dev/pci/drm/i915/display/intel_dp.c
3942
intel_dp->frl.trained_rate_gbps);
sys/dev/pci/drm/i915/display/intel_dp.c
3947
static bool intel_dp_is_hdmi_2_1_sink(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3949
if (drm_dp_is_branch(intel_dp->dpcd) &&
sys/dev/pci/drm/i915/display/intel_dp.c
3950
intel_dp_has_hdmi_sink(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_dp.c
3951
intel_dp_hdmi_sink_max_frl(intel_dp) > 0)
sys/dev/pci/drm/i915/display/intel_dp.c
3958
int intel_dp_pcon_set_tmds_mode(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3966
ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_PCON_HDMI_LINK_CONFIG_1, buf);
sys/dev/pci/drm/i915/display/intel_dp.c
397
static int forced_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3972
ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_PCON_HDMI_LINK_CONFIG_1, buf);
sys/dev/pci/drm/i915/display/intel_dp.c
3979
void intel_dp_check_frl_training(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
3981
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3988
if (!(intel_dp->downstream_ports[2] & DP_PCON_SOURCE_CTL_MODE) ||
sys/dev/pci/drm/i915/display/intel_dp.c
3989
!intel_dp_is_hdmi_2_1_sink(intel_dp) ||
sys/dev/pci/drm/i915/display/intel_dp.c
399
return clamp(intel_dp->link.force_lane_count, 1, intel_dp_max_common_lane_count(intel_dp));
sys/dev/pci/drm/i915/display/intel_dp.c
3990
intel_dp->frl.is_trained)
sys/dev/pci/drm/i915/display/intel_dp.c
3993
if (intel_dp_pcon_start_frl_training(intel_dp) < 0) {
sys/dev/pci/drm/i915/display/intel_dp.c
3998
ret = intel_dp_pcon_set_tmds_mode(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
3999
mode = drm_dp_pcon_hdmi_link_mode(&intel_dp->aux, NULL);
sys/dev/pci/drm/i915/display/intel_dp.c
4018
intel_dp_pcon_dsc_enc_slices(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
402
int intel_dp_max_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4021
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
4025
int pcon_max_slices = drm_dp_pcon_dsc_max_slices(intel_dp->pcon_dsc_dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
4026
int pcon_max_slice_width = drm_dp_pcon_dsc_max_slice_width(intel_dp->pcon_dsc_dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
4034
intel_dp_pcon_dsc_enc_bpp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
4038
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
4042
int pcon_fractional_bpp = drm_dp_pcon_dsc_bpp_incr(intel_dp->pcon_dsc_dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
4052
intel_dp_pcon_dsc_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
4055
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4056
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
406
if (intel_dp->link.force_lane_count)
sys/dev/pci/drm/i915/display/intel_dp.c
4066
if (!intel_dp_is_hdmi_2_1_sink(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
407
lane_count = forced_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4076
if (!drm_dp_pcon_enc_is_dsc_1_2(intel_dp->pcon_dsc_dpcd) ||
sys/dev/pci/drm/i915/display/intel_dp.c
4084
num_slices = intel_dp_pcon_dsc_enc_slices(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp.c
409
lane_count = intel_dp->link.max_lane_count;
sys/dev/pci/drm/i915/display/intel_dp.c
4091
bits_per_pixel = intel_dp_pcon_dsc_enc_bpp(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp.c
4103
ret = drm_dp_pcon_pps_override_param(&intel_dp->aux, pps_param);
sys/dev/pci/drm/i915/display/intel_dp.c
4108
void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
4111
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4116
if (intel_dp->dpcd[DP_DPCD_REV] < 0x13)
sys/dev/pci/drm/i915/display/intel_dp.c
4119
if (!drm_dp_is_branch(intel_dp->dpcd))
sys/dev/pci/drm/i915/display/intel_dp.c
4122
tmp = intel_dp_has_hdmi_sink(intel_dp) ? DP_HDMI_DVI_OUTPUT_CONFIG : 0;
sys/dev/pci/drm/i915/display/intel_dp.c
4124
if (drm_dp_dpcd_writeb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
4128
str_enable_disable(intel_dp_has_hdmi_sink(intel_dp)));
sys/dev/pci/drm/i915/display/intel_dp.c
4160
if (drm_dp_dpcd_writeb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
4164
str_enable_disable(intel_dp->dfp.ycbcr_444_to_420));
sys/dev/pci/drm/i915/display/intel_dp.c
4168
if (drm_dp_pcon_convert_rgb_to_ycbcr(&intel_dp->aux, tmp) < 0)
sys/dev/pci/drm/i915/display/intel_dp.c
4174
static bool intel_dp_get_colorimetry_status(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4178
if (drm_dp_dpcd_readb(&intel_dp->aux, DP_DPRX_FEATURE_ENUMERATION_LIST,
sys/dev/pci/drm/i915/display/intel_dp.c
422
static int intel_dp_min_lane_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4238
intel_dp_detect_dsc_caps(struct intel_dp *intel_dp, struct intel_connector *connector)
sys/dev/pci/drm/i915/display/intel_dp.c
424
if (intel_dp->link.force_lane_count)
sys/dev/pci/drm/i915/display/intel_dp.c
4240
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4246
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
4247
intel_edp_get_dsc_sink_cap(intel_dp->edp_dpcd[0],
sys/dev/pci/drm/i915/display/intel_dp.c
425
return forced_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4250
intel_dp_get_dsc_sink_cap(intel_dp->dpcd[DP_DPCD_REV],
sys/dev/pci/drm/i915/display/intel_dp.c
4258
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
4259
int n = intel_dp->mso_link_count;
sys/dev/pci/drm/i915/display/intel_dp.c
4260
int overlap = intel_dp->mso_pixel_overlap;
sys/dev/pci/drm/i915/display/intel_dp.c
4282
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
4283
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
4306
static void intel_edp_mso_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4308
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4309
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
4313
if (intel_dp->edp_dpcd[0] < DP_EDP_14)
sys/dev/pci/drm/i915/display/intel_dp.c
4316
if (drm_dp_dpcd_readb(&intel_dp->aux, DP_EDP_MSO_LINK_CAPABILITIES, &mso) != 1) {
sys/dev/pci/drm/i915/display/intel_dp.c
4323
if (mso % 2 || mso > drm_dp_max_lane_count(intel_dp->dpcd)) {
sys/dev/pci/drm/i915/display/intel_dp.c
4331
mso, drm_dp_max_lane_count(intel_dp->dpcd) / mso,
sys/dev/pci/drm/i915/display/intel_dp.c
4340
intel_dp->mso_link_count = mso;
sys/dev/pci/drm/i915/display/intel_dp.c
4341
intel_dp->mso_pixel_overlap = mso ? info->mso_pixel_overlap : 0;
sys/dev/pci/drm/i915/display/intel_dp.c
4345
intel_edp_set_data_override_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4347
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
4348
int *sink_rates = intel_dp->sink_rates;
sys/dev/pci/drm/i915/display/intel_dp.c
4351
for (i = 0; i < intel_dp->num_sink_rates; i++) {
sys/dev/pci/drm/i915/display/intel_dp.c
4353
intel_dp->sink_rates[i]))
sys/dev/pci/drm/i915/display/intel_dp.c
4356
sink_rates[count++] = intel_dp->sink_rates[i];
sys/dev/pci/drm/i915/display/intel_dp.c
4358
intel_dp->num_sink_rates = count;
sys/dev/pci/drm/i915/display/intel_dp.c
4362
intel_edp_set_sink_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4364
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4366
intel_dp->num_sink_rates = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
4368
if (intel_dp->edp_dpcd[0] >= DP_EDP_14) {
sys/dev/pci/drm/i915/display/intel_dp.c
4372
drm_dp_dpcd_read(&intel_dp->aux, DP_SUPPORTED_LINK_RATES,
sys/dev/pci/drm/i915/display/intel_dp.c
4398
intel_dp->sink_rates[i] = rate;
sys/dev/pci/drm/i915/display/intel_dp.c
4400
intel_dp->num_sink_rates = i;
sys/dev/pci/drm/i915/display/intel_dp.c
4407
if (intel_dp->num_sink_rates)
sys/dev/pci/drm/i915/display/intel_dp.c
4408
intel_dp->use_rate_select = true;
sys/dev/pci/drm/i915/display/intel_dp.c
4410
intel_dp_set_sink_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4412
intel_edp_set_data_override_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4416
intel_edp_init_dpcd(struct intel_dp *intel_dp, struct intel_connector *connector)
sys/dev/pci/drm/i915/display/intel_dp.c
4418
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4421
drm_WARN_ON(display->drm, intel_dp->dpcd[DP_DPCD_REV] != 0);
sys/dev/pci/drm/i915/display/intel_dp.c
4423
if (drm_dp_read_dpcd_caps(&intel_dp->aux, intel_dp->dpcd) != 0)
sys/dev/pci/drm/i915/display/intel_dp.c
4426
drm_dp_read_desc(&intel_dp->aux, &intel_dp->desc,
sys/dev/pci/drm/i915/display/intel_dp.c
4427
drm_dp_is_branch(intel_dp->dpcd));
sys/dev/pci/drm/i915/display/intel_dp.c
4428
intel_init_dpcd_quirks(intel_dp, &intel_dp->desc.ident);
sys/dev/pci/drm/i915/display/intel_dp.c
4430
intel_dp->colorimetry_support =
sys/dev/pci/drm/i915/display/intel_dp.c
4431
intel_dp_get_colorimetry_status(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4442
if (drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_DPCD_REV,
sys/dev/pci/drm/i915/display/intel_dp.c
4443
intel_dp->edp_dpcd, sizeof(intel_dp->edp_dpcd)) ==
sys/dev/pci/drm/i915/display/intel_dp.c
4444
sizeof(intel_dp->edp_dpcd)) {
sys/dev/pci/drm/i915/display/intel_dp.c
4446
(int)sizeof(intel_dp->edp_dpcd),
sys/dev/pci/drm/i915/display/intel_dp.c
4447
intel_dp->edp_dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
4449
intel_dp->use_max_params = intel_dp->edp_dpcd[0] < DP_EDP_14;
sys/dev/pci/drm/i915/display/intel_dp.c
4456
intel_dp_init_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4462
intel_psr_init_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4464
intel_edp_set_sink_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4465
intel_dp_set_max_sink_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4468
intel_dp_detect_dsc_caps(intel_dp, connector);
sys/dev/pci/drm/i915/display/intel_dp.c
4474
intel_dp_has_sink_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4476
if (!intel_dp->attached_connector)
sys/dev/pci/drm/i915/display/intel_dp.c
4479
return drm_dp_read_sink_count_cap(&intel_dp->attached_connector->base,
sys/dev/pci/drm/i915/display/intel_dp.c
4480
intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
4481
&intel_dp->desc);
sys/dev/pci/drm/i915/display/intel_dp.c
4484
void intel_dp_update_sink_caps(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4486
intel_dp_set_sink_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4487
intel_dp_set_max_sink_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4488
intel_dp_set_common_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4492
intel_dp_get_dpcd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4496
if (intel_dp_init_lttpr_and_dprx_caps(intel_dp) < 0)
sys/dev/pci/drm/i915/display/intel_dp.c
4503
if (!intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
4504
drm_dp_read_desc(&intel_dp->aux, &intel_dp->desc,
sys/dev/pci/drm/i915/display/intel_dp.c
4505
drm_dp_is_branch(intel_dp->dpcd));
sys/dev/pci/drm/i915/display/intel_dp.c
4507
intel_init_dpcd_quirks(intel_dp, &intel_dp->desc.ident);
sys/dev/pci/drm/i915/display/intel_dp.c
4509
intel_dp->colorimetry_support =
sys/dev/pci/drm/i915/display/intel_dp.c
4510
intel_dp_get_colorimetry_status(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4512
intel_dp_update_sink_caps(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4515
if (intel_dp_has_sink_count(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
4516
ret = drm_dp_read_sink_count(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
4525
intel_dp->sink_count = ret;
sys/dev/pci/drm/i915/display/intel_dp.c
4534
if (!intel_dp->sink_count)
sys/dev/pci/drm/i915/display/intel_dp.c
4538
return drm_dp_read_downstream_info(&intel_dp->aux, intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
4539
intel_dp->downstream_ports) == 0;
sys/dev/pci/drm/i915/display/intel_dp.c
4553
intel_dp_mst_mode_choose(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
4556
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4561
if (!intel_dp_mst_source_support(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
4565
!(intel_dp->dpcd[DP_MAIN_LINK_CHANNEL_CODING] & DP_CAP_ANSI_128B132B))
sys/dev/pci/drm/i915/display/intel_dp.c
4572
intel_dp_mst_detect(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4574
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4575
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
4579
sink_mst_mode = drm_dp_read_mst_cap(&intel_dp->aux, intel_dp->dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
4581
mst_detect = intel_dp_mst_mode_choose(intel_dp, sink_mst_mode);
sys/dev/pci/drm/i915/display/intel_dp.c
4586
str_yes_no(intel_dp_mst_source_support(intel_dp)),
sys/dev/pci/drm/i915/display/intel_dp.c
4595
intel_dp_mst_configure(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4597
if (!intel_dp_mst_source_support(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
4600
intel_dp->is_mst = intel_dp->mst_detect != DRM_DP_SST;
sys/dev/pci/drm/i915/display/intel_dp.c
4602
if (intel_dp->is_mst)
sys/dev/pci/drm/i915/display/intel_dp.c
4603
intel_dp_mst_prepare_probe(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4605
drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, intel_dp->is_mst);
sys/dev/pci/drm/i915/display/intel_dp.c
4608
intel_dp->mst_detect = DRM_DP_SST;
sys/dev/pci/drm/i915/display/intel_dp.c
4612
intel_dp_mst_disconnect(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
4614
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4616
if (!intel_dp->is_mst)
sys/dev/pci/drm/i915/display/intel_dp.c
4621
intel_dp->is_mst, intel_dp->mst.mgr.mst_state);
sys/dev/pci/drm/i915/display/intel_dp.c
4622
intel_dp->is_mst = false;
sys/dev/pci/drm/i915/display/intel_dp.c
4623
drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, intel_dp->is_mst);
sys/dev/pci/drm/i915/display/intel_dp.c
4627
intel_dp_get_sink_irq_esi(struct intel_dp *intel_dp, u8 *esi)
sys/dev/pci/drm/i915/display/intel_dp.c
4629
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
4638
if (drm_dp_dpcd_read(&intel_dp->aux, DP_SINK_COUNT_ESI, esi, 3) != 3)
sys/dev/pci/drm/i915/display/intel_dp.c
4642
return drm_dp_dpcd_readb(&intel_dp->aux, DP_LINK_SERVICE_IRQ_VECTOR_ESI0,
sys/dev/pci/drm/i915/display/intel_dp.c
4646
return drm_dp_dpcd_read(&intel_dp->aux, DP_SINK_COUNT_ESI, esi, 4) == 4;
sys/dev/pci/drm/i915/display/intel_dp.c
4649
static bool intel_dp_ack_sink_irq_esi(struct intel_dp *intel_dp, u8 esi[4])
sys/dev/pci/drm/i915/display/intel_dp.c
4654
if (drm_dp_dpcd_write(&intel_dp->aux, DP_SINK_COUNT_ESI + 1,
sys/dev/pci/drm/i915/display/intel_dp.c
471
int intel_dp_max_link_data_rate(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
476
if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
478
drm_dp_tunnel_available_bw(intel_dp->tunnel));
sys/dev/pci/drm/i915/display/intel_dp.c
483
bool intel_dp_has_joiner(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
485
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
486
struct intel_digital_port *intel_dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
490
if (intel_dp->mso_link_count)
sys/dev/pci/drm/i915/display/intel_dp.c
498
static int dg2_max_source_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
500
return intel_dp_is_edp(intel_dp) ? 810000 : 1350000;
sys/dev/pci/drm/i915/display/intel_dp.c
503
static int icl_max_source_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
505
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
507
if (intel_encoder_is_combo(encoder) && !intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5115
static bool intel_dp_link_ok(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
5118
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5119
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
5120
bool uhbr = intel_dp->link_rate >= 1000000;
sys/dev/pci/drm/i915/display/intel_dp.c
5125
intel_dp->lane_count);
sys/dev/pci/drm/i915/display/intel_dp.c
5127
ok = drm_dp_channel_eq_ok(link_status, intel_dp->lane_count);
sys/dev/pci/drm/i915/display/intel_dp.c
513
static int ehl_max_source_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5132
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp.c
5142
intel_dp_mst_hpd_irq(struct intel_dp *intel_dp, u8 *esi, u8 *ack)
sys/dev/pci/drm/i915/display/intel_dp.c
5146
drm_dp_mst_hpd_irq_handle_event(&intel_dp->mst.mgr, esi, ack, &handled);
sys/dev/pci/drm/i915/display/intel_dp.c
5149
intel_hdcp_handle_cp_irq(intel_dp->attached_connector);
sys/dev/pci/drm/i915/display/intel_dp.c
515
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5154
static bool intel_dp_mst_link_status(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5156
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5157
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
5161
if (drm_dp_dpcd_read(&intel_dp->aux, DP_LANE0_1_STATUS_ESI, link_status,
sys/dev/pci/drm/i915/display/intel_dp.c
5169
return intel_dp_link_ok(intel_dp, link_status);
sys/dev/pci/drm/i915/display/intel_dp.c
5187
intel_dp_check_mst_status(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5189
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5190
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5199
if (!intel_dp_get_sink_irq_esi(intel_dp, esi)) {
sys/dev/pci/drm/i915/display/intel_dp.c
5209
if (intel_dp_mst_active_streams(intel_dp) > 0 && link_ok &&
sys/dev/pci/drm/i915/display/intel_dp.c
521
static int mtl_max_source_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5211
if (!intel_dp_mst_link_status(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5216
intel_dp_mst_hpd_irq(intel_dp, esi, ack);
sys/dev/pci/drm/i915/display/intel_dp.c
5220
&intel_dp->aux))
sys/dev/pci/drm/i915/display/intel_dp.c
5228
if (!intel_dp_ack_sink_irq_esi(intel_dp, ack))
sys/dev/pci/drm/i915/display/intel_dp.c
523
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5232
drm_dp_mst_hpd_irq_send_new_request(&intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp.c
5235
if (!link_ok || intel_dp->link.force_retrain)
sys/dev/pci/drm/i915/display/intel_dp.c
524
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
5242
intel_dp_handle_hdmi_link_status_change(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5247
is_active = drm_dp_pcon_hdmi_link_active(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
5248
if (intel_dp->frl.is_trained && !is_active) {
sys/dev/pci/drm/i915/display/intel_dp.c
5249
if (drm_dp_dpcd_readb(&intel_dp->aux, DP_PCON_HDMI_LINK_CONFIG_1, &buf) < 0)
sys/dev/pci/drm/i915/display/intel_dp.c
5253
if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_PCON_HDMI_LINK_CONFIG_1, buf) < 0)
sys/dev/pci/drm/i915/display/intel_dp.c
5256
drm_dp_pcon_hdmi_frl_link_error_count(&intel_dp->aux, &intel_dp->attached_connector->base);
sys/dev/pci/drm/i915/display/intel_dp.c
5258
intel_dp->frl.is_trained = false;
sys/dev/pci/drm/i915/display/intel_dp.c
5261
intel_dp_check_frl_training(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5266
intel_dp_needs_link_retrain(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5270
if (!intel_dp->link.active)
sys/dev/pci/drm/i915/display/intel_dp.c
5281
if (intel_psr_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5284
if (intel_dp->link.force_retrain)
sys/dev/pci/drm/i915/display/intel_dp.c
5287
if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp.c
5299
if (!intel_dp_link_params_valid(intel_dp, intel_dp->link_rate,
sys/dev/pci/drm/i915/display/intel_dp.c
5300
intel_dp->lane_count))
sys/dev/pci/drm/i915/display/intel_dp.c
5303
if (intel_dp->link.retrain_disabled)
sys/dev/pci/drm/i915/display/intel_dp.c
5306
if (intel_dp->link.seq_train_failures)
sys/dev/pci/drm/i915/display/intel_dp.c
5310
return !intel_dp_link_ok(intel_dp, link_status) &&
sys/dev/pci/drm/i915/display/intel_dp.c
5311
!intel_psr_link_ok(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5314
bool intel_dp_has_connector(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
5317
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5325
encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
5331
encoder = &intel_dp->mst.stream_encoders[pipe]->base;
sys/dev/pci/drm/i915/display/intel_dp.c
535
static int vbt_max_link_rate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5354
int intel_dp_get_active_pipes(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
5358
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
537
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
5372
if (!intel_dp_has_connector(intel_dp, conn_state))
sys/dev/pci/drm/i915/display/intel_dp.c
5405
static bool intel_dp_is_connected(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5407
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5410
intel_dp->is_mst;
sys/dev/pci/drm/i915/display/intel_dp.c
5417
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
542
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
5421
if (!intel_dp_is_connected(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5429
if (!intel_dp_needs_link_retrain(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
543
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5432
ret = intel_dp_get_active_pipes(intel_dp, ctx, &pipe_mask);
sys/dev/pci/drm/i915/display/intel_dp.c
5439
if (!intel_dp_needs_link_retrain(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5445
str_yes_no(intel_dp->link.force_retrain));
sys/dev/pci/drm/i915/display/intel_dp.c
5451
intel_dp->link.force_retrain = false;
sys/dev/pci/drm/i915/display/intel_dp.c
5471
void intel_dp_check_link_state(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5473
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5476
if (!intel_dp_is_connected(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5479
if (!intel_dp_needs_link_retrain(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5485
static void intel_dp_check_device_service_irq(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5487
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5490
if (intel_dp->dpcd[DP_DPCD_REV] < 0x11)
sys/dev/pci/drm/i915/display/intel_dp.c
5493
if (drm_dp_dpcd_readb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
5497
drm_dp_dpcd_writeb(&intel_dp->aux, DP_DEVICE_SERVICE_IRQ_VECTOR, val);
sys/dev/pci/drm/i915/display/intel_dp.c
5500
intel_dp_test_request(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5503
intel_hdcp_handle_cp_irq(intel_dp->attached_connector);
sys/dev/pci/drm/i915/display/intel_dp.c
5509
static bool intel_dp_check_link_service_irq(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5511
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5515
if (intel_dp->dpcd[DP_DPCD_REV] < 0x11)
sys/dev/pci/drm/i915/display/intel_dp.c
5518
if (drm_dp_dpcd_readb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
5524
&intel_dp->aux))
sys/dev/pci/drm/i915/display/intel_dp.c
5527
if (drm_dp_dpcd_writeb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
5532
intel_dp_handle_hdmi_link_status_change(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5551
intel_dp_short_pulse(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5553
u8 old_sink_count = intel_dp->sink_count;
sys/dev/pci/drm/i915/display/intel_dp.c
5557
intel_dp_test_reset(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
556
intel_dp_set_source_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5565
ret = intel_dp_get_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5567
if ((old_sink_count != intel_dp->sink_count) || !ret) {
sys/dev/pci/drm/i915/display/intel_dp.c
5572
intel_dp_check_device_service_irq(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5573
reprobe_needed = intel_dp_check_link_service_irq(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5576
drm_dp_cec_irq(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
5578
intel_dp_check_link_state(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5580
intel_psr_short_pulse(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5582
if (intel_alpm_get_error(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
5583
intel_alpm_disable(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5584
intel_dp->alpm_parameters.sink_alpm_error = true;
sys/dev/pci/drm/i915/display/intel_dp.c
5587
if (intel_dp_test_short_pulse(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5595
intel_dp_detect_dpcd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5597
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5598
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5599
u8 *dpcd = intel_dp->dpcd;
sys/dev/pci/drm/i915/display/intel_dp.c
5602
if (drm_WARN_ON(display->drm, intel_dp_is_edp(intel_dp)))
sys/dev/pci/drm/i915/display/intel_dp.c
5607
if (!intel_dp_get_dpcd(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5610
intel_dp->mst_detect = intel_dp_mst_detect(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5617
if (intel_dp_has_sink_count(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_dp.c
5618
intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) {
sys/dev/pci/drm/i915/display/intel_dp.c
5619
return intel_dp->sink_count ?
sys/dev/pci/drm/i915/display/intel_dp.c
5623
if (intel_dp->mst_detect == DRM_DP_MST)
sys/dev/pci/drm/i915/display/intel_dp.c
5627
if (drm_probe_ddc(&intel_dp->aux.ddc))
sys/dev/pci/drm/i915/display/intel_dp.c
5631
if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11) {
sys/dev/pci/drm/i915/display/intel_dp.c
5632
type = intel_dp->downstream_ports[0] & DP_DS_PORT_TYPE_MASK;
sys/dev/pci/drm/i915/display/intel_dp.c
5637
type = intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] &
sys/dev/pci/drm/i915/display/intel_dp.c
5650
edp_detect(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5714
intel_dp_get_edid(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5716
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5728
return drm_edid_read_ddc(&connector->base, &intel_dp->aux.ddc);
sys/dev/pci/drm/i915/display/intel_dp.c
5732
intel_dp_update_dfp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
5735
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5736
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5738
intel_dp->dfp.max_bpc =
sys/dev/pci/drm/i915/display/intel_dp.c
5739
drm_dp_downstream_max_bpc(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5740
intel_dp->downstream_ports, drm_edid);
sys/dev/pci/drm/i915/display/intel_dp.c
5742
intel_dp->dfp.max_dotclock =
sys/dev/pci/drm/i915/display/intel_dp.c
5743
drm_dp_downstream_max_dotclock(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5744
intel_dp->downstream_ports);
sys/dev/pci/drm/i915/display/intel_dp.c
5746
intel_dp->dfp.min_tmds_clock =
sys/dev/pci/drm/i915/display/intel_dp.c
5747
drm_dp_downstream_min_tmds_clock(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5748
intel_dp->downstream_ports,
sys/dev/pci/drm/i915/display/intel_dp.c
5750
intel_dp->dfp.max_tmds_clock =
sys/dev/pci/drm/i915/display/intel_dp.c
5751
drm_dp_downstream_max_tmds_clock(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5752
intel_dp->downstream_ports,
sys/dev/pci/drm/i915/display/intel_dp.c
5755
intel_dp->dfp.pcon_max_frl_bw =
sys/dev/pci/drm/i915/display/intel_dp.c
5756
drm_dp_get_pcon_max_frl_bw(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5757
intel_dp->downstream_ports);
sys/dev/pci/drm/i915/display/intel_dp.c
5762
intel_dp->dfp.max_bpc,
sys/dev/pci/drm/i915/display/intel_dp.c
5763
intel_dp->dfp.max_dotclock,
sys/dev/pci/drm/i915/display/intel_dp.c
5764
intel_dp->dfp.min_tmds_clock,
sys/dev/pci/drm/i915/display/intel_dp.c
5765
intel_dp->dfp.max_tmds_clock,
sys/dev/pci/drm/i915/display/intel_dp.c
5766
intel_dp->dfp.pcon_max_frl_bw);
sys/dev/pci/drm/i915/display/intel_dp.c
5768
intel_dp_get_pcon_dsc_cap(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5772
intel_dp_can_ycbcr420(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5774
if (source_can_output(intel_dp, INTEL_OUTPUT_FORMAT_YCBCR420) &&
sys/dev/pci/drm/i915/display/intel_dp.c
5775
(!drm_dp_is_branch(intel_dp->dpcd) || intel_dp->dfp.ycbcr420_passthrough))
sys/dev/pci/drm/i915/display/intel_dp.c
5778
if (source_can_output(intel_dp, INTEL_OUTPUT_FORMAT_RGB) &&
sys/dev/pci/drm/i915/display/intel_dp.c
5779
dfp_can_convert_from_rgb(intel_dp, INTEL_OUTPUT_FORMAT_YCBCR420))
sys/dev/pci/drm/i915/display/intel_dp.c
5782
if (source_can_output(intel_dp, INTEL_OUTPUT_FORMAT_YCBCR444) &&
sys/dev/pci/drm/i915/display/intel_dp.c
5783
dfp_can_convert_from_ycbcr444(intel_dp, INTEL_OUTPUT_FORMAT_YCBCR420))
sys/dev/pci/drm/i915/display/intel_dp.c
5790
intel_dp_update_420(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5792
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5793
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5795
intel_dp->dfp.ycbcr420_passthrough =
sys/dev/pci/drm/i915/display/intel_dp.c
5796
drm_dp_downstream_420_passthrough(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5797
intel_dp->downstream_ports);
sys/dev/pci/drm/i915/display/intel_dp.c
5799
intel_dp->dfp.ycbcr_444_to_420 =
sys/dev/pci/drm/i915/display/intel_dp.c
5800
intel_lspcon_active(dp_to_dig_port(intel_dp)) ||
sys/dev/pci/drm/i915/display/intel_dp.c
5801
drm_dp_downstream_444_to_420_conversion(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5802
intel_dp->downstream_ports);
sys/dev/pci/drm/i915/display/intel_dp.c
5803
intel_dp->dfp.rgb_to_ycbcr =
sys/dev/pci/drm/i915/display/intel_dp.c
5804
drm_dp_downstream_rgb_to_ycbcr_conversion(intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
5805
intel_dp->downstream_ports,
sys/dev/pci/drm/i915/display/intel_dp.c
5808
connector->base.ycbcr_420_allowed = intel_dp_can_ycbcr420(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5813
str_yes_no(intel_dp->dfp.rgb_to_ycbcr),
sys/dev/pci/drm/i915/display/intel_dp.c
5815
str_yes_no(intel_dp->dfp.ycbcr_444_to_420));
sys/dev/pci/drm/i915/display/intel_dp.c
5819
intel_dp_set_edid(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5821
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5822
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5826
intel_dp_unset_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5827
drm_edid = intel_dp_get_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
583
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5838
intel_dp_update_dfp(intel_dp, drm_edid);
sys/dev/pci/drm/i915/display/intel_dp.c
5839
intel_dp_update_420(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5841
drm_dp_cec_attach(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
5846
intel_dp_unset_edid(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5848
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5850
drm_dp_cec_unset_edid(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
5854
intel_dp->dfp.max_bpc = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
5855
intel_dp->dfp.max_dotclock = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
5856
intel_dp->dfp.min_tmds_clock = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
5857
intel_dp->dfp.max_tmds_clock = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
5859
intel_dp->dfp.pcon_max_frl_bw = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
5861
intel_dp->dfp.ycbcr_444_to_420 = false;
sys/dev/pci/drm/i915/display/intel_dp.c
5869
intel_dp_detect_sdp_caps(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
5871
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5873
intel_dp->as_sdp_supported = HAS_AS_SDP(display) &&
sys/dev/pci/drm/i915/display/intel_dp.c
5874
drm_dp_as_sdp_supported(&intel_dp->aux, intel_dp->dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
5877
static bool intel_dp_needs_dpcd_probe(struct intel_dp *intel_dp, bool force_on_external)
sys/dev/pci/drm/i915/display/intel_dp.c
5879
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
5881
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5887
if (intel_dp->is_mst)
sys/dev/pci/drm/i915/display/intel_dp.c
589
intel_dp->source_rates || intel_dp->num_source_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
5893
void intel_dp_dpcd_set_probe(struct intel_dp *intel_dp, bool force_on_external)
sys/dev/pci/drm/i915/display/intel_dp.c
5895
drm_dp_dpcd_set_probe(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp.c
5896
intel_dp_needs_dpcd_probe(intel_dp, force_on_external));
sys/dev/pci/drm/i915/display/intel_dp.c
5906
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
5907
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5925
intel_pps_vdd_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5928
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5929
status = edp_detect(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5931
status = intel_dp_detect_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5936
!intel_dp_mst_verify_dpcd_state(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5948
intel_dp_test_reset(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5950
intel_dp->psr.sink_panel_replay_support = false;
sys/dev/pci/drm/i915/display/intel_dp.c
5951
intel_dp->psr.sink_panel_replay_su_support = false;
sys/dev/pci/drm/i915/display/intel_dp.c
5953
intel_dp_mst_disconnect(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5955
intel_dp_tunnel_disconnect(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5960
intel_dp_init_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5962
ret = intel_dp_tunnel_detect(intel_dp, ctx);
sys/dev/pci/drm/i915/display/intel_dp.c
5972
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
5973
intel_psr_init_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5975
intel_dp_detect_dsc_caps(intel_dp, connector);
sys/dev/pci/drm/i915/display/intel_dp.c
5977
intel_dp_detect_sdp_caps(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5979
if (intel_dp->reset_link_params) {
sys/dev/pci/drm/i915/display/intel_dp.c
5980
intel_dp_reset_link_params(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5981
intel_dp->reset_link_params = false;
sys/dev/pci/drm/i915/display/intel_dp.c
5984
intel_dp_mst_configure(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5986
intel_dp_print_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
5988
if (intel_dp->is_mst) {
sys/dev/pci/drm/i915/display/intel_dp.c
599
max_rate = mtl_max_source_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6006
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6007
intel_dp_check_link_state(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6014
intel_dp->aux.i2c_nack_count = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
6015
intel_dp->aux.i2c_defer_count = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
6017
intel_dp_set_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6018
if (intel_dp_is_edp(intel_dp) || connector->detect_edid)
sys/dev/pci/drm/i915/display/intel_dp.c
6021
intel_dp_check_device_service_irq(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6024
if (status != connector_status_connected && !intel_dp->is_mst)
sys/dev/pci/drm/i915/display/intel_dp.c
6025
intel_dp_unset_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6027
intel_dp_dpcd_set_probe(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_dp.c
6029
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6032
intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
6033
intel_dp->downstream_ports);
sys/dev/pci/drm/i915/display/intel_dp.c
6035
intel_pps_vdd_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
604
max_rate = dg2_max_source_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6045
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
6053
intel_dp_unset_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6058
intel_dp_set_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6060
intel_dp_dpcd_set_probe(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_dp.c
6067
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
6074
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6084
intel_dp->dpcd,
sys/dev/pci/drm/i915/display/intel_dp.c
6085
intel_dp->downstream_ports);
sys/dev/pci/drm/i915/display/intel_dp.c
609
max_rate = ehl_max_source_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6100
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
6101
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
611
max_rate = icl_max_source_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6110
intel_dp->aux.name, connector->base.kdev->kobj.name);
sys/dev/pci/drm/i915/display/intel_dp.c
6113
intel_dp->aux.dev = connector->base.kdev;
sys/dev/pci/drm/i915/display/intel_dp.c
6114
ret = drm_dp_aux_register(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
6116
drm_dp_cec_register_connector(&intel_dp->aux, &connector->base);
sys/dev/pci/drm/i915/display/intel_dp.c
6137
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp.c
6139
drm_dp_cec_unregister_connector(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
6140
drm_dp_aux_unregister(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp.c
6162
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp.c
6168
intel_dp_tunnel_destroy(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6170
intel_pps_vdd_off_sync(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6176
intel_pps_wait_power_cycle(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6178
intel_dp_aux_fini(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6183
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
6185
intel_pps_vdd_off_sync(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6187
intel_dp_tunnel_suspend(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6192
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
6194
intel_pps_wait_power_cycle(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
627
vbt_max_rate = vbt_max_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6314
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
6321
if (intel_dp_mst_source_support(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
6322
ret = drm_dp_mst_root_conn_atomic_check(conn_state, &intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp.c
6331
intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
636
intel_dp->source_rates = source_rates;
sys/dev/pci/drm/i915/display/intel_dp.c
637
intel_dp->num_source_rates = size;
sys/dev/pci/drm/i915/display/intel_dp.c
6401
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp.c
6407
!intel_pps_have_panel_power_or_vdd(intel_dp))) {
sys/dev/pci/drm/i915/display/intel_dp.c
6436
intel_dp_dpcd_set_probe(intel_dp, true);
sys/dev/pci/drm/i915/display/intel_dp.c
6438
intel_dp_read_dprx_caps(intel_dp, dpcd);
sys/dev/pci/drm/i915/display/intel_dp.c
6440
intel_dp->reset_link_params = true;
sys/dev/pci/drm/i915/display/intel_dp.c
6441
intel_dp_invalidate_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6446
if (intel_dp->is_mst) {
sys/dev/pci/drm/i915/display/intel_dp.c
6447
if (!intel_dp_check_mst_status(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6449
} else if (!intel_dp_short_pulse(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
6504
intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *_connector)
sys/dev/pci/drm/i915/display/intel_dp.c
6507
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6508
enum port port = dp_to_dig_port(intel_dp)->base.port;
sys/dev/pci/drm/i915/display/intel_dp.c
6510
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6523
if (intel_bios_encoder_is_lspcon(dp_to_dig_port(intel_dp)->base.devdata)) {
sys/dev/pci/drm/i915/display/intel_dp.c
6530
if (intel_dp_has_gamut_metadata_dip(&dp_to_dig_port(intel_dp)->base))
sys/dev/pci/drm/i915/display/intel_dp.c
6538
intel_edp_add_properties(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
6540
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6541
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp.c
6553
static void intel_edp_backlight_setup(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
6556
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6560
pipe = vlv_pps_backlight_initial_pipe(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6565
static bool intel_edp_init_connector(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
6568
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6570
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp.c
6574
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6595
if (!intel_pps_init(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
6616
intel_alpm_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6619
has_dpcd = intel_edp_init_dpcd(intel_dp, connector);
sys/dev/pci/drm/i915/display/intel_dp.c
6658
if (DISPLAY_VER(display) == 9 && drm_dp_is_branch(intel_dp->dpcd) &&
sys/dev/pci/drm/i915/display/intel_dp.c
6659
(intel_dp->dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_TYPE_MASK) ==
sys/dev/pci/drm/i915/display/intel_dp.c
6695
intel_edp_mso_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6716
intel_edp_backlight_setup(intel_dp, connector);
sys/dev/pci/drm/i915/display/intel_dp.c
6718
intel_edp_add_properties(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6720
intel_pps_init_late(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6725
intel_pps_vdd_off_sync(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6736
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp.c
6748
intel_dp->reset_link_params = true;
sys/dev/pci/drm/i915/display/intel_dp.c
675
static int intel_dp_link_config_rate(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
6751
intel_dp->DP = intel_de_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/intel_dp.c
6752
intel_dp->attached_connector = connector;
sys/dev/pci/drm/i915/display/intel_dp.c
6773
intel_dp_set_default_sink_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6774
intel_dp_set_default_max_sink_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6777
vlv_pps_pipe_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6779
intel_dp_aux_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
678
return intel_dp_common_rate(intel_dp, lc->link_rate_idx);
sys/dev/pci/drm/i915/display/intel_dp.c
6780
connector->dp.dsc_decompression_aux = &intel_dp->aux;
sys/dev/pci/drm/i915/display/intel_dp.c
6788
type, &intel_dp->aux.ddc);
sys/dev/pci/drm/i915/display/intel_dp.c
6806
if (!intel_edp_init_connector(intel_dp, connector)) {
sys/dev/pci/drm/i915/display/intel_dp.c
6807
intel_dp_aux_fini(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6811
intel_dp_set_source_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6812
intel_dp_set_common_rates(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6813
intel_dp_reset_link_params(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6818
intel_dp_add_properties(intel_dp, &connector->base);
sys/dev/pci/drm/i915/display/intel_dp.c
6820
if (is_hdcp_supported(display, port) && !intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_dp.c
6827
intel_dp->frl.is_trained = false;
sys/dev/pci/drm/i915/display/intel_dp.c
6828
intel_dp->frl.trained_rate_gbps = 0;
sys/dev/pci/drm/i915/display/intel_dp.c
6830
intel_psr_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
6849
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_dp.c
6854
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
6856
if (!intel_dp_mst_source_support(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6859
if (intel_dp->is_mst)
sys/dev/pci/drm/i915/display/intel_dp.c
686
static int intel_dp_link_config_bw(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.c
6860
drm_dp_mst_topology_mgr_suspend(&intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp.c
6872
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_dp.c
6878
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp.c
6880
if (!intel_dp_mst_source_support(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.c
6883
ret = drm_dp_mst_topology_mgr_resume(&intel_dp->mst.mgr, true);
sys/dev/pci/drm/i915/display/intel_dp.c
6885
intel_dp->is_mst = false;
sys/dev/pci/drm/i915/display/intel_dp.c
6886
drm_dp_mst_topology_mgr_set_mst(&intel_dp->mst.mgr, false);
sys/dev/pci/drm/i915/display/intel_dp.c
689
return drm_dp_max_dprx_data_rate(intel_dp_link_config_rate(intel_dp, lc),
sys/dev/pci/drm/i915/display/intel_dp.c
695
struct intel_dp *intel_dp = (struct intel_dp *)p; /* remove const */
sys/dev/pci/drm/i915/display/intel_dp.c
698
int bw_a = intel_dp_link_config_bw(intel_dp, lc_a);
sys/dev/pci/drm/i915/display/intel_dp.c
699
int bw_b = intel_dp_link_config_bw(intel_dp, lc_b);
sys/dev/pci/drm/i915/display/intel_dp.c
704
return intel_dp_link_config_rate(intel_dp, lc_a) -
sys/dev/pci/drm/i915/display/intel_dp.c
705
intel_dp_link_config_rate(intel_dp, lc_b);
sys/dev/pci/drm/i915/display/intel_dp.c
708
static void intel_dp_link_config_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
710
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
716
if (drm_WARN_ON(display->drm, !is_power_of_2(intel_dp_max_common_lane_count(intel_dp))))
sys/dev/pci/drm/i915/display/intel_dp.c
719
num_common_lane_configs = ilog2(intel_dp_max_common_lane_count(intel_dp)) + 1;
sys/dev/pci/drm/i915/display/intel_dp.c
721
if (drm_WARN_ON(display->drm, intel_dp->num_common_rates * num_common_lane_configs >
sys/dev/pci/drm/i915/display/intel_dp.c
722
ARRAY_SIZE(intel_dp->link.configs)))
sys/dev/pci/drm/i915/display/intel_dp.c
725
intel_dp->link.num_configs = intel_dp->num_common_rates * num_common_lane_configs;
sys/dev/pci/drm/i915/display/intel_dp.c
727
lc = &intel_dp->link.configs[0];
sys/dev/pci/drm/i915/display/intel_dp.c
728
for (i = 0; i < intel_dp->num_common_rates; i++) {
sys/dev/pci/drm/i915/display/intel_dp.c
737
sort_r(intel_dp->link.configs, intel_dp->link.num_configs,
sys/dev/pci/drm/i915/display/intel_dp.c
738
sizeof(intel_dp->link.configs[0]),
sys/dev/pci/drm/i915/display/intel_dp.c
740
intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
743
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count)
sys/dev/pci/drm/i915/display/intel_dp.c
745
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
748
if (drm_WARN_ON(display->drm, idx < 0 || idx >= intel_dp->link.num_configs))
sys/dev/pci/drm/i915/display/intel_dp.c
751
lc = &intel_dp->link.configs[idx];
sys/dev/pci/drm/i915/display/intel_dp.c
753
*link_rate = intel_dp_link_config_rate(intel_dp, lc);
sys/dev/pci/drm/i915/display/intel_dp.c
757
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count)
sys/dev/pci/drm/i915/display/intel_dp.c
759
int link_rate_idx = intel_dp_rate_index(intel_dp->common_rates, intel_dp->num_common_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
764
for (i = 0; i < intel_dp->link.num_configs; i++) {
sys/dev/pci/drm/i915/display/intel_dp.c
765
const struct intel_dp_link_config *lc = &intel_dp->link.configs[i];
sys/dev/pci/drm/i915/display/intel_dp.c
775
static void intel_dp_set_common_rates(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp.c
777
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
780
!intel_dp->num_source_rates || !intel_dp->num_sink_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
782
intel_dp->num_common_rates = intersect_rates(intel_dp->source_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
783
intel_dp->num_source_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
784
intel_dp->sink_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
785
intel_dp->num_sink_rates,
sys/dev/pci/drm/i915/display/intel_dp.c
786
intel_dp->common_rates);
sys/dev/pci/drm/i915/display/intel_dp.c
789
if (drm_WARN_ON(display->drm, intel_dp->num_common_rates == 0)) {
sys/dev/pci/drm/i915/display/intel_dp.c
790
intel_dp->common_rates[0] = 162000;
sys/dev/pci/drm/i915/display/intel_dp.c
791
intel_dp->num_common_rates = 1;
sys/dev/pci/drm/i915/display/intel_dp.c
794
intel_dp_link_config_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.c
797
bool intel_dp_link_params_valid(struct intel_dp *intel_dp, int link_rate,
sys/dev/pci/drm/i915/display/intel_dp.c
806
link_rate > intel_dp->link.max_rate)
sys/dev/pci/drm/i915/display/intel_dp.c
810
lane_count > intel_dp_max_lane_count(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp.h
100
int intel_dp_max_lane_count(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
102
int intel_dp_rate_select(struct intel_dp *intel_dp, int rate);
sys/dev/pci/drm/i915/display/intel_dp.h
103
int intel_dp_max_common_rate(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
104
int intel_dp_max_common_lane_count(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
105
int intel_dp_common_rate(struct intel_dp *intel_dp, int index);
sys/dev/pci/drm/i915/display/intel_dp.h
107
int intel_dp_link_config_index(struct intel_dp *intel_dp, int link_rate, int lane_count);
sys/dev/pci/drm/i915/display/intel_dp.h
108
void intel_dp_link_config_get(struct intel_dp *intel_dp, int idx, int *link_rate, int *lane_count);
sys/dev/pci/drm/i915/display/intel_dp.h
109
void intel_dp_update_sink_caps(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
110
void intel_dp_reset_link_params(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
112
void intel_dp_compute_rate(struct intel_dp *intel_dp, int port_clock,
sys/dev/pci/drm/i915/display/intel_dp.h
120
int intel_dp_max_link_data_rate(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
124
bool intel_dp_has_joiner(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
150
bool intel_dp_dsc_valid_compressed_bpp(struct intel_dp *intel_dp, int bpp_x16);
sys/dev/pci/drm/i915/display/intel_dp.h
154
int intel_dp_num_joined_pipes(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
163
bool intel_dp_supports_fec(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
169
bool intel_dp_supports_fec(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
173
bool intel_dp_supports_dsc(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
187
void intel_dp_check_frl_training(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
188
void intel_dp_pcon_dsc_configure(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
191
void intel_dp_invalidate_source_oui(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
192
void intel_dp_wait_source_oui(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
195
bool intel_dp_compute_config_limits(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
205
bool intel_dp_link_params_valid(struct intel_dp *intel_dp, int link_rate,
sys/dev/pci/drm/i915/display/intel_dp.h
207
bool intel_dp_has_connector(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
216
void intel_dp_dpcd_set_probe(struct intel_dp *intel_dp, bool force_on_external);
sys/dev/pci/drm/i915/display/intel_dp.h
23
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_dp.h
52
void intel_dp_set_link_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
54
int intel_dp_get_active_pipes(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
59
void intel_dp_check_link_state(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
60
void intel_dp_set_power(struct intel_dp *intel_dp, u8 mode);
sys/dev/pci/drm/i915/display/intel_dp.h
61
void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
75
int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp.h
83
bool intel_dp_has_hdmi_sink(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
84
bool intel_dp_is_edp(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp.h
99
int intel_dp_max_link_rate(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
112
static u32 hsw_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
114
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
115
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
126
return ilk_get_aux_clock_divider(intel_dp, index);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
129
static u32 skl_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
147
int intel_dp_aux_fw_sync_len(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
160
if (intel_has_dpcd_quirk(intel_dp, QUIRK_FW_SYNC_LEN))
sys/dev/pci/drm/i915/display/intel_dp_aux.c
176
static u32 g4x_get_aux_send_ctl(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_aux.c
180
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
200
static u32 skl_get_aux_send_ctl(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_aux.c
204
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
205
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
220
DP_AUX_CH_CTL_FW_SYNC_PULSE_SKL(intel_dp_aux_fw_sync_len(intel_dp)) |
sys/dev/pci/drm/i915/display/intel_dp_aux.c
237
intel_dp_aux_xfer(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_aux.c
242
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
243
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
255
ch_ctl = intel_dp->aux_ch_ctl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
257
ch_data[i] = intel_dp->aux_ch_data_reg(intel_dp, i);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
265
if (!intel_dp_is_edp(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_dp_aux.c
285
if (intel_dp_is_edp(intel_dp) ||
sys/dev/pci/drm/i915/display/intel_dp_aux.c
287
pps_wakeref = intel_pps_lock(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
295
vdd = intel_pps_vdd_on_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
302
cpu_latency_qos_update_request(&intel_dp->pm_qos, 0);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
304
intel_pps_check_power_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
324
if (status != intel_dp->aux_busy_last_status) {
sys/dev/pci/drm/i915/display/intel_dp_aux.c
327
intel_dp->aux.name, status);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
328
intel_dp->aux_busy_last_status = status;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
341
while ((aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, clock++))) {
sys/dev/pci/drm/i915/display/intel_dp_aux.c
342
u32 send_ctl = intel_dp->get_aux_send_ctl(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_aux.c
359
status = intel_dp_aux_wait_done(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
387
intel_dp->aux.name, status);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
399
intel_dp->aux.name, status);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
410
intel_dp->aux.name, status);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
426
intel_dp->aux.name, recv_bytes);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
440
cpu_latency_qos_update_request(&intel_dp->pm_qos, PM_QOS_DEFAULT_VALUE);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
443
intel_pps_vdd_off_unlocked(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
446
intel_pps_unlock(intel_dp, pps_wakeref);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
485
struct intel_dp *intel_dp = container_of(aux, struct intel_dp, aux);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
486
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
509
ret = intel_dp_aux_xfer(intel_dp, txbuf, txsize,
sys/dev/pci/drm/i915/display/intel_dp_aux.c
532
ret = intel_dp_aux_xfer(intel_dp, txbuf, txsize,
sys/dev/pci/drm/i915/display/intel_dp_aux.c
555
static i915_reg_t vlv_aux_ctl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
557
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
57
intel_dp_aux_wait_done(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
571
static i915_reg_t vlv_aux_data_reg(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
573
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
587
static i915_reg_t g4x_aux_ctl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
589
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
59
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
60
i915_reg_t ch_ctl = intel_dp->aux_ch_ctl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
603
static i915_reg_t g4x_aux_data_reg(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
605
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
619
static i915_reg_t ilk_aux_ctl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
621
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
637
static i915_reg_t ilk_aux_data_reg(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
639
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
655
static i915_reg_t skl_aux_ctl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
657
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
674
static i915_reg_t skl_aux_data_reg(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
676
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
693
static i915_reg_t tgl_aux_ctl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
695
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
715
static i915_reg_t tgl_aux_data_reg(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
717
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
72
intel_dp->aux.name, timeout_ms, status);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
737
static i915_reg_t xelpdp_aux_ctl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
739
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
740
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
757
static i915_reg_t xelpdp_aux_data_reg(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
759
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
760
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
77
static u32 g4x_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
777
void intel_dp_aux_fini(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
779
if (cpu_latency_qos_request_active(&intel_dp->pm_qos))
sys/dev/pci/drm/i915/display/intel_dp_aux.c
780
cpu_latency_qos_remove_request(&intel_dp->pm_qos);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
782
kfree(intel_dp->aux.name);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
785
void intel_dp_aux_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
787
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
788
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
79
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
794
intel_dp->aux_ch_ctl_reg = xelpdp_aux_ctl_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
795
intel_dp->aux_ch_data_reg = xelpdp_aux_data_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
797
intel_dp->aux_ch_ctl_reg = tgl_aux_ctl_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
798
intel_dp->aux_ch_data_reg = tgl_aux_data_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
800
intel_dp->aux_ch_ctl_reg = skl_aux_ctl_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
801
intel_dp->aux_ch_data_reg = skl_aux_data_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
803
intel_dp->aux_ch_ctl_reg = ilk_aux_ctl_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
804
intel_dp->aux_ch_data_reg = ilk_aux_data_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
806
intel_dp->aux_ch_ctl_reg = vlv_aux_ctl_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
807
intel_dp->aux_ch_data_reg = vlv_aux_data_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
809
intel_dp->aux_ch_ctl_reg = g4x_aux_ctl_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
810
intel_dp->aux_ch_data_reg = g4x_aux_data_reg;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
814
intel_dp->get_aux_clock_divider = skl_get_aux_clock_divider;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
816
intel_dp->get_aux_clock_divider = hsw_get_aux_clock_divider;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
818
intel_dp->get_aux_clock_divider = ilk_get_aux_clock_divider;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
820
intel_dp->get_aux_clock_divider = g4x_get_aux_clock_divider;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
823
intel_dp->get_aux_send_ctl = skl_get_aux_send_ctl;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
825
intel_dp->get_aux_send_ctl = g4x_get_aux_send_ctl;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
827
intel_dp->aux.drm_dev = display->drm;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
828
drm_dp_aux_init(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
831
intel_dp->aux.name = kasprintf(GFP_KERNEL, "AUX %s/%s",
sys/dev/pci/drm/i915/display/intel_dp_aux.c
835
intel_dp->aux.transfer = intel_dp_aux_transfer;
sys/dev/pci/drm/i915/display/intel_dp_aux.c
836
cpu_latency_qos_add_request(&intel_dp->pm_qos, PM_QOS_DEFAULT_VALUE);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
838
intel_dp_dpcd_set_probe(intel_dp, true);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
91
static u32 ilk_get_aux_clock_divider(struct intel_dp *intel_dp, int index)
sys/dev/pci/drm/i915/display/intel_dp_aux.c
93
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.c
94
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.h
13
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_aux.h
16
void intel_dp_aux_fini(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.h
17
void intel_dp_aux_init(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux.h
23
int intel_dp_aux_fw_sync_len(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
116
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
117
struct drm_dp_aux *aux = &intel_dp->aux;
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
122
intel_dp_wait_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
179
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
183
if (drm_dp_dpcd_readb(&intel_dp->aux, INTEL_EDP_HDR_GETSET_CTRL_PARAMS, &tmp) != 1) {
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
201
if (drm_dp_dpcd_read(&intel_dp->aux, INTEL_EDP_BRIGHTNESS_NITS_LSB, buf,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
217
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
223
if (drm_dp_dpcd_write(&intel_dp->aux, INTEL_EDP_BRIGHTNESS_NITS_LSB, buf,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
250
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
262
ret = drm_dp_dpcd_write(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
310
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
315
intel_dp_wait_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
317
ret = drm_dp_dpcd_readb(&intel_dp->aux, INTEL_EDP_HDR_GETSET_CTRL_PARAMS, &old_ctrl);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
342
drm_dp_dpcd_writeb(&intel_dp->aux, INTEL_EDP_HDR_GETSET_CTRL_PARAMS, ctrl) != 1)
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
377
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
386
ret = drm_dp_dpcd_write(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
443
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
450
ret = drm_dp_dpcd_read(&intel_dp->aux, DP_EDP_PANEL_TARGET_LUMINANCE_VALUE, buf,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
453
drm_err(intel_dp->aux.drm_dev,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
471
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
479
drm_edp_backlight_set_level(&intel_dp->aux, &panel->backlight.edp.vesa.info, level);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
488
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
502
drm_edp_backlight_enable(&intel_dp->aux, &panel->backlight.edp.vesa.info, level);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
510
struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
512
drm_edp_backlight_disable(&intel_dp->aux, &panel->backlight.edp.vesa.info);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
524
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
530
ret = drm_edp_backlight_init(&intel_dp->aux, &panel->backlight.edp.vesa.info,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
533
intel_dp->edp_dpcd, &current_level, &current_mode,
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
605
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
608
if ((intel_dp->edp_dpcd[3] & DP_EDP_PANEL_LUMINANCE_CONTROL_CAPABLE) &&
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
609
(intel_dp->edp_dpcd[3] & DP_EDP_SMOOTH_BRIGHTNESS_CAPABLE)) {
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
617
if (drm_edp_backlight_supported(intel_dp->edp_dpcd)) {
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
645
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
683
if (intel_dp->edp_dpcd[0] >= DP_EDP_15)
sys/dev/pci/drm/i915/display/intel_dp_aux_backlight.c
700
intel_dp->edp_dpcd[0] <= DP_EDP_14b) {
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
403
struct intel_dp *dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
44
struct intel_dp *dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
521
struct intel_dp *dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
895
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_hdcp.c
903
else if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
100
ret = drm_dp_read_lttpr_common_caps(&intel_dp->aux, dpcd,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1007
if (intel_dp_link_max_vswing_reached(intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
101
intel_dp->lttpr_common_caps);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1011
intel_dp_dump_link_status(intel_dp, dp_phy, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1012
lt_err(intel_dp, dp_phy, "Failed clock recovery %d times, giving up!\n",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1024
intel_dp_link_training_channel_equalization(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1034
delay_us = drm_dp_read_channel_eq_delay(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1035
intel_dp->dpcd, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1038
training_pattern = intel_dp_training_pattern(intel_dp, crtc_state, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1044
if (!intel_dp_set_link_train(intel_dp, crtc_state, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1046
lt_err(intel_dp, dp_phy, "Failed to start channel equalization\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
105
lt_dbg(intel_dp, DP_PHY_DPRX, "LTTPR common capabilities: %*ph\n",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1053
if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1055
lt_err(intel_dp, dp_phy, "Failed to get link status\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
106
(int)sizeof(intel_dp->lttpr_common_caps),
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1062
intel_dp_dump_link_status(intel_dp, dp_phy, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1063
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
107
intel_dp->lttpr_common_caps);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1071
lt_dbg(intel_dp, dp_phy, "Channel EQ done. DP Training successful\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1076
intel_dp_get_adjust_train(intel_dp, crtc_state, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1078
if (!intel_dp_update_link_train(intel_dp, crtc_state, dp_phy)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1079
lt_err(intel_dp, dp_phy, "Failed to update link training\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1086
intel_dp_dump_link_status(intel_dp, dp_phy, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1087
lt_dbg(intel_dp, dp_phy, "Channel equalization failed 5 times\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1093
static bool intel_dp_disable_dpcd_training_pattern(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1096
int reg = intel_dp_training_pattern_set_reg(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1099
return drm_dp_dpcd_write(&intel_dp->aux, reg, &val, 1) == 1;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
110
if (intel_dp->lttpr_common_caps[0] < 0x14)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1103
intel_dp_128b132b_intra_hop(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1109
ret = drm_dp_dpcd_readb(&intel_dp->aux, DP_SINK_STATUS, &sink_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1111
lt_dbg(intel_dp, DP_PHY_DPRX, "Failed to read sink status\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1134
void intel_dp_stop_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1137
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1138
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1141
intel_dp->link.active = true;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1143
intel_dp_program_link_training_pattern(intel_dp, crtc_state, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1147
ret = poll_timeout_us(ret = intel_dp_128b132b_intra_hop(intel_dp, crtc_state),
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1151
lt_dbg(intel_dp, DP_PHY_DPRX, "128b/132b intra-hop not clearing\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1157
intel_dp->link.seq_train_failures < MAX_SEQ_TRAIN_FAILURES) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1158
int delay_ms = intel_dp->link.seq_train_failures ? 0 : 2000;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
116
intel_dp_reset_lttpr_common_caps(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1165
intel_dp_link_train_phy(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1171
if (!intel_dp_link_training_clock_recovery(intel_dp, crtc_state, dp_phy))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1174
if (!intel_dp_link_training_channel_equalization(intel_dp, crtc_state, dp_phy))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1180
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1188
static bool intel_dp_can_link_train_fallback_for_edp(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1194
intel_panel_preferred_fixed_mode(intel_dp->attached_connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1198
max_rate = intel_dp_max_link_data_rate(intel_dp, link_rate, lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1205
static bool reduce_link_params_in_bw_order(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
121
intel_dp_set_lttpr_transparent_mode(struct intel_dp *intel_dp, bool enable)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1213
i = intel_dp_link_config_index(intel_dp, crtc_state->port_clock, crtc_state->lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1215
intel_dp_link_config_get(intel_dp, i, &link_rate, &lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1217
if ((intel_dp->link.force_rate &&
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1218
intel_dp->link.force_rate != link_rate) ||
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1219
(intel_dp->link.force_lane_count &&
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1220
intel_dp->link.force_lane_count != lane_count))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1235
static int reduce_link_rate(struct intel_dp *intel_dp, int current_rate)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1240
if (intel_dp->link.force_rate)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1243
rate_index = intel_dp_rate_index(intel_dp->common_rates,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1244
intel_dp->num_common_rates,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1250
new_rate = intel_dp_common_rate(intel_dp, rate_index - 1);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1259
static int reduce_lane_count(struct intel_dp *intel_dp, int current_lane_count)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
126
intel_dp->lttpr_common_caps[DP_PHY_REPEATER_MODE -
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1261
if (intel_dp->link.force_lane_count)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1270
static bool reduce_link_params_in_rate_lane_order(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1278
link_rate = reduce_link_rate(intel_dp, crtc_state->port_clock);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1280
lane_count = reduce_lane_count(intel_dp, crtc_state->lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1281
link_rate = intel_dp_max_common_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1293
static bool reduce_link_params(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1298
return reduce_link_params_in_bw_order(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1301
return reduce_link_params_in_rate_lane_order(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1305
static int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1311
if (intel_dp_is_edp(intel_dp) && !intel_dp->use_max_params) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1312
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1314
intel_dp->use_max_params = true;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1318
if (!reduce_link_params(intel_dp, crtc_state, &new_link_rate, &new_lane_count))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
132
bool intel_dp_lttpr_transparent_mode_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1321
if (intel_dp_is_edp(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1322
!intel_dp_can_link_train_fallback_for_edp(intel_dp, new_link_rate, new_lane_count)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1323
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1328
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1333
intel_dp->link.max_rate = new_link_rate;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1334
intel_dp->link.max_lane_count = new_lane_count;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
134
return intel_dp->lttpr_common_caps[DP_PHY_REPEATER_MODE -
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1340
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1343
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1345
if (!intel_digital_port_connected(&dp_to_dig_port(intel_dp)->base)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1346
lt_dbg(intel_dp, DP_PHY_DPRX, "Link Training failed on disconnected sink.\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1350
if (intel_dp->hobl_active) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1351
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1353
intel_dp->hobl_failed = true;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1354
} else if (intel_dp_get_link_train_fallback_values(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1366
intel_dp_link_train_all_phys(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1376
ret = intel_dp_link_train_phy(intel_dp, crtc_state, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1377
intel_dp_disable_dpcd_training_pattern(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1384
ret = intel_dp_link_train_phy(intel_dp, crtc_state, DP_PHY_DPRX);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1386
intel_dp_disable_dpcd_training_pattern(intel_dp, DP_PHY_DPRX);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1387
intel_dp->set_idle_link_train(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1396
intel_dp_128b132b_lane_eq(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1411
if (!intel_dp_reset_link_train(intel_dp, crtc_state, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1413
lt_err(intel_dp, DP_PHY_DPRX, "Failed to start 128b/132b TPS1\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1417
delay_us = drm_dp_128b132b_read_aux_rd_interval(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1420
if (drm_dp_dpcd_read_link_status(&intel_dp->aux, link_status) < 0) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1421
lt_err(intel_dp, DP_PHY_DPRX, "Failed to read TX FFE presets\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1426
intel_dp_get_adjust_train(intel_dp, crtc_state, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1427
if (!intel_dp_update_link_train(intel_dp, crtc_state, DP_PHY_DPRX)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1428
lt_err(intel_dp, DP_PHY_DPRX, "Failed to set initial TX FFE settings\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1433
if (!intel_dp_set_link_train(intel_dp, crtc_state, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1435
lt_err(intel_dp, DP_PHY_DPRX, "Failed to start 128b/132b TPS2\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1445
if (drm_dp_dpcd_read_link_status(&intel_dp->aux, link_status) < 0) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1446
lt_err(intel_dp, DP_PHY_DPRX, "Failed to read link status\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1451
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1452
lt_err(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1458
lt_dbg(intel_dp, DP_PHY_DPRX, "Lane channel eq done\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1463
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1464
lt_err(intel_dp, DP_PHY_DPRX, "Lane channel eq timeout\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
147
static int intel_dp_init_lttpr_phys(struct intel_dp *intel_dp, const u8 dpcd[DP_RECEIVER_CAP_SIZE])
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1475
delay_us = drm_dp_128b132b_read_aux_rd_interval(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1477
intel_dp_get_adjust_train(intel_dp, crtc_state, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1480
if (!intel_dp_update_link_train(intel_dp, crtc_state, DP_PHY_DPRX)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1481
lt_err(intel_dp, DP_PHY_DPRX, "Failed to update TX FFE settings\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1487
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1488
lt_err(intel_dp, DP_PHY_DPRX, "Max loop count reached\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1496
if (drm_dp_dpcd_read_link_status(&intel_dp->aux, link_status) < 0) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1497
lt_err(intel_dp, DP_PHY_DPRX, "Failed to read link status\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1502
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1503
lt_err(intel_dp, DP_PHY_DPRX, "Downstream link training failure\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1508
lt_dbg(intel_dp, DP_PHY_DPRX, "Interlane align done\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1513
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1514
lt_err(intel_dp, DP_PHY_DPRX, "Interlane align timeout\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
152
if (!intel_dp_read_lttpr_common_caps(intel_dp, dpcd))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1528
intel_dp_128b132b_lane_cds(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1535
if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TRAINING_PATTERN_SET,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1537
lt_err(intel_dp, DP_PHY_DPRX, "Failed to start 128b/132b TPS2 CDS\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
155
lttpr_count = drm_dp_lttpr_count(intel_dp->lttpr_common_caps);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1552
if (drm_dp_dpcd_read_link_status(&intel_dp->aux, link_status) < 0) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1553
lt_err(intel_dp, DP_PHY_DPRX, "Failed to read link status\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1560
lt_dbg(intel_dp, DP_PHY_DPRX, "CDS interlane align done\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1565
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1566
lt_err(intel_dp, DP_PHY_DPRX, "Downstream link training failure\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1571
intel_dp_dump_link_status(intel_dp, DP_PHY_DPRX, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1572
lt_err(intel_dp, DP_PHY_DPRX, "CDS timeout\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1584
intel_dp_128b132b_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1591
ret = poll_timeout_us(ret = intel_dp_128b132b_intra_hop(intel_dp, crtc_state),
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1595
lt_err(intel_dp, DP_PHY_DPRX, "128b/132b intra-hop not clear\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1599
if (intel_dp_128b132b_lane_eq(intel_dp, crtc_state) &&
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1600
intel_dp_128b132b_lane_cds(intel_dp, crtc_state, lttpr_count))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1603
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1618
intel_dp_program_link_training_pattern(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1621
intel_dp_disable_dpcd_training_pattern(intel_dp, DP_PHY_DPRX);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1638
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1642
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1654
lttpr_count = intel_dp_init_lttpr_and_dprx_caps(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1660
intel_dp_prepare_link_train(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1663
passed = intel_dp_128b132b_link_train(intel_dp, crtc_state, lttpr_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1665
passed = intel_dp_link_train_all_phys(intel_dp, crtc_state, lttpr_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1667
if (intel_dp->link.force_train_failure) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1668
intel_dp->link.force_train_failure--;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1669
lt_dbg(intel_dp, DP_PHY_DPRX, "Forcing link training failure\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1671
intel_dp->link.seq_train_failures = 0;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1675
intel_dp->link.seq_train_failures++;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1690
lt_dbg(intel_dp, DP_PHY_DPRX, "Ignore the link failure\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1694
if (intel_dp->link.seq_train_failures < MAX_SEQ_TRAIN_FAILURES)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1697
if (intel_dp_schedule_fallback_link_training(state, intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
170
if (intel_dp->link.active) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1700
intel_dp->link.retrain_disabled = true;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1703
lt_err(intel_dp, DP_PHY_DPRX, "Can't reduce link training parameters after failure\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1705
lt_dbg(intel_dp, DP_PHY_DPRX, "Can't reduce link training parameters after forced failure\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1708
void intel_dp_128b132b_sdp_crc16(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
171
if (lttpr_count < 0 || intel_dp_lttpr_transparent_mode_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1721
drm_dp_dpcd_writeb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1725
lt_dbg(intel_dp, DP_PHY_DPRX, "DP2.0 SDP CRC16 for 128b/132b enabled\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1732
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1742
if (intel_dp->link.active)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1743
current_rate = intel_dp->link_rate;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1744
force_rate = intel_dp->link.force_rate;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1752
for (i = 0; i < intel_dp->num_source_rates; i++)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1754
intel_dp->source_rates[i] == force_rate ? "[" : "",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1755
intel_dp->source_rates[i],
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1756
intel_dp->source_rates[i] == current_rate ? "*" : "",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1757
intel_dp->source_rates[i] == force_rate ? "]" : "");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1766
static int parse_link_rate(struct intel_dp *intel_dp, const char __user *ubuf, size_t len)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
177
ret = drm_dp_lttpr_init(&intel_dp->aux, lttpr_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1786
if (intel_dp_rate_index(intel_dp->source_rates,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1787
intel_dp->num_source_rates,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
179
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1805
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1809
rate = parse_link_rate(intel_dp, ubuf, len);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1817
intel_dp_reset_link_params(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1818
intel_dp->link.force_rate = rate;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
182
intel_dp_set_lttpr_transparent_mode(intel_dp, true);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1832
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1842
if (intel_dp->link.active)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1843
current_lane_count = intel_dp->lane_count;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1844
force_lane_count = intel_dp->link.force_lane_count;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
187
intel_dp_set_lttpr_transparent_mode(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1907
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1919
intel_dp_reset_link_params(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
192
intel_dp_reset_lttpr_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1920
intel_dp->link.force_lane_count = lane_count;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1936
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1943
*val = intel_dp->link.max_rate;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1955
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1962
*val = intel_dp->link.max_lane_count;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
197
static int intel_dp_init_lttpr(struct intel_dp *intel_dp, const u8 dpcd[DP_RECEIVER_CAP_SIZE])
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1974
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1981
*val = intel_dp->link.force_train_failure;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
1992
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2002
intel_dp->link.force_train_failure = val;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2016
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
202
lttpr_count = intel_dp_init_lttpr_phys(intel_dp, dpcd);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2023
*val = intel_dp->link.force_retrain;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2034
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2041
intel_dp->link.force_retrain = val;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2045
intel_hpd_trigger_irq(dp_to_dig_port(intel_dp));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
205
intel_dp_read_lttpr_phy_caps(intel_dp, dpcd, DP_PHY_LTTPR(i));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2057
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
206
drm_dp_dump_lttpr_desc(&intel_dp->aux, DP_PHY_LTTPR(i));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
2064
seq_printf(m, "%s\n", str_yes_no(intel_dp->link.retrain_disabled));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
212
int intel_dp_read_dprx_caps(struct intel_dp *intel_dp, u8 dpcd[DP_RECEIVER_CAP_SIZE])
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
214
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
216
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
224
if (drm_dp_dpcd_probe(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
228
if (drm_dp_read_dpcd_caps(&intel_dp->aux, dpcd))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
252
int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
254
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
261
if (!intel_dp_is_edp(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
264
int err = intel_dp_read_dprx_caps(intel_dp, dpcd);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
269
lttpr_count = intel_dp_init_lttpr(intel_dp, dpcd);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
276
if (drm_dp_read_dpcd_caps(&intel_dp->aux, intel_dp->dpcd)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
277
intel_dp_reset_lttpr_common_caps(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
299
static u8 intel_dp_lttpr_voltage_max(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
302
const u8 *phy_caps = intel_dp_lttpr_phy_caps(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
310
static u8 intel_dp_lttpr_preemph_max(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
313
const u8 *phy_caps = intel_dp_lttpr_phy_caps(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
322
intel_dp_phy_is_downstream_of_source(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
325
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
326
int lttpr_count = drm_dp_lttpr_count(intel_dp->lttpr_common_caps);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
334
static u8 intel_dp_phy_voltage_max(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
338
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
345
if (intel_dp_phy_is_downstream_of_source(intel_dp, dp_phy))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
346
voltage_max = intel_dp->voltage_max(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
348
voltage_max = intel_dp_lttpr_voltage_max(intel_dp, dp_phy + 1);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
357
static u8 intel_dp_phy_preemph_max(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
360
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
367
if (intel_dp_phy_is_downstream_of_source(intel_dp, dp_phy))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
368
preemph_max = intel_dp->preemph_max(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
370
preemph_max = intel_dp_lttpr_preemph_max(intel_dp, dp_phy + 1);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
379
static bool has_per_lane_signal_levels(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
382
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
384
return !intel_dp_phy_is_downstream_of_source(intel_dp, dp_phy) ||
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
389
static u8 intel_dp_get_lane_adjust_tx_ffe_preset(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
397
if (has_per_lane_signal_levels(intel_dp, dp_phy)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
409
static u8 intel_dp_get_lane_adjust_vswing_preemph(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
420
if (has_per_lane_signal_levels(intel_dp, dp_phy)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
432
preemph_max = intel_dp_phy_preemph_max(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
438
voltage_max = intel_dp_phy_voltage_max(intel_dp, crtc_state, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
445
static u8 intel_dp_get_lane_adjust_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
452
return intel_dp_get_lane_adjust_tx_ffe_preset(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
455
return intel_dp_get_lane_adjust_vswing_preemph(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
483
intel_dp_get_adjust_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
492
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
498
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
508
u8 new = intel_dp_get_lane_adjust_train(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
510
if (intel_dp->train_set[lane] == new)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
513
intel_dp->train_set[lane] = new;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
520
static int intel_dp_training_pattern_set_reg(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
529
intel_dp_set_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
534
int reg = intel_dp_training_pattern_set_reg(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
535
u8 buf[sizeof(intel_dp->train_set) + 1];
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
538
intel_dp_program_link_training_pattern(intel_dp, crtc_state,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
543
memcpy(buf + 1, intel_dp->train_set, crtc_state->lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
546
return drm_dp_dpcd_write(&intel_dp->aux, reg, buf, len) == len;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
565
intel_dp_program_link_training_pattern(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
573
lt_dbg(intel_dp, dp_phy, "Using DP training pattern TPS%c\n",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
576
intel_dp->set_link_train(intel_dp, crtc_state, dp_train_pat);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
604
void intel_dp_set_signal_levels(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
608
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
611
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
615
TRAIN_SET_TX_FFE_ARGS(intel_dp->train_set));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
617
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
62
static void intel_dp_reset_lttpr_common_caps(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
622
TRAIN_SET_VSWING_ARGS(intel_dp->train_set),
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
623
TRAIN_SET_PREEMPH_ARGS(intel_dp->train_set));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
626
if (intel_dp_phy_is_downstream_of_source(intel_dp, dp_phy))
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
631
intel_dp_reset_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
636
memset(intel_dp->train_set, 0, sizeof(intel_dp->train_set));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
637
intel_dp_set_signal_levels(intel_dp, crtc_state, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
638
return intel_dp_set_link_train(intel_dp, crtc_state, dp_phy, dp_train_pat);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
64
memset(intel_dp->lttpr_common_caps, 0, sizeof(intel_dp->lttpr_common_caps));
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
642
intel_dp_update_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
651
intel_dp_set_signal_levels(intel_dp, crtc_state, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
653
ret = drm_dp_dpcd_write(&intel_dp->aux, reg,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
654
intel_dp->train_set, crtc_state->lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
67
static void intel_dp_reset_lttpr_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
69
intel_dp->lttpr_common_caps[DP_PHY_REPEATER_CNT -
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
692
static bool intel_dp_link_max_vswing_reached(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
698
u8 train_set_lane = intel_dp->train_set[lane];
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
712
void intel_dp_link_training_set_mode(struct intel_dp *intel_dp, int link_rate, bool is_vrr)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
719
drm_dp_dpcd_write(&intel_dp->aux, DP_DOWNSPREAD_CTRL, link_config, 2);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
722
static void intel_dp_update_downspread_ctrl(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
73
static u8 *intel_dp_lttpr_phy_caps(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
738
intel_dp_link_training_set_mode(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
742
void intel_dp_link_training_set_bw(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
753
drm_dp_dpcd_write(&intel_dp->aux, DP_LINK_BW_SET, link_config,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
76
return intel_dp->lttpr_phy_caps[dp_phy - DP_PHY_LTTPR1];
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
765
drm_dp_dpcd_writeb(&intel_dp->aux, DP_LANE_COUNT_SET, lane_count);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
766
drm_dp_dpcd_writeb(&intel_dp->aux, DP_LINK_RATE_SET, rate_select);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
775
static u32 intel_dp_training_pattern(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
779
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
79
static void intel_dp_read_lttpr_phy_caps(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
794
drm_dp_tps4_supported(intel_dp->dpcd);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
799
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
802
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
812
drm_dp_tps3_supported(intel_dp->dpcd);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
817
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
820
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
827
static void intel_dp_update_link_bw_set(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
83
u8 *phy_caps = intel_dp_lttpr_phy_caps(intel_dp, dp_phy);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
831
intel_dp_link_training_set_bw(intel_dp, link_bw, rate_select, crtc_state->lane_count,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
840
intel_dp_prepare_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
845
if (intel_dp->prepare_link_retrain)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
846
intel_dp->prepare_link_retrain(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
848
intel_dp_compute_rate(intel_dp, crtc_state->port_clock,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
85
if (drm_dp_read_lttpr_phy_caps(&intel_dp->aux, dpcd, dp_phy, phy_caps) < 0) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
86
lt_dbg(intel_dp, dp_phy, "failed to read the PHY caps\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
865
lt_dbg(intel_dp, DP_PHY_DPRX, "Reloading eDP link rates\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
867
drm_dp_dpcd_read(&intel_dp->aux, DP_SUPPORTED_LINK_RATES,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
872
lt_dbg(intel_dp, DP_PHY_DPRX, "Using LINK_BW_SET value %02x\n",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
875
lt_dbg(intel_dp, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
882
intel_dp_update_downspread_ctrl(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
883
intel_dp_update_link_bw_set(intel_dp, crtc_state, link_bw,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
90
lt_dbg(intel_dp, dp_phy, "PHY capabilities: %*ph\n",
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
91
(int)sizeof(intel_dp->lttpr_phy_caps[0]),
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
916
intel_dp_dump_link_status(struct intel_dp *intel_dp, enum drm_dp_phy dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
919
lt_dbg(intel_dp, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
930
intel_dp_link_training_clock_recovery(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
940
delay_us = drm_dp_read_clock_recovery_delay(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
941
intel_dp->dpcd, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
945
if (!intel_dp_reset_link_train(intel_dp, crtc_state, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
948
lt_err(intel_dp, dp_phy, "Failed to enable link training\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
95
static bool intel_dp_read_lttpr_common_caps(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
960
if (intel_dp->dpcd[DP_DPCD_REV] >= DP_DPCD_REV_14)
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
969
if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
971
lt_err(intel_dp, dp_phy, "Failed to get link status\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
976
lt_dbg(intel_dp, dp_phy, "Clock recovery OK\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
981
intel_dp_dump_link_status(intel_dp, dp_phy, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
982
lt_dbg(intel_dp, dp_phy, "Same voltage tried 5 times\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
987
intel_dp_dump_link_status(intel_dp, dp_phy, link_status);
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
988
lt_dbg(intel_dp, dp_phy, "Max Voltage Swing reached\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
993
intel_dp_get_adjust_train(intel_dp, crtc_state, dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
995
if (!intel_dp_update_link_train(intel_dp, crtc_state, dp_phy)) {
sys/dev/pci/drm/i915/display/intel_dp_link_training.c
996
lt_err(intel_dp, dp_phy, "Failed to update link training\n");
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
14
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
16
int intel_dp_read_dprx_caps(struct intel_dp *intel_dp, u8 dpcd[DP_RECEIVER_CAP_SIZE]);
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
17
int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
18
bool intel_dp_lttpr_transparent_mode_enabled(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
20
void intel_dp_link_training_set_mode(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
22
void intel_dp_link_training_set_bw(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
26
bool intel_dp_get_adjust_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
30
void intel_dp_program_link_training_pattern(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
34
void intel_dp_set_signal_levels(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
38
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
40
void intel_dp_stop_link_train(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
44
intel_dp_dump_link_status(struct intel_dp *intel_dp, enum drm_dp_phy dp_phy,
sys/dev/pci/drm/i915/display/intel_dp_link_training.h
53
void intel_dp_128b132b_sdp_crc16(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1021
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1025
if (intel_dp_mst_active_streams(intel_dp) == 1)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1026
intel_dp->link.active = false;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1041
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1045
drm_atomic_get_old_mst_topology_state(&state->base, &intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1047
drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
105
static struct intel_dp *to_primary_dp(struct intel_encoder *encoder)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1056
last_mst_stream = intel_dp_mst_dec_active_streams(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1070
drm_dp_remove_payload_part1(&intel_dp->mst.mgr, new_mst_state, new_payload);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1079
drm_dp_check_act_status(&intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1081
drm_dp_remove_payload_part2(&intel_dp->mst.mgr, new_mst_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1104
drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->mst.port,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
113
int intel_dp_mst_active_streams(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1136
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1138
if (intel_dp_mst_active_streams(intel_dp) == 0 &&
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1149
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
115
return intel_dp->mst.active_streams;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1151
if (intel_dp_mst_active_streams(intel_dp) == 0)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1163
static bool intel_mst_probed_link_params_valid(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1166
return intel_dp->link.mst_probed_rate == link_rate &&
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1167
intel_dp->link.mst_probed_lane_count == lane_count;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1170
static void intel_mst_set_probed_link_params(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1173
intel_dp->link.mst_probed_rate = link_rate;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1174
intel_dp->link.mst_probed_lane_count = lane_count;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1177
static void intel_mst_reprobe_topology(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
118
static bool intel_dp_mst_dec_active_streams(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1180
if (intel_mst_probed_link_params_valid(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1184
drm_dp_mst_topology_queue_probe(&intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1186
intel_mst_set_probed_link_params(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1198
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
120
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1202
drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1212
first_mst_stream = intel_dp_mst_inc_active_streams(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1217
intel_dp_set_power(intel_dp, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1219
drm_dp_send_power_updown_phy(&intel_dp->mst.mgr, connector->mst.port, true);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1227
intel_mst_reprobe_topology(intel_dp, pipe_config);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
123
intel_dp->mst.active_streams, intel_dp->mst.active_streams - 1);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1230
ret = drm_dp_add_payload_part1(&intel_dp->mst.mgr, mst_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
125
if (drm_WARN_ON(display->drm, intel_dp->mst.active_streams == 0))
sys/dev/pci/drm/i915/display/intel_dp_mst.c
128
return --intel_dp->mst.active_streams == 0;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1292
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1295
drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1297
bool first_mst_stream = intel_dp_mst_active_streams(intel_dp) == 1;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
131
static bool intel_dp_mst_inc_active_streams(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1326
drm_dp_check_act_status(&intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
133
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1331
ret = drm_dp_add_payload_part2(&intel_dp->mst.mgr,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
136
intel_dp->mst.active_streams, intel_dp->mst.active_streams + 1);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
138
return intel_dp->mst.active_streams++ == 0;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1384
struct intel_dp *intel_dp = connector->mst.dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1394
drm_edid = drm_dp_mst_edid_read(&connector->base, &intel_dp->mst.mgr, connector->mst.port);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1455
struct intel_dp *intel_dp = connector->mst.dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1456
struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst.mgr;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1487
max_link_clock = intel_dp_max_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1488
max_lanes = intel_dp_max_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1490
max_rate = intel_dp_max_link_data_rate(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1506
num_joined_pipes = intel_dp_num_joined_pipes(intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1568
struct intel_dp *intel_dp = connector->mst.dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1571
return &intel_dp->mst.stream_encoders[crtc->pipe]->base.base;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1580
struct intel_dp *intel_dp = connector->mst.dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1593
return drm_dp_mst_detect_port(&connector->base, ctx, &intel_dp->mst.mgr,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1629
static int mst_topology_add_connector_properties(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1633
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1649
intel_dp->attached_connector->base.max_bpc_property;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1657
intel_dp_mst_read_decompression_port_dsc_caps(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1723
struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1724
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1725
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1736
connector->mst.dp = intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1746
intel_dp_mst_read_decompression_port_dsc_caps(intel_dp, connector);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1754
&intel_dp->mst.stream_encoders[pipe]->base.base;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1761
ret = mst_topology_add_connector_properties(intel_dp, &connector->base, pathprop);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1784
struct intel_dp *intel_dp = container_of(mgr, struct intel_dp, mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1786
intel_hpd_trigger_irq(dp_to_dig_port(intel_dp));
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1853
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1857
intel_dp->mst.stream_encoders[pipe] = mst_stream_encoder_create(dig_port, pipe);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1865
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1869
if (!HAS_DP_MST(display) || intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1878
intel_dp->mst.mgr.cbs = &mst_topology_cbs;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1882
ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst.mgr, display->drm,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1883
&intel_dp->aux, 16,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1886
intel_dp->mst.mgr.cbs = NULL;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1893
bool intel_dp_mst_source_support(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1895
return intel_dp->mst.mgr.cbs;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1901
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1903
if (!intel_dp_mst_source_support(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1906
drm_dp_mst_topology_mgr_destroy(&intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
1909
intel_dp->mst.mgr.cbs = NULL;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2080
void intel_dp_mst_prepare_probe(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2082
int link_rate = intel_dp_max_link_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2083
int lane_count = intel_dp_max_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2087
if (intel_dp->link.active)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2090
if (intel_mst_probed_link_params_valid(intel_dp, link_rate, lane_count))
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2093
intel_dp_compute_rate(intel_dp, link_rate, &link_bw, &rate_select);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2095
intel_dp_link_training_set_mode(intel_dp, link_rate, false);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2096
intel_dp_link_training_set_bw(intel_dp, link_bw, rate_select, lane_count,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2097
drm_dp_enhanced_frame_cap(intel_dp->dpcd));
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2099
intel_mst_set_probed_link_params(intel_dp, link_rate, lane_count);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2114
bool intel_dp_mst_verify_dpcd_state(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2116
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2117
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2118
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2123
if (!intel_dp->is_mst)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
2126
ret = drm_dp_dpcd_readb(intel_dp->mst.mgr.aux, DP_MSTM_CTRL, &val);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
257
int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
262
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
286
mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst.mgr);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
297
if (!intel_dp_supports_fec(intel_dp, connector, crtc_state))
sys/dev/pci/drm/i915/display/intel_dp_mst.c
330
if (dsc && !intel_dp_dsc_valid_compressed_bpp(intel_dp, bpp_x16)) {
sys/dev/pci/drm/i915/display/intel_dp_mst.c
396
slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst.mgr,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
441
static int mst_stream_compute_link_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
453
return intel_dp_mtp_tu_compute_config(intel_dp, crtc_state, conn_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
459
static int mst_stream_dsc_compute_link_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
464
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
513
return intel_dp_mtp_tu_compute_config(intel_dp, crtc_state, conn_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
553
adjust_limits_for_dsc_hblank_expansion_quirk(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
567
if (intel_dp_supports_dsc(intel_dp, connector, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_dp_mst.c
613
mst_stream_compute_config_limits(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
622
if (!intel_dp_compute_config_limits(intel_dp, conn_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
627
return adjust_limits_for_dsc_hblank_expansion_quirk(intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
641
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
652
!intel_dp_supports_fec(intel_dp, connector, pipe_config))
sys/dev/pci/drm/i915/display/intel_dp_mst.c
658
num_joined_pipes = intel_dp_num_joined_pipes(intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
670
dsc_needed = joiner_needs_dsc || intel_dp->force_dsc_en ||
sys/dev/pci/drm/i915/display/intel_dp_mst.c
671
!mst_stream_compute_config_limits(intel_dp, conn_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
675
ret = mst_stream_compute_link_config(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
685
if (dsc_needed && !intel_dp_supports_dsc(intel_dp, connector, pipe_config)) {
sys/dev/pci/drm/i915/display/intel_dp_mst.c
694
str_yes_no(intel_dp->force_dsc_en));
sys/dev/pci/drm/i915/display/intel_dp_mst.c
697
if (!mst_stream_compute_config_limits(intel_dp, conn_state,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
706
drm_WARN(display->drm, intel_dp->force_dsc_bpc,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
714
ret = mst_stream_dsc_compute_link_config(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
719
ret = intel_dp_dsc_compute_config(intel_dp, pipe_config,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
744
intel_psr_compute_config(intel_dp, pipe_config, conn_state);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
746
return intel_dp_tunnel_atomic_compute_stream_bw(state, intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp_mst.c
756
struct intel_dp *mst_port)
sys/dev/pci/drm/i915/display/intel_dp_mst.c
915
struct intel_dp *intel_dp = to_primary_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_mst.c
919
ffs(intel_dp_mst_transcoder_mask(state, intel_dp)) - 1;
sys/dev/pci/drm/i915/display/intel_dp_mst.h
16
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_mst.h
21
int intel_dp_mst_active_streams(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.h
24
bool intel_dp_mst_source_support(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.h
31
void intel_dp_mst_prepare_probe(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.h
32
bool intel_dp_mst_verify_dpcd_state(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_mst.h
34
int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_test.c
103
if (!intel_dp_link_params_valid(intel_dp, test_link_rate,
sys/dev/pci/drm/i915/display/intel_dp_test.c
107
intel_dp->compliance.test_lane_count = test_lane_count;
sys/dev/pci/drm/i915/display/intel_dp_test.c
108
intel_dp->compliance.test_link_rate = test_link_rate;
sys/dev/pci/drm/i915/display/intel_dp_test.c
113
static u8 intel_dp_autotest_video_pattern(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
115
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
122
status = drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_PATTERN,
sys/dev/pci/drm/i915/display/intel_dp_test.c
131
status = drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_H_WIDTH_HI,
sys/dev/pci/drm/i915/display/intel_dp_test.c
138
status = drm_dp_dpcd_read(&intel_dp->aux, DP_TEST_V_HEIGHT_HI,
sys/dev/pci/drm/i915/display/intel_dp_test.c
145
status = drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_MISC0,
sys/dev/pci/drm/i915/display/intel_dp_test.c
157
intel_dp->compliance.test_data.bpc = 6;
sys/dev/pci/drm/i915/display/intel_dp_test.c
160
intel_dp->compliance.test_data.bpc = 8;
sys/dev/pci/drm/i915/display/intel_dp_test.c
166
intel_dp->compliance.test_data.video_pattern = test_pattern;
sys/dev/pci/drm/i915/display/intel_dp_test.c
167
intel_dp->compliance.test_data.hdisplay = be16_to_cpu(h_width);
sys/dev/pci/drm/i915/display/intel_dp_test.c
168
intel_dp->compliance.test_data.vdisplay = be16_to_cpu(v_height);
sys/dev/pci/drm/i915/display/intel_dp_test.c
170
intel_dp->compliance.test_active = true;
sys/dev/pci/drm/i915/display/intel_dp_test.c
175
static u8 intel_dp_autotest_edid(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
177
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
179
struct intel_connector *intel_connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp_test.c
183
intel_dp->aux.i2c_defer_count > 6) {
sys/dev/pci/drm/i915/display/intel_dp_test.c
191
if (intel_dp->aux.i2c_nack_count > 0 ||
sys/dev/pci/drm/i915/display/intel_dp_test.c
192
intel_dp->aux.i2c_defer_count > 0)
sys/dev/pci/drm/i915/display/intel_dp_test.c
195
intel_dp->aux.i2c_nack_count,
sys/dev/pci/drm/i915/display/intel_dp_test.c
196
intel_dp->aux.i2c_defer_count);
sys/dev/pci/drm/i915/display/intel_dp_test.c
197
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_FAILSAFE;
sys/dev/pci/drm/i915/display/intel_dp_test.c
205
if (drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_EDID_CHECKSUM,
sys/dev/pci/drm/i915/display/intel_dp_test.c
21
void intel_dp_test_reset(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
211
intel_dp->compliance.test_data.edid = INTEL_DP_RESOLUTION_PREFERRED;
sys/dev/pci/drm/i915/display/intel_dp_test.c
215
intel_dp->compliance.test_active = true;
sys/dev/pci/drm/i915/display/intel_dp_test.c
220
static void intel_dp_phy_pattern_update(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_test.c
223
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
225
&intel_dp->compliance.test_data.phytest;
sys/dev/pci/drm/i915/display/intel_dp_test.c
227
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_test.c
27
memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance));
sys/dev/pci/drm/i915/display/intel_dp_test.c
306
static void intel_dp_process_phy_request(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_test.c
309
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
31
void intel_dp_test_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_test.c
311
&intel_dp->compliance.test_data.phytest;
sys/dev/pci/drm/i915/display/intel_dp_test.c
314
if (drm_dp_dpcd_read_phy_link_status(&intel_dp->aux, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_test.c
321
intel_dp_get_adjust_train(intel_dp, crtc_state, DP_PHY_DPRX,
sys/dev/pci/drm/i915/display/intel_dp_test.c
324
intel_dp_set_signal_levels(intel_dp, crtc_state, DP_PHY_DPRX);
sys/dev/pci/drm/i915/display/intel_dp_test.c
326
intel_dp_phy_pattern_update(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_test.c
328
drm_dp_dpcd_write(&intel_dp->aux, DP_TRAINING_LANE0_SET,
sys/dev/pci/drm/i915/display/intel_dp_test.c
329
intel_dp->train_set, crtc_state->lane_count);
sys/dev/pci/drm/i915/display/intel_dp_test.c
331
drm_dp_set_phy_test_pattern(&intel_dp->aux, data,
sys/dev/pci/drm/i915/display/intel_dp_test.c
332
intel_dp->dpcd[DP_DPCD_REV]);
sys/dev/pci/drm/i915/display/intel_dp_test.c
335
static u8 intel_dp_autotest_phy_pattern(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
337
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
339
&intel_dp->compliance.test_data.phytest;
sys/dev/pci/drm/i915/display/intel_dp_test.c
341
if (drm_dp_get_phy_test_pattern(&intel_dp->aux, data)) {
sys/dev/pci/drm/i915/display/intel_dp_test.c
348
intel_dp->compliance.test_active = true;
sys/dev/pci/drm/i915/display/intel_dp_test.c
35
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
353
void intel_dp_test_request(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
355
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
360
status = drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_REQUEST, &request);
sys/dev/pci/drm/i915/display/intel_dp_test.c
370
response = intel_dp_autotest_link_training(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
374
response = intel_dp_autotest_video_pattern(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
378
response = intel_dp_autotest_edid(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
38
if (intel_dp->compliance.test_data.bpc != 0) {
sys/dev/pci/drm/i915/display/intel_dp_test.c
382
response = intel_dp_autotest_phy_pattern(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
39
int bpp = 3 * intel_dp->compliance.test_data.bpc;
sys/dev/pci/drm/i915/display/intel_dp_test.c
391
intel_dp->compliance.test_type = request;
sys/dev/pci/drm/i915/display/intel_dp_test.c
394
status = drm_dp_dpcd_writeb(&intel_dp->aux, DP_TEST_RESPONSE, response);
sys/dev/pci/drm/i915/display/intel_dp_test.c
402
static int intel_dp_prep_phy_test(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_test.c
406
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
420
if (!intel_dp_has_connector(intel_dp, conn_state))
sys/dev/pci/drm/i915/display/intel_dp_test.c
454
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_test.c
464
ret = intel_dp_prep_phy_test(intel_dp, ctx, &pipe_mask);
sys/dev/pci/drm/i915/display/intel_dp_test.c
484
intel_dp_process_phy_request(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_dp_test.c
49
if (intel_dp->compliance.test_type == DP_TEST_LINK_TRAINING) {
sys/dev/pci/drm/i915/display/intel_dp_test.c
491
bool intel_dp_test_phy(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
493
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
498
if (!intel_dp->compliance.test_active ||
sys/dev/pci/drm/i915/display/intel_dp_test.c
499
intel_dp->compliance.test_type != DP_TEST_LINK_PHY_TEST_PATTERN)
sys/dev/pci/drm/i915/display/intel_dp_test.c
523
bool intel_dp_test_short_pulse(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
525
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
528
switch (intel_dp->compliance.test_type) {
sys/dev/pci/drm/i915/display/intel_dp_test.c
55
if (intel_dp_link_params_valid(intel_dp, intel_dp->compliance.test_link_rate,
sys/dev/pci/drm/i915/display/intel_dp_test.c
56
intel_dp->compliance.test_lane_count)) {
sys/dev/pci/drm/i915/display/intel_dp_test.c
562
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_test.c
57
index = intel_dp_rate_index(intel_dp->common_rates,
sys/dev/pci/drm/i915/display/intel_dp_test.c
58
intel_dp->num_common_rates,
sys/dev/pci/drm/i915/display/intel_dp_test.c
587
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_test.c
59
intel_dp->compliance.test_link_rate);
sys/dev/pci/drm/i915/display/intel_dp_test.c
596
intel_dp->compliance.test_active = true;
sys/dev/pci/drm/i915/display/intel_dp_test.c
598
intel_dp->compliance.test_active = false;
sys/dev/pci/drm/i915/display/intel_dp_test.c
61
limits->min_rate = intel_dp->compliance.test_link_rate;
sys/dev/pci/drm/i915/display/intel_dp_test.c
615
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_test.c
62
limits->max_rate = intel_dp->compliance.test_link_rate;
sys/dev/pci/drm/i915/display/intel_dp_test.c
630
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_test.c
631
if (intel_dp->compliance.test_active)
sys/dev/pci/drm/i915/display/intel_dp_test.c
64
limits->min_lane_count = intel_dp->compliance.test_lane_count;
sys/dev/pci/drm/i915/display/intel_dp_test.c
65
limits->max_lane_count = intel_dp->compliance.test_lane_count;
sys/dev/pci/drm/i915/display/intel_dp_test.c
665
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_test.c
680
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_test.c
681
if (intel_dp->compliance.test_type ==
sys/dev/pci/drm/i915/display/intel_dp_test.c
684
intel_dp->compliance.test_data.edid);
sys/dev/pci/drm/i915/display/intel_dp_test.c
685
else if (intel_dp->compliance.test_type ==
sys/dev/pci/drm/i915/display/intel_dp_test.c
688
intel_dp->compliance.test_data.hdisplay);
sys/dev/pci/drm/i915/display/intel_dp_test.c
690
intel_dp->compliance.test_data.vdisplay);
sys/dev/pci/drm/i915/display/intel_dp_test.c
692
intel_dp->compliance.test_data.bpc);
sys/dev/pci/drm/i915/display/intel_dp_test.c
693
} else if (intel_dp->compliance.test_type ==
sys/dev/pci/drm/i915/display/intel_dp_test.c
696
intel_dp->compliance.test_data.phytest.phy_pattern);
sys/dev/pci/drm/i915/display/intel_dp_test.c
698
intel_dp->compliance.test_data.phytest.num_lanes);
sys/dev/pci/drm/i915/display/intel_dp_test.c
700
intel_dp->compliance.test_data.phytest.link_rate);
sys/dev/pci/drm/i915/display/intel_dp_test.c
702
intel_dp->train_set[0]);
sys/dev/pci/drm/i915/display/intel_dp_test.c
719
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_test.c
734
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dp_test.c
735
seq_printf(m, "%02lx\n", intel_dp->compliance.test_type);
sys/dev/pci/drm/i915/display/intel_dp_test.c
75
static u8 intel_dp_autotest_link_training(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_test.c
77
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.c
85
status = drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_LANE_COUNT,
sys/dev/pci/drm/i915/display/intel_dp_test.c
94
status = drm_dp_dpcd_readb(&intel_dp->aux, DP_TEST_LINK_RATE,
sys/dev/pci/drm/i915/display/intel_dp_test.h
11
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_test.h
14
void intel_dp_test_reset(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.h
15
void intel_dp_test_request(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.h
16
void intel_dp_test_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_test.h
19
bool intel_dp_test_phy(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_test.h
20
bool intel_dp_test_short_pulse(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
108
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
122
static int allocate_initial_tunnel_bw_for_pipes(struct intel_dp *intel_dp, u8 pipe_mask)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
124
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
125
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
139
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
146
err = drm_dp_tunnel_alloc_bw(intel_dp->tunnel, tunnel_bw);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
150
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
157
return update_tunnel_state(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
160
static int allocate_initial_tunnel_bw(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
166
err = intel_dp_get_active_pipes(intel_dp, ctx, &pipe_mask);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
170
return allocate_initial_tunnel_bw_for_pipes(intel_dp, pipe_mask);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
173
static int detect_new_tunnel(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
175
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
176
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
181
&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
185
intel_dp->tunnel = tunnel;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
187
ret = drm_dp_tunnel_enable_bw_alloc(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
194
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
202
ret = allocate_initial_tunnel_bw(intel_dp, ctx);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
204
intel_dp_tunnel_destroy(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
228
int intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
232
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
235
if (intel_dp->tunnel) {
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
236
ret = update_tunnel_state(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
241
intel_dp_tunnel_destroy(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
244
return detect_new_tunnel(intel_dp, ctx);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
256
bool intel_dp_tunnel_bw_alloc_is_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
258
return drm_dp_tunnel_bw_alloc_is_enabled(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
267
void intel_dp_tunnel_suspend(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
269
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
270
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
271
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
273
if (!intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
278
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
282
drm_dp_tunnel_disable_bw_alloc(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
284
intel_dp->tunnel_suspended = true;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
295
void intel_dp_tunnel_resume(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
299
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
30
void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
300
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
301
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
306
if (!intel_dp->tunnel_suspended)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
309
intel_dp->tunnel_suspended = false;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
313
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
32
drm_dp_tunnel_destroy(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
325
err = intel_dp_read_dprx_caps(intel_dp, dpcd);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
328
drm_dp_tunnel_set_io_error(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
33
intel_dp->tunnel = NULL;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
333
err = drm_dp_tunnel_enable_bw_alloc(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
345
err = allocate_initial_tunnel_bw_for_pipes(intel_dp, pipe_mask);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
354
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
396
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
400
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
414
if (!intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
424
old_crtc_state->dp_tunnel_ref.tunnel == intel_dp->tunnel)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
429
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
433
intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
435
return add_inherited_tunnel(state, intel_dp->tunnel, old_crtc);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
44
void intel_dp_tunnel_destroy(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
46
if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
47
drm_dp_tunnel_disable_bw_alloc(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
49
intel_dp_tunnel_disconnect(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
506
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
511
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
520
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
543
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
553
err = check_group_state(state, intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
561
err = check_group_state(state, intel_dp, connector,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
567
return check_inherited_tunnel_state(state, intel_dp, old_conn_state);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
57
static int get_current_link_bw(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
585
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
590
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
595
if (!intel_dp_tunnel_bw_alloc_is_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
60
int rate = intel_dp_max_common_rate(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
600
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
607
ret = drm_dp_tunnel_atomic_set_stream_bw(&state->base, intel_dp->tunnel,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
61
int lane_count = intel_dp_max_common_lane_count(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
612
drm_dp_tunnel_ref_get(intel_dp->tunnel,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
64
bw = intel_dp_max_link_data_rate(intel_dp, rate, lane_count);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
70
static int update_tunnel_state(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
72
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
73
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
80
old_bw = get_current_link_bw(intel_dp, &old_bw_below_dprx);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
82
ret = drm_dp_tunnel_update_state(intel_dp->tunnel);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
86
drm_dp_tunnel_name(intel_dp->tunnel),
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
94
!drm_dp_tunnel_bw_alloc_is_enabled(intel_dp->tunnel))
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
97
intel_dp_update_sink_caps(intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.c
99
new_bw = get_current_link_bw(intel_dp, &new_bw_below_dprx);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
114
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
19
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
26
int intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
27
void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
28
void intel_dp_tunnel_destroy(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
29
void intel_dp_tunnel_resume(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
32
void intel_dp_tunnel_suspend(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
34
bool intel_dp_tunnel_bw_alloc_is_enabled(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
40
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
51
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
62
intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
67
static inline void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp) {}
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
68
static inline void intel_dp_tunnel_destroy(struct intel_dp *intel_dp) {}
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
69
static inline void intel_dp_tunnel_resume(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
72
static inline void intel_dp_tunnel_suspend(struct intel_dp *intel_dp) {}
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
74
static inline bool intel_dp_tunnel_bw_alloc_is_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_dp_tunnel.h
84
struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_dpio_phy.c
1132
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dpio_phy.c
1133
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_dpio_phy.c
952
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_dpio_phy.c
953
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
101
ident = &intel_dp->desc.ident;
sys/dev/pci/drm/i915/display/intel_lspcon.c
135
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
136
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
140
ret = drm_dp_dpcd_read(&intel_dp->aux, get_hdr_status_reg(lspcon),
sys/dev/pci/drm/i915/display/intel_lspcon.c
156
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
157
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
159
struct i2c_adapter *ddc = &intel_dp->aux.ddc;
sys/dev/pci/drm/i915/display/intel_lspcon.c
161
if (drm_lspcon_get_mode(intel_dp->aux.drm_dev, ddc, &current_mode)) {
sys/dev/pci/drm/i915/display/intel_lspcon.c
183
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
184
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
214
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
215
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
218
struct i2c_adapter *ddc = &intel_dp->aux.ddc;
sys/dev/pci/drm/i915/display/intel_lspcon.c
220
err = drm_lspcon_get_mode(intel_dp->aux.drm_dev, ddc, &current_mode);
sys/dev/pci/drm/i915/display/intel_lspcon.c
231
err = drm_lspcon_set_mode(intel_dp->aux.drm_dev, ddc, mode,
sys/dev/pci/drm/i915/display/intel_lspcon.c
245
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
246
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
263
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
264
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
265
struct i2c_adapter *ddc = &intel_dp->aux.ddc;
sys/dev/pci/drm/i915/display/intel_lspcon.c
278
adaptor_type = drm_dp_dual_mode_detect(intel_dp->aux.drm_dev, ddc);
sys/dev/pci/drm/i915/display/intel_lspcon.c
309
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
310
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
311
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
499
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_lspcon.c
506
ret = _lspcon_write_avi_infoframe_mca(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_lspcon.c
509
ret = _lspcon_write_avi_infoframe_parade(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_lspcon.c
646
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_lspcon.c
653
infoframes_enabled = _lspcon_read_avi_infoframe_enabled_mca(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_lspcon.c
655
infoframes_enabled = _lspcon_read_avi_infoframe_enabled_parade(&intel_dp->aux);
sys/dev/pci/drm/i915/display/intel_lspcon.c
66
static struct intel_dp *lspcon_to_intel_dp(struct intel_lspcon *lspcon)
sys/dev/pci/drm/i915/display/intel_lspcon.c
682
struct intel_dp *intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_lspcon.c
684
struct drm_connector *connector = &intel_dp->attached_connector->base;
sys/dev/pci/drm/i915/display/intel_lspcon.c
694
if (drm_dp_read_dpcd_caps(&intel_dp->aux, intel_dp->dpcd) != 0) {
sys/dev/pci/drm/i915/display/intel_lspcon.c
91
struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon);
sys/dev/pci/drm/i915/display/intel_lspcon.c
92
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_lspcon.c
96
if (drm_dp_read_desc(&intel_dp->aux, &intel_dp->desc, drm_dp_is_branch(intel_dp->dpcd))) {
sys/dev/pci/drm/i915/display/intel_pps.c
1012
wait_panel_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1013
intel_dp->pps.last_power_on = jiffies;
sys/dev/pci/drm/i915/display/intel_pps.c
1026
void intel_pps_on(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1030
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1033
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
1034
intel_pps_on_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1037
void intel_pps_off_unlocked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1039
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1040
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1046
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1051
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
1053
drm_WARN(display->drm, !intel_dp->pps.want_panel_vdd,
sys/dev/pci/drm/i915/display/intel_pps.c
1056
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
1058
pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
106
intel_de_read(display, intel_dp->output_reg) & DP_PORT_EN,
sys/dev/pci/drm/i915/display/intel_pps.c
1064
pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1066
intel_dp->pps.want_panel_vdd = false;
sys/dev/pci/drm/i915/display/intel_pps.c
1071
wait_panel_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1072
intel_dp->pps.panel_power_off_time = ktime_get_boottime();
sys/dev/pci/drm/i915/display/intel_pps.c
1074
intel_dp_invalidate_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1079
fetch_and_zero(&intel_dp->pps.vdd_wakeref));
sys/dev/pci/drm/i915/display/intel_pps.c
108
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
1082
void intel_pps_off(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1086
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1089
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
1090
intel_pps_off_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1094
void intel_pps_backlight_on(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1096
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1105
wait_backlight_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1107
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
1108
i915_reg_t pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1111
pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1120
void intel_pps_backlight_off(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1122
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1125
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1128
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
1129
i915_reg_t pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1132
pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1139
intel_dp->pps.last_backlight_off = jiffies;
sys/dev/pci/drm/i915/display/intel_pps.c
114
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
1140
edp_wait_backlight_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1150
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_pps.c
1155
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
1156
is_enabled = ilk_get_pp_control(intel_dp) & EDP_BLC_ENABLE;
sys/dev/pci/drm/i915/display/intel_pps.c
1164
intel_pps_backlight_on(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1166
intel_pps_backlight_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1169
static void vlv_detach_power_sequencer(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1171
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1172
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1173
enum pipe pipe = intel_dp->pps.vlv_pps_pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
1176
drm_WARN_ON(display->drm, intel_dp->pps.vlv_active_pipe != INVALID_PIPE);
sys/dev/pci/drm/i915/display/intel_pps.c
1181
intel_pps_vdd_off_sync_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1194
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
1199
intel_dp->pps.vlv_pps_pipe = INVALID_PIPE;
sys/dev/pci/drm/i915/display/intel_pps.c
120
DP = intel_de_read(display, intel_dp->output_reg) & DP_DETECTED;
sys/dev/pci/drm/i915/display/intel_pps.c
1210
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_pps.c
1212
drm_WARN(display->drm, intel_dp->pps.vlv_active_pipe == pipe,
sys/dev/pci/drm/i915/display/intel_pps.c
1217
if (intel_dp->pps.vlv_pps_pipe != pipe)
sys/dev/pci/drm/i915/display/intel_pps.c
1226
vlv_detach_power_sequencer(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1230
static enum pipe vlv_active_pipe(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1232
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1233
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_pps.c
1236
if (g4x_dp_port_enabled(display, intel_dp->output_reg,
sys/dev/pci/drm/i915/display/intel_pps.c
1244
void vlv_pps_pipe_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1246
intel_dp->pps.vlv_pps_pipe = INVALID_PIPE;
sys/dev/pci/drm/i915/display/intel_pps.c
1247
intel_dp->pps.vlv_active_pipe = vlv_active_pipe(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1251
void vlv_pps_pipe_reset(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1255
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
1256
intel_dp->pps.vlv_active_pipe = vlv_active_pipe(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1259
enum pipe vlv_pps_backlight_initial_pipe(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1268
pipe = vlv_active_pipe(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1271
pipe = intel_dp->pps.vlv_pps_pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
1284
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_pps.c
1289
drm_WARN_ON(display->drm, intel_dp->pps.vlv_active_pipe != INVALID_PIPE);
sys/dev/pci/drm/i915/display/intel_pps.c
1291
if (intel_dp->pps.vlv_pps_pipe != INVALID_PIPE &&
sys/dev/pci/drm/i915/display/intel_pps.c
1292
intel_dp->pps.vlv_pps_pipe != crtc->pipe) {
sys/dev/pci/drm/i915/display/intel_pps.c
1298
vlv_detach_power_sequencer(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1307
intel_dp->pps.vlv_active_pipe = crtc->pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
1309
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1313
intel_dp->pps.vlv_pps_pipe = crtc->pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
1317
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
1321
pps_init_delays(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1322
pps_init_registers(intel_dp, true);
sys/dev/pci/drm/i915/display/intel_pps.c
1329
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_pps.c
1333
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
1334
intel_dp->pps.vlv_active_pipe = INVALID_PIPE;
sys/dev/pci/drm/i915/display/intel_pps.c
1337
static void pps_vdd_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1339
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1340
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1344
if (!edp_have_panel_vdd(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1356
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
1357
drm_WARN_ON(display->drm, intel_dp->pps.vdd_wakeref);
sys/dev/pci/drm/i915/display/intel_pps.c
1358
intel_dp->pps.vdd_wakeref = intel_display_power_get(display,
sys/dev/pci/drm/i915/display/intel_pps.c
1362
bool intel_pps_have_panel_power_or_vdd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1367
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
1368
have_power = edp_have_panel_power(intel_dp) ||
sys/dev/pci/drm/i915/display/intel_pps.c
1369
edp_have_panel_vdd(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1375
static void pps_init_timestamps(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1383
intel_dp->pps.panel_power_off_time = 0;
sys/dev/pci/drm/i915/display/intel_pps.c
1384
intel_dp->pps.last_power_on = jiffies;
sys/dev/pci/drm/i915/display/intel_pps.c
1385
intel_dp->pps.last_backlight_off = jiffies;
sys/dev/pci/drm/i915/display/intel_pps.c
1389
intel_pps_readout_hw_state(struct intel_dp *intel_dp, struct intel_pps_delays *seq)
sys/dev/pci/drm/i915/display/intel_pps.c
1391
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1395
intel_pps_get_registers(intel_dp, &regs);
sys/dev/pci/drm/i915/display/intel_pps.c
1397
pp_ctl = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1427
intel_pps_dump_state(struct intel_dp *intel_dp, const char *state_name,
sys/dev/pci/drm/i915/display/intel_pps.c
1430
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1439
intel_pps_verify_state(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1441
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1443
struct intel_pps_delays *sw = &intel_dp->pps.pps_delays;
sys/dev/pci/drm/i915/display/intel_pps.c
1445
intel_pps_readout_hw_state(intel_dp, &hw);
sys/dev/pci/drm/i915/display/intel_pps.c
1453
intel_pps_dump_state(intel_dp, "sw", sw);
sys/dev/pci/drm/i915/display/intel_pps.c
1454
intel_pps_dump_state(intel_dp, "hw", &hw);
sys/dev/pci/drm/i915/display/intel_pps.c
1476
static void pps_init_delays_bios(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_pps.c
1479
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1483
if (!pps_delays_valid(&intel_dp->pps.bios_pps_delays))
sys/dev/pci/drm/i915/display/intel_pps.c
1484
intel_pps_readout_hw_state(intel_dp, &intel_dp->pps.bios_pps_delays);
sys/dev/pci/drm/i915/display/intel_pps.c
1486
*bios = intel_dp->pps.bios_pps_delays;
sys/dev/pci/drm/i915/display/intel_pps.c
1488
intel_pps_dump_state(intel_dp, "bios", bios);
sys/dev/pci/drm/i915/display/intel_pps.c
1491
static void pps_init_delays_vbt(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_pps.c
1494
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1495
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_pps.c
1515
intel_pps_dump_state(intel_dp, "vbt", vbt);
sys/dev/pci/drm/i915/display/intel_pps.c
1518
static void pps_init_delays_spec(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_pps.c
1521
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1532
intel_pps_dump_state(intel_dp, "spec", spec);
sys/dev/pci/drm/i915/display/intel_pps.c
1535
static void pps_init_delays(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1537
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1539
*final = &intel_dp->pps.pps_delays;
sys/dev/pci/drm/i915/display/intel_pps.c
154
intel_de_write(display, intel_dp->output_reg, DP);
sys/dev/pci/drm/i915/display/intel_pps.c
1547
pps_init_delays_bios(intel_dp, &cur);
sys/dev/pci/drm/i915/display/intel_pps.c
1548
pps_init_delays_vbt(intel_dp, &vbt);
sys/dev/pci/drm/i915/display/intel_pps.c
1549
pps_init_delays_spec(intel_dp, &spec);
sys/dev/pci/drm/i915/display/intel_pps.c
155
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/intel_pps.c
1563
intel_dp->pps.panel_power_up_delay = pps_units_to_msecs(final->power_up);
sys/dev/pci/drm/i915/display/intel_pps.c
1564
intel_dp->pps.backlight_on_delay = pps_units_to_msecs(final->backlight_on);
sys/dev/pci/drm/i915/display/intel_pps.c
1565
intel_dp->pps.backlight_off_delay = pps_units_to_msecs(final->backlight_off);
sys/dev/pci/drm/i915/display/intel_pps.c
1566
intel_dp->pps.panel_power_down_delay = pps_units_to_msecs(final->power_down);
sys/dev/pci/drm/i915/display/intel_pps.c
1567
intel_dp->pps.panel_power_cycle_delay = pps_units_to_msecs(final->power_cycle);
sys/dev/pci/drm/i915/display/intel_pps.c
157
intel_de_write(display, intel_dp->output_reg, DP | DP_PORT_EN);
sys/dev/pci/drm/i915/display/intel_pps.c
1571
intel_dp->pps.panel_power_up_delay,
sys/dev/pci/drm/i915/display/intel_pps.c
1572
intel_dp->pps.panel_power_down_delay,
sys/dev/pci/drm/i915/display/intel_pps.c
1573
intel_dp->pps.panel_power_cycle_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
1576
intel_dp->pps.backlight_on_delay,
sys/dev/pci/drm/i915/display/intel_pps.c
1577
intel_dp->pps.backlight_off_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
158
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/intel_pps.c
1597
static void pps_init_registers(struct intel_dp *intel_dp, bool force_disable_vdd)
sys/dev/pci/drm/i915/display/intel_pps.c
1599
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
160
intel_de_write(display, intel_dp->output_reg, DP & ~DP_PORT_EN);
sys/dev/pci/drm/i915/display/intel_pps.c
1603
enum port port = dp_to_dig_port(intel_dp)->base.port;
sys/dev/pci/drm/i915/display/intel_pps.c
1604
const struct intel_pps_delays *seq = &intel_dp->pps.pps_delays;
sys/dev/pci/drm/i915/display/intel_pps.c
1608
intel_pps_get_registers(intel_dp, &regs);
sys/dev/pci/drm/i915/display/intel_pps.c
161
intel_de_posting_read(display, intel_dp->output_reg);
sys/dev/pci/drm/i915/display/intel_pps.c
1623
u32 pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1691
void intel_pps_encoder_reset(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1693
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1696
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1699
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
1705
vlv_initial_power_sequencer_setup(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1707
pps_init_delays(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1708
pps_init_registers(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_pps.c
1709
pps_vdd_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1711
if (edp_have_panel_vdd(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1712
edp_panel_vdd_schedule_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1716
bool intel_pps_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1721
intel_dp->pps.initializing = true;
sys/dev/pci/drm/i915/display/intel_pps.c
1722
INIT_DELAYED_WORK(&intel_dp->pps.panel_vdd_work, edp_panel_vdd_work);
sys/dev/pci/drm/i915/display/intel_pps.c
1724
pps_init_timestamps(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1726
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
1727
ret = pps_initial_setup(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1729
pps_init_delays(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1730
pps_init_registers(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_pps.c
1731
pps_vdd_init(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1737
static void pps_init_late(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1739
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1740
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_pps.c
1741
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_pps.c
1751
intel_dp->pps.pps_idx != connector->panel.vbt.backlight.controller,
sys/dev/pci/drm/i915/display/intel_pps.c
1754
intel_dp->pps.pps_idx, connector->panel.vbt.backlight.controller);
sys/dev/pci/drm/i915/display/intel_pps.c
1757
intel_dp->pps.pps_idx = connector->panel.vbt.backlight.controller;
sys/dev/pci/drm/i915/display/intel_pps.c
1760
void intel_pps_init_late(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
1764
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
1766
pps_init_late(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1768
memset(&intel_dp->pps.pps_delays, 0, sizeof(intel_dp->pps.pps_delays));
sys/dev/pci/drm/i915/display/intel_pps.c
1769
pps_init_delays(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
1770
pps_init_registers(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_pps.c
1772
intel_dp->pps.initializing = false;
sys/dev/pci/drm/i915/display/intel_pps.c
1774
if (edp_have_panel_vdd(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
1775
edp_panel_vdd_schedule_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
181
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_pps.c
1810
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_pps.c
1816
intel_dp->pps.panel_power_up_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
1818
intel_dp->pps.panel_power_down_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
1820
intel_dp->pps.panel_power_cycle_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
1822
intel_dp->pps.backlight_on_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
1824
intel_dp->pps.backlight_off_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
185
intel_dp->pps.vlv_active_pipe != INVALID_PIPE &&
sys/dev/pci/drm/i915/display/intel_pps.c
186
intel_dp->pps.vlv_active_pipe !=
sys/dev/pci/drm/i915/display/intel_pps.c
187
intel_dp->pps.vlv_pps_pipe);
sys/dev/pci/drm/i915/display/intel_pps.c
189
if (intel_dp->pps.vlv_pps_pipe != INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
190
pipes &= ~(1 << intel_dp->pps.vlv_pps_pipe);
sys/dev/pci/drm/i915/display/intel_pps.c
193
intel_dp->pps.vlv_pps_pipe != INVALID_PIPE);
sys/dev/pci/drm/i915/display/intel_pps.c
195
if (intel_dp->pps.vlv_active_pipe != INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
196
pipes &= ~(1 << intel_dp->pps.vlv_active_pipe);
sys/dev/pci/drm/i915/display/intel_pps.c
207
vlv_power_sequencer_pipe(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
209
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
210
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
216
drm_WARN_ON(display->drm, !intel_dp_is_edp(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
218
drm_WARN_ON(display->drm, intel_dp->pps.vlv_active_pipe != INVALID_PIPE &&
sys/dev/pci/drm/i915/display/intel_pps.c
219
intel_dp->pps.vlv_active_pipe != intel_dp->pps.vlv_pps_pipe);
sys/dev/pci/drm/i915/display/intel_pps.c
221
if (intel_dp->pps.vlv_pps_pipe != INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
222
return intel_dp->pps.vlv_pps_pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
234
intel_dp->pps.vlv_pps_pipe = pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
238
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
242
pps_init_delays(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
243
pps_init_registers(intel_dp, true);
sys/dev/pci/drm/i915/display/intel_pps.c
249
vlv_power_sequencer_kick(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
251
return intel_dp->pps.vlv_pps_pipe;
sys/dev/pci/drm/i915/display/intel_pps.c
255
bxt_power_sequencer_idx(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
257
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
258
int pps_idx = intel_dp->pps.pps_idx;
sys/dev/pci/drm/i915/display/intel_pps.c
263
drm_WARN_ON(display->drm, !intel_dp_is_edp(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
265
if (!intel_dp->pps.bxt_pps_reset)
sys/dev/pci/drm/i915/display/intel_pps.c
268
intel_dp->pps.bxt_pps_reset = false;
sys/dev/pci/drm/i915/display/intel_pps.c
274
pps_init_registers(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_pps.c
30
static void pps_init_delays(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
31
static void pps_init_registers(struct intel_dp *intel_dp, bool force_disable_vdd);
sys/dev/pci/drm/i915/display/intel_pps.c
320
vlv_initial_power_sequencer_setup(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
322
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
323
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
33
static const char *pps_name(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
330
intel_dp->pps.vlv_pps_pipe = vlv_initial_pps_pipe(display, port,
sys/dev/pci/drm/i915/display/intel_pps.c
333
if (intel_dp->pps.vlv_pps_pipe == INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
334
intel_dp->pps.vlv_pps_pipe = vlv_initial_pps_pipe(display, port,
sys/dev/pci/drm/i915/display/intel_pps.c
337
if (intel_dp->pps.vlv_pps_pipe == INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
338
intel_dp->pps.vlv_pps_pipe = vlv_initial_pps_pipe(display, port,
sys/dev/pci/drm/i915/display/intel_pps.c
342
if (intel_dp->pps.vlv_pps_pipe == INVALID_PIPE) {
sys/dev/pci/drm/i915/display/intel_pps.c
35
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
352
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
36
struct intel_pps *pps = &intel_dp->pps;
sys/dev/pci/drm/i915/display/intel_pps.c
375
static bool intel_pps_is_valid(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
377
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
379
if (intel_dp->pps.pps_idx == 1 &&
sys/dev/pci/drm/i915/display/intel_pps.c
401
pps_initial_setup(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
403
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
404
struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base;
sys/dev/pci/drm/i915/display/intel_pps.c
405
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_pps.c
410
vlv_initial_power_sequencer_setup(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
416
intel_dp->pps.pps_idx = connector->panel.vbt.backlight.controller;
sys/dev/pci/drm/i915/display/intel_pps.c
418
intel_dp->pps.pps_idx = 0;
sys/dev/pci/drm/i915/display/intel_pps.c
420
if (drm_WARN_ON(display->drm, intel_dp->pps.pps_idx >= intel_num_pps(display)))
sys/dev/pci/drm/i915/display/intel_pps.c
421
intel_dp->pps.pps_idx = -1;
sys/dev/pci/drm/i915/display/intel_pps.c
424
if (intel_dp->pps.pps_idx < 0)
sys/dev/pci/drm/i915/display/intel_pps.c
425
intel_dp->pps.pps_idx = bxt_initial_pps_idx(display, pps_has_pp_on);
sys/dev/pci/drm/i915/display/intel_pps.c
427
if (intel_dp->pps.pps_idx < 0)
sys/dev/pci/drm/i915/display/intel_pps.c
428
intel_dp->pps.pps_idx = bxt_initial_pps_idx(display, pps_has_vdd_on);
sys/dev/pci/drm/i915/display/intel_pps.c
430
if (intel_dp->pps.pps_idx < 0) {
sys/dev/pci/drm/i915/display/intel_pps.c
431
intel_dp->pps.pps_idx = bxt_initial_pps_idx(display, pps_any);
sys/dev/pci/drm/i915/display/intel_pps.c
436
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
441
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
444
return intel_pps_is_valid(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
465
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_pps.c
467
drm_WARN_ON(display->drm, intel_dp->pps.vlv_active_pipe != INVALID_PIPE);
sys/dev/pci/drm/i915/display/intel_pps.c
470
intel_dp->pps.vlv_pps_pipe = INVALID_PIPE;
sys/dev/pci/drm/i915/display/intel_pps.c
484
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_pps.c
487
intel_dp->pps.bxt_pps_reset = true;
sys/dev/pci/drm/i915/display/intel_pps.c
499
static void intel_pps_get_registers(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_pps.c
502
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
508
pps_idx = vlv_power_sequencer_pipe(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
510
pps_idx = bxt_power_sequencer_idx(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
512
pps_idx = intel_dp->pps.pps_idx;
sys/dev/pci/drm/i915/display/intel_pps.c
528
_pp_ctrl_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
532
intel_pps_get_registers(intel_dp, &regs);
sys/dev/pci/drm/i915/display/intel_pps.c
538
_pp_stat_reg(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
542
intel_pps_get_registers(intel_dp, &regs);
sys/dev/pci/drm/i915/display/intel_pps.c
547
static bool edp_have_panel_power(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
549
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
554
intel_dp->pps.vlv_pps_pipe == INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
557
return (intel_de_read(display, _pp_stat_reg(intel_dp)) & PP_ON) != 0;
sys/dev/pci/drm/i915/display/intel_pps.c
560
static bool edp_have_panel_vdd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
562
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
567
intel_dp->pps.vlv_pps_pipe == INVALID_PIPE)
sys/dev/pci/drm/i915/display/intel_pps.c
570
return intel_de_read(display, _pp_ctrl_reg(intel_dp)) & EDP_FORCE_VDD;
sys/dev/pci/drm/i915/display/intel_pps.c
573
void intel_pps_check_power_unlocked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
575
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
576
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
578
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
581
if (!edp_have_panel_power(intel_dp) && !edp_have_panel_vdd(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_pps.c
585
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
589
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
590
intel_de_read(display, _pp_stat_reg(intel_dp)),
sys/dev/pci/drm/i915/display/intel_pps.c
591
intel_de_read(display, _pp_ctrl_reg(intel_dp)));
sys/dev/pci/drm/i915/display/intel_pps.c
604
static void intel_pps_verify_state(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
606
static void wait_panel_status(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_pps.c
609
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
610
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
617
intel_pps_verify_state(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
619
pp_stat_reg = _pp_stat_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
620
pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
625
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
637
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
646
static void wait_panel_on(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
648
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
649
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
654
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
655
wait_panel_status(intel_dp, IDLE_ON_MASK, IDLE_ON_VALUE);
sys/dev/pci/drm/i915/display/intel_pps.c
658
static void wait_panel_off(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
660
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
661
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
666
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
667
wait_panel_status(intel_dp, IDLE_OFF_MASK, IDLE_OFF_VALUE);
sys/dev/pci/drm/i915/display/intel_pps.c
670
static void wait_panel_power_cycle(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
672
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
673
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
680
panel_power_off_duration = ktime_ms_delta(panel_power_on_time, intel_dp->pps.panel_power_off_time);
sys/dev/pci/drm/i915/display/intel_pps.c
682
remaining = max(0, intel_dp->pps.panel_power_cycle_delay - panel_power_off_duration);
sys/dev/pci/drm/i915/display/intel_pps.c
687
pps_name(intel_dp), remaining);
sys/dev/pci/drm/i915/display/intel_pps.c
69
intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
694
wait_panel_status(intel_dp, IDLE_CYCLE_MASK, IDLE_CYCLE_VALUE);
sys/dev/pci/drm/i915/display/intel_pps.c
697
void intel_pps_wait_power_cycle(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
701
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
704
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
705
wait_panel_power_cycle(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
708
static void wait_backlight_on(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
71
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
710
wait_remaining_ms_from_jiffies(intel_dp->pps.last_power_on,
sys/dev/pci/drm/i915/display/intel_pps.c
711
intel_dp->pps.backlight_on_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
714
static void edp_wait_backlight_off(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
716
wait_remaining_ms_from_jiffies(intel_dp->pps.last_backlight_off,
sys/dev/pci/drm/i915/display/intel_pps.c
717
intel_dp->pps.backlight_off_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
724
static u32 ilk_get_pp_control(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
726
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
731
control = intel_de_read(display, _pp_ctrl_reg(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
745
bool intel_pps_vdd_on_unlocked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
747
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
748
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
751
bool need_to_disable = !intel_dp->pps.want_panel_vdd;
sys/dev/pci/drm/i915/display/intel_pps.c
753
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
758
cancel_delayed_work(&intel_dp->pps.panel_vdd_work);
sys/dev/pci/drm/i915/display/intel_pps.c
759
intel_dp->pps.want_panel_vdd = true;
sys/dev/pci/drm/i915/display/intel_pps.c
761
if (edp_have_panel_vdd(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
764
drm_WARN_ON(display->drm, intel_dp->pps.vdd_wakeref);
sys/dev/pci/drm/i915/display/intel_pps.c
765
intel_dp->pps.vdd_wakeref = intel_display_power_get(display,
sys/dev/pci/drm/i915/display/intel_pps.c
768
pp_stat_reg = _pp_stat_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
769
pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
773
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
775
if (!edp_have_panel_power(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
776
wait_panel_power_cycle(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
778
pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
786
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
792
if (!edp_have_panel_power(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_pps.c
796
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
797
drm_msleep(intel_dp->pps.panel_power_up_delay);
sys/dev/pci/drm/i915/display/intel_pps.c
810
void intel_pps_vdd_on(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
812
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
816
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
820
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
821
vdd = intel_pps_vdd_on_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
823
dp_to_dig_port(intel_dp)->base.base.base.id,
sys/dev/pci/drm/i915/display/intel_pps.c
824
dp_to_dig_port(intel_dp)->base.base.name,
sys/dev/pci/drm/i915/display/intel_pps.c
825
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
828
static void intel_pps_vdd_off_sync_unlocked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
83
intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_pps.c
830
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
831
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
837
drm_WARN_ON(display->drm, intel_dp->pps.want_panel_vdd);
sys/dev/pci/drm/i915/display/intel_pps.c
839
if (!edp_have_panel_vdd(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
844
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
846
pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
849
pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
850
pp_stat_reg = _pp_stat_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
859
pps_name(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
86
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
864
intel_dp->pps.panel_power_off_time = ktime_get_boottime();
sys/dev/pci/drm/i915/display/intel_pps.c
865
intel_dp_invalidate_source_oui(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
870
fetch_and_zero(&intel_dp->pps.vdd_wakeref));
sys/dev/pci/drm/i915/display/intel_pps.c
873
void intel_pps_vdd_off_sync(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
877
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
880
cancel_delayed_work_sync(&intel_dp->pps.panel_vdd_work);
sys/dev/pci/drm/i915/display/intel_pps.c
885
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
886
intel_pps_vdd_off_sync_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
893
struct intel_dp *intel_dp = container_of(pps, struct intel_dp, pps);
sys/dev/pci/drm/i915/display/intel_pps.c
896
with_intel_pps_lock(intel_dp, wakeref) {
sys/dev/pci/drm/i915/display/intel_pps.c
897
if (!intel_dp->pps.want_panel_vdd)
sys/dev/pci/drm/i915/display/intel_pps.c
898
intel_pps_vdd_off_sync_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
902
static void edp_panel_vdd_schedule_off(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
904
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
911
if (intel_dp->pps.initializing)
sys/dev/pci/drm/i915/display/intel_pps.c
919
delay = msecs_to_jiffies(intel_dp->pps.panel_power_cycle_delay * 5);
sys/dev/pci/drm/i915/display/intel_pps.c
921
&intel_dp->pps.panel_vdd_work, delay);
sys/dev/pci/drm/i915/display/intel_pps.c
929
void intel_pps_vdd_off_unlocked(struct intel_dp *intel_dp, bool sync)
sys/dev/pci/drm/i915/display/intel_pps.c
931
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
933
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
938
INTEL_DISPLAY_STATE_WARN(display, !intel_dp->pps.want_panel_vdd,
sys/dev/pci/drm/i915/display/intel_pps.c
940
dp_to_dig_port(intel_dp)->base.base.base.id,
sys/dev/pci/drm/i915/display/intel_pps.c
941
dp_to_dig_port(intel_dp)->base.base.name,
sys/dev/pci/drm/i915/display/intel_pps.c
942
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
944
intel_dp->pps.want_panel_vdd = false;
sys/dev/pci/drm/i915/display/intel_pps.c
947
intel_pps_vdd_off_sync_unlocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
949
edp_panel_vdd_schedule_off(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
95
vlv_power_sequencer_kick(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
952
void intel_pps_vdd_off(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
956
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
959
with_intel_pps_lock(intel_dp, wakeref)
sys/dev/pci/drm/i915/display/intel_pps.c
960
intel_pps_vdd_off_unlocked(intel_dp, false);
sys/dev/pci/drm/i915/display/intel_pps.c
963
void intel_pps_on_unlocked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_pps.c
965
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
97
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
971
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_pps.c
975
dp_to_dig_port(intel_dp)->base.base.base.id,
sys/dev/pci/drm/i915/display/intel_pps.c
976
dp_to_dig_port(intel_dp)->base.base.name,
sys/dev/pci/drm/i915/display/intel_pps.c
977
pps_name(intel_dp));
sys/dev/pci/drm/i915/display/intel_pps.c
979
if (drm_WARN(display->drm, edp_have_panel_power(intel_dp),
sys/dev/pci/drm/i915/display/intel_pps.c
98
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
981
dp_to_dig_port(intel_dp)->base.base.base.id,
sys/dev/pci/drm/i915/display/intel_pps.c
982
dp_to_dig_port(intel_dp)->base.base.name,
sys/dev/pci/drm/i915/display/intel_pps.c
983
pps_name(intel_dp)))
sys/dev/pci/drm/i915/display/intel_pps.c
986
wait_panel_power_cycle(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
988
pp_ctrl_reg = _pp_ctrl_reg(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
989
pp = ilk_get_pp_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.c
99
enum pipe pipe = intel_dp->pps.vlv_pps_pipe;
sys/dev/pci/drm/i915/display/intel_pps.h
17
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_pps.h
20
intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
21
intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp, intel_wakeref_t wakeref);
sys/dev/pci/drm/i915/display/intel_pps.h
26
void intel_pps_backlight_on(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
27
void intel_pps_backlight_off(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
30
bool intel_pps_vdd_on_unlocked(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
31
void intel_pps_vdd_off_unlocked(struct intel_dp *intel_dp, bool sync);
sys/dev/pci/drm/i915/display/intel_pps.h
32
void intel_pps_on_unlocked(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
33
void intel_pps_off_unlocked(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
34
void intel_pps_check_power_unlocked(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
36
void intel_pps_vdd_on(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
37
void intel_pps_vdd_off(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
38
void intel_pps_on(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
39
void intel_pps_off(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
40
void intel_pps_vdd_off_sync(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
41
bool intel_pps_have_panel_power_or_vdd(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
42
void intel_pps_wait_power_cycle(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
44
bool intel_pps_init(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
45
void intel_pps_init_late(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
46
void intel_pps_encoder_reset(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
48
void vlv_pps_pipe_init(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
49
void vlv_pps_pipe_reset(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_pps.h
50
enum pipe vlv_pps_backlight_initial_pipe(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1000
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
1002
if (intel_dp_is_edp(intel_dp) && psr->sel_update_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
1006
if (intel_dp->psr.req_psr2_sdp_prior_scanline)
sys/dev/pci/drm/i915/display/intel_psr.c
1014
PSR2_MAN_TRK_CTL(display, intel_dp->psr.transcoder),
sys/dev/pci/drm/i915/display/intel_psr.c
1017
intel_de_rmw(display, TRANS_DP2_CTL(intel_dp->psr.transcoder), 0,
sys/dev/pci/drm/i915/display/intel_psr.c
1021
static void hsw_activate_psr2(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
1023
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1024
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
1032
is_dc5_dc6_blocked(intel_dp) && intel_dp->psr.pkg_c_latency_used)
sys/dev/pci/drm/i915/display/intel_psr.c
1035
idle_frames = psr_compute_idle_frames(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1044
val |= EDP_PSR2_FRAME_BEFORE_SU(frames_before_su_entry(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
1046
val |= intel_psr2_get_tp_time(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1049
if (psr2_block_count(intel_dp) > 2)
sys/dev/pci/drm/i915/display/intel_psr.c
1073
tmp = map[intel_dp->alpm_parameters.io_wake_lines -
sys/dev/pci/drm/i915/display/intel_psr.c
1077
tmp = map[intel_dp->alpm_parameters.fast_wake_lines - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES];
sys/dev/pci/drm/i915/display/intel_psr.c
1080
val |= LNL_EDP_PSR2_IO_BUFFER_WAKE(intel_dp->alpm_parameters.io_wake_lines);
sys/dev/pci/drm/i915/display/intel_psr.c
1082
val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(intel_dp->alpm_parameters.io_wake_lines);
sys/dev/pci/drm/i915/display/intel_psr.c
1083
val |= TGL_EDP_PSR2_FAST_WAKE(intel_dp->alpm_parameters.fast_wake_lines);
sys/dev/pci/drm/i915/display/intel_psr.c
1085
val |= EDP_PSR2_IO_BUFFER_WAKE(intel_dp->alpm_parameters.io_wake_lines);
sys/dev/pci/drm/i915/display/intel_psr.c
1086
val |= EDP_PSR2_FAST_WAKE(intel_dp->alpm_parameters.fast_wake_lines);
sys/dev/pci/drm/i915/display/intel_psr.c
1089
if (intel_dp->psr.req_psr2_sdp_prior_scanline)
sys/dev/pci/drm/i915/display/intel_psr.c
1093
psr_val |= LNL_EDP_PSR_ENTRY_SETUP_FRAMES(intel_dp->psr.entry_setup_frames);
sys/dev/pci/drm/i915/display/intel_psr.c
1095
if (intel_dp->psr.psr2_sel_fetch_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
1106
if (intel_dp->psr.su_region_et_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1140
static void psr2_program_idle_frames(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1143
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1144
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
1151
static void tgl_psr2_enable_dc3co(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
1153
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1155
psr2_program_idle_frames(intel_dp, 0);
sys/dev/pci/drm/i915/display/intel_psr.c
1159
static void tgl_psr2_disable_dc3co(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
1161
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1164
psr2_program_idle_frames(intel_dp, psr_compute_idle_frames(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
1169
struct intel_dp *intel_dp =
sys/dev/pci/drm/i915/display/intel_psr.c
1170
container_of(work, typeof(*intel_dp), psr.dc3co_work.work);
sys/dev/pci/drm/i915/display/intel_psr.c
1172
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
1174
if (delayed_work_pending(&intel_dp->psr.dc3co_work))
sys/dev/pci/drm/i915/display/intel_psr.c
1177
tgl_psr2_disable_dc3co(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1179
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
1182
static void tgl_disallow_dc3co_on_psr2_exit(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
1184
if (!intel_dp->psr.dc3co_exitline)
sys/dev/pci/drm/i915/display/intel_psr.c
1187
cancel_delayed_work(&intel_dp->psr.dc3co_work);
sys/dev/pci/drm/i915/display/intel_psr.c
1189
tgl_psr2_disable_dc3co(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1193
dc3co_is_pipe_port_compatible(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1196
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1197
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1208
tgl_dc3co_exitline_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1211
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1233
if (!dc3co_is_pipe_port_compatible(intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_psr.c
1253
static bool intel_psr2_sel_fetch_config_valid(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1256
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1259
intel_dp->psr.debug != I915_PSR_DEBUG_ENABLE_SEL_FETCH) {
sys/dev/pci/drm/i915/display/intel_psr.c
1268
static bool psr2_granularity_check(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1271
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1278
if (crtc_hdisplay % intel_dp->psr.su_w_granularity)
sys/dev/pci/drm/i915/display/intel_psr.c
1281
if (crtc_vdisplay % intel_dp->psr.su_y_granularity)
sys/dev/pci/drm/i915/display/intel_psr.c
1286
return intel_dp->psr.su_y_granularity == 4;
sys/dev/pci/drm/i915/display/intel_psr.c
1294
y_granularity = intel_dp->psr.su_y_granularity;
sys/dev/pci/drm/i915/display/intel_psr.c
1295
else if (intel_dp->psr.su_y_granularity <= 2)
sys/dev/pci/drm/i915/display/intel_psr.c
1297
else if ((intel_dp->psr.su_y_granularity % 4) == 0)
sys/dev/pci/drm/i915/display/intel_psr.c
1298
y_granularity = intel_dp->psr.su_y_granularity;
sys/dev/pci/drm/i915/display/intel_psr.c
1311
static bool _compute_psr2_sdp_prior_scanline_indication(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1314
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1328
if (DISPLAY_VER(display) < 14 || intel_dp->edp_dpcd[0] < DP_EDP_14b)
sys/dev/pci/drm/i915/display/intel_psr.c
1335
static int intel_psr_entry_setup_frames(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1338
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1339
int psr_setup_time = drm_dp_psr_setup_time(intel_dp->psr_dpcd);
sys/dev/pci/drm/i915/display/intel_psr.c
1345
intel_dp->psr_dpcd[1]);
sys/dev/pci/drm/i915/display/intel_psr.c
1368
static bool wake_lines_fit_into_vblank(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1372
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1378
wake_lines = intel_dp->alpm_parameters.aux_less_wake_lines;
sys/dev/pci/drm/i915/display/intel_psr.c
1381
psr2_block_count_lines(intel_dp) :
sys/dev/pci/drm/i915/display/intel_psr.c
1382
intel_dp->alpm_parameters.io_wake_lines;
sys/dev/pci/drm/i915/display/intel_psr.c
1394
static bool alpm_config_valid(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1398
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1400
if (!intel_alpm_compute_params(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1406
if (!wake_lines_fit_into_vblank(intel_dp, crtc_state, aux_less)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1415
static bool intel_psr2_config_valid(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1418
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1423
if (!intel_dp->psr.sink_psr2_support || display->params.enable_psr == 1)
sys/dev/pci/drm/i915/display/intel_psr.c
1498
if (!alpm_config_valid(intel_dp, crtc_state, false))
sys/dev/pci/drm/i915/display/intel_psr.c
1510
tgl_dc3co_exitline_compute_config(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
1515
static bool intel_sel_update_config_valid(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1518
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1521
!intel_psr2_sel_fetch_config_valid(intel_dp, crtc_state) &&
sys/dev/pci/drm/i915/display/intel_psr.c
1528
if (!sel_update_global_enabled(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1534
if (!crtc_state->has_panel_replay && !intel_psr2_config_valid(intel_dp, crtc_state))
sys/dev/pci/drm/i915/display/intel_psr.c
1537
if (!_compute_psr2_sdp_prior_scanline_indication(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1544
!intel_dp->psr.sink_panel_replay_su_support))
sys/dev/pci/drm/i915/display/intel_psr.c
1553
if (!psr2_granularity_check(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1560
psr2_su_region_et_valid(intel_dp, crtc_state->has_panel_replay);
sys/dev/pci/drm/i915/display/intel_psr.c
1569
static bool _psr_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1572
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1576
if (!CAN_PSR(intel_dp) || !display->params.enable_psr)
sys/dev/pci/drm/i915/display/intel_psr.c
1585
entry_setup_frames = intel_psr_entry_setup_frames(intel_dp, adjusted_mode);
sys/dev/pci/drm/i915/display/intel_psr.c
1599
_panel_replay_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1603
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1608
if (!CAN_PANEL_REPLAY(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
1611
if (!panel_replay_global_enabled(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1622
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
1649
if (!alpm_config_valid(intel_dp, crtc_state, true))
sys/dev/pci/drm/i915/display/intel_psr.c
1655
static bool intel_psr_needs_wa_18037818876(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1658
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1664
void intel_psr_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1668
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1674
if (!psr_global_enabled(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1679
if (intel_dp->psr.sink_not_reliable) {
sys/dev/pci/drm/i915/display/intel_psr.c
1702
crtc_state->has_panel_replay = _panel_replay_compute_config(intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1707
_psr_compute_config(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
1712
crtc_state->has_sel_update = intel_sel_update_config_valid(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
1715
if (intel_psr_needs_wa_18037818876(intel_dp, crtc_state)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1746
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_psr.c
1752
intel_dp = &dig_port->dp;
sys/dev/pci/drm/i915/display/intel_psr.c
1753
if (!(CAN_PSR(intel_dp) || CAN_PANEL_REPLAY(intel_dp)))
sys/dev/pci/drm/i915/display/intel_psr.c
1756
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
1757
if (!intel_dp->psr.enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1760
if (intel_dp->psr.panel_replay_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
1770
pipe_config->has_sel_update = intel_dp->psr.sel_update_enabled;
sys/dev/pci/drm/i915/display/intel_psr.c
1773
if (!intel_dp->psr.sel_update_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1783
pipe_config->enable_psr2_su_region_et = intel_dp->psr.su_region_et_enabled;
sys/dev/pci/drm/i915/display/intel_psr.c
1791
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
1794
static void intel_psr_activate(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
1796
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1797
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
1806
drm_WARN_ON(display->drm, intel_dp->psr.active);
sys/dev/pci/drm/i915/display/intel_psr.c
1808
drm_WARN_ON(display->drm, !intel_dp->psr.enabled);
sys/dev/pci/drm/i915/display/intel_psr.c
1810
lockdep_assert_held(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
1813
if (intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1814
dg2_activate_panel_replay(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1815
else if (intel_dp->psr.sel_update_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1816
hsw_activate_psr2(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1818
hsw_activate_psr1(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1820
intel_dp->psr.active = true;
sys/dev/pci/drm/i915/display/intel_psr.c
1827
static void wm_optimization_wa(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1830
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1831
enum pipe pipe = intel_dp->psr.pipe;
sys/dev/pci/drm/i915/display/intel_psr.c
1852
static void intel_psr_enable_source(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
1855
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1856
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
1864
hsw_psr_setup_aux(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1880
if (DISPLAY_VER(display) < 20 || intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
1883
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
1914
psr_irq_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1920
if (intel_dp->psr.dc3co_exitline)
sys/dev/pci/drm/i915/display/intel_psr.c
1924
intel_dp->psr.dc3co_exitline << EXITLINE_SHIFT | EXITLINE_ENABLE);
sys/dev/pci/drm/i915/display/intel_psr.c
1928
intel_dp->psr.psr2_sel_fetch_enabled ?
sys/dev/pci/drm/i915/display/intel_psr.c
1935
wm_optimization_wa(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
1937
if (intel_dp->psr.sel_update_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
1948
if (!intel_dp->psr.panel_replay_enabled &&
sys/dev/pci/drm/i915/display/intel_psr.c
1955
if (!intel_dp->psr.panel_replay_enabled &&
sys/dev/pci/drm/i915/display/intel_psr.c
1969
!intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1970
intel_dmc_block_pkgc(display, intel_dp->psr.pipe, true);
sys/dev/pci/drm/i915/display/intel_psr.c
1972
intel_alpm_configure(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
1975
static bool psr_interrupt_error_check(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
1977
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1978
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
1981
if (intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
1993
val &= psr_irq_psr_error_bit_get(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
1995
intel_dp->psr.sink_not_reliable = true;
sys/dev/pci/drm/i915/display/intel_psr.c
2005
static void intel_psr_enable_locked(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
2008
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2009
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2012
drm_WARN_ON(display->drm, intel_dp->psr.enabled);
sys/dev/pci/drm/i915/display/intel_psr.c
2014
intel_dp->psr.sel_update_enabled = crtc_state->has_sel_update;
sys/dev/pci/drm/i915/display/intel_psr.c
2015
intel_dp->psr.panel_replay_enabled = crtc_state->has_panel_replay;
sys/dev/pci/drm/i915/display/intel_psr.c
2016
intel_dp->psr.busy_frontbuffer_bits = 0;
sys/dev/pci/drm/i915/display/intel_psr.c
2017
intel_dp->psr.pipe = to_intel_crtc(crtc_state->uapi.crtc)->pipe;
sys/dev/pci/drm/i915/display/intel_psr.c
2018
intel_dp->psr.transcoder = crtc_state->cpu_transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
2021
intel_dp->psr.dc3co_exit_delay = val;
sys/dev/pci/drm/i915/display/intel_psr.c
2022
intel_dp->psr.dc3co_exitline = crtc_state->dc3co_exitline;
sys/dev/pci/drm/i915/display/intel_psr.c
2023
intel_dp->psr.psr2_sel_fetch_enabled = crtc_state->enable_psr2_sel_fetch;
sys/dev/pci/drm/i915/display/intel_psr.c
2024
intel_dp->psr.su_region_et_enabled = crtc_state->enable_psr2_su_region_et;
sys/dev/pci/drm/i915/display/intel_psr.c
2025
intel_dp->psr.psr2_sel_fetch_cff_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2026
intel_dp->psr.req_psr2_sdp_prior_scanline =
sys/dev/pci/drm/i915/display/intel_psr.c
2028
intel_dp->psr.active_non_psr_pipes = crtc_state->active_non_psr_pipes;
sys/dev/pci/drm/i915/display/intel_psr.c
2029
intel_dp->psr.pkg_c_latency_used = crtc_state->pkg_c_latency_used;
sys/dev/pci/drm/i915/display/intel_psr.c
2030
intel_dp->psr.entry_setup_frames = crtc_state->entry_setup_frames;
sys/dev/pci/drm/i915/display/intel_psr.c
2032
if (!psr_interrupt_error_check(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2035
if (intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
2039
intel_dp->psr.sel_update_enabled ? "2" : "1");
sys/dev/pci/drm/i915/display/intel_psr.c
205
#define CAN_PSR(intel_dp) ((intel_dp)->psr.sink_support && \
sys/dev/pci/drm/i915/display/intel_psr.c
2054
intel_psr_enable_sink(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
2056
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2059
intel_psr_enable_source(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
206
(intel_dp)->psr.source_support)
sys/dev/pci/drm/i915/display/intel_psr.c
2060
intel_dp->psr.enabled = true;
sys/dev/pci/drm/i915/display/intel_psr.c
2061
intel_dp->psr.pause_counter = 0;
sys/dev/pci/drm/i915/display/intel_psr.c
2070
intel_dp->psr.link_ok = true;
sys/dev/pci/drm/i915/display/intel_psr.c
2072
intel_psr_activate(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2075
static void intel_psr_exit(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
2077
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2078
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
2081
if (!intel_dp->psr.active) {
sys/dev/pci/drm/i915/display/intel_psr.c
2095
if (intel_dp->psr.panel_replay_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
2096
intel_de_rmw(display, TRANS_DP2_CTL(intel_dp->psr.transcoder),
sys/dev/pci/drm/i915/display/intel_psr.c
2098
} else if (intel_dp->psr.sel_update_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
2099
tgl_disallow_dc3co_on_psr2_exit(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2109
intel_dp->psr.pkg_c_latency_used)
sys/dev/pci/drm/i915/display/intel_psr.c
2111
intel_dp->psr.pipe,
sys/dev/pci/drm/i915/display/intel_psr.c
2120
intel_dp->psr.active = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2123
static void intel_psr_wait_exit_locked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
2125
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2126
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
2130
if (intel_dp_is_edp(intel_dp) && (intel_dp->psr.sel_update_enabled ||
sys/dev/pci/drm/i915/display/intel_psr.c
2131
intel_dp->psr.panel_replay_enabled)) {
sys/dev/pci/drm/i915/display/intel_psr.c
2145
static void intel_psr_disable_locked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
2147
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2148
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
2150
lockdep_assert_held(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
2152
if (!intel_dp->psr.enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
2155
if (intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
2159
intel_dp->psr.sel_update_enabled ? "2" : "1");
sys/dev/pci/drm/i915/display/intel_psr.c
2161
intel_psr_exit(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2162
intel_psr_wait_exit_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2170
LATENCY_REPORTING_REMOVED(intel_dp->psr.pipe), 0);
sys/dev/pci/drm/i915/display/intel_psr.c
2172
if (intel_dp->psr.sel_update_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
2174
if (!intel_dp->psr.panel_replay_enabled &&
sys/dev/pci/drm/i915/display/intel_psr.c
2184
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2185
intel_snps_phy_update_psr_power_state(&dp_to_dig_port(intel_dp)->base, false);
sys/dev/pci/drm/i915/display/intel_psr.c
2187
if (intel_dp->psr.panel_replay_enabled && intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2188
intel_alpm_disable(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2191
if (!intel_dp->psr.panel_replay_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
2192
drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, 0);
sys/dev/pci/drm/i915/display/intel_psr.c
2194
if (intel_dp->psr.sel_update_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
2195
drm_dp_dpcd_writeb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_psr.c
2202
!intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
2203
intel_dmc_block_pkgc(display, intel_dp->psr.pipe, false);
sys/dev/pci/drm/i915/display/intel_psr.c
2205
intel_dp->psr.enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2206
intel_dp->psr.panel_replay_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2207
intel_dp->psr.sel_update_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2208
intel_dp->psr.psr2_sel_fetch_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2209
intel_dp->psr.su_region_et_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2210
intel_dp->psr.psr2_sel_fetch_cff_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2211
intel_dp->psr.active_non_psr_pipes = 0;
sys/dev/pci/drm/i915/display/intel_psr.c
2212
intel_dp->psr.pkg_c_latency_used = 0;
sys/dev/pci/drm/i915/display/intel_psr.c
2222
void intel_psr_disable(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
2225
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2230
if (drm_WARN_ON(display->drm, !CAN_PSR(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_psr.c
2231
!CAN_PANEL_REPLAY(intel_dp)))
sys/dev/pci/drm/i915/display/intel_psr.c
2234
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
2236
intel_psr_disable_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2238
intel_dp->psr.link_ok = false;
sys/dev/pci/drm/i915/display/intel_psr.c
2240
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
2241
cancel_work_sync(&intel_dp->psr.work);
sys/dev/pci/drm/i915/display/intel_psr.c
2242
cancel_delayed_work_sync(&intel_dp->psr.dc3co_work);
sys/dev/pci/drm/i915/display/intel_psr.c
2251
void intel_psr_pause(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
2253
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
2255
if (!CAN_PSR(intel_dp) && !CAN_PANEL_REPLAY(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2265
if (intel_dp->psr.pause_counter++ == 0) {
sys/dev/pci/drm/i915/display/intel_psr.c
2266
intel_psr_exit(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2267
intel_psr_wait_exit_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2282
void intel_psr_resume(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
2284
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2285
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
2287
if (!CAN_PSR(intel_dp) && !CAN_PANEL_REPLAY(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2300
if (--intel_dp->psr.pause_counter == 0)
sys/dev/pci/drm/i915/display/intel_psr.c
2301
intel_psr_activate(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2325
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_psr.c
2330
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
2332
if (!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2335
if (CAN_PANEL_REPLAY(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
2340
CAN_PSR(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
236
static bool psr_global_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
238
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_psr.c
240
switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) {
sys/dev/pci/drm/i915/display/intel_psr.c
242
return intel_dp_is_edp(intel_dp) ?
sys/dev/pci/drm/i915/display/intel_psr.c
2442
static void intel_psr_force_update(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
2444
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2459
intel_de_write(display, CURSURFLIVE(display, intel_dp->psr.pipe), 0);
sys/dev/pci/drm/i915/display/intel_psr.c
2475
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
2478
lockdep_assert_held(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
2480
if (DISPLAY_VER(display) < 20 && intel_dp->psr.psr2_sel_fetch_cff_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
251
static bool sel_update_global_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
253
switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) {
sys/dev/pci/drm/i915/display/intel_psr.c
262
static bool panel_replay_global_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
264
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
266
return !(intel_dp->psr.debug & I915_PSR_DEBUG_PANEL_REPLAY_DISABLE) &&
sys/dev/pci/drm/i915/display/intel_psr.c
2693
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
2695
if (!intel_dp_is_edp(intel_dp) &&
sys/dev/pci/drm/i915/display/intel_psr.c
2696
intel_dp->psr.panel_replay_enabled &&
sys/dev/pci/drm/i915/display/intel_psr.c
2697
intel_dp->psr.sel_update_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
270
static u32 psr_irq_psr_error_bit_get(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
272
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
275
EDP_PSR_ERROR(intel_dp->psr.transcoder);
sys/dev/pci/drm/i915/display/intel_psr.c
278
static u32 psr_irq_post_exit_bit_get(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
280
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
283
EDP_PSR_POST_EXIT(intel_dp->psr.transcoder);
sys/dev/pci/drm/i915/display/intel_psr.c
286
static u32 psr_irq_pre_entry_bit_get(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
288
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
291
EDP_PSR_PRE_ENTRY(intel_dp->psr.transcoder);
sys/dev/pci/drm/i915/display/intel_psr.c
294
static u32 psr_irq_mask_get(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
296
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2965
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
2966
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
2986
intel_psr_disable_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
2989
wm_optimization_wa(intel_dp, new_crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
299
EDP_PSR_MASK(intel_dp->psr.transcoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3009
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3010
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
3026
intel_psr_enable_locked(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
3029
wm_optimization_wa(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
3033
intel_psr_force_update(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3039
intel_dp->psr.busy_frontbuffer_bits = 0;
sys/dev/pci/drm/i915/display/intel_psr.c
3115
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3118
lockdep_assert_held(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3120
if (!intel_dp->psr.enabled || intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3123
if (intel_dp->psr.sel_update_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3148
static bool __psr_wait_for_idle_locked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3150
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3151
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
3156
if (!intel_dp->psr.enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3159
if (intel_dp_is_edp(intel_dp) && (intel_dp->psr.sel_update_enabled ||
sys/dev/pci/drm/i915/display/intel_psr.c
3160
intel_dp->psr.panel_replay_enabled)) {
sys/dev/pci/drm/i915/display/intel_psr.c
3168
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3176
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3177
return err == 0 && intel_dp->psr.enabled && !intel_dp->psr.pause_counter;
sys/dev/pci/drm/i915/display/intel_psr.c
3243
int intel_psr_debug_set(struct intel_dp *intel_dp, u64 val)
sys/dev/pci/drm/i915/display/intel_psr.c
3245
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3260
ret = mutex_lock_interruptible(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3264
old_mode = intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK;
sys/dev/pci/drm/i915/display/intel_psr.c
3265
old_disable_bits = intel_dp->psr.debug &
sys/dev/pci/drm/i915/display/intel_psr.c
3269
intel_dp->psr.debug = val;
sys/dev/pci/drm/i915/display/intel_psr.c
3275
if (intel_dp->psr.enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3276
psr_irq_control(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3278
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3286
static void intel_psr_handle_irq(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3288
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
3290
intel_psr_disable_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3293
drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/intel_psr.c
3298
struct intel_dp *intel_dp =
sys/dev/pci/drm/i915/display/intel_psr.c
3299
container_of(work, typeof(*intel_dp), psr.work);
sys/dev/pci/drm/i915/display/intel_psr.c
3301
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3303
if (!intel_dp->psr.enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3306
if (READ_ONCE(intel_dp->psr.irq_aux_error)) {
sys/dev/pci/drm/i915/display/intel_psr.c
3307
intel_psr_handle_irq(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3311
if (intel_dp->psr.pause_counter)
sys/dev/pci/drm/i915/display/intel_psr.c
3320
if (!__psr_wait_for_idle_locked(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
3328
if (intel_dp->psr.busy_frontbuffer_bits || intel_dp->psr.active)
sys/dev/pci/drm/i915/display/intel_psr.c
3331
intel_psr_activate(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3333
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3336
static void intel_psr_configure_full_frame_update(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3338
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3339
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
3341
if (!intel_dp->psr.psr2_sel_fetch_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3356
static void _psr_invalidate_handle(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3358
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3360
if (DISPLAY_VER(display) < 20 && intel_dp->psr.psr2_sel_fetch_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3361
if (!intel_dp->psr.psr2_sel_fetch_cff_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3362
intel_dp->psr.psr2_sel_fetch_cff_enabled = true;
sys/dev/pci/drm/i915/display/intel_psr.c
3363
intel_psr_configure_full_frame_update(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3366
intel_psr_force_update(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3368
intel_psr_exit(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3395
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3397
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3398
if (!intel_dp->psr.enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3399
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3404
INTEL_FRONTBUFFER_ALL_MASK(intel_dp->psr.pipe);
sys/dev/pci/drm/i915/display/intel_psr.c
3405
intel_dp->psr.busy_frontbuffer_bits |= pipe_frontbuffer_bits;
sys/dev/pci/drm/i915/display/intel_psr.c
3408
_psr_invalidate_handle(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3410
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3420
tgl_dc3co_flush_locked(struct intel_dp *intel_dp, unsigned int frontbuffer_bits,
sys/dev/pci/drm/i915/display/intel_psr.c
3423
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3425
if (!intel_dp->psr.dc3co_exitline || !intel_dp->psr.sel_update_enabled ||
sys/dev/pci/drm/i915/display/intel_psr.c
3426
!intel_dp->psr.active)
sys/dev/pci/drm/i915/display/intel_psr.c
3434
INTEL_FRONTBUFFER_ALL_MASK(intel_dp->psr.pipe)))
sys/dev/pci/drm/i915/display/intel_psr.c
3437
tgl_psr2_enable_dc3co(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3438
mod_delayed_work(display->wq.unordered, &intel_dp->psr.dc3co_work,
sys/dev/pci/drm/i915/display/intel_psr.c
3439
intel_dp->psr.dc3co_exit_delay);
sys/dev/pci/drm/i915/display/intel_psr.c
3442
static void _psr_flush_handle(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3444
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3446
if (DISPLAY_VER(display) < 20 && intel_dp->psr.psr2_sel_fetch_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3448
if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3450
if (intel_dp->psr.busy_frontbuffer_bits == 0)
sys/dev/pci/drm/i915/display/intel_psr.c
3451
intel_dp->psr.psr2_sel_fetch_cff_enabled = false;
sys/dev/pci/drm/i915/display/intel_psr.c
3463
intel_psr_configure_full_frame_update(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3465
intel_psr_force_update(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3466
} else if (!intel_dp->psr.psr2_sel_fetch_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3472
intel_psr_force_update(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3475
intel_psr_exit(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3478
if (!intel_dp->psr.active && !intel_dp->psr.busy_frontbuffer_bits)
sys/dev/pci/drm/i915/display/intel_psr.c
3479
queue_work(display->wq.unordered, &intel_dp->psr.work);
sys/dev/pci/drm/i915/display/intel_psr.c
3502
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3504
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3505
if (!intel_dp->psr.enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3506
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3511
INTEL_FRONTBUFFER_ALL_MASK(intel_dp->psr.pipe);
sys/dev/pci/drm/i915/display/intel_psr.c
3512
intel_dp->psr.busy_frontbuffer_bits &= ~pipe_frontbuffer_bits;
sys/dev/pci/drm/i915/display/intel_psr.c
3519
if (intel_dp->psr.pause_counter)
sys/dev/pci/drm/i915/display/intel_psr.c
3524
!intel_dp->psr.psr2_sel_fetch_enabled)) {
sys/dev/pci/drm/i915/display/intel_psr.c
3525
tgl_dc3co_flush_locked(intel_dp, frontbuffer_bits, origin);
sys/dev/pci/drm/i915/display/intel_psr.c
3533
_psr_flush_handle(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3535
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3547
void intel_psr_init(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3549
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3550
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_psr.c
3551
struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3571
if ((HAS_DP20(display) && !intel_dp_is_edp(intel_dp)) ||
sys/dev/pci/drm/i915/display/intel_psr.c
3573
intel_dp->psr.source_panel_replay_support = true;
sys/dev/pci/drm/i915/display/intel_psr.c
3575
if (HAS_PSR(display) && intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
3576
intel_dp->psr.source_support = true;
sys/dev/pci/drm/i915/display/intel_psr.c
3581
intel_dp->psr.link_standby = connector->panel.vbt.psr.full_link;
sys/dev/pci/drm/i915/display/intel_psr.c
3583
INIT_WORK(&intel_dp->psr.work, intel_psr_work);
sys/dev/pci/drm/i915/display/intel_psr.c
3584
INIT_DELAYED_WORK(&intel_dp->psr.dc3co_work, tgl_dc3co_disable_work);
sys/dev/pci/drm/i915/display/intel_psr.c
3585
rw_init(&intel_dp->psr.lock, "psrlk");
sys/dev/pci/drm/i915/display/intel_psr.c
3588
static int psr_get_status_and_error_status(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
3591
struct drm_dp_aux *aux = &intel_dp->aux;
sys/dev/pci/drm/i915/display/intel_psr.c
3595
offset = intel_dp->psr.panel_replay_enabled ?
sys/dev/pci/drm/i915/display/intel_psr.c
3602
offset = intel_dp->psr.panel_replay_enabled ?
sys/dev/pci/drm/i915/display/intel_psr.c
3614
static void psr_alpm_check(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3616
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
3621
if (intel_alpm_get_error(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
3622
intel_psr_disable_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3627
static void psr_capability_changed_check(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3629
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3630
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
3634
r = drm_dp_dpcd_readb(&intel_dp->aux, DP_PSR_ESI, &val);
sys/dev/pci/drm/i915/display/intel_psr.c
3641
intel_psr_disable_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3647
drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_ESI, val);
sys/dev/pci/drm/i915/display/intel_psr.c
3658
void intel_psr_short_pulse(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3660
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3661
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
3667
if (!CAN_PSR(intel_dp) && !CAN_PANEL_REPLAY(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
3677
if (psr_get_status_and_error_status(intel_dp, &status, &error_status)) {
sys/dev/pci/drm/i915/display/intel_psr.c
3685
intel_psr_disable_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3708
drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_ERROR_STATUS, error_status);
sys/dev/pci/drm/i915/display/intel_psr.c
3711
psr_alpm_check(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3712
psr_capability_changed_check(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3719
bool intel_psr_enabled(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3723
if (!CAN_PSR(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
3726
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3727
ret = intel_dp->psr.enabled;
sys/dev/pci/drm/i915/display/intel_psr.c
3728
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
374
static void psr_irq_control(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3745
bool intel_psr_link_ok(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3749
if ((!CAN_PSR(intel_dp) && !CAN_PANEL_REPLAY(intel_dp)) ||
sys/dev/pci/drm/i915/display/intel_psr.c
3750
!intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
3753
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3754
ret = intel_dp->psr.link_ok;
sys/dev/pci/drm/i915/display/intel_psr.c
3755
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
376
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
377
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
3778
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3780
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
380
if (intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3801
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3803
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3809
static void intel_psr_apply_underrun_on_idle_wa_locked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
3811
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3814
if (!intel_dp->psr.active || !intel_dp->psr.pkg_c_latency_used)
sys/dev/pci/drm/i915/display/intel_psr.c
3817
dc5_dc6_blocked = is_dc5_dc6_blocked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3819
if (intel_dp->psr.sel_update_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3820
psr2_program_idle_frames(intel_dp, dc5_dc6_blocked ? 0 :
sys/dev/pci/drm/i915/display/intel_psr.c
3821
psr_compute_idle_frames(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
3824
intel_dp->psr.pipe,
sys/dev/pci/drm/i915/display/intel_psr.c
383
mask = psr_irq_psr_error_bit_get(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3835
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3837
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3839
if (intel_dp->psr.enabled && !intel_dp->psr.panel_replay_enabled &&
sys/dev/pci/drm/i915/display/intel_psr.c
384
if (intel_dp->psr.debug & I915_PSR_DEBUG_IRQ)
sys/dev/pci/drm/i915/display/intel_psr.c
3840
!intel_dp->psr.pkg_c_latency_used)
sys/dev/pci/drm/i915/display/intel_psr.c
3841
intel_psr_apply_underrun_on_idle_wa_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3843
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
385
mask |= psr_irq_post_exit_bit_get(intel_dp) |
sys/dev/pci/drm/i915/display/intel_psr.c
386
psr_irq_pre_entry_bit_get(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
389
psr_irq_mask_get(intel_dp), ~mask);
sys/dev/pci/drm/i915/display/intel_psr.c
3899
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3902
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3904
if (!intel_dp->psr.enabled || intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
3907
active_non_psr_pipes = intel_dp->psr.active_non_psr_pipes;
sys/dev/pci/drm/i915/display/intel_psr.c
3914
if (active_non_psr_pipes == intel_dp->psr.active_non_psr_pipes)
sys/dev/pci/drm/i915/display/intel_psr.c
3917
if ((enable && intel_dp->psr.active_non_psr_pipes) ||
sys/dev/pci/drm/i915/display/intel_psr.c
3918
(!enable && !intel_dp->psr.active_non_psr_pipes) ||
sys/dev/pci/drm/i915/display/intel_psr.c
3919
!intel_dp->psr.pkg_c_latency_used) {
sys/dev/pci/drm/i915/display/intel_psr.c
3920
intel_dp->psr.active_non_psr_pipes = active_non_psr_pipes;
sys/dev/pci/drm/i915/display/intel_psr.c
3924
intel_dp->psr.active_non_psr_pipes = active_non_psr_pipes;
sys/dev/pci/drm/i915/display/intel_psr.c
3926
intel_psr_apply_underrun_on_idle_wa_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3928
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3946
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
3948
mutex_lock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3949
if (intel_dp->psr.panel_replay_enabled) {
sys/dev/pci/drm/i915/display/intel_psr.c
3950
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3954
if (intel_dp->psr.enabled && intel_dp->psr.pkg_c_latency_used)
sys/dev/pci/drm/i915/display/intel_psr.c
3955
intel_psr_apply_underrun_on_idle_wa_locked(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3957
mutex_unlock(&intel_dp->psr.lock);
sys/dev/pci/drm/i915/display/intel_psr.c
3973
psr_source_status(struct intel_dp *intel_dp, struct seq_file *m)
sys/dev/pci/drm/i915/display/intel_psr.c
3975
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
3976
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
3980
if ((intel_dp_is_edp(intel_dp) || DISPLAY_VER(display) >= 30) &&
sys/dev/pci/drm/i915/display/intel_psr.c
3981
(intel_dp->psr.sel_update_enabled || intel_dp->psr.panel_replay_enabled)) {
sys/dev/pci/drm/i915/display/intel_psr.c
4021
static void intel_psr_sink_capability(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
4024
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
4030
seq_printf(m, " [0x%02x]", intel_dp->psr_dpcd[0]);
sys/dev/pci/drm/i915/display/intel_psr.c
4031
if (intel_dp->psr_dpcd[0] == DP_PSR2_WITH_Y_COORD_ET_SUPPORTED)
sys/dev/pci/drm/i915/display/intel_psr.c
4036
if (intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_SUPPORT)] &
sys/dev/pci/drm/i915/display/intel_psr.c
4042
static void intel_psr_print_mode(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
4045
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
4072
static int intel_psr_status(struct seq_file *m, struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
4074
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
4075
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
4076
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.c
4081
intel_psr_sink_capability(intel_dp, m);
sys/dev/pci/drm/i915/display/intel_psr.c
4089
intel_psr_print_mode(intel_dp, m);
sys/dev/pci/drm/i915/display/intel_psr.c
4101
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
4117
if (psr->panel_replay_enabled && intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
4120
psr_source_status(intel_dp, m);
sys/dev/pci/drm/i915/display/intel_psr.c
4182
struct intel_dp *intel_dp = NULL;
sys/dev/pci/drm/i915/display/intel_psr.c
4190
intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
4194
if (!intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
4197
return intel_psr_status(m, intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
4212
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
4218
ret = intel_psr_debug_set(intel_dp, val);
sys/dev/pci/drm/i915/display/intel_psr.c
4234
struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
sys/dev/pci/drm/i915/display/intel_psr.c
4237
*val = READ_ONCE(intel_dp->psr.debug);
sys/dev/pci/drm/i915/display/intel_psr.c
4259
static const char *psr_mode_str(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
4261
if (intel_dp->psr.panel_replay_enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
4263
else if (intel_dp->psr.enabled)
sys/dev/pci/drm/i915/display/intel_psr.c
4272
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_psr.c
4287
if (!(CAN_PSR(intel_dp) || CAN_PANEL_REPLAY(intel_dp))) {
sys/dev/pci/drm/i915/display/intel_psr.c
4295
ret = psr_get_status_and_error_status(intel_dp, &status, &error_status);
sys/dev/pci/drm/i915/display/intel_psr.c
430
void intel_psr_irq_handler(struct intel_dp *intel_dp, u32 psr_iir)
sys/dev/pci/drm/i915/display/intel_psr.c
4305
seq_printf(m, "Sink %s status: 0x%x [%s]\n", psr_mode_str(intel_dp), status, str);
sys/dev/pci/drm/i915/display/intel_psr.c
4307
seq_printf(m, "Sink %s error status: 0x%x", psr_mode_str(intel_dp), error_status);
sys/dev/pci/drm/i915/display/intel_psr.c
4316
seq_printf(m, "\t%s RFB storage error\n", psr_mode_str(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
4318
seq_printf(m, "\t%s VSC SDP uncorrectable error\n", psr_mode_str(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
432
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
4320
seq_printf(m, "\t%s Link CRC error\n", psr_mode_str(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
4329
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_psr.c
433
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
4331
return intel_psr_status(m, intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
4352
bool intel_psr_needs_alpm(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state)
sys/dev/pci/drm/i915/display/intel_psr.c
4358
return intel_dp_is_edp(intel_dp) && (crtc_state->has_sel_update ||
sys/dev/pci/drm/i915/display/intel_psr.c
436
if (psr_iir & psr_irq_pre_entry_bit_get(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
4362
bool intel_psr_needs_alpm_aux_less(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
4365
return intel_dp_is_edp(intel_dp) && crtc_state->has_panel_replay;
sys/dev/pci/drm/i915/display/intel_psr.c
437
intel_dp->psr.last_entry_attempt = time_ns;
sys/dev/pci/drm/i915/display/intel_psr.c
443
if (psr_iir & psr_irq_post_exit_bit_get(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
444
intel_dp->psr.last_exit = time_ns;
sys/dev/pci/drm/i915/display/intel_psr.c
456
psr_event_print(display, val, intel_dp->psr.sel_update_enabled);
sys/dev/pci/drm/i915/display/intel_psr.c
460
if (psr_iir & psr_irq_psr_error_bit_get(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
464
intel_dp->psr.irq_aux_error = true;
sys/dev/pci/drm/i915/display/intel_psr.c
475
0, psr_irq_psr_error_bit_get(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
477
queue_work(display->wq.unordered, &intel_dp->psr.work);
sys/dev/pci/drm/i915/display/intel_psr.c
481
static u8 intel_dp_get_sink_sync_latency(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
483
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
486
if (drm_dp_dpcd_readb(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_psr.c
495
static u8 intel_dp_get_su_capability(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
499
if (intel_dp->psr.sink_panel_replay_su_support) {
sys/dev/pci/drm/i915/display/intel_psr.c
500
if (drm_dp_dpcd_read_byte(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_psr.c
505
su_capability = intel_dp->psr_dpcd[1];
sys/dev/pci/drm/i915/display/intel_psr.c
512
intel_dp_get_su_x_granularity_offset(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
514
return intel_dp->psr.sink_panel_replay_su_support ?
sys/dev/pci/drm/i915/display/intel_psr.c
520
intel_dp_get_su_y_granularity_offset(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
522
return intel_dp->psr.sink_panel_replay_su_support ?
sys/dev/pci/drm/i915/display/intel_psr.c
531
static void intel_dp_get_su_granularity(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
533
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
547
if (!(intel_dp_get_su_capability(intel_dp) &
sys/dev/pci/drm/i915/display/intel_psr.c
555
r = drm_dp_dpcd_read(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_psr.c
556
intel_dp_get_su_x_granularity_offset(intel_dp),
sys/dev/pci/drm/i915/display/intel_psr.c
568
r = drm_dp_dpcd_read(&intel_dp->aux,
sys/dev/pci/drm/i915/display/intel_psr.c
569
intel_dp_get_su_y_granularity_offset(intel_dp),
sys/dev/pci/drm/i915/display/intel_psr.c
580
intel_dp->psr.su_w_granularity = w;
sys/dev/pci/drm/i915/display/intel_psr.c
581
intel_dp->psr.su_y_granularity = y;
sys/dev/pci/drm/i915/display/intel_psr.c
584
static void _panel_replay_init_dpcd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
586
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
590
if (intel_dp->mst_detect == DRM_DP_MST)
sys/dev/pci/drm/i915/display/intel_psr.c
593
ret = drm_dp_dpcd_read_data(&intel_dp->aux, DP_PANEL_REPLAY_CAP_SUPPORT,
sys/dev/pci/drm/i915/display/intel_psr.c
594
&intel_dp->pr_dpcd, sizeof(intel_dp->pr_dpcd));
sys/dev/pci/drm/i915/display/intel_psr.c
598
if (!(intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_SUPPORT)] &
sys/dev/pci/drm/i915/display/intel_psr.c
602
if (intel_dp_is_edp(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
603
if (!intel_alpm_aux_less_wake_supported(intel_dp)) {
sys/dev/pci/drm/i915/display/intel_psr.c
609
if (!(intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_SUPPORT)] &
sys/dev/pci/drm/i915/display/intel_psr.c
617
intel_dp->psr.sink_panel_replay_support = true;
sys/dev/pci/drm/i915/display/intel_psr.c
619
if (intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_SUPPORT)] &
sys/dev/pci/drm/i915/display/intel_psr.c
621
intel_dp->psr.sink_panel_replay_su_support = true;
sys/dev/pci/drm/i915/display/intel_psr.c
625
intel_dp->psr.sink_panel_replay_su_support ?
sys/dev/pci/drm/i915/display/intel_psr.c
629
static void _psr_init_dpcd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
631
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
634
ret = drm_dp_dpcd_read_data(&intel_dp->aux, DP_PSR_SUPPORT, intel_dp->psr_dpcd,
sys/dev/pci/drm/i915/display/intel_psr.c
635
sizeof(intel_dp->psr_dpcd));
sys/dev/pci/drm/i915/display/intel_psr.c
639
if (!intel_dp->psr_dpcd[0])
sys/dev/pci/drm/i915/display/intel_psr.c
643
intel_dp->psr_dpcd[0]);
sys/dev/pci/drm/i915/display/intel_psr.c
645
if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_NO_PSR)) {
sys/dev/pci/drm/i915/display/intel_psr.c
651
if (!(intel_dp->edp_dpcd[1] & DP_EDP_SET_POWER_CAP)) {
sys/dev/pci/drm/i915/display/intel_psr.c
657
intel_dp->psr.sink_support = true;
sys/dev/pci/drm/i915/display/intel_psr.c
658
intel_dp->psr.sink_sync_latency =
sys/dev/pci/drm/i915/display/intel_psr.c
659
intel_dp_get_sink_sync_latency(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
662
intel_dp->psr_dpcd[0] >= DP_PSR2_WITH_Y_COORD_IS_SUPPORTED) {
sys/dev/pci/drm/i915/display/intel_psr.c
663
bool y_req = intel_dp->psr_dpcd[1] &
sys/dev/pci/drm/i915/display/intel_psr.c
677
intel_dp->psr.sink_psr2_support = y_req &&
sys/dev/pci/drm/i915/display/intel_psr.c
678
intel_alpm_aux_wake_supported(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
680
intel_dp->psr.sink_psr2_support ? "" : "not ");
sys/dev/pci/drm/i915/display/intel_psr.c
684
void intel_psr_init_dpcd(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
686
_psr_init_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
688
_panel_replay_init_dpcd(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
690
if (intel_dp->psr.sink_psr2_support ||
sys/dev/pci/drm/i915/display/intel_psr.c
691
intel_dp->psr.sink_panel_replay_su_support)
sys/dev/pci/drm/i915/display/intel_psr.c
692
intel_dp_get_su_granularity(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
695
static void hsw_psr_setup_aux(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
697
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
698
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
716
aux_clock_divider = intel_dp->get_aux_clock_divider(intel_dp, 0);
sys/dev/pci/drm/i915/display/intel_psr.c
719
aux_ctl = intel_dp->get_aux_send_ctl(intel_dp, sizeof(aux_msg),
sys/dev/pci/drm/i915/display/intel_psr.c
732
static bool psr2_su_region_et_valid(struct intel_dp *intel_dp, bool panel_replay)
sys/dev/pci/drm/i915/display/intel_psr.c
734
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
736
if (DISPLAY_VER(display) < 20 || !intel_dp_is_edp(intel_dp) ||
sys/dev/pci/drm/i915/display/intel_psr.c
737
intel_dp->psr.debug & I915_PSR_DEBUG_SU_REGION_ET_DISABLE)
sys/dev/pci/drm/i915/display/intel_psr.c
741
intel_dp->pr_dpcd[INTEL_PR_DPCD_INDEX(DP_PANEL_REPLAY_CAP_SUPPORT)] &
sys/dev/pci/drm/i915/display/intel_psr.c
743
intel_dp->psr_dpcd[0] == DP_PSR2_WITH_Y_COORD_ET_SUPPORTED;
sys/dev/pci/drm/i915/display/intel_psr.c
746
static void _panel_replay_enable_sink(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
766
drm_dp_dpcd_writeb(&intel_dp->aux, PANEL_REPLAY_CONFIG, val);
sys/dev/pci/drm/i915/display/intel_psr.c
768
drm_dp_dpcd_writeb(&intel_dp->aux, PANEL_REPLAY_CONFIG2,
sys/dev/pci/drm/i915/display/intel_psr.c
772
static void _psr_enable_sink(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
775
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
781
if (intel_dp->psr.link_standby)
sys/dev/pci/drm/i915/display/intel_psr.c
794
if (intel_dp->psr.entry_setup_frames > 0)
sys/dev/pci/drm/i915/display/intel_psr.c
796
drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, val);
sys/dev/pci/drm/i915/display/intel_psr.c
799
drm_dp_dpcd_writeb(&intel_dp->aux, DP_PSR_EN_CFG, val);
sys/dev/pci/drm/i915/display/intel_psr.c
802
static void intel_psr_enable_sink(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.c
805
intel_alpm_enable_sink(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
808
_panel_replay_enable_sink(intel_dp, crtc_state) :
sys/dev/pci/drm/i915/display/intel_psr.c
809
_psr_enable_sink(intel_dp, crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.c
811
if (intel_dp_is_edp(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
812
drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER, DP_SET_POWER_D0);
sys/dev/pci/drm/i915/display/intel_psr.c
815
void intel_psr_panel_replay_enable_sink(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
822
if (CAN_PANEL_REPLAY(intel_dp) && panel_replay_global_enabled(intel_dp))
sys/dev/pci/drm/i915/display/intel_psr.c
823
drm_dp_dpcd_writeb(&intel_dp->aux, PANEL_REPLAY_CONFIG,
sys/dev/pci/drm/i915/display/intel_psr.c
827
static u32 intel_psr1_get_tp_time(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
829
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
830
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_psr.c
871
drm_dp_tps3_supported(intel_dp->dpcd))
sys/dev/pci/drm/i915/display/intel_psr.c
879
static u8 psr_compute_idle_frames(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
881
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
882
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_psr.c
889
idle_frames = max(idle_frames, intel_dp->psr.sink_sync_latency + 1);
sys/dev/pci/drm/i915/display/intel_psr.c
897
static bool is_dc5_dc6_blocked(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
899
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
901
struct intel_crtc *crtc = intel_crtc_for_pipe(display, intel_dp->psr.pipe);
sys/dev/pci/drm/i915/display/intel_psr.c
906
intel_dp->psr.active_non_psr_pipes ||
sys/dev/pci/drm/i915/display/intel_psr.c
910
static void hsw_activate_psr1(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
912
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
913
enum transcoder cpu_transcoder = intel_dp->psr.transcoder;
sys/dev/pci/drm/i915/display/intel_psr.c
917
val |= EDP_PSR_IDLE_FRAMES(psr_compute_idle_frames(intel_dp));
sys/dev/pci/drm/i915/display/intel_psr.c
925
if (intel_dp->psr.link_standby)
sys/dev/pci/drm/i915/display/intel_psr.c
928
val |= intel_psr1_get_tp_time(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
934
val |= LNL_EDP_PSR_ENTRY_SETUP_FRAMES(intel_dp->psr.entry_setup_frames);
sys/dev/pci/drm/i915/display/intel_psr.c
942
is_dc5_dc6_blocked(intel_dp) && intel_dp->psr.pkg_c_latency_used)
sys/dev/pci/drm/i915/display/intel_psr.c
944
intel_dp->psr.pipe,
sys/dev/pci/drm/i915/display/intel_psr.c
948
static u32 intel_psr2_get_tp_time(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
950
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
951
struct intel_connector *connector = intel_dp->attached_connector;
sys/dev/pci/drm/i915/display/intel_psr.c
970
static int psr2_block_count_lines(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
972
return intel_dp->alpm_parameters.io_wake_lines < 9 &&
sys/dev/pci/drm/i915/display/intel_psr.c
973
intel_dp->alpm_parameters.fast_wake_lines < 9 ? 8 : 12;
sys/dev/pci/drm/i915/display/intel_psr.c
976
static int psr2_block_count(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
978
return psr2_block_count_lines(intel_dp) / 4;
sys/dev/pci/drm/i915/display/intel_psr.c
981
static u8 frames_before_su_entry(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
986
intel_dp->psr.sink_sync_latency + 1,
sys/dev/pci/drm/i915/display/intel_psr.c
990
if (intel_dp->psr.entry_setup_frames >= frames_before_su_entry)
sys/dev/pci/drm/i915/display/intel_psr.c
991
frames_before_su_entry = intel_dp->psr.entry_setup_frames + 1;
sys/dev/pci/drm/i915/display/intel_psr.c
996
static void dg2_activate_panel_replay(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_psr.c
998
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.c
999
struct intel_psr *psr = &intel_dp->psr;
sys/dev/pci/drm/i915/display/intel_psr.h
19
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_psr.h
25
#define CAN_PANEL_REPLAY(intel_dp) ((intel_dp)->psr.sink_panel_replay_support && \
sys/dev/pci/drm/i915/display/intel_psr.h
26
(intel_dp)->psr.source_panel_replay_support)
sys/dev/pci/drm/i915/display/intel_psr.h
31
void intel_psr_init_dpcd(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
32
void intel_psr_panel_replay_enable_sink(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
37
void intel_psr_disable(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.h
39
int intel_psr_debug_set(struct intel_dp *intel_dp, u64 value);
sys/dev/pci/drm/i915/display/intel_psr.h
46
void intel_psr_init(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
47
void intel_psr_compute_config(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_psr.h
52
void intel_psr_irq_handler(struct intel_dp *intel_dp, u32 psr_iir);
sys/dev/pci/drm/i915/display/intel_psr.h
53
void intel_psr_short_pulse(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
57
bool intel_psr_enabled(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
64
void intel_psr_pause(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
65
void intel_psr_resume(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
73
bool intel_psr_link_ok(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_psr.h
83
bool intel_psr_needs_alpm(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state);
sys/dev/pci/drm/i915/display/intel_psr.h
84
bool intel_psr_needs_alpm_aux_less(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_quirks.c
102
void (*hook)(struct intel_dp *intel_dp);
sys/dev/pci/drm/i915/display/intel_quirks.c
19
static void intel_set_dpcd_quirk(struct intel_dp *intel_dp, enum intel_quirk_id quirk)
sys/dev/pci/drm/i915/display/intel_quirks.c
21
intel_dp->quirks.mask |= BIT(quirk);
sys/dev/pci/drm/i915/display/intel_quirks.c
278
void intel_init_dpcd_quirks(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_quirks.c
281
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_quirks.c
297
q->hook(intel_dp);
sys/dev/pci/drm/i915/display/intel_quirks.c
306
bool intel_has_dpcd_quirk(struct intel_dp *intel_dp, enum intel_quirk_id quirk)
sys/dev/pci/drm/i915/display/intel_quirks.c
308
return intel_dp->quirks.mask & BIT(quirk);
sys/dev/pci/drm/i915/display/intel_quirks.c
75
static void quirk_fw_sync_len(struct intel_dp *intel_dp)
sys/dev/pci/drm/i915/display/intel_quirks.c
77
struct intel_display *display = to_intel_display(intel_dp);
sys/dev/pci/drm/i915/display/intel_quirks.c
79
intel_set_dpcd_quirk(intel_dp, QUIRK_FW_SYNC_LEN);
sys/dev/pci/drm/i915/display/intel_quirks.h
12
struct intel_dp;
sys/dev/pci/drm/i915/display/intel_quirks.h
27
void intel_init_dpcd_quirks(struct intel_dp *intel_dp,
sys/dev/pci/drm/i915/display/intel_quirks.h
30
bool intel_has_dpcd_quirk(struct intel_dp *intel_dp, enum intel_quirk_id quirk);
sys/dev/pci/drm/i915/display/intel_tc.c
1760
struct intel_dp *intel_dp = enc_to_intel_dp(&dig_port->base);
sys/dev/pci/drm/i915/display/intel_tc.c
1769
ret = intel_dp_get_active_pipes(intel_dp, ctx, &pipe_mask);
sys/dev/pci/drm/i915/display/intel_vrr.c
23
struct intel_dp *intel_dp;
sys/dev/pci/drm/i915/display/intel_vrr.c
352
struct intel_dp *intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_vrr.c
353
bool is_edp = intel_dp_is_edp(intel_dp);
sys/dev/pci/drm/i915/display/intel_vrr.c
39
intel_dp = intel_attached_dp(connector);
sys/dev/pci/drm/i915/display/intel_vrr.c
41
if (!drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd))