From: Greg Kroah-Hartman Date: Sat, 10 Sep 2022 06:53:27 +0000 (+0200) Subject: drop queue-5.4/drm-i915-implement-waedplinkratedatareload.patch X-Git-Tag: v5.19.9~50 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bb85342e64561fb1b1e77e23c1feb2ca654e3db9;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-5.4/drm-i915-implement-waedplinkratedatareload.patch broke the build --- diff --git a/queue-5.4/drm-i915-implement-waedplinkratedatareload.patch b/queue-5.4/drm-i915-implement-waedplinkratedatareload.patch deleted file mode 100644 index 3e683d16577..00000000000 --- a/queue-5.4/drm-i915-implement-waedplinkratedatareload.patch +++ /dev/null @@ -1,90 +0,0 @@ -From 672d6ca758651f0ec12cd0d59787067a5bde1c96 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= -Date: Fri, 2 Sep 2022 10:03:18 +0300 -Subject: drm/i915: Implement WaEdpLinkRateDataReload -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Ville Syrjälä - -commit 672d6ca758651f0ec12cd0d59787067a5bde1c96 upstream. - -A lot of modern laptops use the Parade PS8461E MUX for eDP -switching. The MUX can operate in jitter cleaning mode or -redriver mode, the first one resulting in higher link -quality. The jitter cleaning mode needs to know the link -rate used and the MUX achieves this by snooping the -LINK_BW_SET, LINK_RATE_SELECT and SUPPORTED_LINK_RATES -DPCD accesses. - -When the MUX is powered down (seems this can happen whenever -the display is turned off) it loses track of the snooped -link rates so when we do the LINK_RATE_SELECT write it no -longer knowns which link rate we're selecting, and thus it -falls back to the lower quality redriver mode. This results -in unstable high link rates (eg. usually 8.1Gbps link rate -no longer works correctly). - -In order to avoid all that let's re-snoop SUPPORTED_LINK_RATES -from the sink at the start of every link training. - -Unfortunately we don't have a way to detect the presence of -the MUX. It looks like the set of laptops equipped with this -MUX is fairly large and contains devices from multiple -manufacturers. It may also still be growing with new models. -So a quirk doesn't seem like a very easily maintainable -option, thus we shall attempt to do this unconditionally on -all machines that use LINK_RATE_SELECT. Hopefully this extra -DPCD read doesn't cause issues for any unaffected machine. -If that turns out to be the case we'll need to convert this -into a quirk in the future. - -Cc: stable@vger.kernel.org -Cc: Jason A. Donenfeld -Cc: Ankit Nautiyal -Cc: Jani Nikula -Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6205 -Signed-off-by: Ville Syrjälä -Link: https://patchwork.freedesktop.org/patch/msgid/20220902070319.15395-1-ville.syrjala@linux.intel.com -Tested-by: Aaron Ma -Tested-by: Jason A. Donenfeld -Reviewed-by: Jani Nikula -(cherry picked from commit 25899c590cb5ba9b9f284c6ca8e7e9086793d641) -Signed-off-by: Rodrigo Vivi -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/i915/display/intel_dp_link_training.c | 22 ++++++++++++++++++ - 1 file changed, 22 insertions(+) - ---- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c -+++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c -@@ -142,6 +142,28 @@ intel_dp_link_training_clock_recovery(st - intel_dp_compute_rate(intel_dp, intel_dp->link_rate, - &link_bw, &rate_select); - -+ /* -+ * WaEdpLinkRateDataReload -+ * -+ * Parade PS8461E MUX (used on varius TGL+ laptops) needs -+ * to snoop the link rates reported by the sink when we -+ * use LINK_RATE_SET in order to operate in jitter cleaning -+ * mode (as opposed to redriver mode). Unfortunately it -+ * loses track of the snooped link rates when powered down, -+ * so we need to make it re-snoop often. Without this high -+ * link rates are not stable. -+ */ -+ if (!link_bw) { -+ struct intel_connector *connector = intel_dp->attached_connector; -+ __le16 sink_rates[DP_MAX_SUPPORTED_RATES]; -+ -+ drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s] Reloading eDP link rates\n", -+ connector->base.base.id, connector->base.name); -+ -+ drm_dp_dpcd_read(&intel_dp->aux, DP_SUPPORTED_LINK_RATES, -+ sink_rates, sizeof(sink_rates)); -+ } -+ - if (link_bw) - DRM_DEBUG_KMS("Using LINK_BW_SET value %02x\n", link_bw); - else diff --git a/queue-5.4/series b/queue-5.4/series index 1e5cdbb1386..b5c161f6d0b 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -80,6 +80,5 @@ alsa-usb-audio-fix-an-out-of-bounds-bug-in-__snd_usb_parse_audio_interface.patch kprobes-prohibit-probes-in-gate-area.patch debugfs-add-debugfs_lookup_and_remove.patch nvmet-fix-a-use-after-free.patch -drm-i915-implement-waedplinkratedatareload.patch scsi-mpt3sas-fix-use-after-free-warning.patch scsi-lpfc-add-missing-destroy_workqueue-in-error-path.patch