[PATCH v2 12/21] drm/i915/dp: Use check link state work in the detect handler
Yu, Gareth
gareth.yu at intel.com
Tue May 28 05:33:36 UTC 2024
Hi Max,
Please provide the test results.
Hi Imre,
Meanwhile, my question here is the link status is not checked in MST mode according to the current flow. The changes below
for MST are same as https://patchwork.freedesktop.org/patch/591953/?series=132685&rev=6. Please check it.
diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
index 0923a5adc14b..bf008a70304f 100644
--- a/drivers/gpu/drm/i915/display/intel_dp.c
+++ b/drivers/gpu/drm/i915/display/intel_dp.c
@@ -5927,6 +5927,13 @@ intel_dp_detect(struct drm_connector *connector,
intel_dp_print_rates(intel_dp);
+ /*
+ * Some external monitors do not signal loss of link synchronization
+ * with an IRQ_HPD, so force a link status check.
+ */
+ if (!intel_dp_is_edp(intel_dp))
+ intel_dp_check_link_state(intel_dp);
+
if (intel_dp->is_mst) {
/*
* If we are in MST mode then this connector
@@ -5937,13 +5944,6 @@ intel_dp_detect(struct drm_connector *connector,
goto out;
}
- /*
- * Some external monitors do not signal loss of link synchronization
- * with an IRQ_HPD, so force a link status check.
- */
- if (!intel_dp_is_edp(intel_dp))
- intel_dp_check_link_state(intel_dp);
-
/*
* Clearing NACK and defer counts to get their exact values
* while reading EDID which are required by Compliance tests
Thanks,
Gareth
> -----Original Message-----
> From: Deak, Imre <imre.deak at intel.com>
> Sent: Monday, May 27, 2024 7:30 PM
> To: Yu, Gareth <gareth.yu at intel.com>
> Cc: intel-gfx at lists.freedesktop.org; Ville Syrjälä <ville.syrjala at linux.intel.com>
> Subject: Re: [PATCH v2 12/21] drm/i915/dp: Use check link state work in the
> detect handler
>
> On Mon, May 27, 2024 at 01:14:32PM +0800, gareth.yu at intel.com wrote:
> Hi,
>
> > A bad link in MST is not retrained. Please also consider MST.
> > The issue ticket is https://gitlab.freedesktop.org/drm/i915/kernel/-
> /issues/10902.
> >
> > if (intel_dp->is_mst) {
> > /*
> > * If we are in MST mode then this connector
> > * won't appear connected or have anything
> > * with EDID on it
> > */
> > status = connector_status_disconnected;
> > goto out;
> > }
> >
> > /*
> > * Some external monitors do not signal loss of link synchronization
> > * with an IRQ_HPD, so force a link status check.
> > */
> > if (!intel_dp_is_edp(intel_dp)) {
> > ret = intel_dp_retrain_link(encoder, ctx);
> > if (ret)
> > return ret;
> > }
>
> this is not the proper place to retrain the link, the plan is to remove the above.
> Could you give a try to the patchset and follow up with a dmesg log on the
> ticket?
>
> Thanks,
> Imre
More information about the Intel-gfx
mailing list