[RESEND 1/1] drm/i915/dp: Refine TPS4-based HBR3 rejection and add quirk to limit eDP to HBR2
Ville Syrjälä
ville.syrjala at linux.intel.com
Tue Jul 8 15:26:42 UTC 2025
On Tue, Jul 08, 2025 at 08:43:37PM +0530, Nautiyal, Ankit K wrote:
>
> On 7/8/2025 7:44 PM, Ville Syrjälä wrote:
> > On Sun, Jul 06, 2025 at 11:01:49AM +0530, Ankit Nautiyal wrote:
> >> Refine the logic introduced in commit 584cf613c24a ("drm/i915/dp: Reject
> >> HBR3 when sink doesn't support TPS4") to allow HBR3 on eDP panels that
> >> report DPCD revision 1.4, even if TPS4 is not supported. This aligns with
> >> the DisplayPort specification, which does not mandate TPS4 support for eDP
> >> with DPCD rev 1.4.
> >>
> >> This change avoids regressions on panels that require HBR3 to operate at
> >> their native resolution but do not advertise TPS4 support.
> >>
> >> Additionally, some ICL/TGL platforms with combo PHY ports suffer from
> >> signal integrity issues at HBR3. While certain systems include a
> >> Parade PS8461 mux to mitigate this, its presence cannot be reliably
> >> detected. Furthermore, broken or missing VBT entries make it unsafe to
> >> rely on VBT for enforcing link rate limits.
> >>
> >> To address the HBR3-related issues on such platforms and eDP panels,
> >> introduce a device specific quirk to cap the eDP link rate to HBR2
> >> (540000 kHz). This will override any higher advertised rates from
> >> the sink or DPCD for specific devices.
> >>
> >> Currently, the quirk is added for Dell XPS 13 7390 2-in-1 which is
> >> reported in gitlab issue #5969 [1].
> >>
> >> [1] https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5969
> >> [2] https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14517
> >>
> >> Fixes: 584cf613c24a ("drm/i915/dp: Reject HBR3 when sink doesn't support TPS4")
> >> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> >> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> >> Cc: <stable at vger.kernel.org> # v6.15+
> >> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5969
> >> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14517
> >> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> >> ---
> >> drivers/gpu/drm/i915/display/intel_dp.c | 31 +++++++++++++++++++--
> >> drivers/gpu/drm/i915/display/intel_quirks.c | 9 ++++++
> >> drivers/gpu/drm/i915/display/intel_quirks.h | 1 +
> >> 3 files changed, 39 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> >> index f48912f308df..362e376fca27 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> >> @@ -171,6 +171,15 @@ int intel_dp_link_symbol_clock(int rate)
> >> return DIV_ROUND_CLOSEST(rate * 10, intel_dp_link_symbol_size(rate));
> >> }
> >>
> >> +static bool intel_dp_reject_hbr3_due_to_tps4(struct intel_dp *intel_dp)
> >> +{
> >> + /* TPS4 is not mandatory for eDP with DPCD rev 1.4 */
> >> + if (intel_dp_is_edp(intel_dp) && intel_dp->dpcd[DP_DPCD_REV] == 0x14)
> >> + return false;
> >> +
> >> + return !drm_dp_tps4_supported(intel_dp->dpcd);
> >> +}
> > This feels like it's getty too messy for comfort. I think we should just
> > revert the whole thing and quirk that one icl machine.
>
> Alright sure.
>
> Can this be done is same patch, I mean no need for a revert and a
> separate quirk patch, right?
Separate revert seems cleaner to me. And then one can actually
backport the quirk without having to also backport the already
reverted commit. Though I haven't checked how far the bad commit
already got backported.
--
Ville Syrjälä
Intel
More information about the Intel-xe
mailing list