Home
last modified time | relevance | path

Searched refs:intel_dp (Results 1 – 25 of 28) sorted by relevance

12

/linux/drivers/gpu/drm/i915/display/
H A Dintel_dp.c133 bool intel_dp_is_edp(struct intel_dp *intel_dp) in intel_dp_is_edp() argument
135 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_is_edp()
140 static void intel_dp_unset_edid(struct intel_dp *intel_dp);
172 static int max_dprx_rate(struct intel_dp *intel_dp) in max_dprx_rate() argument
174 struct intel_display *display = to_intel_display(intel_dp); in max_dprx_rate()
177 if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp)) in max_dprx_rate()
178 max_rate = drm_dp_tunnel_max_dprx_rate(intel_dp->tunnel); in max_dprx_rate()
180 max_rate = drm_dp_bw_code_to_link_rate(intel_dp->dpcd[DP_MAX_LINK_RATE]); in max_dprx_rate()
188 if (intel_dp_is_edp(intel_dp) && intel_has_quirk(display, QUIRK_EDP_LIMIT_RATE_HBR2)) in max_dprx_rate()
194 static int max_dprx_lane_count(struct intel_dp *intel_dp) in max_dprx_lane_count() argument
[all …]
H A Dintel_psr.c207 #define CAN_PSR(intel_dp) ((intel_dp)->psr.sink_support && \ argument
208 (intel_dp)->psr.source_support)
238 static bool psr_global_enabled(struct intel_dp *intel_dp) in psr_global_enabled() argument
240 struct intel_connector *connector = intel_dp->attached_connector; in psr_global_enabled()
242 switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) { in psr_global_enabled()
244 return intel_dp_is_edp(intel_dp) ? in psr_global_enabled()
253 static bool sel_update_global_enabled(struct intel_dp *intel_dp) in sel_update_global_enabled() argument
255 switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) { in sel_update_global_enabled()
264 static bool panel_replay_global_enabled(struct intel_dp *intel_dp) in panel_replay_global_enabled() argument
266 struct intel_display *display = to_intel_display(intel_dp); in panel_replay_global_enabled()
[all …]
H A Dintel_dp_test.c21 void intel_dp_test_reset(struct intel_dp *intel_dp) in intel_dp_test_reset() argument
27 memset(&intel_dp->compliance, 0, sizeof(intel_dp->compliance)); in intel_dp_test_reset()
31 void intel_dp_test_compute_config(struct intel_dp *intel_dp, in intel_dp_test_compute_config() argument
35 struct intel_display *display = to_intel_display(intel_dp); in intel_dp_test_compute_config()
38 if (intel_dp->compliance.test_data.bpc != 0) { in intel_dp_test_compute_config()
39 int bpp = 3 * intel_dp->compliance.test_data.bpc; in intel_dp_test_compute_config()
49 if (intel_dp->compliance.test_type == DP_TEST_LINK_TRAINING) { in intel_dp_test_compute_config()
55 if (intel_dp_link_params_valid(intel_dp, intel_dp->compliance.test_link_rate, in intel_dp_test_compute_config()
56 intel_dp->compliance.test_lane_count)) { in intel_dp_test_compute_config()
57 index = intel_dp_rate_index(intel_dp->common_rates, in intel_dp_test_compute_config()
[all …]
H A Dg4x_dp.c97 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_dp_prepare() local
102 intel_dp_set_link_params(intel_dp, in intel_dp_prepare()
125 intel_dp->DP = intel_de_read(display, intel_dp->output_reg) & DP_DETECTED; in intel_dp_prepare()
128 intel_dp->DP |= DP_VOLTAGE_0_4 | DP_PRE_EMPHASIS_0; in intel_dp_prepare()
129 intel_dp->DP |= DP_PORT_WIDTH(pipe_config->lane_count); in intel_dp_prepare()
135 intel_dp->DP |= DP_SYNC_HS_HIGH; in intel_dp_prepare()
137 intel_dp->DP |= DP_SYNC_VS_HIGH; in intel_dp_prepare()
138 intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT; in intel_dp_prepare()
141 intel_dp->DP |= DP_ENHANCED_FRAMING; in intel_dp_prepare()
143 intel_dp->DP |= DP_PIPE_SEL_IVB(crtc->pipe); in intel_dp_prepare()
[all …]
H A Dintel_dp_tunnel.c30 void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp) in intel_dp_tunnel_disconnect() argument
32 drm_dp_tunnel_destroy(intel_dp->tunnel); in intel_dp_tunnel_disconnect()
33 intel_dp->tunnel = NULL; in intel_dp_tunnel_disconnect()
44 void intel_dp_tunnel_destroy(struct intel_dp *intel_dp) in intel_dp_tunnel_destroy() argument
46 if (intel_dp_tunnel_bw_alloc_is_enabled(intel_dp)) in intel_dp_tunnel_destroy()
47 drm_dp_tunnel_disable_bw_alloc(intel_dp->tunnel); in intel_dp_tunnel_destroy()
49 intel_dp_tunnel_disconnect(intel_dp); in intel_dp_tunnel_destroy()
57 static int get_current_link_bw(struct intel_dp *intel_dp, in get_current_link_bw() argument
60 int rate = intel_dp_max_common_rate(intel_dp); in get_current_link_bw()
61 int lane_count = intel_dp_max_common_lane_count(intel_dp); in get_current_link_bw()
[all …]
H A Dintel_dp_tunnel.h19 struct intel_dp;
26 int intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx);
27 void intel_dp_tunnel_disconnect(struct intel_dp *intel_dp);
28 void intel_dp_tunnel_destroy(struct intel_dp *intel_dp);
29 void intel_dp_tunnel_resume(struct intel_dp *intel_dp,
32 void intel_dp_tunnel_suspend(struct intel_dp *intel_dp);
34 bool intel_dp_tunnel_bw_alloc_is_enabled(struct intel_dp *intel_dp);
40 struct intel_dp *intel_dp,
51 struct intel_dp *intel_dp,
62 intel_dp_tunnel_detect(struct intel_dp *intel_dp, struct drm_modeset_acquire_ctx *ctx) in intel_dp_tunnel_detect() argument
[all …]
H A Dintel_alpm.c27 bool intel_alpm_aux_wake_supported(struct intel_dp *intel_dp) in intel_alpm_aux_wake_supported() argument
29 return intel_dp->alpm_dpcd & DP_ALPM_CAP; in intel_alpm_aux_wake_supported()
32 bool intel_alpm_aux_less_wake_supported(struct intel_dp *intel_dp) in intel_alpm_aux_less_wake_supported() argument
34 return intel_dp->alpm_dpcd & DP_ALPM_AUX_LESS_CAP; in intel_alpm_aux_less_wake_supported()
37 bool intel_alpm_is_alpm_aux_less(struct intel_dp *intel_dp, in intel_alpm_is_alpm_aux_less() argument
40 return intel_psr_needs_alpm_aux_less(intel_dp, crtc_state) || in intel_alpm_is_alpm_aux_less()
41 (crtc_state->has_lobf && intel_alpm_aux_less_wake_supported(intel_dp)); in intel_alpm_is_alpm_aux_less()
44 void intel_alpm_init(struct intel_dp *intel_dp) in intel_alpm_init() argument
46 mutex_init(&intel_dp->alpm.lock); in intel_alpm_init()
118 _lnl_compute_aux_less_alpm_params(struct intel_dp *intel_dp, in _lnl_compute_aux_less_alpm_params() argument
[all …]
H A Dintel_dp_link_training.h14 struct intel_dp;
16 int intel_dp_read_dprx_caps(struct intel_dp *intel_dp, u8 dpcd[DP_RECEIVER_CAP_SIZE]);
17 int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp);
18 bool intel_dp_lttpr_transparent_mode_enabled(struct intel_dp *intel_dp);
20 void intel_dp_link_training_set_mode(struct intel_dp *intel_dp,
22 void intel_dp_link_training_set_bw(struct intel_dp *intel_dp,
26 bool intel_dp_get_adjust_train(struct intel_dp *intel_dp,
30 void intel_dp_program_link_training_pattern(struct intel_dp *intel_dp,
34 void intel_dp_set_signal_levels(struct intel_dp *intel_dp,
38 struct intel_dp *intel_dp,
[all …]
H A Dintel_dp_mst.c105 static struct intel_dp *to_primary_dp(struct intel_encoder *encoder) in to_primary_dp()
113 int intel_dp_mst_active_streams(struct intel_dp *intel_dp) in intel_dp_mst_active_streams() argument
115 return intel_dp->mst.active_streams; in intel_dp_mst_active_streams()
118 static bool intel_dp_mst_dec_active_streams(struct intel_dp *intel_dp) in intel_dp_mst_dec_active_streams() argument
120 struct intel_display *display = to_intel_display(intel_dp); in intel_dp_mst_dec_active_streams()
123 intel_dp->mst.active_streams, intel_dp->mst.active_streams - 1); in intel_dp_mst_dec_active_streams()
125 if (drm_WARN_ON(display->drm, intel_dp->mst.active_streams == 0)) in intel_dp_mst_dec_active_streams()
128 return --intel_dp->mst.active_streams == 0; in intel_dp_mst_dec_active_streams()
131 static bool intel_dp_mst_inc_active_streams(struct intel_dp *intel_dp) in intel_dp_mst_inc_active_streams() argument
133 struct intel_display *display = to_intel_display(intel_dp); in intel_dp_mst_inc_active_streams()
[all …]
H A Dintel_lspcon.c66 static struct intel_dp *lspcon_to_intel_dp(struct intel_lspcon *lspcon) in lspcon_to_intel_dp()
91 struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); in lspcon_detect_vendor() local
92 struct intel_display *display = to_intel_display(intel_dp); in lspcon_detect_vendor()
96 if (drm_dp_read_desc(&intel_dp->aux, &intel_dp->desc, drm_dp_is_branch(intel_dp->dpcd))) { in lspcon_detect_vendor()
101 ident = &intel_dp->desc.ident; in lspcon_detect_vendor()
135 struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); in intel_lspcon_detect_hdr_capability() local
136 struct intel_display *display = to_intel_display(intel_dp); in intel_lspcon_detect_hdr_capability()
140 ret = drm_dp_dpcd_read(&intel_dp->aux, get_hdr_status_reg(lspcon), in intel_lspcon_detect_hdr_capability()
156 struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); in lspcon_get_current_mode() local
157 struct intel_display *display = to_intel_display(intel_dp); in lspcon_get_current_mode()
[all …]
H A Dintel_dp_test.h11 struct intel_dp;
14 void intel_dp_test_reset(struct intel_dp *intel_dp);
15 void intel_dp_test_request(struct intel_dp *intel_dp);
16 void intel_dp_test_compute_config(struct intel_dp *intel_dp,
19 bool intel_dp_test_phy(struct intel_dp *intel_dp);
20 bool intel_dp_test_short_pulse(struct intel_dp *intel_dp);
H A Dintel_dp_mst.h16 struct intel_dp;
21 int intel_dp_mst_active_streams(struct intel_dp *intel_dp);
24 bool intel_dp_mst_source_support(struct intel_dp *intel_dp);
31 void intel_dp_mst_prepare_probe(struct intel_dp *intel_dp);
32 bool intel_dp_mst_verify_dpcd_state(struct intel_dp *intel_dp);
34 int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
H A Dintel_dp_aux_backlight.c115 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_supports_hdr_backlight() local
116 struct drm_dp_aux *aux = &intel_dp->aux; in intel_dp_aux_supports_hdr_backlight()
121 intel_dp_wait_source_oui(intel_dp); in intel_dp_aux_supports_hdr_backlight()
178 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_hdr_get_backlight() local
182 if (drm_dp_dpcd_readb(&intel_dp->aux, INTEL_EDP_HDR_GETSET_CTRL_PARAMS, &tmp) != 1) { in intel_dp_aux_hdr_get_backlight()
200 if (drm_dp_dpcd_read(&intel_dp->aux, INTEL_EDP_BRIGHTNESS_NITS_LSB, buf, in intel_dp_aux_hdr_get_backlight()
216 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_hdr_set_aux_backlight() local
222 if (drm_dp_dpcd_write(&intel_dp->aux, INTEL_EDP_BRIGHTNESS_NITS_LSB, buf, in intel_dp_aux_hdr_set_aux_backlight()
249 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_write_content_luminance() local
261 ret = drm_dp_dpcd_write(&intel_dp->aux, in intel_dp_aux_write_content_luminance()
[all …]
H A Dintel_quirks.c19 static void intel_set_dpcd_quirk(struct intel_dp *intel_dp, enum intel_quirk_id quirk) in intel_set_dpcd_quirk() argument
21 intel_dp->quirks.mask |= BIT(quirk); in intel_set_dpcd_quirk()
75 static void quirk_fw_sync_len(struct intel_dp *intel_dp) in quirk_fw_sync_len() argument
77 struct intel_display *display = to_intel_display(intel_dp); in quirk_fw_sync_len()
79 intel_set_dpcd_quirk(intel_dp, QUIRK_FW_SYNC_LEN); in quirk_fw_sync_len()
102 void (*hook)(struct intel_dp *intel_dp);
278 void intel_init_dpcd_quirks(struct intel_dp *intel_dp, in intel_init_dpcd_quirks() argument
281 struct intel_display *display = to_intel_display(intel_dp); in intel_init_dpcd_quirks()
297 q->hook(intel_dp); in intel_init_dpcd_quirks()
306 bool intel_has_dpcd_quirk(struct intel_dp *intel_dp, enum intel_quirk_id quirk) in intel_has_dpcd_quirk() argument
[all …]
H A Dintel_dp_aux.h13 struct intel_dp;
16 void intel_dp_aux_fini(struct intel_dp *intel_dp);
17 void intel_dp_aux_init(struct intel_dp *intel_dp);
23 int intel_dp_aux_fw_sync_len(struct intel_dp *intel_dp);
H A Dintel_quirks.h12 struct intel_dp;
27 void intel_init_dpcd_quirks(struct intel_dp *intel_dp,
30 bool intel_has_dpcd_quirk(struct intel_dp *intel_dp, enum intel_quirk_id quirk);
H A Dintel_display_types.h599 struct intel_dp *dp;
1789 struct intel_dp { struct
1878 u32 (*get_aux_clock_divider)(struct intel_dp *dp, int index); argument
1883 u32 (*get_aux_send_ctl)(struct intel_dp *dp, int send_bytes, argument
1886 i915_reg_t (*aux_ch_ctl_reg)(struct intel_dp *dp); argument
1887 i915_reg_t (*aux_ch_data_reg)(struct intel_dp *dp, int index); argument
1890 void (*prepare_link_retrain)(struct intel_dp *intel_dp, argument
1892 void (*set_link_train)(struct intel_dp *intel_dp, argument
1895 void (*set_idle_link_train)(struct intel_dp *intel_dp, argument
1898 u8 (*preemph_max)(struct intel_dp *intel_dp); argument
[all …]
H A Dintel_dp_hdcp.c44 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp_wait_for_cp_irq()
403 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp2_wait_for_msg()
521 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp2_read_msg()
895 struct intel_dp *intel_dp = &dig_port->dp; in intel_dp_hdcp_init() local
903 else if (!intel_dp_is_edp(intel_dp)) in intel_dp_hdcp_init()
H A Dintel_vrr.c37 struct intel_dp *intel_dp; in intel_vrr_is_capable() local
56 intel_dp = intel_attached_dp(connector); in intel_vrr_is_capable()
58 if (!drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd)) in intel_vrr_is_capable()
412 struct intel_dp *intel_dp = intel_attached_dp(connector); in intel_vrr_compute_config() local
413 bool is_edp = intel_dp_is_edp(intel_dp); in intel_vrr_compute_config()
H A Dintel_ddi_buf_trans.c1189 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in use_edp_hobl() local
1190 struct intel_connector *connector = intel_dp->attached_connector; in use_edp_hobl()
1192 return connector->panel.vbt.edp.hobl && !intel_dp->hobl_failed; in use_edp_hobl()
1197 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in use_edp_low_vswing() local
1198 struct intel_connector *connector = intel_dp->attached_connector; in use_edp_low_vswing()
H A Dg4x_dp.h17 struct intel_dp;
H A Dintel_dpio_phy.c952 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in chv_phy_pre_encoder_enable() local
953 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in chv_phy_pre_encoder_enable()
1132 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in vlv_phy_pre_encoder_enable() local
1133 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_phy_pre_encoder_enable()
H A Dintel_ddi.h18 struct intel_dp;
H A Dintel_cdclk.c2627 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_set_cdclk() local
2629 intel_psr_pause(intel_dp); in intel_set_cdclk()
2641 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_set_cdclk() local
2643 mutex_lock_nest_lock(&intel_dp->aux.hw_mutex, in intel_set_cdclk()
2650 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_set_cdclk() local
2652 mutex_unlock(&intel_dp->aux.hw_mutex); in intel_set_cdclk()
2657 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_set_cdclk() local
2659 intel_psr_resume(intel_dp); in intel_set_cdclk()
/linux/drivers/gpu/drm/gma500/
H A Dcdv_intel_dp.c324 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_lane_count() local
327 if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11) { in cdv_intel_dp_max_lane_count()
328 max_lane_count = intel_dp->dpcd[DP_MAX_LANE_COUNT] & 0x1f; in cdv_intel_dp_max_lane_count()
342 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_link_bw() local
343 int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE]; in cdv_intel_dp_max_link_bw()
380 struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; in cdv_intel_edp_panel_vdd_on() local
383 if (intel_dp->panel_on) { in cdv_intel_edp_panel_vdd_on()
394 msleep(intel_dp->panel_power_up_delay); in cdv_intel_edp_panel_vdd_on()
415 struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; in cdv_intel_edp_panel_on() local
418 if (intel_dp->panel_on) in cdv_intel_edp_panel_on()
[all …]

12