Home
last modified time | relevance | path

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

12

/Linux-v6.6/drivers/gpu/drm/i915/display/
Dintel_dp_link_training.c50 static void intel_dp_reset_lttpr_common_caps(struct intel_dp *intel_dp) in intel_dp_reset_lttpr_common_caps() argument
52 memset(intel_dp->lttpr_common_caps, 0, sizeof(intel_dp->lttpr_common_caps)); in intel_dp_reset_lttpr_common_caps()
55 static void intel_dp_reset_lttpr_count(struct intel_dp *intel_dp) in intel_dp_reset_lttpr_count() argument
57 intel_dp->lttpr_common_caps[DP_PHY_REPEATER_CNT - in intel_dp_reset_lttpr_count()
61 static u8 *intel_dp_lttpr_phy_caps(struct intel_dp *intel_dp, in intel_dp_lttpr_phy_caps() argument
64 return intel_dp->lttpr_phy_caps[dp_phy - DP_PHY_LTTPR1]; in intel_dp_lttpr_phy_caps()
67 static void intel_dp_read_lttpr_phy_caps(struct intel_dp *intel_dp, in intel_dp_read_lttpr_phy_caps() argument
71 u8 *phy_caps = intel_dp_lttpr_phy_caps(intel_dp, dp_phy); in intel_dp_read_lttpr_phy_caps()
73 if (drm_dp_read_lttpr_phy_caps(&intel_dp->aux, dpcd, dp_phy, phy_caps) < 0) { in intel_dp_read_lttpr_phy_caps()
74 lt_dbg(intel_dp, dp_phy, "failed to read the PHY caps\n"); in intel_dp_read_lttpr_phy_caps()
[all …]
Dintel_pps.c24 static void pps_init_delays(struct intel_dp *intel_dp);
25 static void pps_init_registers(struct intel_dp *intel_dp, bool force_disable_vdd);
61 intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp) in intel_pps_lock() argument
63 struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); in intel_pps_lock()
75 intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp, in intel_pps_unlock() argument
78 struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); in intel_pps_unlock()
87 vlv_power_sequencer_kick(struct intel_dp *intel_dp) in vlv_power_sequencer_kick() argument
89 struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); in vlv_power_sequencer_kick()
90 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_power_sequencer_kick()
91 enum pipe pipe = intel_dp->pps.pps_pipe; in vlv_power_sequencer_kick()
[all …]
Dintel_dp.c115 bool intel_dp_is_edp(struct intel_dp *intel_dp) in intel_dp_is_edp() argument
117 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in intel_dp_is_edp()
122 static void intel_dp_unset_edid(struct intel_dp *intel_dp);
130 static void intel_dp_set_default_sink_rates(struct intel_dp *intel_dp) in intel_dp_set_default_sink_rates() argument
132 intel_dp->sink_rates[0] = 162000; in intel_dp_set_default_sink_rates()
133 intel_dp->num_sink_rates = 1; in intel_dp_set_default_sink_rates()
137 static void intel_dp_set_dpcd_sink_rates(struct intel_dp *intel_dp) in intel_dp_set_dpcd_sink_rates() argument
145 if (drm_dp_has_quirk(&intel_dp->desc, DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS)) { in intel_dp_set_dpcd_sink_rates()
149 memcpy(intel_dp->sink_rates, quirk_rates, sizeof(quirk_rates)); in intel_dp_set_dpcd_sink_rates()
150 intel_dp->num_sink_rates = ARRAY_SIZE(quirk_rates); in intel_dp_set_dpcd_sink_rates()
[all …]
Dintel_pps.h17 struct intel_dp;
20 intel_wakeref_t intel_pps_lock(struct intel_dp *intel_dp);
21 intel_wakeref_t intel_pps_unlock(struct intel_dp *intel_dp, intel_wakeref_t wakeref);
26 void intel_pps_backlight_on(struct intel_dp *intel_dp);
27 void intel_pps_backlight_off(struct intel_dp *intel_dp);
30 bool intel_pps_vdd_on_unlocked(struct intel_dp *intel_dp);
31 void intel_pps_vdd_off_unlocked(struct intel_dp *intel_dp, bool sync);
32 void intel_pps_on_unlocked(struct intel_dp *intel_dp);
33 void intel_pps_off_unlocked(struct intel_dp *intel_dp);
34 void intel_pps_check_power_unlocked(struct intel_dp *intel_dp);
[all …]
Dintel_psr.c173 static bool psr_global_enabled(struct intel_dp *intel_dp) in psr_global_enabled() argument
175 struct intel_connector *connector = intel_dp->attached_connector; in psr_global_enabled()
176 struct drm_i915_private *i915 = dp_to_i915(intel_dp); in psr_global_enabled()
178 switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) { in psr_global_enabled()
190 static bool psr2_global_enabled(struct intel_dp *intel_dp) in psr2_global_enabled() argument
192 struct drm_i915_private *i915 = dp_to_i915(intel_dp); in psr2_global_enabled()
194 switch (intel_dp->psr.debug & I915_PSR_DEBUG_MODE_MASK) { in psr2_global_enabled()
205 static u32 psr_irq_psr_error_bit_get(struct intel_dp *intel_dp) in psr_irq_psr_error_bit_get() argument
207 struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); in psr_irq_psr_error_bit_get()
210 EDP_PSR_ERROR(intel_dp->psr.transcoder); in psr_irq_psr_error_bit_get()
[all …]
Dintel_dp_aux.c40 intel_dp_aux_wait_done(struct intel_dp *intel_dp) in intel_dp_aux_wait_done() argument
42 struct drm_i915_private *i915 = dp_to_i915(intel_dp); in intel_dp_aux_wait_done()
43 i915_reg_t ch_ctl = intel_dp->aux_ch_ctl_reg(intel_dp); in intel_dp_aux_wait_done()
55 intel_dp->aux.name, timeout_ms, status); in intel_dp_aux_wait_done()
60 static u32 g4x_get_aux_clock_divider(struct intel_dp *intel_dp, int index) in g4x_get_aux_clock_divider() argument
62 struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); in g4x_get_aux_clock_divider()
74 static u32 ilk_get_aux_clock_divider(struct intel_dp *intel_dp, int index) in ilk_get_aux_clock_divider() argument
76 struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); in ilk_get_aux_clock_divider()
77 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in ilk_get_aux_clock_divider()
95 static u32 hsw_get_aux_clock_divider(struct intel_dp *intel_dp, int index) in hsw_get_aux_clock_divider() argument
[all …]
Dintel_dp.h23 struct intel_dp;
33 void intel_dp_adjust_compliance_config(struct intel_dp *intel_dp,
41 void intel_dp_set_link_params(struct intel_dp *intel_dp,
43 int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
45 int intel_dp_get_active_pipes(struct intel_dp *intel_dp,
50 void intel_dp_set_power(struct intel_dp *intel_dp, u8 mode);
51 void intel_dp_configure_protocol_converter(struct intel_dp *intel_dp,
53 void intel_dp_sink_set_decompression_state(struct intel_dp *intel_dp,
62 int intel_dp_dsc_compute_config(struct intel_dp *intel_dp,
68 bool intel_dp_has_hdmi_sink(struct intel_dp *intel_dp);
[all …]
Dg4x_dp.c92 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_dp_prepare() local
97 intel_dp_set_link_params(intel_dp, in intel_dp_prepare()
120 intel_dp->DP = intel_de_read(dev_priv, intel_dp->output_reg) & DP_DETECTED; in intel_dp_prepare()
123 intel_dp->DP |= DP_VOLTAGE_0_4 | DP_PRE_EMPHASIS_0; in intel_dp_prepare()
124 intel_dp->DP |= DP_PORT_WIDTH(pipe_config->lane_count); in intel_dp_prepare()
130 intel_dp->DP |= DP_SYNC_HS_HIGH; in intel_dp_prepare()
132 intel_dp->DP |= DP_SYNC_VS_HIGH; in intel_dp_prepare()
133 intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT; in intel_dp_prepare()
135 if (drm_dp_enhanced_frame_cap(intel_dp->dpcd)) in intel_dp_prepare()
136 intel_dp->DP |= DP_ENHANCED_FRAMING; in intel_dp_prepare()
[all …]
Dintel_psr.h19 struct intel_dp;
24 void intel_psr_init_dpcd(struct intel_dp *intel_dp);
28 void intel_psr_disable(struct intel_dp *intel_dp,
30 int intel_psr_debug_set(struct intel_dp *intel_dp, u64 value);
37 void intel_psr_init(struct intel_dp *intel_dp);
38 void intel_psr_compute_config(struct intel_dp *intel_dp,
43 void intel_psr_irq_handler(struct intel_dp *intel_dp, u32 psr_iir);
44 void intel_psr_short_pulse(struct intel_dp *intel_dp);
46 bool intel_psr_enabled(struct intel_dp *intel_dp);
60 void intel_psr_pause(struct intel_dp *intel_dp);
[all …]
Dintel_dp_link_training.h12 struct intel_dp;
14 int intel_dp_init_lttpr_and_dprx_caps(struct intel_dp *intel_dp);
16 void intel_dp_get_adjust_train(struct intel_dp *intel_dp,
20 void intel_dp_program_link_training_pattern(struct intel_dp *intel_dp,
24 void intel_dp_set_signal_levels(struct intel_dp *intel_dp,
27 void intel_dp_start_link_train(struct intel_dp *intel_dp,
29 void intel_dp_stop_link_train(struct intel_dp *intel_dp,
33 intel_dp_dump_link_status(struct intel_dp *intel_dp, enum drm_dp_phy dp_phy,
42 void intel_dp_128b132b_sdp_crc16(struct intel_dp *intel_dp,
Dintel_dp_mst.c80 struct intel_dp *intel_dp = &intel_mst->primary->dp; in intel_dp_mst_find_vcpi_slots_for_bpp() local
90 mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst_mgr); in intel_dp_mst_find_vcpi_slots_for_bpp()
99 mst_state->pbn_div = drm_dp_get_vc_payload_bw(&intel_dp->mst_mgr, in intel_dp_mst_find_vcpi_slots_for_bpp()
115 slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst_mgr, in intel_dp_mst_find_vcpi_slots_for_bpp()
183 struct intel_dp *intel_dp = &intel_mst->primary->dp; in intel_dp_dsc_mst_compute_link_config() local
206 num_bpc = drm_dp_dsc_sink_supported_input_bpcs(intel_dp->dsc_dpcd, in intel_dp_dsc_mst_compute_link_config()
276 struct intel_dp *intel_dp = &intel_mst->primary->dp; in intel_dp_mst_update_slots() local
277 struct drm_dp_mst_topology_mgr *mgr = &intel_dp->mst_mgr; in intel_dp_mst_update_slots()
312 struct intel_dp *intel_dp = &intel_mst->primary->dp; in intel_dp_mst_compute_config() local
334 limits.max_rate = intel_dp_max_link_rate(intel_dp); in intel_dp_mst_compute_config()
[all …]
Dintel_lspcon.c57 static struct intel_dp *lspcon_to_intel_dp(struct intel_lspcon *lspcon) in lspcon_to_intel_dp()
82 struct intel_dp *dp = lspcon_to_intel_dp(lspcon); in lspcon_detect_vendor()
125 struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); in lspcon_detect_hdr_capability() local
126 struct drm_i915_private *i915 = dp_to_i915(intel_dp); in lspcon_detect_hdr_capability()
130 ret = drm_dp_dpcd_read(&intel_dp->aux, get_hdr_status_reg(lspcon), in lspcon_detect_hdr_capability()
144 struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); in lspcon_get_current_mode() local
145 struct drm_i915_private *i915 = dp_to_i915(intel_dp); in lspcon_get_current_mode()
147 struct i2c_adapter *adapter = &intel_dp->aux.ddc; in lspcon_get_current_mode()
149 if (drm_lspcon_get_mode(intel_dp->aux.drm_dev, adapter, &current_mode)) { in lspcon_get_current_mode()
159 struct intel_dp *intel_dp = lspcon_to_intel_dp(lspcon); in lspcon_wait_mode() local
[all …]
Dintel_dp_aux_backlight.c118 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_supports_hdr_backlight() local
119 struct drm_dp_aux *aux = &intel_dp->aux; in intel_dp_aux_supports_hdr_backlight()
124 intel_dp_wait_source_oui(intel_dp); in intel_dp_aux_supports_hdr_backlight()
170 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_hdr_get_backlight() local
174 if (drm_dp_dpcd_readb(&intel_dp->aux, INTEL_EDP_HDR_GETSET_CTRL_PARAMS, &tmp) != 1) { in intel_dp_aux_hdr_get_backlight()
191 if (drm_dp_dpcd_read(&intel_dp->aux, INTEL_EDP_BRIGHTNESS_NITS_LSB, buf, in intel_dp_aux_hdr_get_backlight()
206 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_hdr_set_aux_backlight() local
212 if (drm_dp_dpcd_write(&intel_dp->aux, INTEL_EDP_BRIGHTNESS_NITS_LSB, buf, in intel_dp_aux_hdr_set_aux_backlight()
240 struct intel_dp *intel_dp = enc_to_intel_dp(connector->encoder); in intel_dp_aux_hdr_enable_backlight() local
244 intel_dp_wait_source_oui(intel_dp); in intel_dp_aux_hdr_enable_backlight()
[all …]
Dintel_display_debugfs.c235 struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder); in intel_dp_info() local
238 seq_printf(m, "\tDPCD rev: %x\n", intel_dp->dpcd[DP_DPCD_REV]); in intel_dp_info()
242 drm_dp_downstream_debug(m, intel_dp->dpcd, intel_dp->downstream_ports, in intel_dp_info()
243 edid, &intel_dp->aux); in intel_dp_info()
810 struct intel_dp *intel_dp; in i915_displayport_test_active_write() local
837 intel_dp = enc_to_intel_dp(encoder); in i915_displayport_test_active_write()
846 intel_dp->compliance.test_active = true; in i915_displayport_test_active_write()
848 intel_dp->compliance.test_active = false; in i915_displayport_test_active_write()
865 struct intel_dp *intel_dp; in i915_displayport_test_active_show() local
880 intel_dp = enc_to_intel_dp(encoder); in i915_displayport_test_active_show()
[all …]
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);
Dintel_ddi.c328 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in intel_ddi_init_dp_buf_reg() local
333 intel_dp->DP = dig_port->saved_port_bits | in intel_ddi_init_dp_buf_reg()
339 intel_dp->DP |= DDI_BUF_PORT_DATA_40BIT; in intel_ddi_init_dp_buf_reg()
341 intel_dp->DP |= DDI_BUF_PORT_DATA_10BIT; in intel_ddi_init_dp_buf_reg()
345 intel_dp->DP |= ddi_buf_phy_link_rate(crtc_state->port_clock); in intel_ddi_init_dp_buf_reg()
347 intel_dp->DP |= DDI_BUF_CTL_TC_PHY_OWNERSHIP; in intel_ddi_init_dp_buf_reg()
1066 static u8 intel_ddi_dp_voltage_max(struct intel_dp *intel_dp, in intel_ddi_dp_voltage_max() argument
1069 struct intel_encoder *encoder = &dp_to_dig_port(intel_dp)->base; in intel_ddi_dp_voltage_max()
1090 static u8 intel_ddi_dp_preemph_max(struct intel_dp *intel_dp) in intel_ddi_dp_preemph_max() argument
1121 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in icl_ddi_combo_vswing_program() local
[all …]
Dintel_display_types.h621 struct intel_dp *mst_port;
1701 struct intel_dp { struct
1755 u32 (*get_aux_clock_divider)(struct intel_dp *dp, int index); argument
1760 u32 (*get_aux_send_ctl)(struct intel_dp *dp, int send_bytes, argument
1763 i915_reg_t (*aux_ch_ctl_reg)(struct intel_dp *dp); argument
1764 i915_reg_t (*aux_ch_data_reg)(struct intel_dp *dp, int index); argument
1767 void (*prepare_link_retrain)(struct intel_dp *intel_dp, argument
1769 void (*set_link_train)(struct intel_dp *intel_dp, argument
1772 void (*set_idle_link_train)(struct intel_dp *intel_dp, argument
1775 u8 (*preemph_max)(struct intel_dp *intel_dp); argument
[all …]
Dintel_dp_mst.h15 struct intel_dp;
22 bool intel_dp_mst_source_support(struct intel_dp *intel_dp);
Dg4x_dp.h17 struct intel_dp;
21 enum pipe vlv_active_pipe(struct intel_dp *intel_dp);
Dintel_vrr.c17 struct intel_dp *intel_dp; in intel_vrr_is_capable() local
31 intel_dp = intel_attached_dp(connector); in intel_vrr_is_capable()
33 if (!drm_dp_sink_can_do_video_without_timing_msa(intel_dp->dpcd)) in intel_vrr_is_capable()
Dintel_dp_hdcp.c390 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp2_wait_for_msg()
501 struct intel_dp *dp = &dig_port->dp; in intel_dp_hdcp2_read_msg()
803 struct intel_dp *intel_dp = &dig_port->dp; in intel_dp_hdcp_init() local
811 else if (!intel_dp_is_edp(intel_dp)) in intel_dp_hdcp_init()
Dintel_ddi_buf_trans.c1125 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in use_edp_hobl() local
1126 struct intel_connector *connector = intel_dp->attached_connector; in use_edp_hobl()
1128 return connector->panel.vbt.edp.hobl && !intel_dp->hobl_failed; in use_edp_hobl()
1133 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in use_edp_low_vswing() local
1134 struct intel_connector *connector = intel_dp->attached_connector; in use_edp_low_vswing()
Dintel_dpio_phy.c908 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in chv_phy_pre_encoder_enable() local
909 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in chv_phy_pre_encoder_enable()
1091 struct intel_dp *intel_dp = enc_to_intel_dp(encoder); in vlv_phy_pre_encoder_enable() local
1092 struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); in vlv_phy_pre_encoder_enable()
Dintel_ddi.h18 struct intel_dp;
/Linux-v6.6/drivers/gpu/drm/gma500/
Dcdv_intel_dp.c323 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_lane_count() local
326 if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11) { in cdv_intel_dp_max_lane_count()
327 max_lane_count = intel_dp->dpcd[DP_MAX_LANE_COUNT] & 0x1f; in cdv_intel_dp_max_lane_count()
341 struct cdv_intel_dp *intel_dp = encoder->dev_priv; in cdv_intel_dp_max_link_bw() local
342 int max_link_bw = intel_dp->dpcd[DP_MAX_LINK_RATE]; in cdv_intel_dp_max_link_bw()
379 struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; in cdv_intel_edp_panel_vdd_on() local
382 if (intel_dp->panel_on) { in cdv_intel_edp_panel_vdd_on()
393 msleep(intel_dp->panel_power_up_delay); in cdv_intel_edp_panel_vdd_on()
414 struct cdv_intel_dp *intel_dp = intel_encoder->dev_priv; in cdv_intel_edp_panel_on() local
417 if (intel_dp->panel_on) in cdv_intel_edp_panel_on()
[all …]

12