mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 07:12:09 +00:00
The DP Standard's recommendation is to use the LTTPR non-transparent mode link training if LTTPRs are detected, so let's do this. Besides power-saving, the advantages of this are that the maximum number of LTTPRs can only be used in non-transparent mode (the limit is 5-8 in transparent mode), and it provides a way to narrow down the reason for a link training failure to a given link segment. Non-transparent mode is probably also the mode that was tested the most by the industry. The changes in this patchset: - Pass the DP PHY that is currently link trained to all LT helpers, so that these can access the correct LTTPR/DPRX DPCD registers. - During LT take into account the LTTPR common lane rate/count and the per LTTPR-PHY vswing/pre-emph limits. - Switch to LTTPR non-transparent LT mode and train each link segment according to the sequence in DP Standard v2.0 (complete CR/EQ for each segment before continuing with the next segment). v2: - Switch to non-transparent mode during connector detection, which is required before reading the per-PHY LTTPR capabilities. - Move the DP_PHY_LTTPR() macro to drm_dp_helper.h (Ville) - Use the new drm_dp_dpcd_read_phy_link_status() instead of adding the same logic to intel_dp_get_link_status(). (Ville) - Make intel_dp_lttpr_phy_caps() return a pointer to the whole array instead of a pointer to its first element. (Ville) - Add the intel_dp_phy_is_downstream_of_source() helper. (Ville) - Add a code comment about the disable->enable quirk of non-transparent mode. - Add the intel_dp_training_pattern_set_reg() helper. - Fix checkpatch/sparse warns. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201007170917.1764556-7-imre.deak@intel.com |
||
---|---|---|
.. | ||
dvo_ch7xxx.c | ||
dvo_ch7017.c | ||
dvo_ivch.c | ||
dvo_ns2501.c | ||
dvo_sil164.c | ||
dvo_tfp410.c | ||
icl_dsi.c | ||
intel_acpi.c | ||
intel_acpi.h | ||
intel_atomic.c | ||
intel_atomic.h | ||
intel_atomic_plane.c | ||
intel_atomic_plane.h | ||
intel_audio.c | ||
intel_audio.h | ||
intel_bios.c | ||
intel_bios.h | ||
intel_bw.c | ||
intel_bw.h | ||
intel_cdclk.c | ||
intel_cdclk.h | ||
intel_color.c | ||
intel_color.h | ||
intel_combo_phy.c | ||
intel_combo_phy.h | ||
intel_connector.c | ||
intel_connector.h | ||
intel_crt.c | ||
intel_crt.h | ||
intel_csr.c | ||
intel_csr.h | ||
intel_ddi.c | ||
intel_ddi.h | ||
intel_de.h | ||
intel_display.c | ||
intel_display.h | ||
intel_display_debugfs.c | ||
intel_display_debugfs.h | ||
intel_display_power.c | ||
intel_display_power.h | ||
intel_display_types.h | ||
intel_dp.c | ||
intel_dp.h | ||
intel_dp_aux_backlight.c | ||
intel_dp_aux_backlight.h | ||
intel_dp_hdcp.c | ||
intel_dp_link_training.c | ||
intel_dp_link_training.h | ||
intel_dp_mst.c | ||
intel_dp_mst.h | ||
intel_dpio_phy.c | ||
intel_dpio_phy.h | ||
intel_dpll_mgr.c | ||
intel_dpll_mgr.h | ||
intel_dsb.c | ||
intel_dsb.h | ||
intel_dsi.c | ||
intel_dsi.h | ||
intel_dsi_dcs_backlight.c | ||
intel_dsi_dcs_backlight.h | ||
intel_dsi_vbt.c | ||
intel_dvo.c | ||
intel_dvo.h | ||
intel_dvo_dev.h | ||
intel_fbc.c | ||
intel_fbc.h | ||
intel_fbdev.c | ||
intel_fbdev.h | ||
intel_fifo_underrun.c | ||
intel_fifo_underrun.h | ||
intel_frontbuffer.c | ||
intel_frontbuffer.h | ||
intel_global_state.c | ||
intel_global_state.h | ||
intel_gmbus.c | ||
intel_gmbus.h | ||
intel_hdcp.c | ||
intel_hdcp.h | ||
intel_hdmi.c | ||
intel_hdmi.h | ||
intel_hotplug.c | ||
intel_hotplug.h | ||
intel_lpe_audio.c | ||
intel_lpe_audio.h | ||
intel_lspcon.c | ||
intel_lspcon.h | ||
intel_lvds.c | ||
intel_lvds.h | ||
intel_opregion.c | ||
intel_opregion.h | ||
intel_overlay.c | ||
intel_overlay.h | ||
intel_panel.c | ||
intel_panel.h | ||
intel_pipe_crc.c | ||
intel_pipe_crc.h | ||
intel_psr.c | ||
intel_psr.h | ||
intel_quirks.c | ||
intel_quirks.h | ||
intel_sdvo.c | ||
intel_sdvo.h | ||
intel_sdvo_regs.h | ||
intel_sprite.c | ||
intel_sprite.h | ||
intel_tc.c | ||
intel_tc.h | ||
intel_tv.c | ||
intel_tv.h | ||
intel_vbt_defs.h | ||
intel_vdsc.c | ||
intel_vdsc.h | ||
intel_vga.c | ||
intel_vga.h | ||
vlv_dsi.c | ||
vlv_dsi_pll.c |