mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Brendan Tam <Brendan.Tam@amd.com>,
	Wenjing Liu <wenjing.liu@amd.com>,
	Aurabindo Pillai <aurabindo.pillai@amd.com>,
	Daniel Wheeler <daniel.wheeler@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Sasha Levin <sashal@kernel.org>,
	harry.wentland@amd.com, sunpeng.li@amd.com,
	christian.koenig@amd.com, airlied@gmail.com, simona@ffwll.ch,
	aric.cyr@amd.com, siqueira@igalia.com, alex.hung@amd.com,
	roman.li@amd.com, dillon.varone@amd.com, Samson.Tam@amd.com,
	Syed.Hassan@amd.com, george.shen@amd.com, Cruise.Hung@amd.com,
	joshua.aberback@amd.com, PeiChen.Huang@amd.com,
	michael.strauss@amd.com, jerry.zuo@amd.com, ivlipski@amd.com,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Subject: [PATCH AUTOSEL 6.6 03/23] drm/amd/display: add workaround flag to link to force FFE preset
Date: Thu,  3 Apr 2025 15:17:56 -0400	[thread overview]
Message-ID: <20250403191816.2681439-3-sashal@kernel.org> (raw)
In-Reply-To: <20250403191816.2681439-1-sashal@kernel.org>

From: Brendan Tam <Brendan.Tam@amd.com>

[ Upstream commit 51d1b338541dea83fec8e6f95d3e46fa469a73a8 ]

[Why]
There have been instances of some monitors being unable to link train on
their reported link speed using their selected FFE preset. If a different
FFE preset is found that has a higher rate of success during link training
this workaround can be used to force its FFE preset.

[How]
A new link workaround flag is made called force_dp_ffe_preset. The flag is
checked in override_training_settings and will set lt_settings->ffe_preset
which is null if the flag is not set. The flag is then set in
override_lane_settings.

Reviewed-by: Wenjing Liu <wenjing.liu@amd.com>
Signed-off-by: Brendan Tam <Brendan.Tam@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/gpu/drm/amd/display/dc/dc.h                             | 2 ++
 .../gpu/drm/amd/display/dc/link/protocols/link_dp_training.c    | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
index cc5e01df15135..88e64b280c90f 100644
--- a/drivers/gpu/drm/amd/display/dc/dc.h
+++ b/drivers/gpu/drm/amd/display/dc/dc.h
@@ -1563,7 +1563,9 @@ struct dc_link {
 		bool dongle_mode_timing_override;
 		bool blank_stream_on_ocs_change;
 		bool read_dpcd204h_on_irq_hpd;
+		bool force_dp_ffe_preset;
 	} wa_flags;
+	union dc_dp_ffe_preset forced_dp_ffe_preset;
 	struct link_mst_stream_allocation_table mst_stream_alloc_table;
 
 	struct dc_link_status link_status;
diff --git a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c
index 9d1adfc09fb2a..51e88efee11e4 100644
--- a/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c
+++ b/drivers/gpu/drm/amd/display/dc/link/protocols/link_dp_training.c
@@ -697,6 +697,8 @@ void override_training_settings(
 		lt_settings->pre_emphasis = overrides->pre_emphasis;
 	if (overrides->post_cursor2 != NULL)
 		lt_settings->post_cursor2 = overrides->post_cursor2;
+	if (link->wa_flags.force_dp_ffe_preset && !dp_is_lttpr_present(link))
+		lt_settings->ffe_preset = &link->forced_dp_ffe_preset;
 	if (overrides->ffe_preset != NULL)
 		lt_settings->ffe_preset = overrides->ffe_preset;
 	/* Override HW lane settings with BIOS forced values if present */
-- 
2.39.5


  parent reply	other threads:[~2025-04-03 19:18 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-03 19:17 [PATCH AUTOSEL 6.6 01/23] drm: allow encoder mode_set even when connectors change for crtc Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 02/23] drm/amd/display: Update Cursor request mode to the beginning prefetch always Sasha Levin
2025-04-03 19:17 ` Sasha Levin [this message]
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 04/23] drm: panel-orientation-quirks: Add support for AYANEO 2S Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 05/23] drm: panel-orientation-quirks: Add quirks for AYA NEO Flip DS and KB Sasha Levin
2025-04-03 19:17 ` [PATCH AUTOSEL 6.6 06/23] drm: panel-orientation-quirks: Add quirk for AYA NEO Slide Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 07/23] drm: panel-orientation-quirks: Add new quirk for GPD Win 2 Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 08/23] drm: panel-orientation-quirks: Add quirk for OneXPlayer Mini (Intel) Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 09/23] drm/bridge: panel: forbid initializing a panel with unknown connector type Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 10/23] drivers: base: devres: Allow to release group on device release Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 11/23] drm/amdkfd: clamp queue size to minimum Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 12/23] drm/amdkfd: Fix mode1 reset crash issue Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 13/23] drm/amdkfd: Fix pqm_destroy_queue race with GPU reset Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 14/23] drm/amdkfd: debugfs hang_hws skip GPU with MES Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 15/23] drm/mediatek: mtk_dpi: Move the input_2p_en bit to platform data Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 16/23] drm/mediatek: mtk_dpi: Explicitly manage TVD clock in power on/off Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 17/23] drm/amdgpu: handle amdgpu_cgs_create_device() errors in amd_powerplay_create() Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 18/23] PCI: vmd: Make vmd_dev::cfg_lock a raw_spinlock_t type Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 19/23] drm/amdgpu: grab an additional reference on the gang fence v2 Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 20/23] fbdev: omapfb: Add 'plane' value check Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 21/23] tracing: probe-events: Add comments about entry data storing code Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 22/23] ktest: Fix Test Failures Due to Missing LOG_FILE Directories Sasha Levin
2025-04-03 19:18 ` [PATCH AUTOSEL 6.6 23/23] tpm, tpm_tis: Workaround failed command reception on Infineon devices Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250403191816.2681439-3-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=Brendan.Tam@amd.com \
    --cc=Cruise.Hung@amd.com \
    --cc=PeiChen.Huang@amd.com \
    --cc=Samson.Tam@amd.com \
    --cc=Syed.Hassan@amd.com \
    --cc=airlied@gmail.com \
    --cc=alex.hung@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=aric.cyr@amd.com \
    --cc=aurabindo.pillai@amd.com \
    --cc=christian.koenig@amd.com \
    --cc=daniel.wheeler@amd.com \
    --cc=dillon.varone@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=george.shen@amd.com \
    --cc=harry.wentland@amd.com \
    --cc=ivlipski@amd.com \
    --cc=jerry.zuo@amd.com \
    --cc=joshua.aberback@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michael.strauss@amd.com \
    --cc=roman.li@amd.com \
    --cc=simona@ffwll.ch \
    --cc=siqueira@igalia.com \
    --cc=stable@vger.kernel.org \
    --cc=sunpeng.li@amd.com \
    --cc=wenjing.liu@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®