Message ID | 20201027133600.3656665-1-imre.deak@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Fix error handling during DPRX link training | expand |
On Tue, Oct 27, 2020 at 9:36 AM Imre Deak <imre.deak@intel.com> wrote: > > Make sure to propagate the error result from the DPRX link training > phase. The lack of this broke the link training fall-back logic if the > link training failed during the DPRX phase. > > Fixes: b30edfd8d0b4 ("drm/i915: Switch to LTTPR non-transparent mode link training") > References: https://gitlab.freedesktop.org/drm/intel/-/issues/1378 > Reported-by: Jason Andryuk <jandryuk@gmail.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Imre Deak <imre.deak@intel.com> Reviewed-by: Jason Andryuk <jandryuk@gmail.com> I haven't tested, but I assume this will cause my 7200 to fail link training (channel equalization) and cause the flashing display. Any suggestions there? Would a quirk like https://lore.kernel.org/lkml/20201023124804.11457-1-jandryuk@gmail.com/ be acceptable? Regards, Jason
On Tue, Oct 27, 2020 at 10:02:45AM -0400, Jason Andryuk wrote: > On Tue, Oct 27, 2020 at 9:36 AM Imre Deak <imre.deak@intel.com> wrote: > > > > Make sure to propagate the error result from the DPRX link training > > phase. The lack of this broke the link training fall-back logic if the > > link training failed during the DPRX phase. > > > > Fixes: b30edfd8d0b4 ("drm/i915: Switch to LTTPR non-transparent mode link training") > > References: https://gitlab.freedesktop.org/drm/intel/-/issues/1378 > > Reported-by: Jason Andryuk <jandryuk@gmail.com> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Signed-off-by: Imre Deak <imre.deak@intel.com> > > Reviewed-by: Jason Andryuk <jandryuk@gmail.com> Thanks. > I haven't tested, but I assume this will cause my 7200 to fail link > training (channel equalization) and cause the flashing display. Any > suggestions there? Would a quirk like > https://lore.kernel.org/lkml/20201023124804.11457-1-jandryuk@gmail.com/ > be acceptable? I'd like to try finding the root cause, if you could provide some more logs on the gitlab ticket (will follow-up there). > > Regards, > Jason
diff --git a/drivers/gpu/drm/i915/display/intel_dp_link_training.c b/drivers/gpu/drm/i915/display/intel_dp_link_training.c index 91d3979902d0..632d0a7d886d 100644 --- a/drivers/gpu/drm/i915/display/intel_dp_link_training.c +++ b/drivers/gpu/drm/i915/display/intel_dp_link_training.c @@ -768,7 +768,7 @@ intel_dp_link_train_all_phys(struct intel_dp *intel_dp, } if (ret) - intel_dp_link_train_phy(intel_dp, crtc_state, DP_PHY_DPRX); + ret = intel_dp_link_train_phy(intel_dp, crtc_state, DP_PHY_DPRX); if (intel_dp->set_idle_link_train) intel_dp->set_idle_link_train(intel_dp, crtc_state);
Make sure to propagate the error result from the DPRX link training phase. The lack of this broke the link training fall-back logic if the link training failed during the DPRX phase. Fixes: b30edfd8d0b4 ("drm/i915: Switch to LTTPR non-transparent mode link training") References: https://gitlab.freedesktop.org/drm/intel/-/issues/1378 Reported-by: Jason Andryuk <jandryuk@gmail.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> --- drivers/gpu/drm/i915/display/intel_dp_link_training.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)