Patch "drm/i915: Respect DP++ adaptor TMDS clock limit" has been added to the 4.6-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
drm/i915: Respect DP++ adaptor TMDS clock limit
to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-respect-dp-adaptor-tmds-clock-limit.patch
and it can be found in the queue-4.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
c578d15226c99f0566d5d022f81af6b7d69928dbMon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <[email protected]>
Date: Mon, 2 May 2016 22:08:23 +0300
Subject: drm/i915: Respect DP++ adaptor TMDS clock limit
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
From: Ville Syrjälä <[email protected]>
commit c578d15226c99f0566d5d022f81af6b7d69928db upstream.
Try to detect the max TMDS clock limit for the DP++ adaptor (if any) and take it into account when checking the port clock.
Note that as with the sink (HDMI vs. DVI) TMDS clock limit we'll ignore the adaptor TMDS clock limit in the modeset path, in case users are already "overclocking" their TMDS links. One subtle change here is that we'll have to respect the adaptor TMDS clock limit when we decide whether to do 12bpc or 8bpc, otherwise we might end up picking 12bpc and accidentally driving the TMDS link out of spec even when the user chose a mode that fits wihting the limits at 8bpc. This means you can't "overclock" your DP++ dongle at 12bpc anymore, but you can continue to do so at 8bpc.
Note that for simplicity we'll use the I2C access method for all dual mode adaptors including type 2. Otherwise we'd have to start mixing DP AUX and HDMI together. In the future we may need to do that if we come across any board designs that don't hook up the DDC pins to the DP++ connectors. Such boards would obviously only work with type 2 dual mode adaptors, and not type 1.
v2: Store adaptor type under indel_hdmi->dp_dual_mode
Deal with DRM_DP_DUAL_MODE_UNKNOWN
Pass adaptor type to drm_dp_dual_mode_max_tmds_clock(), and use it for type1 adaptors as well
--- drivers/gpu/drm/i915/intel_drv.h | 5 +++ drivers/gpu/drm/i915/intel_hdmi.c | 58 ++++++++++++++++++++++++++++++++------ 2 files changed, 55 insertions(+), 8 deletions(-)
drivers/gpu/drm/i915/intel_drv.h +5 -0
@@ -33,6 +33,7 @@#include <drm/drm_crtc.h> #include <drm/drm_crtc_helper.h> #include <drm/drm_fb_helper.h> +#include <drm/drm_dp_dual_mode_helper.h> #include <drm/drm_dp_mst_helper.h> #include <drm/drm_rect.h> #include <drm/drm_atomic.h>
@@ -703,6 +704,10 @@ struct cxsr_latency {struct intel_hdmi {i915_reg_t hdmi_reg;int ddc_bus; +struct { +enum drm_dp_dual_mode_type type; +int max_tmds_clock; + } dp_dual_mode;bool limited_color_range;bool color_range_auto;bool has_hdmi_sink;
drivers/gpu/drm/i915/intel_hdmi.c +50 -8
100 lines not on this page · raw message
Patches currently in stable-queue which might be from [email protected] are
queue-4.6/drm-i915-fix-watermarks-for-vlv-chv.patch queue-4.6/drm-i915-psr-try-to-program-link-training-times-correctly.patch queue-4.6/mfd-intel_soc_pmic_core-terminate-panel-control-gpio-lookup-table-correctly.patch queue-4.6/drm-add-helper-for-dp-adaptors.patch queue-4.6/drm-i915-don-t-leave-old-junk-in-ilk-active-watermarks-on-readout.patch queue-4.6/drm-i915-enable-disable-tmds-output-buffers-in-dp-adaptor-as-needed.patch queue-4.6/drm-i915-pass-the-correct-crtc-state-to-.update_plane.patch queue-4.6/drm-i915-respect-dp-adaptor-tmds-clock-limit.patch