mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
drm/amd/display: Add dp_skip_rbr flag for NUTMEG
No functional changes. Just clean up a conceptual mismatch. Based on feedback on the NUTMEG code in DC, the preferred_link_setting is meant to force the DP link to a specific setting, meaning both the link rate and lane count should be locked to an exact value. What NUTMEG needs is a lower bound on the link rate, which is not the same concept. Implement this as a HW workaround flag instead. Suggested-by: Wenjing Liu <wenjing.liu@amd.com> Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> (cherry picked from commit 871ceb853841bcaa4e6cec3723b16c4887a760be) Cc: stable@vger.kernel.org
This commit is contained in:
parent
9fb646bc4d
commit
e39b7cf5c6
|
|
@ -1815,6 +1815,8 @@ struct dc_scratch_space {
|
|||
bool dp_skip_DID2;
|
||||
bool dp_skip_reset_segment;
|
||||
bool dp_skip_fs_144hz;
|
||||
/* Some DP bridges don't work with RBR and must use HBR. */
|
||||
bool dp_skip_rbr;
|
||||
bool dp_mot_reset_segment;
|
||||
/* Some USB4 docks do not handle turning off MST DSC once it has been enabled. */
|
||||
bool dpia_mst_dsc_always_on;
|
||||
|
|
|
|||
|
|
@ -623,7 +623,7 @@ static bool detect_dp(struct dc_link *link,
|
|||
link->dpcd_caps.sink_count.bits.SINK_COUNT = 1;
|
||||
/* NUTMEG requires that we use HBR, doesn't work with RBR. */
|
||||
if (link->dpcd_caps.branch_dev_id == DP_BRANCH_DEVICE_ID_00001A)
|
||||
link->preferred_link_setting.link_rate = LINK_RATE_HIGH;
|
||||
link->wa_flags.dp_skip_rbr = true;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -750,9 +750,9 @@ static bool decide_dp_link_settings(struct dc_link *link, struct dc_link_setting
|
|||
if (req_bw > dp_link_bandwidth_kbps(link, &link->verified_link_cap))
|
||||
return false;
|
||||
|
||||
if (link->preferred_link_setting.link_rate != LINK_RATE_UNKNOWN) {
|
||||
initial_link_setting.link_rate = link->preferred_link_setting.link_rate;
|
||||
current_link_setting.link_rate = link->preferred_link_setting.link_rate;
|
||||
if (link->wa_flags.dp_skip_rbr) {
|
||||
initial_link_setting.link_rate = LINK_RATE_HIGH;
|
||||
current_link_setting.link_rate = LINK_RATE_HIGH;
|
||||
}
|
||||
|
||||
/* search for the minimum link setting that:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user